Umeå universitet Tentamen i matematik Institutionen för

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.