DISKRET MATEMATIKK AVSLØRT – det er den som styrer DATAMASKINEN
Eva Hadler Vihovde
Harald Heimtun S oleng
EvaHadlerVihovdeogHaraldH.Soleng
Diskretmatematikkavslørt Deterdensomstyrerdatamaskinen Universitetsforlaget
©AschehougASvedUniversitetsforlaget2026
ISBN9788215068831Papirbok
ISBN9788215068848EPUB
Materialetervernetetteråndsverkloven.Kopieringogtilgjengeliggjøringerikke tillattutensamtykkefrarettighetshaverne,avtalemedKopinor (www.kopinor.no)ellerannenforvaltningsorganisasjon,ellerhjemmelilov. Forbudetgjelderogsåtreningavogannenbrukavmaterialetikunstig intelligens,oginnebæreretuttrykkeligforbeholdmottekst-ogdatautvinning etterdigitalmarkedsdirektivetartikkel4.
Henvendelseromdenneutgivelsenkanrettestil:
Universitetsforlaget Postboks508Sentrum 0105Oslo www.universitetsforlaget.no
ForfatterneharmottattstøttefraNorskfaglitterærforfatter-og oversetterforening.
Omslag:EllenLorenzen Sats:HaraldH.Soleng Bokaersattmed:LuaLATEX
Trykkoginnbinding:MerkurGrafiskAS Papir:90gArcticMatt ElektronisktilretteleggingiEPUB-format:PHiBusinessSolutionsLtd.
2.2.4Inklusivdisjunksjon–logiskinklusiveller......
2.2.5Unæreogbinæreoperatorer..............
2.2.6Eksklusivdisjunksjon–logiskeksklusiveller–XOR
2.2.7Logiskimplikasjonellersubjunksjon.........
2.2.8Logiskbiimplikasjonellerdobbeltimplikasjon....
2.2.9Antallraderiensannhetsverditabell.........
2.3.1Loverfornegasjon...................
2.3.2Loverforkonjunksjon.................
2.3.3Loverforinklusivdisjunksjon.............
2.3.4Kommutativelover...................
2.3.5Assosiativelover....................
2.5.2Loverforlogiskog...................
4.2.3Differansenmellomtomengder............
4.2.4Symmetriskdifferanse.................
6.2.4Løsningavandreordensdifferensligninger......
6.2.5Løsedenkarakteristiskeligningen..........
6.3KodeeksemplerJava......................
6.3.1Fibonacci-tallene....................
7.2.2Kontrapositivtbevis..................
7.2.3Bevisvedselvmotsigelse................
7.2.4Praktiskeråd......................
7.3Induksjonsbevis.........................
7.3.1Oppbygningenavetinduksjonsbevis.........
7.3.2Bevisforformelenforsummenavenaritmetiskrekke
8Tallteoriogkongruensregning161
8.1Heltallsdivisjonogrest.....................
8.1.1Sentralebegreper,symbolerogoperatorer......
8.1.2Divisjonsalgoritmen..................
8.1.3Operatorene div og
8.1.4Divisjonvedhjelpavgjentattsubtraksjon......
8.1.5Heltallsdivisjonderdividendenernegativ......
8.2Kongruensogmodulo-regning.................
8.2.1Hvamenesmedkongruensogmodulo?........
8.2.2Regnereglerforkongruenser..............
8.2.3Tverrsumoggjentatttverrsum............
8.4.1Aritmetikkensfundamentalteorem..........
8.4.2Hvordanavgjøreometheltalleretprimtall?....
8.4.3Primtallsfaktorisering.................
8.4.4Eratosthenessil.....................
8.5Størstefellesdivisor......................
8.5.1Finnestørstefellesdivisorvedhjelpavprimtallsfaktorisering........................
8.5.2Euklidsalgoritme....................
8.6Minstefellesmultiplum....................
8.6.1Relativtprimisketall..................
8.7Øvelsesoppgaver........................
9.1Posisjonssystemer........................
9.2Konverteringmellomtalliulikeposisjonssystemer.....
9.2.1Fradesimaletalltilbinære,oktaleogheksadesimale
9.2.2Frabinæretiloktaleogheksadesimaletall......
9.2.3Frabinæretildesimaletall..............
9.3Binæreregneoperasjoner....................
9.3.1Binæraddisjon.....................
9.4Heltallsformatogtoerkomplement..............
10Kombinatorikk223
10.3.4Ordnedeoguordnedeutvalgmedtilbakelegging...
11.2.2Surjektiv........................
11.5.3Funksjonenavrundtilheltall,round.........
14.2.2Sammensetningenavtorelasjoner..........
14.2.3Enveigjennomenrelasjonsgraf............
14.3Egenskapertilrelasjoner....................
14.4Tillukningavrelasjoner....................
14.5Oppdelingavmengderipartisjoner..............
14.7.1Leksikografisksortering................
14.7.2Topologisksortering..................
14.8Øvelsesoppgaver........................
Vileverientidderkunstigintelligensogstorespråkmodellerforalvor hargjortsittinntogivåreliv.Skalviforstågrunnlagetfordatamaskinens oppbygningogvirkemåte,såvelsomavansertesøkealgoritmerogstore språkmodeller,kreverdetkunnskapogferdigheteridiskretmatematikk.
Diskretmatematikkbliroftekaltdatamatematikk,fordideterdenne formenformatematikksomliggertilgrunnforalldatateknologi,maskinvaresåvelsomprogramvare.Itilleggtilådannedetmatematiskefundamentetforandredatafag,erfagetisegselvetkraftfulltverktøyiløsning avkonkrete,matematiskeproblemerogdatarelaterteoppgaver.
Deterskrevetmangelærebøkeridiskretmatematikk,mendefærreste erskrevetpånorsk.Måletmedbokaeråtilbyennorsklæreboksom knyttermatematikkentildeandrefageneidatastudiene,samtidigsomden tilgjengeliggjøretvanskeligfagfelttilstudentermedulikrealfagsbakgrunn.
Bokatarforsegmangetemaersomallehardettilfellesatdeerrelatert tildatateknologi.Denerprimærtskrevetforførsteårsstudenteriinformasjonsteknologiderdiskretmatematikkgjerneinngårsomobligatoriskfag på10studiepoeng.Bokakreverimidlertidikkeforkunnskaperutovermatematikkpågrunnskolenivå,ogstoffetvilderforværetilgjengeligforalle somerinteressertidatamaskinensmatematiskegrunnlag,inkludertelever ivideregåendeskole.
Determangerelevantetemaersomdetkunneværtønskeligåhamedi boka,ogandretemaervigjerneskullegåttmeridybdenpå.Viharimidlertidprøvdåholdeossinnenforrammenpå10studiepoeng,selvomvinoki enkeltekapitlerhartøydgrensenenoe.Vihåperdufinnerbokainteressant ognyttig.Skulledukommeoverfeilellermangler,ervitakknemligefor kommentarer.
VivilgjernetakkeUniversitetsforlagetsomhargittossmulighetentil åskrivedenneboka,samtNorskfaglitterærforfatter-ogoversetterforening somhargittossøkonomiskstøttetilprosjektet.ViderevilvitakkeHårek Haugerud,UlfUttersrud,KjetilGrønningogStormJaranBruvollWestlie
forfagligebidragiarbeidetmedboka.Tilsluttvilviretteenspesielltakk tilfagkonsulentEiolfKaspersenforenmegetgrundiggjennomgangavboka medtilhørendeverdifulletilbakemeldinger.
Oslo,mai2026
EvaHadlerVihovde og HaraldHeimtunSoleng
KAPITTEL 1 INTRODUKSJON Dennebokaerskrevetfordatastudenterogandresomønskerålæremer omdatamaskinenogprogramvarensmatematiskegrunnlag.Bokatarfor segdedeleneavmatematikkensomerspesieltrelevantefordendigitaleverden,herunderGooglessøkealgoritmerogstorespråkmodellersom ChatGPT.Innholdetvilgileserenetsolidgrunnlagforåstudereulike datafag,somprogrammering,algoritmerogdatastrukturer,operativsystemerogikkeminstkunstigintelligensogmaskinlæring.Itilleggfårleserenet kraftfullt,matematiskverktøytilløsningavulikeoppgaverogdatatekniske problemer.Stoffetvigjennomgårkreveringenforkunnskaperutovermatematikkpågrunnskolenivå,menrealfagsbakgrunnfravideregåendeskole elleruniversiteterselvfølgeligingenulempe.Engodporsjonnysgjerrighet erhellerikketilhinder.
Idetteintroduksjonskapitteletvilvigienkortpresentasjonavfagområdetdiskretmatematikk,redegjøreforbokaslæringsmålogoppbygning, fortilsluttågienlitensmakebitpåhvateorienkanbrukestil.
1.1Hvaermatematikk? Matematikkerenviktigdelavverdenvileverioginngårinestenalt viomgisav.Husetvibori,bilenvikjører,altavdatautstyrogandre elektroniskehjelpemidler,betalingsløsningenpåbutikken,allinfrastruktur, ja,merellermindrealtrundtosseriulikgradbasertpåmatematiske beregninger.
Menhvaermatematikk?Kortfortaltermatematikketspråksomi likhetmedandrespråkharordogsymbolersomkansettessammentil setninger,elleruttrykksomvikallerdemimatematikken.Forutentallene
harvisymbolersomgjørdetmuligåutføremerkompliserteberegninger, somaritmetiskeoperatorerforaddisjon,subtraksjon,multiplikasjonogdivisjon.Idennebokaskalvistiftebekjentskapmedmangefleresymboler somgirossmulighettilåanvendematematikkenpånyeområder.Mens betydningsinnholdetivanligespråk,somnorskogengelsk,kantolkespå forskjelligemåter,erdetikkeromforsubjektivetolkningerimatematikken.Dererordogsymbolerpresistdefinertogutrykkenemåfølgestrenge regler.
Matematikkerikkebareetspråk,menogsåetverktøy.Påsammemåte somvibrukerhammertilåslåinnspikerogmotorsagtilåfelletrær,kanvi brukematematikktilløseproblemer,avdekkesammenhengerogkonstruere nyeting. Oppsummertkanvisiatmatematikkeretformeltspråk,egnettil åbeskrivelogiskesammenhengerogsannheter,ogetverktøytilåbeskrive virkeligheten.
Selveordet matematikk kommerfradetgreskeordet μάθημα (máthēma) sombetyrkunnskap.Idagbrukesordetomstudieravtall,objektersomkan karakteriseresmedstørrelse,orienteringogformogrelasjonermellomslike objekter.Fageterenforutsetningformodernevitenskapogteknologi,men erlikevelikkenoennymotensoppfinnelse.Somviskalsemangeeksempler på,harmatematikkenrøttersomgårtusenvisavårtilbakeitid.
Figur1.1Leirtavlemedentilnærmingtilkvadratrotenav2. BC.021354[YBC7289],CourtesyoftheYalePeabodyMuseum,BabylonianCollection.
SumervaretoldtidsrikesomlåmellomelveneTigrisogEufrat.For merenn5000årsideninnførtedeettallsystemmed60somgrunntall (seksagesimalt).Resteravdettefinnervidendagidagimåtenviregner medtid,derdeter60sekunderietminuttog60minutterientime. Babylonerneovertoktallsystemet,ogpåleirtavlenifigur1.1framellomår
1800og1600f.Kr.finnervietenhetskvadratmeddiagonalentegnetinn. Langsdenhorisontalediagonalenkanvisenoenkileskriftsymbolersom betyr 1; 24, 51, 10 i60-tallssystemet.Dettebetyratdehadderegnetut kvadratrotenav2
Detteerriktigmed4seksagesimalesifferelleromtrent6desimalesiffer.
1.2Hvaerdiskretmatematikk? Matematikkeretstortfagområdemedmangeulikedisipliner.Viharalgebra,kalkulusogmatematiskanalyse,anvendtmatematikk,statistikk,beslutningsteori,beregningsmatematikk,ogikkeminstdiskretmatematikk. Menhvaerdiskretmatematikkoghvaerdetsomgjøredendiskret?Ordet «diskret»girossdessverreingenintuitivforståelse.Deterfaktisklettereå forklarehvadiskretmatematikk ikke er.Diskretmatematikkerikkekontinuerlig,menforholdersegtildistinkteelementersliksomheltall,sannhetsverdierogtellbaremengder.Mensdetpåandreanvendelsesområder innenrealfagtrengsmatematikkforkontinuerligerom,slikdetbrukesi fysikkentilNewtonogEinstein,erdetførstogfremstforståelsefordiskret matematikksomkrevesinnendatateknologi.Følgeligkallesdennetypen matematikkoftedatamatematikk.Fradenfysiskeverdenervivanttilat rommetkandelesinnietuendeligantallsmåbiter.Mellomtallet0og1er detforeksempeluendeligmangereelletall,ogdisseerikkeengangtellbare.Idatamaskinerogandredigitalesystemerfinnesdetimidlertidkunet endeligantalltilstander,ogfølgeligkanvikunrepresenterekontinuerlige mengdersomdiskretisertetilnærminger.ForeksempelbeståretTV-bilde avetendeligantallpiksler,mensvirkelighetensynesåværekontinuerlig.
Diskretmatematikkeretparaply-begrepsomfavnerulikematematiske disiplinersomalleerrelaterttildatateknologipåenellerannenmåte.Blant demangetemaenevigjennomgåridennebokafinnervi
• utsagnslogikkogpredikatlogikk
• mengdelære
• generellefunksjoner
• følgerogrekker
• tallmatriseroglogiskematriser
• algoritmer
• tallteori
• heltallsregning
• tallsystemer
• kongruensregning
• bevisteknikk
• induksjon
• kombinatorikk
• binomialkoeffisienter
• differensligninger
• relasjonerogordninger
• graferogtrær
• endeligtilstandsmaskiner
Ferdigheterogkunnskaperinnendisseområdenevilbidratilågjøreandre datafagletteretilgjengelig.Vikannevnefagsom
• programmering
• algoritmerogdatastrukturer
• databaser
• operativsystemer
• kompilatorteknikk
• datasikkerhet
• kryptering
• systemadministrasjon
• testingavprogramvare
• kunstigintelligens
• maskinlæring
Diskretmatematikkerimidlertidisegselvetkraftfulltverktøysomkan brukestilåløsemangeulikeproblemer.Idennebokaskalviblantannet brukematematikkentilåbesvarespørsmålsom
• Hvormangegyldigepassordkanvelgespåetsystem?
• HvorstorsjanseerdetforåvinneiLottoellerandrespill?
• Finnesdetenlinkmellomtodatamaskinerietnettverk?
• Hvaerdenkortesteveienmellomtobyerhvisjegbrukeroffentlig transport?
• Hvordanblirtotalllagtsammenavendatamaskinen?
• Hvordanblirtallrepresenterbinært,oktaltoghexadesimalt?
1.3Læringsmål Måletmedbokaerbådeågileserenetmatematiskfundamentsomkan bidratilendypereforståelseavulikedatafag.
Fagterminologi
Myeavfagterminologiensombrukesiulikedatafageristorgradfunda-
mentertpådiskretmatematikk.Gjennomålæresegrelevantebegreperog terminologivildetblilettereforleserenålæresegandredatafag.
Problemløsningsverktøy
Gjennomoppgaveløsningskalleserentrenesiåbruketeorieneaktivtiløsningavkonkretedatatekniskeoppgaverogproblemer.
Anvendelsesområder
Bokasmålerågienforståelseforhvordeuliketemaenebrukesinnen datateknologi.
Dypereforståelse
Imøtemedandredatafagskalleserenkunnegjenkjennedematematiske teoriene,noesomvilbidratilågivedkommendeendyperedatafaglig forståelse.Ibokaleggervispesieltvektpåsammenhengenmellomdiskret matematikkogprogrammering.
Historiskperspektiv
Vedåtrekkelinjerfrateorienesopphavsmennogfremtilidagskalleseren kunnesettematematikkenogdatateknologieniethistoriskperspektiv.
1.4Leserveiledning Bokaomhandlermangeulikematematisketemaersomvedførsteøyekast kanfremståsomadskilte.Rekkefølgentemaenepresenteresierikketilfeldig.Medunntakavkapittel1og2,byggerhvertkapittelpådeforegående. Detbetyratdetdutilegnerdegavkunnskaperogferdigheteriettkapittel fårdubrukforidepåfølgendekapitlene.Følgeligbørtemaenelesesiden rekkefølgendestår.Utformingenavdeenkeltekapitleneergjortutfra følgendepedagogiskemotiverogretningslinjer:
Motivasjonernøkkelentilalllæring
Foråmotivereleserenstarterhvertkapittelmedåsettetemaetinnien datafagligkontekstslikavteoriensomskallæresopplevesrelevant.
Historiskforankring
Dadematematisketeorienesomliggertilgrunnfordatateknologiengjerne harlangehistoriskerøtter,setterviogsåstoffetinniethistoriskperspektiv,dervitrekkerlinjerfraopphavspersonen(e)ogfremtilidag.Disse avsnitteneerpågråbakgrunn.
Fradetkonkretetildetabstrakte Igjennomgåelsenavfagstoffetbevegerbokasegfradetkonkreteoggjenkjennbaretildetgenerelleogabstrakte.Førstpresenteresetellerflerekon-
krete,gjenkjenneligeeksempler,derettergjennomgåsteorien,ogtilslutt innarbeidesdenytterligeregjennomeksemplerogoppgaver.
Øvelsegjørmester Åforståmatematiskteorierenting,åkunneanvendedenipraktiskproblemløsningernoeannet.Foråkunnebrukematematikkensometverktøy iløsningavkonkreteproblemer,ermengdetreningioppgaveløsningendyd avnødvendighet.Bokapresentererderforenmengderelevanteoppgaver somskalsikreleserentilstrekkeliglæringsutbytte.
Knyttediskretmatematikktilprogrammering Damangeavleserneerdatastudentersomogsåharprogrammeringifagkretsen,harvilagtvektpååknyttematematikkentilprogrammering.I hvertkapittelviservihvordandenaktuellematematisketeorienkanimplementeresietdataprogram.SomprogrammeringsspråkharvivalgtJava, dadetperdagsdatoerdetmestutbredteprogrammeringsspråketinorske datautdanninger.Bokaavsluttesmedetpraktiskeksempelsomviserhvordandiskretmatematikkkanbrukestilålageavansertealgoritmerinnenfor datateknologi.HergjennomgårvienavGooglesmestkjentesøkealgoritmer,densåkaltePageRank-algoritmen.
Litteraturhenvisningeritekstenermarkertmedtalliklammeparenteser.
1.5TårnetiHanoi Avslutningsvisvilvi,somenlitensmakebitpådiskretmatematikk,presentereetmatematiskproblemknyttettilengammellegende,Hanoistårn. LegendenfortelleratvedjordasbegynnelseplasserteskaperentrehøyestolperpåenmessingplatevedettempeliBenares,verdensmidtpunkt.Påen avstolpenevardetplassert64gullskiver.Denstørstelånederst,ogsåble platenemindreogmindreoppoversøylen.Munkenevedtempeletarbeider dagognatt,ogutenstans,medåflyttegullskiverfradenenesøylenog overpådeandreetterBrahmasuforanderligeregler
• Kunenplatekanflyttesavgangen
• Enplateskalaldrileggesoppåensomermindre
Måleteråfåheletårnetmedgullskiverflyttetovertilenavdeandre søylene.Nårdetteergjort,vilverdengåunder.
DetvardenfranskematematikerenEdouardLucassomi1883introdusertelegendeniVesten.Sidendengangerdetblittlagetutalligevarianter avden.ViskalnåstudereHanoistårnnærmereogseomvigreieråbestemmehvormangeflyttsomkrevesforåløsemunkenesoppgave.Greier videt,vilvikunneestimerehvorlengedetertilverdensundergang.
Nårviskalløseenutfordrendeoppgaveerdetlurtåstartemedet enklere,mentilsvarendeproblem.Vivelgerderforåredusereantallskiver fra64tilkun3.
Iutgangspunktetliggeralleskivenepåsøylentilvenstre(figur1.2a). Måletvårteråflyttedemovertilenavdeandresøylene,vedåbrukeden tredjesomhjelpesøyle.Foråfåflyttetdenstørsteskiventilriktigplass nederstpåmålsøylen,måvifjernedetosomliggeroppå.Vikanimidlertid kunflytteénskiveavgangenogstarterderformedåflyttedenminstetil enledigsøyle(figur1.2b).
(c)Flytt2 (d)Flytt3
(e)Flytt4 (f)Flytt5
(g)Flytt6 (h)Flytt7
Figur1.2MiniversjonavHanoistårnogdesyvflyttenesomløserproblemet.
Skalregleneoverholdes,harvinåkunettvalgfordennestminste skiven;denmåflyttestilsøylenimidten(figur1.2c).Denstørsteskiven ernåklartilåflyttes,menførvikangjøredet,måvihaensøyleåflytte
(a)Flytt0
(b)Flytt1
dentil.Deterikkelovåflyttedenoppåensomermindre,såvimåførst frigjøreensøyleslikatdenstørstebrikkenkanplasseresnederstder.Vi flytterderfordenminsteskivenoppådennestminstepåmidterstesøyle (figur1.2d).Vikanderetterflyttedenstørstetilriktigplasspåsøylentil høyre(figur1.2e).Nårvinåerferdigemeddenstørstebrikken,erturen kommettildenneststørste.Førvikanflyttedenne,måvifjerneden minstesomliggeroppå,somderforflyttestildenledigesøylentilvenstre (figur1.2f).Dermedkanviflyttedennestminsteskiventilsinendelige plasspåsøylentilhøyre(figur1.2g).Dagjenstårdetkunåflytteden minsteskiventilsinendeligeplassoppådetoandrepåsøylentilhøyre (figur1.2h).
Medkuntreskivererdetikkespesieltvanskeligåløseoppgaven,ogvi greidedetvedhjelpavsyvflytt,somogsåerdetlavesteantalletflyttdet ermuligåbruke.Hvormangekrevesforåflyttefireskiver?Ellerfem?Og ikkeminst,hvormangeflyttkrevesforåflytte64skiver?Detskalvifinne utvedåbrukedetviharlærtavoppgavenover.
La Hn væredetminsteantallettrekksomtrengsforåflytte n skiver. Daviutførteoppgavenmedtreskiverfantviutat H3 =7.Laossspole tilbakeogresonnereoverhvordanviløsteoppgaven.Iutgangspunktetlå alleskivenepåsøylentilvenstre.Ivårttilfellevar n =3.
1. Førstfjernetvidetoskivenesomlåoppådennedersteogstørste skiven,dvs.viflyttet n 1=2 skivertildenmidterstesøylevedå brukesøylentilhøyresomhjelpesøyle.Fordiviflyttet n 1 skiver blirantallflytt Hn 1.
2. Deretterflyttetvidennedersteogstørsteskiventilriktigplasspå høyresøylevedhjelpavettflytt,dvs. H1 =1.
3. Såflyttetvide2minsteskivene,dvs.viflyttet n 1=2 skiverfra denmidterstesøylentilriktigplasspåhøyresøylevedåbrukevenstre søylesomhjelpesøyle.Fordiviflyttet n 1 brikkerblirantallflytt Hn 1.
Vedåsummereantallflyttitrinnene1,2og3fårvienformelforberegning avdetminsteantallflyttsomkrevesforåløseoppgavenmed n antallskiver.
Åflyttenullskivertarselvfølgelig0trekk, H0 =0.Dermedfårvi
Leggmerketilavhverberegningbaserersegpådenforegående.Skalvi beregne H64,dvs.detantallflyttsomkrevesforåflytte64skiverfraensøyle tilenannen,måviutføre64utregninger.Deterunekteliglitttungvint. Serviderimotnærmerepåsvarene,serviatdefølgeretmønster
Detgirossformelen Viharnåfåttenformeldervikanregneutantalltrekkdirekte.Settervi n =64 kanviberegnedetminsteantallflyttsomkrevesforløsemunkenes oppgave. H64 =264 1=18446744073709551615 (1.4)
Deterderforingengrunntilåbekymresegomverdensundergangriktig ennå.Selvommunkeneeristandtilåflytteenskivepersekundogalltid gjørdetsmartestetrekket,vilheleoperasjonenta 264 1 sekundereller 585milliarderårsomeromtrent42gangeruniversetsnåværendealder!
Somviharsetterdetenoverkommeligoppgaveåberegneantallflytt somkrevesforåløseoppgaven,selvnårantallskivererhøyt.Skalviutføreoppgavenmedminimaltantallflytt,måimidlertidskiveneflyttesien bestemtrekkefølge,ognårantallskivererhøyterdetnærmestenumuligoppgaveforossmennesker.Vedhjelpavetlitedataprogramkanvi imidlertidfåskrevetutrekkefølgenskivenemåflyttesi.
Java-metodennedenforerbyggetopppånøyaktigsammemåtesomvi løsteoppgavenover.Laosskalledenvenstresøylefor A,denmidterste søylenfor B,ogsøylentilhøyrefor C.Måletblirdaåflyttealleskivenefra A til C,med B somhjelpesøyle.Nårvitesterprogrammetmedtreskiver, serviatrekkefølgensomskrivesuterdensammesomdenvibruktedavi løsteoppgave.Åtesteprogrammetmed n =64 anbefalesderimotikke!Da vilvioppleveatmaskinen«hengerseg»fordidetipraksisikkeermulig
åskriveutallede 18446744073709551615 flytteneinnenfordentidenvi hartilrådighet.
Kodesnutt1.1:TårnetiHanoi
//Førstflyttervin-1skiverfraAttilB,medCsom
//enhjelpesøyle:
hanoisTower(A,C,B,n-1);
System.out.println("Disc"+n+"from"+A+"to"+C);
//Tilsluttflytterviden-1skivenefraBtilsøyleC
hanoisTower(B,A,C,n-1);
Disc1fromAtoC
Disc2fromAtoB
Disc1fromCtoB
Disc3fromAtoC
Disc1fromBtoA
Disc2fromBtoC
Disc1fromAtoC
Hanoistårnillustrererhvaviimatematikkenkaller kombinatoriskeksplosjon,etfenomensomgastartskuddettilkunstigintelligens.Daforskere erfarteatmangeprogrammeringsoppgaverikkelotsegløsemedråregnekraft,vendtedesegmotdenmenneskeligehjernenmedfølgendespørsmål: Kankunnskapomhjernenhjelpeossåløseutfordringenekombinatorisk eksplosjonskaper?Svaretpåspørsmålethargittopphavtilfagfeltsom kunstigintelligens,nevralenettverkogmaskinlæring.
KAPITTEL 2 UTSAGNSLOGIKK Etdataprogramerensamlingavinstruksjonersommaskinenutførernår programmetkjøres.Nårviprogrammerermåvibestemmebådehvilkeinstruksjonersomskalutføresogrekkefølgendeskalutførersi.Etalternativ eråutføredemidenrekkefølgendestår,menvanligvisønskerviåbestemmerekkefølgeutfrahvasomskjernårprogrammetkjøres.Dettekan vifåtilvedåbrukevalg-setningersom, if- og if/else-setningerellerrepetisjonssetningersom while-, do/while- eller for-løkker.Vedåkombineredem påforskjelligemåterkanvilageulikealgoritmer.Fellesforbeggetyper setningereratdeinneholderlogiskebetingelsersomavgjøromprograminstruksjonerskalutføresellerikke.Enlogiskbetingelseeretutsagnsom entenersantellerusant,ogerdetgrunnleggendeelementetiutsagnslogikk. Foråskrivedataprogrammersomutførernøyaktigdetviønskeratdetskal utføreienhversituasjon,trengerviålæreutsagnslogikk.
GeorgeBoole(1815–1864)varskomakersønn, oggjordesegtidligbemerketforsineintellektuelle evner.Alleredesom14-åringblehanenlokalkjendisetteråhaoversattetgreskdiktsomhanfikk publisertilokalavisen.Hanhaddeikkerådtilå værefulltidsstudent,menlærtesegavansertmatematikkvedsidenavarbeidetsomlærer.Etteråha publisertflittigi CambridgeMathematicalJournal blehanenprofessorvedQueen’sCollegeiCork [1].GeorgeBooleskaptedetvikallerboolskalgebraellerutsagnslogikk.Iover2000århaddelogikk ogmatematikkutvikletsegnærmestadskilt,men medboolskalgebrakanmanregnemedlogiskeutsagnpåenmåtesomlignerpånormalmatematikk.
GeorgeBoole
SIANA/Contributor/GettyImages
I1855giftethansegmedMaryEverest.Paretfikkfemdøtre,hvoravLucyEverestBoolebledenførstekvinneligekjemiprofessoreniEnglandog AliciaBooleStottgjordeviktigebidragifiredimensjonalgeometri.
2.1Hvaeretutsagn? Dadennedelenavmatematikkenheterutsagnslogikk,måvihaklartfor osshvaetutsagner.Viharbruktordsomlogiskeuttrykkoglogiskebetingelser,menhvaeretutsagn?Etutsagnerkortoggodtensetningsom uttrykkernoevikanavgjøreomersantellerikke.Ensetningvikanavgjøre sannhetsverdienavkallervigjerneforen påstand eller proposisjon
Definisjon2.1Utsagn Et utsagn erenerklærendesetningsomer sann eller usann
Kanviikkeavgjøresannhetenavsetningen,erdethellerikkeetutsagn. Laosssepånoenkonkreteeksempler.
Eksempel2.1Setningerogutsagn Avgjøromfølgendesetningererutsagn,ogbestemeventueltsannhetsverdien.
1. OsloerNorgesstørsteby.
Setningeneretutsagndersombegrepene«størst»og«by»erdefinert. Menervistørstiinnbyggertall,erutsagnetsant.Menervistørsti bykommunensareal,måOslosesegslåttavRana,ogutsagneterusant.
2. Trikkeneraldriirute.
Setningeneretutsagn.Sidendetfaktiskhenderattrikkenerirute,er detteetusantutsagn.
3. 1+1=2.
Setningeneretutsagnsompåståratdetsomstårpåvenstresidenav likhetstegneterlikdetsomstårpåhøyresidenavdet.Sidenvenstresidenerlikhøyresidenerdetteetsantutsagn.
4. 1+1=5
Detteerogsåetutsagn,mendennegangenervenstresidenforskjellig frahøyresiden,slikatdetteeretusantutsagn.
5. Hvormyeerklokka? Dennesetningeneretspørsmålsomviikkekan avgjøresannhetsverdienav.Etspørsmålerikkeetutsagn.
6. x +1=2.Detteerikkeetutsagn,fordisetningenerenligningder sannhetsverdieneravhengigavhvilkenverdi x har.
7. Idagerdetdårligvær. Detteeretutsagnbarehvisbegrepet«dårlig vær»erdefinert.
2.2Symbolbrukoglogiskeoperatorer Imatematisklogikkharvi,ilikhetmedandrefagfelt,enmengdeulike symbolersombrukespåbestemtemåter.Skalviforstålogikkenogkunne brukedensometverktøy,måvikjennetilsymbolenesbetydningog,ikke minst,hvordandeskalbrukes.
Vanligvisbrukervibokstavene p,q,r,... tilåbetegneutsagn.Forå betegnesannhetsverdierbrukervi S for sant og U for usant.Påengelsk brukesgjerne T for true og F for false.Inoenprogrammeringsspråk,samt ogsåiboolskalgebra,brukestallet 0 forusantog 1 forsant.
2.2.1Ekvivalenteutsagn Hvistoutsagnharsammesannhetsverdi,sierviatutsagneneer ekvivalente. Symboletforlogisk ekvivalens er ≡,oghvis p og q ertoekvivalenteutsagn skrivervi p ≡ q.Dersom p og q ikkeerlogiskekvivalente,skrivervi p ≡ q Utsagnenekanværeekvivalenteselvomdeuttrykkerheltforskjelligeting. Deterkunsannhetsverdienavdemsomavgjøromdeerekvivalente.To logiskeuttrykk,somhverersammensattavflereenkeltutsagn,erlogisk ekvivalentehvisdeharsammesannhetsverdiialletolkninger,dvs.ialle situasjonersomkanoppstå.Detteskalvisenærmerepåetterhvert.
Eksempel2.2Eksempelpåekvivalenteutsagn
La p væreutsagnet«2erstørreenn1»og q væreutsagnet«AkommerførB ialfabetet».
p ≡ q fordi p og q beggeersanne.
Ivanligskolematematikkervivanttilåbrukesymbolerfordefire regneartene,pluss +,minus ,gange · ogdele /,ogvedhjelpavdemkan viberegnenyetall.Dissesymbolenekallervi operatorer,ogtallenesom vianvenderdempåkalles operander.Påsammemåtekanvivedhjelp avlogiskeoperatorerlagenyesammensatteutsagn,somvisåkanberegne sannhetsverdienav.Vihariutgangspunktettregrunnleggendeoperatorer;
• negasjon
• logisk og (konjunksjon)
• logiskinklusiv eller (disjunksjon).
Iprinsippetkanviklareossmeddissetre,daalledeandrelogiskeoperatorenekanutledesfradem.Deterimidlertidhensiktsmessigålærenoen flereslikatviletterekanuttrykkedetviønsker.Operatoreneerdefinert vedhjelpavsannhetsverditabeller,dervikanavlesesannhetsverdienialle situasjonerutsagnetkanværei.
2.2.2Negasjon Påsammemåtesometminustegnkangjøreetpositivttallnegativt,blir nektelsenavetsantutsagnusant.Vikallerdennelogiskeoperatorenfor negasjon ogbrukersymbolet ¬.
La p væreetutsagn.¬p kanleses«deterikkeslikat p»eller«ikke p». Detbetyratnegasjonentil p,dvs. ¬p,hardenmotsattsannhetsverdienav p.Dersom p ersann,er ¬p usann,ogmotsatt,hvis p erusann,er ¬p sann. Somviseritabell2.1opphevertonegasjonstegnhverandrepåsammemåte somtominustegngirplussivanligmatematikk.
Tabell2.1Sannhetsverdierfor p ogdensnegasjon
Eksempel2.3Etutsagnogdetsnegasjon
La p væreutsagnet«2erstørreenn1»(2 > 1).Hvablir ¬p?
Detnegerteutsagnetsierat«deterikkeslikat2erstørreenn1.»Erda 2mindreenn1?Nei,detmotsatteav«størreenn»er«mindreellerlik»,slik at ¬p blir«2ermindreellerlik1»(2 ≤ 1)
2.2.3Konjunksjon–logiskog Imangesituasjonerharvibrukforåavgjøresannhetsverdienavetuttrykk somersammensattavtoellerflereutsagn.Ønskerviatenbetingelsekun skalværeoppfyltnårtoutsagnersannesamtidig,kanvisettesammen utsagnenetilenkonjunksjon.
La p og q væretoutsagn.Utsagnet p∧q leses«p og q».Dettekallesogså for konjunksjonen av p og q.Konjunksjonen p ∧ q ersannhvis både p og q ersanne.Hvisett(ellerbegge)avdetoutsagneneerusanne,erutsagnet usant.
Operatoren ∧ er kommutativ,hvilketbetyratdetspilleringenrollepå hvilkensideav ∧ utsagnenestår.Selvomdebytterplass,forblirsannhetsverdienavkonjunksjonendensamme
p ∧ q ≡ q ∧ p.
Tabell2.2Sannhetsverdierforkonjunksjonenav p og q
Operatoren ∧ erogså assosiativ,hvilketinnebæreratvikansetteparentesenehvorvivil,sålengeuttrykketkuninneholderoperatoreravtypen ∧.Derforer
Ilikhetmedimatematikkbrukesparentesforåviseatuttrykketsomstår inneiparentesenskalbetraktessomethele.
Eksempel2.4Logisk ∧ («og»)
p: 2 < 3
q: 1 > 2
p ∧ q kanlesessom«2ermindreenn3 og 1erstørreenn2».Utsagnet p ∧ q erusantfordiettavutsagneneerusanne,dvs. p ersannog q erusann.
2.2.4Inklusivdisjunksjon–logiskinklusiveller Hvisviønskerenbetingelsebeståendeavtoellerflereutsagnderdeter tilstrekkeligatminstettavutsagneneersanneforatbetingelsenskalvære oppfyllt,kanvisettedemsammentilen disjunksjon
La p og q væretoutsagn.Utsagnet p ∨ q leses«p eller q».Dettekalles ogsåfor disjunksjonen av p og q.Disjunksjonen p ∨ q ersannhvisminst én(ellerbegge)av p eller q ersanne.Hvisbeggeutsagneneerusanne,er utsagnetusant.
Operatoren ∨ erkommutativ,hvilketbetyratdetspilleringenrollepå hvilkensideav ∨ utsagnenestår.Selvomdebytterplass,forblirsannhetsverdienavdisjunksjonendensamme
p ∨ q ≡ q ∨ p.
Operatoren ∨ erogsåassosiativ,hvilketinnebæreratvikansetteparentesenehvorvivil,sålengeuttrykketkuninneholderoperatoreravdenne typen:
p ∨ (q ∨ r) ≡ (p ∨ q) ∨ r.
Eksempel2.5Logisk ∨ («eller»)
p: 2 < 3 q: 1 > 2
p ∨ q kanlesessom«2ermindreenn3 eller 1erstørreenn2».Tiltrossfor at q erusann,erutsagnet p ∨ q ersantfordi p ersant.
Tabell2.3Sannhetsverdierfordisjunksjonenav p og q
q p ∨ q
2.2.5Unæreogbinæreoperatorer
Operatorerenevilhargjennomgåtttilnåharhattenellerto operander (argumenter).Operatorersomkuntarenoperand,kalles unære,mensde somtartooperander,kalles binære.,
Eksempel2.6Operatorer
Negasjonsoperatoren ¬p
ereteksempelpåenunæroperatorsomtarenoperand,herutsagnet p Logisk og og eller, ∧ og ∨,ereksemplerpåbinæreoperatorer.Dissetar tooperander,
p ∧ q og p ∨ q, herutsagnene p og q
2.2.6Eksklusivdisjunksjon–logiskeksklusiveller–XOR
Deflesteavossharståttoverforvalgdervi enten måvelgedetene eller detandre,men ikkebeggedeler.Ilogikkenkanviuttrykkeslikebetingelser vedåsettesammentoutsagntilen eksklusivdisjunksjon.Eksklusiveller (eng. exclusiveor forkortesofteXOR).
Diskret matematikk blir ofte kalt datamatematikk da den danner grunnlaget for datateknologien, både maskinvaren og programvaren. I en tid hvor stadig flere av livets områder styres av algoritmer, kunstig intelligens og språkmodeller, er innsikt og ferdigheter i diskret matematikk viktigere enn noen gang. I tillegg til å legge grunnlaget for forståelsen av andre datafag, gir boka leseren et kraftfullt verktøy for løsning av matematiske problemer og datarelaterte oppgaver. Faget består av mange ulike temaer og disipliner: matematisk logikk, mengdelære, følger og rekker, differensligninger, tallteori og tallsystemer, funksjoner, kombinatorikk, matriser, grafer og relasjoner. Forfatterne har lagt særlig vekt på å belyse hvordan temaene er relatert til praktiske anvendelser innen programvareutvikling, slik at leseren både bygger forståelse for teorien og utvikler praktiske ferdigheter.
Boka har en rekke oppgaver med løsningsforslag knyttet til hvert tema.
Diskret matematikk avslørt er primært skrevet for bachelorstudenter innen datateknologi ved norske universiteter og høgskoler. Siden boka ikke krever forkunnskaper utover matematikk på grunnskolenivå, passer den også for elever i videregående skole og alle andre som ønsker å lære mer om matematikken som ligger til grunn for alt fra programvareutvikling til maskinvaredesign.
Harald H. Soleng og Eva Hadler Vihovde mottok Universitetsforlagets pris for beste lærebokidé i 2021 og har tidligere skrevet Plettfri kode.
Hvordan forhindre feil i programvare?
ISBN 978-82-15-06883-1