Skip to main content

Diskret matematikk avslørt: Det er den som styrer datamaskinen

Page 1


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

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

Turn static files into dynamic content formats.

Create a flipbook
Diskret matematikk avslørt: Det er den som styrer datamaskinen by Universitetsforlaget - Issuu