Umeå universitet Institutionen för matematik och matematisk statistik Lars-Daniel Öhman Tentamen i matematik Introduktion till diskret matematik Fredag 20 mars 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. a. Hur många injektioner finns det från en mängd med n element till en mängd med m element? b. Hur många surjektioner finns det från en mängd med n element till en mängd med m element i fallen då n < m och n = m? c. Är sammansättningen av en surjektion och en injektion alltid en injektion? Bevisa eller ge motexempel. 2. a. En irriterande forumsida kräver att användare ska välja ett lösenord som innehåller exakt 8 tecken, där tillåtna tecken är 0–9, A–Z och a–z. Givet att A–Z är 26 olika bokstäver, hur många olika lösenord kan bildas? b. Efter en irriterande uppdatering krävs dessutom att minst ett av tecknen är en siffra. Hur många olika lösenord kan då bildas? c. Efter ytterligare en irriterande uppdatering krävs dessutom att minst ett av tecknen är en stor bokstav, och minst ett är en liten bokstav. Hur många olika lösenord kan då bildas? Att fundera på: Har forumets säkerhet ökat eller minskat? 3. a. En viss sorts objekt kan räknas med hjälp av rekursionen a0 = 2, an+1 = 2an + 2n + 1 för n ≥ 1. Visa med hjälp av induktion att an = 5 · 2n − 2n − 3. För vilka n är denna slutna formel giltig? b. Visa med hjälp av den generaliserade induktionsprincipen att varje naturligt tal kan skrivas som en summa av distinkta 2-potenser. Ledning: För varje tal n finns ett k sådant att 2k ≤ n < 2k+1 . 4. a. Hur många positiva heltalslösningar (där 0 räknas som ett positivt heltal) till ekvationen x1 + x2 + x3 + x4 + z5 = 22 finns det? b. Nu räknas helt plötsligt inte 0 som ett positivt heltal längre. Hur många positiva heltalslösningar finns det då till ekvationen? c. Hur många heltalslösningar finns det till ekvationen om följande krav måste vara uppfyllda? 0 ≤ x1 ≤ 19, 3 ≤ x2 ≤ 4, 0 ≤ x3 , 4 ≤ x4 och 2 ≤ z5 . 5. a. En algoritm itererar över alla delmängder av {1, 2, 3, 4, 5, 6} som innehåller minst två element. Hur många iterationer genomförs? b. Genom ett listigt bevis visar det sig att man inte heller behöver iterera över de delmängder som innehåller 5 element eller fler. Hur många iterationer behöver då genomföras? c. I en allmän instans av problemet itererar algoritmen över alla delmängder av {1, 2, 3, . . . , n} som innehåller minst 2 element, och högst n − 2 element. Hur många iterationer genomförs? 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(49, 259) med Euklides algoritm. b. Går det att lösa ekvationen 49x + 259y = 2, om både x och y måste vara heltal? c. Antag att a|b, alltså att a delar b. Gäller sgd(a, c) ≤ sgd(b, c) för alla naturliga tal c? Bevisa eller ge motexempel. 7. a. Skriv 148 som en produkt av primtal. b. Beräkna φ(148), alltså antalet tal m ≤ 148 som uppfyller sgd(m, 148) = 1. c. För vilka naturliga tal n gäller φ(2n) ≤ n? För vilka naturliga tal n gäller likhet? 8. a. Bestäm x sådant att 0 ≤ x ≤ 22 i kongruensen 8765 ≡ x mod 23. b. Antag att x1 och x2 båda uppfyller kongruensen. Vad blir resten då x1 + x2 respektive x1 − x2 delas med 23? 9. a. Vad menas med inversa element i Zn ? Förklara och ge exempel! b. Finn inverserna till alla element i Z8 som har en invers. c. Bevisa eller ge ett motexempel till följande påstående: ”Alla element utom 0 i Zp är inverterbara om p är ett primtal.” Grafteori och algoritmer (minst två 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. Sortering a. I sista steget i insertion sort av en lista med 10 element har den nya listan {2, 5, 13, 14, 27, 92, 105, 123, 155} skapats, och det sista elementet 45 ska sorteras in. Beskriv vilka jämförelser som ska genomföras, och hur processen avgör var 45 hamnar. b. En programmerare har implementerat bubble sort, och vid kontroll av att implementationen är riktig visar det sig att den efter en sorteringsiteration ger listan {13, 2, 5, 92, 14, 27, 123, 105, 155, 45}. Kan implementationen vara korrekt gjord? c. Efter en modifikation ger implementationen av bubble sort efter en sorteringsiteration istället listan {13, 2, 5, 92, 14, 27, 123, 105, 45, 155}. Kan implementationen vara riktigt gjord? Hur såg i så fall listan ut innan den första sorteringsiterationen genomfördes? 11. a. Sortera listan {13, 2, 5, 92, 14, 27, 123, 105, 155, 45} med heapsort. b. Är följande påstående sant? ”I en heap står alltid det näst minsta och det tredje minsta elementet i barnen till roten.” Bevisa eller ge ett motexempel. 12. Grafen G nedan är den så kallade Petersengrafen, efter den danske matematikern Julius Petersen. v3 v4 v2 v5 v1 v0 v6 v9 v7 v8 a. Genomför en hörnfärgning av G med greedy, med hörnen i den ordning som ges på bilden. b. Vad är G:s kromatiska tal? c. Finn en ordning på hörnen som gör att greedy använder 4 färger. 13. Per definition gäller att funktionen f (n) är O(g(n)) om det finns en konstant k sådan att f (n) ≤ kg(n) för alla värden på n utom högst ändligt många. a. Visa att funktionen f (n) = n2 + n är O(n2 ). b. En algoritm har följande pseudokod: for i from 1 to n for j from 1 to n do A Uttryck algoritmens körtid med O-notation, om rutinen A tar O(log(n)) steg att genomföra. c. Visa att funktionen f (n) = n2 − n inte är O(np ) för något 0 < p < 2. 14. a. Låt G vara den kompletta grafen på 7 hörn, där hörnen representeras av talen {0, 1, 2, 3, 4, 5, 6}, och vikten på en kant mellan två hörn i och j ges av i + j mod 7. Exempelvis har kanten {2, 6} vikt 1 eftersom 2 + 6 ≡ 1 mod 7. Finn ett minsta uppspännande träd i denna graf med valfri korrekt algoritm. b. Dijkstras algoritm ger ett uppspännande träd med rot i ett hörn v, och den kortaste vägen till varje annat hörn från v går längs kanter i trädet. Är detta träd alltid ett minimalt uppspännande träd? Bevisa, eller ge ett motexempel på högst 5 hörn.