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
Torsdag 27 aug. 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. För att få betyg 5 på denna tentamen krävs 13 i huvudsak korrekt lösta uppgifter, varav
minst 4 på del ett, minst 3 på del två och minst 4 på del tre. Om vi ser detta som en summa
av poäng, x1 + x2 + x3 = 13, på hur många olika sätt kan denna summa bildas?
Lösning. Vi har givet att x1 ≥ 4, x2 ≥ 3 och x3 ≥ 4, så vi kan skriva om ekvationen till den
ekvivalentaformen y1 + y2 + y3 = 2, där yi ≥ 0. Antalet heltalslösningar till denna ekvation
= 6.
ges av 3+1
2
Annan rimlig tolkning: Om man tar hänsyn till det antal poäng man faktiskt kan få på
vardera del finns endast 3 lösningar, nämligen 5 + 4 + 4, 5 + 3 + 5 och 4 + 4 + 5.
b. För att ha en chans att klara godkänt betyg på denna tentamen måste man prestera godtagbart på minst 3 uppgifter av de 5 uppgifterna på den första delen, minst 2 av 4 på del två
och minst 3 av 5 på del tre. Hur många olika urval av uppgifter kan man lösa om man vill ha
chans att klara tentamen? Notera att man naturligtvis också kan lösa fler än det minimala
antalet uppgifter på varje del.
Lösning. För del ett kan man lösa 3, 4 eller 5 uppgifter, vilka kan utväljas på 53 = 10,
4
5
5
=
1
sätt.
Motsvarande
resonemang
för
del
två
och
tre
ger
=
5,
respektive
2 =
4
5
6, 43 = 4 och 44 = 1, respektive 53 = 10, 54 = 5 och 55 = 1. Eftersom urvalet på
de olika delarna är oberoende av varandra ger multiplikationsprincipen att det totalt finns
(10 + 5 + 1)(6 + 4 + 1)(10 + 5 + 1) = 2816 olika möjliga urval.
2. a. Visa att det finns lika många heltal som det finns udda heltal genom att beskriva en bijektion
b1 mellan de två mängderna.
Lösning. Funktionen b1 (n) = 2n + 1 antar som värden alla udda heltal, och överför därför
bijektivt heltalen till de udda heltalen.
b. Visa att det finns lika många heltal som det finns udda positiva heltal genom att beskriva en
bijektion b2 mellan de två mängderna.
Ledning. Det räcker med att ge en bijektion b3 mellan de udda heltalen och de udda positiva
heltalen. Sedan ges b2 av sammansättningen b3 ◦ b1 .
Lösning. Funktionen b3 (n) som för positiva udda heltal ges av b3 (n) = 2n+1 och för negativa
udda heltal ges av b3 (n) = −2n − 1 är en bijektion mellan de udda heltalen och de udda
positiva heltalen.
c. Man kan med ett motsägelsebevis visa att det finns oändligt många naturliga tal. Beviset har
följande steg.
1. N är icketom.
2. Man kan lista elementen i N som i1 , i2 , . . . , in för något n
3. s = i1 + i2 + . . . + in tillhör N
4. ir < s för alla 1 ≤ r ≤ n
5. s 6∈ {i1 , i2 , . . . , in }
6. Listan är inte komplett
7. N är inte ändlig
Förklara varför varje steg är sant.
Lösning. Se Sats 6.5.1.
3.
Antag att p är en permutation av elementen i {1, 2, . . . , n}.
a. Hur många permutationer finns det som uppfyller p(1) = 1 och p(n) 6= n, om n ≥ 3?
Lösning. Elementet n kan avbildas på någon av 2, 3, . . . , n − 1, vilket ger n − 2 valmöjligheter.
Övriga n − 2 element (utom 1, så klart) kan sedan avbildas på vad som helst. Vi får enligt
multiplikationsprincipen (n − 2) · (n − 2)!.
Kommentar: Om n = 1 eller n = 2 finns uppenbarligen inga sådana permutationer. Formeln
ovan funkar för n = 2, och ger 0, men den funkar uppenbarligen inte för n = 1.
b. Bevisa att produkten (1 − p(1))(2 − p(2)) . . . (n − p(n)) är ett jämnt tal om n är udda.
Ledning. Observera att en produkt är jämn om minst en av faktorerna är jämn.
Lösning. Om n är udda finns det (n + 1)/2 udda tal i mängden {1, 2, . . . , n}. Därför finns det
även i mängden {p(1), p(2), . . . , p(n)} precis (n+1)/2 udda tal. Eftersom (n+1)/2+(n+1)/2 =
n + 1 måste något udda i uppfylla att p(i) är udda, så att faktorn (i − p(i)) är jämn.
4.
En (vanlig) tärning är en kub med värdena 1–6 på de sex sidorna. Varje sida har samma
sannolikhet att hamna uppåt vid ett kast med tärningen.
a. Om man kastar tre tärningar, T1 , T2 och T3 , hur många olika utfall kan man då få där minst
en av tärningarna visar minst 3?
Lösning. Det enklaste är att undersöka komplementhändelsen, då alla tärningarna visar högst
2. Det finns enligt multiplikationsprincipen 2·2·2 = 8 sådana utfall, eftersom T1 har 2 möjliga
utfall, T2 oberoende av detta har 2 möjliga utfall, och T3 oberoende av detta har 2 möjliga
utfall.
b. Vad är sannolikheten att ett kast med 3 tärningar T1 , T2 och T3 inte ger något par, det vill
säga två tärningar (eller fler) som har samma utfall?
Lösning. Det finns totalt 63 olika utfall, och av dessa ger 6 · 5 · 4 inga par. Argumentet för
detta är att den första tärningen kan ge 6 olika utfall, den andra får inte ge samma utfall
som den första, så där finns 5 möjliga utfall, och slutligen får den tredje inte ge samma utfall
som någon av de två första, så där finns 4 möjliga utfall.
5.
Funktionen f (n, k) är rekursivt definierad på de naturliga talen N, på så sätt att f (n, 1) =
f (n, n) = 1 för alla n ∈ N, och f (n, k) = f (n − 1, k − 1) + k · f (n − 1, k) för alla n ≥ k ≥ 1.
a. Beräkna f (4, 3).
Lösning. Genom bruk av rekursionsformeln fås att f (4, 3) = f (3, 2) + 3 · f (3, 3) = [f (2, 1) +
2 · f (2, 2)] + 3 · 1 = [1 + 2 · 1] + 3 = 6.
b. Visa med hjälp av induktion att f (n, n − 1) = n2 för alla n ≥ 2.
Lösning. Vi har att f (2, 1) = 1 per definition, och om f (n, n−1) = n2 så följer ur rekursionsformeln, initialvärdena och induktionsantagandet att f (n + 1, n) = f (n, n − 1) + n · f (n, n) =
2n+n(n−1)
n
= (n+1)n
= n+1
2
2
2 , vilket är vad formeln förutsäger.
2 +n=
c. Genom att tolka f (n, k) som antalet partitioner av en grundmängd med n element i k delar,
ge ett kombinatoriskt argument för att f (n, n − 1) = n2 .
Lösning. En sådan partition har en del som innehåller 2 element, och resterande delar innehåller ett element. Partitionen är alltså entydigt bestämd genom att man anger vilka två
element som skall
ligga tillsammans i en del. Dessa två element kan väljas ut bland de n
elementen på n2 sätt, eftersom ordningen inte spelar någon roll.
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. Genomför division med rest för 100007 och 9991. Kontrollera att den rest du får är en delare
till både 100007 och 9991.
Lösning. Genom divisionsalgoritmen fås 100007 = 10 · 9991 + 97, så kvoten är 10 och resten
97. Vi har också att 100001 = 1031 · 97 och 9991 = 103 · 97.
b. Skriv ned alla positiva delare till 9991 och 100007.
Lösning. Man kontrollerar lätt att 97 är ett primtal. Vi har från kontrollen i uppgift a att
100001 = 1031 · 97 och 9991 = 103 · 97. Även 103 och 1031 är primtal, vilket kräver lite
arbete att kontrollera i fallet 1031. Sammantaget får vi att alla positiva delare till 100007 är
1, 97, 1031, 100007, och att alla positiva delare till 9991 är 1, 97, 103, 9991.
c. Förklara utifrån resultatet i uppgift a varför sgd(100007, 9991) = 97, utan att hänvisa till
Euklides algoritm.
Lösning. Först och främst är 97 en delare till både 100007 och 9991. Varför är det den största
gemensamma delaren? Jo, om d är någon annan delare till 100001 och 9991, så delar ju d
även 10 · 9991 och 100001 − 10 · 9991 = 97. Varje gemensam delare till 100001 och 9991 delar
alltså även 97, och 97 delar 100001 och 9991, vilket är definitionen av sgd(100001, 9991).
7. a. Beräkna 92017 (mod 2773). Ge svaret som ett tal c som uppfyller 0 ≤ c ≤ 2773 − 1.
Lösning. Lämpligen beräknar man detta stegvis och reducerar modulo 2773 i varje steg,
exempelvis enligt
9202 ≡ 635
4
920
8
920
(mod 2773)
2 2
= (920 ) ≡ 6352 ≡ 1140
2
(mod 2773)
8 2
2
(mod 2773)
= (920 ) ≡ 1140 ≡ 1836
16
= (920 ) ≡ 1836 ≡ 1701
17
16
920
920
(mod 2773)
4 2
= 920 · 920
= 920 · 1701 ≡ 948
(mod 2773).
b. Finn den multiplikativa inversen till 920 i Z2773 .
Lösning. Se metoden i sats 13.3.1, och sats 8.4. Svar: 853, vilket enkelt kan kontrolleras
(kontrollera alltid dina svar om det är enkelt att kontrollera!) genom att beräkna 920 · 853
(mod 2773)
8. a. Definiera följande relation R på Z: Två heltal a och b är relaterade genom R, och vi skriver
aRb, omm a − b kan skrivas som 5n för något heltal n. Är R en ekvivalensrelation?
Lösning. Relationen R kan tolkas som ”modulo 5”, och är alltså en ekvivalensrelation på Z.
Man kontrollerar lätt att relationen är reflexiv, symmetrisk och transitiv. Se även avsnitt
13.1.
b. Definiera följande relation S på Z: Två heltal a och b är relaterade, aSb omm a+b kan skrivas
som 5n för något heltal n. Är S reflexiv, symmetrisk och transitiv?
Lösning. Relationen S är inte en ekvivalensrelation. Den är inte reflexiv, ty (exempelvis)
36 S 3. Den är dock symmetrisk, eftersom a + b = b + a. Den är inte transitiv, exempelvis gäller
att 2S3 och 3S7, men 26 S 7.
9.
Ett element a ∈ Zm kallas en kvadrat om det kan skrivas som a = b2 för något element
b ∈ Zm .
a. Bestäm alla kvadrater i Z7 och Z8 .
Lösning. Om man beräknar 02 ≡ 0 (mod 7), 12 ≡ 1 (mod 7), 22 ≡ 4 (mod 7), 32 ≡ 2
(mod 7), 42 ≡ 2 (mod 7), 52 ≡ 4 (mod 7) och 62 ≡ 1 (mod 7), så ser man att 0, 1, 2 och 4
är kvadrater i Z7 . På motsvarande sätt fås att 0, 1 och 4 är kvadrater i Z8 .
b. Finn alla lösningar till ekvationen x2 ≡ 4 (mod 15).
Lösning. Enklast är att beräkna a2 för alla a ∈ Zm . Då fås att 22 ≡ 72 ≡ 82 ≡ 132 ≡ 4
(mod 15).
c. Visa att b2 ≡ (m − b)2 (mod m) för alla b ∈ Zm . Dra slutsatsen att det kan finnas högst
m/2 + 1 kvadrater i Zm .
Lösning. Expandera (m − b)2 = m2 − 2mb + b2 och observera att m delar både m2 och 2mb,
så att m2 − 2mb + b2 ≡ b2 (mod m).
Eftersom b2 ≡ (m − b)2 (mod m), så ger b och m − b upphov till samma kvadrat, så vi får
m/2 kvadrater. I fallet då b = m − b kan vi eventuellt få en extra kvadrat.
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. a. Ange en sammanhängande graf G på 7 hörn som har kromatiskt tal 4.
Lösning. Det finns många sådana grafer, förslagsvis en komplett graf på 4 hörn, med tre
enskilda kanter som sticker ut till vart och ett av tre ytterligare hörn.
b. Komplementet G till en graf G är den graf som har samma hörn som G och precis de kanter
som G inte har. Med andra ord: {u, v} är en kant i G om och endast om {u, v} inte är en
kant i G. Vilket kromatiskt tal har komplementet till den graf du angav i uppgift a?
Lösning. Givet den graf G som föreslogs i föregående lösning får man att G är en komplett
graf på 3 hörn, och från vart och ett av dessa hörn går det en kant till var och en av 4
ytterligare hörn. Det kromatiska talet är då 4, eftersom den kompletta grafen kräver 3 färger,
och de övriga 4 hörnen alla kan ges en och samma färg.
c. Låt G vara en graf med kromatiskt tal 3 och H en graf med kromatiskt tal 4. Kan G och H
vara isomorfa? Bevisa att det är omöjligt, eller ge ett exempel på ett sådant par av grafer.
Lösning. Då kan G och H omöjligt vara isomorfa. Om de vore isomorfa skulle en äkta färgning
av G överföras till en äkta färgning av H genom isomorfiavbildningen.
v3
v4
v2
v5
G:
v1
v0
v6
v9
v7
11.
v8
Grafen G ovan har vikter på kanterna som ges av att kanten mellan vi och vj har vikt i · j.
a. Bestäm ett minimalt uppspännande träd i grafen.
Lösning. Använd Kruskals eller Prims algoritm.
b. Utgående från hörnet v0 , finn kortaste avståndet till vart och ett av de andra hörnen.
Lösning. Använd Dijkstras algoritm.
12.
Ett klassiskt problem i grafteori är att hitta den största kompletta delgrafen i en graf. Givet
en graf G vill man då hitta den största uppsättningen hörn som alla är grannar med varandra.
En algoritm för att försöka lösa detta problem ges av följande:
0. Initialisera med S0 = ∅, alltså tomma mängden.
1. Tag det hörn v1 som har störst gradtal, och lägg till mängden S0 , alltså S1 = S0 ∪ {v1 }.
i. Tag det hörn vi som har störst gradtal och är granne med alla hörn i mängden Si−1 . Lägg
detta till Si−1 , alltså Si = Si−1 ∪ vi . Iterera detta steg.
Terminera då inget hörn vi som är granne med alla hörn i Si−1 kan hittas. Då beskriver
hörnen i Si−1 en komplett delgraf.
Algoritmen är av typen greedy.
a. Genomför algoritmen på grafen F nedan.
a
f
d
F:
s
g
b
t
e
c
h
Lösning. Hörnet e väljs först, eftersom det har grad 5, vilket är entydigt störst i grafen. Vi får
S1 = {e}. Därefter väljs bland hörnet e:s grannar det hörn som har störst gradtal, nämligen
g med grad 4. Vi får S2 = {e, g}. Hörnen e och g har bara en gemensam granne, h, som vi då
väljer. Vi har nu S3 = {e, g, h}. Dessa tre hörn har ingen gemensam granne, och algoritmen
terminerar. Vi har hittat en komplett delgraf, på de tre hörnen e, g, h.
b. Ger algoritmen rätt lösning för grafen F ?
Lösning. Man kan enkelt kontrollera att det inte finns några kompletta delgrafer på fyra
hörn. Den största kompletta delgrafen i F har alltså tre hörn, och algoritmen ger en korrekt
lösning. Det finns dock även andra kompletta delgrafer på tre hörn, exempelvis b, d, e.
c. Är algoritmen korrekt?
Ledning. Om du kan beskriva en graf där algoritmen inte ger rätt lösning så är den inte
korrekt.
Lösning. Algoritmen är inte korrekt. Algoritmen terminerar i och för sig uppenbarligen,
eftersom den mängd hörn vi genomsöker (gemensamma grannar till mängden Si−1 ) minskar
med åtminstone ett hörn för varje iteration.
Algoritmen ger dock inte alltid rätt lösning, vilket vi exempelvis kan se genom att ta en graf
som består av två komponenter, där den ena är en komplett bipartit graf, K1,4 , och den
andra komponenten är en komplett graf K3 på 3 hörn. Den största kompletta delgrafen är då
K3 , men algoritmen väljer först det hörn i K1,4 som har grad 4, därefter en av dess grannar,
och terminerar sedan. Den kompletta delgraf som hittas på detta sätt har endast 2 hörn, så
algoritmen kan inte vara korrekt.
13. a. Genomför valfri korrekt sorteringsalgoritm på listan
2, 6, 1, 11, 3, 10, 4, 8, 9, 5, 7, 12.
Om din algoritm inte behandlats på kursen måste du även bevisa att den är korrekt.
Lösning. För insertion sort och bubble sort, se kapitel 14. För heap sort, se kapitel 16.
b. En algoritm för att hitta det största elementet i en lista L med heltal ges av följande:
1. Lägg det första elementet e1 i listan L i minnet.
i. Om det i:te talet i listan L, alltså ei , är större än det tal som för närvarande ligger i minnet,
så byts talet i minnet ut mot ei , annars ligger talet i minnet kvar.
Terminera när listan är slut. Det största talet i listan är det tal som ligger i minnet.
Hur många jämförelser genomförs av algoritmen för att hitta det största elementet i listan
ovan? Finns det någon lista med 12 tal där algoritmen klarar sig med färre jämförelser?
Lösning. Algoritmen som beskriven går alltid igenom alla tal i listan, så n − 1 jämförelser
genomförs. I fallet ovan görs alltså 11 jämförelser.
c. En sorteringsalgoritm baserad på delrutinen i uppgift b plockar allteftersom ut det största
elementet ei i en lista L, ersätter detta element i L med en symbol för −∞, som alltså är
mindre än allt annat, och sätter ei sist i den sorterade listan.
Hur många jämförelser kräver denna algoritm för att sortera en lista med n heltal? Svara
med O-notation.
Lösning. I varje steg genomförs n − 1 jämförelser, oavsett vad som står i listan. Listan har
längd n, så efter n + 1 vändor terminerar algoritmen (då är alla element −∞). Totalt görs
alltså (n − 1)(n + 1) = n2 − 1 jämförelser. Konstanten −1 spelar ingen roll för komplexiteten,
så algoritmen gör O(n2 ) jämförelser. Det blir ingen skillnad på O(n2 ) även om man är lite
smartare och terminerar efter n steg, då man ju vet att nästa genomsökning inte kommer att
hitta några fler element som är skilda från −∞.
14.
En partiell latinsk kvadrat P ges av
A
B
C
B
C
E
C
D
A
D
E
B
E
A
D
a. Betrakta den fjärde raden i P . Teckna den bipartita graf G som har bipartition B1 , B2 , där
B1 = {A, B, C, D, E} och B2 = {1, 2, 3, 4, 5}, och ett hörn X i B1 är granne med ett hörn
i ∈ B2 om och endast om symbolen X kan sättas in i rad fyra, kolumn i så att P fortfarande
är en partiell latinsk kvadrat.
Lösning. Hörn 1 är granne med D och E, hörn 2 är granne med A och D, och så vidare.
b. Finn en komplett matchning i G, och kommentera vad denna har för relevans för att komplettera P till en latinsk kvadrat.
Lösning. Det finns två möjliga kompletta matchningar: D − 1, A − 2, E − 3 C − 4, B − 5, eller
E − 1, D − 2, B − 3 A − 4, C − 5. För att finna någon av dessa kan man använda proceduren
i beviset för Sats 17.4. Relevansen för den latinska kvadraten ges av att en sådan matchning
beskriver hur rad 4 kan kompletteras.
c. Argumentera med hjälp av Halls villkor för att en partiell latinsk kvadrat som består av ett
antal hela rader alltid kan kompletteras till en latinsk kvadrat.
Lösning. Den bipartita graf som bildas som i uppgift a är alltid reguljär. Halls villkor är
alltid uppfyllt för reguljära bipartita grafer (se även uppgift 17.4.3 i Biggs).