Umeå universitet Tentamen i matematik Institutionen för matematik Introduktion till och matematisk statistik diskret matematik Lars-Daniel Öhman Lördag 2 maj 2015 Skrivtid: 9:00 15:00 Hjälpmedel: Miniräknare, lock till miniräknare Lösningarna skall presenteras på ett sådant sätt att räkningar och resonemang blir lätta att följa. Avsluta varje lösning med ett tydligt angivet svar! Notera att denna tentamen inte bedöms med poäng, utan genom att prestationen skall vara godtagbar på vart och ett av de tre delområdena (Enumerationsproblem; Talteori; Grafteori och algoritmer). Endast svar är aldrig tillräckligt. Med i huvudsak korrekt löst menas att de enklare deluppgifterna är avklarade, eventuellt med någon mindre tveksamhet, och med helt korrekt löst menas att alla deluppgifter är lösta, eventuellt med någon mindre tveksamhet. Endast svar är aldrig tillräckligt. För högre betyg (VG respektive 4, 5) krävs god prestation på vart och ett av områdena. Vad detta innebär specificeras vid respektive del. För betyg 4 krävs sammanlagt 11 i huvudsak korrekt lösta uppgifter, varav 6 helt korrekt. För betyg VG krävs sammanlagt 12 i huvudsak korrekt lösta uppgifter, varav 7 helt korrekt. För betyg 5 krävs sammanlagt 13 i huvudsak korrekt lösta uppgifter, varav 8 helt korrekt. Enumerationsproblem (minst tre i huvudsak korrekt lösta uppgifter för godkänt betyg Minst fyra i huvudsak korrekt lösta uppgifter, varav två helt korrekt, för chans till högre betyg) 1. En kortlek innehåller 52 kort, 13 av varje färg (hjärter, ruter, spader och klöver), och i varje färg finns 13 olika valörer (2 10, knekt, dam kung och ess). Ur dessa kort dras 5 kort utan återläggning, och bildar en så kallad pokerhand. a. Hur många pokerhänder finns det med exakt ett hjärter? Lösning. Det enskilda hjärterkortet kan väljas på 13 sätt, och resterande kort väljs bland de kort som inte är hjärter, på ( 39) 4 olika sätt. Dessa val är oberoende av varandra, så multiplikationsprincipen ger att det finns 13 (39 ) 4 sådana pokerhänder. b. Hur många pokerhänder finns det med minst ett hjärter? Lösning. ( Bäst är att räkna med komplementhändelsen, att inga kort är hjärter. Det finns 39 5 sådana händer, och det finns 52 5 pokerhänder totalt. Alltså finns 52 5 39 ) 5 pokerhänder utan hjärter. c. Hur många pokerhänder finns det med så kallad färg, det vill säga att alla kort har samma färg? Lösning. Det finns fyra olika färger, och när en färg valts skall alla kort vara i den färgen. Givet en färg finns det alltså ( 13) 5 möjligheter. De olika färgvalen utesluter varandra, så additionsprincipen ger att det finns ( 13 5 + 13 5 + 13 5 + 13 ) 5 olika sådana pokerhänder. 2. En permutation π är given på cykelform som (1)(2,5,7)(3,4,8)(6,9).
a. Skriv π som en avbildning π : [9] [9], och bestäm π 2, alltså π π. Lösning. Avbildningen ges av att π(1) = 1,π(2) = 5,π(3) = 4,π(4) = 8,π(5) = 7,π(6) = 9,π(7) = 2,π(8) = 3,π(9) = 6. Avbildningen π 2 ges av π 2 (1) = 1,π 2 (2) = 7,π 2 (3) = 8,π 2 (4) = 3,π 2 (5) = 2,π 2 (6) = 6,π 2 (7) = 5,π 2 (8) = 4,π 2 (9) = 9. b. Hur många permutationer med cykeltyp [1 1,2 1,3 2 ] finns det, alltså permutationer av 9 element med en 1-cykel, en 2-cykel och två 3-cykler? Lösning. Ett direkt resonemang: Det finns 9 sätt att välja elementet som ska vara en 1- cykel, och givet detta, ( 8 2) sätt att välja vilka två element som ska bilda 2-cykeln. För dessa två cykler spelar det ingen roll i vilken ordning vi skriver symbolerna i respektive cykel. Nu ska de resterande 6 elementen delas in i två 3-cykler, vilket kan göras på 1 6 2( 3) sätt, där faktorn 1 2 tillkommer eftersom det inte spelar någon roll vilka 3 element som hamnar i vilken 3-cykel. Slutligen kan elementen i var och en av de två 3-cyklerna ordnas på 2 skilda sätt, motsvarande (a, b, c) och (a, c, b). Multiplikationsprincipen ger att det finns sammanlagt 9 (8) 2 1 6 2( 3) 2 2 = 10080 olika permutationer av rätt cykeltyp. 9! Detta överensstämmer med resultatet från den generella formeln, = 10080. 1 2 32 1! 1! 2! c. Hur många permutationer av [n] finns det med cykeltyp [1 a 1,2 a 2,...,n an ], om i a i = n? Lösning. Se avsnitt 12.5. 3. a. Skriv 276 som en produkt av primtal, och beräkna antalet positiva delare till 276. Ange också vilka delarna är, och deras respektive primtalsfaktoriseringar. Lösning. För att hitta primtalsfaktoriseringen kan vi först observera att 276 är jämnt, så 276 = 2 138, och 138 är återigen jämnt, så 276 = 2 2 69. Talet 69 är uppenbarligen delbart med 3 så vi får 276 = 2 2 3 23. Talet 23 är ett primtal, vilket enkelt kan fastställas genom prövning. Vilka delare har talet 276? Varje delare måste bestå av ett urval av primtalsfaktorerna, så delarna är (i storleksordning) 1,2,3,4 = 2 2,6 = 3 3,12 = 2 2 3,23,46 = 2 23,69 = 3 23,92 = 2 2 23,138 = 2 3 23,276. Exempelvis fås delaren 92 genom att ta med faktorn 23 och båda 2:orna. Delaren 1 fås genom att ta med noll stycken av varje faktor. b. Om talet n har primtalsfaktorisering n = p α 1 1 p α 2 2... p α k k, härled ett allmänt uttryck för antalet positiva delare till n. Lösning. Antalet delare ges av (α 1 +1) (α 2 +1)... (α k +1). Varje delare till n består ju av produkten av ett urval av primfaktorerna. Multiplikationsprincipen ger sedan det allmänna uttrycket. För exemplifiering, se föregående uppgift. 4. a. Bevisa med hjälp av induktion (förslagsvis den starka induktionsprincipen) att det finns ett minsta tal N sådant att alla tal n N kan skrivas som en summa av 4:or och 5:or, alltså n = 4a + 5b där både a och b är icke-negativa heltal. Lösning. Genom prövning finner man att 11 inte kan skrivas som en summa av 4:or och 5:or, men att N = 12 = 3 4, 13 = 2 4 + 5, 14 = 4 + 2 5 och 15 = 3 5. Detta utgör induktionsbasen. Antag nu att alla tal 12 k n kan skrivas som en summa av 4:or och 5:or, och att n + 1 12 + 4. Då kan enligt induktionsantagandet n + 1 4 12 skrivas som en summa av 4:or och 5:or, säg n + 1 4 = 4A + 5B. Det följer att n + 1 kan skrivas som n + 1 = 4(A + 1) + 5B, och genom den starka induktionsprincipen följer det att alla n 12 kan skrivas som en summa av 4:or och 5:or. b. Visa att talet pq p q inte kan skrivas som en summa av p och q om p och q är relativt prima, alltså sgd(p, g) = 1.
Ledning. Antag att pq p q = ap + bq och visa att i) p delar b + 1 och q delar a + 1, ii) p < b + 1 och q < a + 1. Härled en motsägelse ur detta. Lösning. För att visa i) kan man samla termer på vardera sida i likheten, och få ap p+pq = bq + q = q(b + 1). Eftersom p delar vänsterledet och sgd(p,q) = 1 måste p dela b + 1. Ett liknande resonemang ger att q måste dela a + 1. För att visa ii) kan man först observera att p b + 1 följer av att p delar b + 1, och sedan testa vad som händer om p = b + 1. Om p = b+1 får vi a(b+1) (b+1)+q(b+1) = q(b+1) eller ekvivalent a(b+1) (b+1) = 0. För att uppfylla detta måste a < 0, vilket inte är tillåtet. Alltså är p < b+1, och ett liknande resonemang ger att q < a + 1. Vi sätter nu in dessa olikheter, b > p 1 och a > q 1 och får pq p q = ap + bq > (q 1)p + (p 1)q = 2pq p q så att pq > 2pq, vilket uppenbarligen är en motsägelse. Vi drar slutsatsen att det inte går att hitta passande a och b. 5. Funktionen f(n,m) är rekursivt definierad på de icke-negativa heltalen N 0, på så sätt att f(n,0) = f(n,n) = 1 för alla n N 0, och f(n,m) = f(n 1,m) + f(n 1,m 1) för alla n > m 1. a. Beräkna f(4, 3). Lösning. Genom bruk av rekursionsformeln fås att f(4,3) = f(3,3)+f(3,2) = 1+[f(2,2)+ f(2,1)], och så vidare. Vi får f(4,3) = 4. b. Visa att f(n,n 1) = n för alla n N. Lösning. Här används förslagsvis induktion, f(1,0) = 1 per definition, och om f(n,n 1) = n så följer ur rekursionsformeln, initialvärdena och induktionsantagandet att f(n + 1, n) = f(n,n) + f(n,n 1) = 1 + n, vilket är vad formeln förutsäger. c. Visa att f(n,n 2) = n(n 1)/2 för alla n 2. Du kan använda dig av resultatet från uppgift b utan bevis. Lösning. Återigen används lämpligen ett induktionsbevis, på liknande sätt som i uppgift b. Talteori (minst två i huvudsak korrekt lösta uppgifter för godkänt betyg Minst tre i huvudsak korrekt lösta uppgifter, varav två helt korrekt, för chans till högre betyg) 6. a. Beräkna sgd(100007,9991). Lösning. Använd förslagsvis Euklides algoritm, se avsnitt 8.4. sgd(100007,9991) = 97. b. Skriv 100007 som en produkt av primtal. Visa att de faktorer du anger verkligen är primtal. Lösning. Svaret från föregående uppgift är en delare till 1000007, så 100007 = 97 1031. Både 97 och 1031 är primtal, vilket enkelt kan kontrolleras genom division med alla udda tal (eller ännu bättre, primtal) upp till 97 respektive 1031. c. Beräkna Eulers φ-funktion för talet 100007, alltså φ(100007). Lösning. Eftersom 100007 = 97 1031 ger formeln φ(100007) = 100007 ( 1 1 )( 97 1 1 1031) = 98880. Man kan även finna φ(100007) direkt med hjälp av inklusion/exklusion, som φ(100007) = 100007 100007 97 100007 1031 + 100007 97 1031 = 98880.
7. I ett visst programmeringsspråk finns datatypen HELTAL inbyggd, men inte rationella tal. Du har därför kodat en egen datayp RATIONELLATAL som består av ordnade par (n, m) av HELTAL, och som tolkas som n m. a. Hur kodar du en kontroll av om två RATIONELLATAL är lika? Observera att du endast kan använda räkneoperationer på HELTAL för att avgöra detta. Lösning. Se avsnitt 9.1. b. Hur kodar du multiplikation av två RATIONELLATAL? Återigen kan du endast använda räkneoperationer på HELTAL. Lösning. Se avsnitt 9.1. c. Hur kodar du division av två RATIONELLATAL? Återigen kan du endast använda räkneoperationer på HELTAL. Kan denna operation utföras på godtyckligt par av RATIONELLATAL, eller finns det några undantag? Lösning. Se avsnitt 9.1. Undantaget är att man inte kan dela med ett rationellt tal som är lika med noll, alltså har n = 0. 8. a. Är påståendet Om a b (mod m) så är a 2 b 2 (mod m) sant eller falskt? Bevisa eller ge motexempel. Lösning. Påståendet är sant. Se sats 13.1. b. Är påståendet Om a b (mod m) så är 2 a 2 b (mod m) sant eller falskt? Bevisa eller ge motexempel. Lösning. Påståendet är falskt. Tag exempelvis m = 3, a = 2 och b = 5. Då gäller uppenbarligen a b (mod 3), men 2 a = 2 2 = 4 1 (mod 3) och 2 b = 2 5 = 32 2 (mod 3). 9. a. Komplettera den partiella latinska kvadraten A B C D B C D E C E A Lösning. De två sista symbolerna i rad 1 och 2 är entydigt givna. De två sista symbolerna i rad 3 måste sedan vara B, D i den ordningen. De två sista raderna kan kompletteras på två olika sätt, antingen D, A, E, C, B och E, D, B, A, C, eller genom att byta plats på dessa två rader. b. Symbolerna i två 5 5 matriser L 2 och L 3 ges av L 2 (i,j) = 2i+j (mod 5) och L 3 (i,j) = 3i+j (mod 5), där alltså L t (i,j) ger symbolen i cell (i,j), där 1 i,j 5. Skriv ned L 2 och L 3 och verifiera att L 2 är ortogonal mot L 3. Lösning. Notera att raderna och kolumnerna är numrerade med elementen i Z 5 = {0,1,2,3,4}. Se avsnitt 13.5. c. Konstruera en uppsättning om 4 stycken parvis ortogonala latinska kvadrater av ordning 5. Lösning. Se Sats 13.5.2. Grafteori och algoritmer (minst tre i huvudsak korrekt lösta uppgifter för godkänt betyg Minst fyra i huvudsak korrekt lösta uppgifter, varav två helt korrekt, för chans till högre betyg)
10. En algoritm har följande pseudokod: let i = 0 while i m n do i := i + 1 q := i 1; r := n q m a. Givet att m och n är indata, två heltal, och att q och r är utdata, beskriv med ord vad algoritmen gör, både vad gäller de enskilda stegen i algoritmen, och vilket problem algoritmen löser. Lösning. Algoritmen utför division med rest, n = qm+r. Den startar med att testa om i = 1 är den största möjliga kvoten (alltså om i m n), och ökar på i till dess att den hittar det minimala i sådant att i m > n. Då är ju kvoten q = i 1, och att resten r = n q m följer genom enkel aritmetik. (Om m = 0 eller om m är negativt fungerar algoritmen inte.) b. Visa att algoritmen terminerar, och förklara varför den ger rätt resultat. Kommentera särskilt fallet då algoritmen terminerar vid i = 1. Lösning. Algoritmen terminerar eftersom n är ändligt och i m ökar med heltalet m i varje steg. Till slut måste därför i m överskrida n. Vad gäller korrektheten, se föregående lösning. c. Beskriv algoritmens körtid i termer av m och n med O(m,n)-notation. Lösning. While-loopen kör högst n/m gånger, så algoritmen är O(n/m). 11. Två grafer G 1 och G 2 är givna genom nedanstående grannmatriser. 0 1 1 0 0 1 0 1 0 1 0 1 1 0 1 0 1 0 1 0 1 0 1 0 1 1 0 1 0 0 0 1 0 1 0 1 0 0 1 0 1 1 1 0 1 0 1 0 0 1 0 1 0 1 0 1 0 1 0 1 1 0 0 1 1 0 1 0 1 0 1 0 a. Skissa graferna och avgör om de är isomorfa. Lösning. Grafen G 1 kan beskrivas som ett prisma med triangulär bas, och G 2 är den komplette bipartita grafen K 3,3. Graferna är inte isomorfa, exempelvis innehåller G 1 den udda cykeln v 1 v 2 v 3 v 1, så den är inte bipartit. b. Både G 1 och G 2 är 3-regulära. Finns det någon 3-regulär graf på 6 hörn som inte är isomorf med varken G 1 eller G 2? Ge ett exempel eller bevisa att det inte finns någon sådan graf. Lösning. Någon sådan graf finns inte. Detta kan visas med en fallanalys som utgår från att v 1 är granne med v 2, v 3 och v 4 (vilket vi kan anta, om inte annat genom att numrera om hörnen). Man undersöker sedan vilka hörn v 5 är granne med. Om v 5 är granne med v 2,v 3,v 4 så är även v 6 det, och vi får grafen K 3,3. Om v 5 är granne med v 6 så måste v 5 vara granne med två av hörnen v 2,v 3,v 4, och vi kan anta att det är v 2 och v 3. Nu måste även v 6 vara granne med två av hörnen v 2,v 3,v 4. Om v 6 kan inte vara granne med v 2 och v 3, för då bildas ingen 3-regulär graf. Hörnet v 6 måste alltså vara granne med v 4 och ett av hörnen v 2 och v 3. Oavsett vilket hörn man väljer kan grafen endast kompletteras så att ett triangulärt prisma bildas. 12. a. Sortera listan {13, 2, 5, 92, 14, 27, 123, 105, 155, 45} med bubble sort. Lösning. Se avsnitt 14.8.
b. Bubble sort gör som bekant alltid n i=1 (n i) jämförelser, oavsett vilken lista som ska sorteras. Hur många platsbyten (alltså att två element som jämförs byter plats i listan) gör bubble sort i värsta fall? Ge ett exempel på en lista där bubble sort gör maximalt antal platsbyten. Lösning. I värsta fall görs ett platsbyte för varje jämförelse. Detta fall realiseras då listan står i omvänd storleksordning. 13. a. Beskriv resultatet av en djupet-först- och en bredden-först-sökning i den kompletta bipartita grafen K r,s, alltså den bipartita graf som har r respektive s hörn i sina två delar, och alla möjliga kanter. Ge ett explicit exempel för r = 4, s = 6. Lösning. Låt grafen B vara given av B 1 B 2, och B 1 = {v 1,v 2,...,v r }, B 2 = {w 1,w 2,...,w s }. Vi antar att sökningen börjar i hörnet v 1 B 1. Bredden först ger tre nivåer av sökningen, först (nivå 1) hörnet v 1, sedan (nivå 2) alla hörn i B 2 i nummerordning, och därefter (nivå 3) utgående från w 1, alla resterande hörn i B 1 i nummerordning. Vi antar nu att r s. Djupet först ger först en enda lång stig v 1 w 1 v 2 w 2...v r w r, och därefter backtrackar man till v r och hittar vart och ett av hörnen w r+1,...,w s från v r. b. Vilken av de två sökmetoderna används i Dijkstras algoritm för att hitta kortaste vägen från ett hörn till alla andra hörn i en graf? Beskriv bruket av sökmetoden i Dijkstras algoritm med hjälp av ett exempel. Lösning. Bredden först används. Se avsnitt 16.6. c. Vilka problem skulle uppstå om man i Dijkstras algoritm istället använde den andra sökmetoden? Ge ett exempel på en graf där man får fel resultat med en sådan modifierad version av Dijkstras algoritm. Lösning. Hur man besvarar denna fråga beror naturligtvis på exakt hur man tänker sig att Dijkstras algoritm skulle modifieras. Om vi tänker oss att den modifieras så att vi söker längs den billigaste kanten i varje steg, och permanentar det senaste hörn vi hittat ger exempelvis grafen C 3 med V (C 3 ) = {v 1,v 2,v 3 } och vikter w(v 1,v 2 ) = 1, w(v 2,v 3 ) = 2 och w(v 1,v 3 ) = 2 fel kortaste stig från v 1 till v 3, eftersom djupet först- sökningen först går till v 2 och permanentar detta hörn, och därefter går till v 3. 14. Låt B vara den bipartita grafen nedan. v 6 v 7 v 8 v 9 v 10 v 11 v 0 v 1 v 2 v 3 v 4 v 5 a. De streckade kanterna utgör en partiell matchning. Utöka denna partiella matchning till en fullständig matchning genom att använda metoden med alternerande stigar med utgångspunkt i det omatchade hörnet v 6. Lösning. Vi hittar exempelvis den alternerande stigen v 6 v 1 v 9 v 4 som slutar i det omatchade hörnet v 4. Efter att ha flippat denna stig är alla hörn matchade. b. Vad är grafen B:s kromatiska index, alltså hur många färger som krävs för en äkta kantfärgning av B? Lösning. Den maximala valensen är deg(v 10 ) = 4, så enligt Königs sats är det kromatiska indexet för B 4.
c. Antag att kanterna i den fullständiga matchningen från föregående uppgift ges färgen röd. Utvidga denna partiella kantfärgning till en kantfärgning av hela grafen B som använder så få färger som möjligt. Lösning. Eftersom matchningen är komplett kommer vi inte att behöva byta ut några färger på den. För att finna färgningen, se avsnitt 17.2.