ÖVNINGSTENTAMEN HF1002, 6H3120, 6H3117 Diskret Matematik Skrivtid 10:15-13:15 Torsdagen 20 maj 2010 Tentamen består av 4 sidor Hjälpmedel Den kurslitteratur som använts under kursen, samt egna anteckningar, programlistningar och böcker. Dock inga egna disketter eller CD-ROM. Tentamen består av 12 uppgifter. I katalogen W:\PROV\DM finns Kursbunten (pdf), Lathund i Maple (pdf) samt någon/några filer du kan komma att behöva för att lösa någon/några av uppgifterna. För varje uppgift med korrekt svar får du 2 poäng. Dessa poäng läggs till dina laborationspoäng. Du redovisar normalt svaret, i form av ett tal eller en lista med tal. Dessutom beskriver du (inte alltför detaljerat) hur du kommit fram till svaret Så här skulle betygsskalan sett ut om det varit en tentamen A B C D E 24-21 20-19 18-17 16-13 12-10 Håkan Strömberg 1 KTH STH
Uppgift 1 Bestäm n ( ) n ( 1) i (n+1 i) n i i=0 för n = 1...10 och uttryck resultatet som en formel med hjälp av n. Svar: n! f[n_:=sum[(-1)^ibinomial[n,i(n+1-i)^n,{i,0,n} Table[f[n,{n,1,10} Man bör nu känna igen dessa tal Uppgift 2 1,2,6,24,120,720,5040,40320,362880,3628800 Fyll i frågetecknen med uttryck i s och n så att likheten gäller ( ) n =? ( ) n 1 s? s 1 Svar: f[n_,s_:=binomial[n,s/binomial[n-1, s-1 Efter några exekveringar med slumpmässiga n > s ser man att svaret ska vara ( ) n = n ( ) n 1 s s s 1 Uppgift 3 Siffersumman hos talet 2739726 är 36. Så även för 2739726 n där n är ett heltal 1 n x. Bestäm den övre gränsen x i detta intervall. Lösning: Siffersumman är 36 för alla n = 1... 72 f[n_ := Block[{ok = True, tal = n, i = 1, s}, While[True, s = Total[IntegerDigits[tal; If[s == 36, i++; tal = i *n, Break[; ; i - 1 Håkan Strömberg 2 KTH STH
Uppgift 4 Ekvationen x 3 3x+1 = 0 har rötterna x 1,x 2 och x 3. Vilka rötter har då ekvationen Lösning: Genom 1 x x 1 + 1 x x 2 + 1 x x 3 = 0 r = Solve[x^3-3 x + 1 == 0 löser vi ekvationen. Rötterna, med komplicerade uttryck, hamnar i listan r. Vi kan så lösa den givna ekvationen genom r1 = r[[1, 1, 2; r2 = r[[2, 1, 2; r3 = r[[3, 1, 2; Solve[1/(x - r1) + 1/(x - r2) + 1/(x - r3) == 0 som ger rötterna x 1 = 1,x 2 = 1 Uppgift 5 Adam har ordnat sina stenkulor i tre högar. De två första högarna innehåller tillsammans 7 kulor mindre än den tredje. Sedan han flyttat över, från den andra till den tredje högen lika många kulor som den första högen innehåller, kommer den dubbla kvadraten på den andra högens antal att överskjuta produkten av första och tredje högens antal med 293. Hur många kulor fanns från början i varje hög? Lösning: Antag att det finns a,b,c kulor i första, andra respektive tredje högen. Vi får ett ekvationssystem av diofantiska ekvationer { a+b+7 = c 2(b a) 2 = a(c+a)+293 Reduce[{a+b+7 == c, 2(b-a)^2 == a(c+a)+293}, Integers (a == -65 && b == -162 && c == -220) (a == -3 && b == -16 && c == -12) (a == 5 && b == -8 && c == 4) (a == 51 && b == 130 && c == 188) (a == 95 && b == -2 && c == 100) (a == 577 && b == 1444 && c == 2028) Eftersom a,b 0 får vi två lösningar: (a = 51,b = 130,c = 188) och (a = 577,b = 1444,c = 2028) Håkan Strömberg 3 KTH STH
Uppgift 6 Betrakta meningen nedan, som i andra raden skrivits om genom att flytta sista bokstaven längst bak i varje ord 1. DISKRET MATEMATIK ÄR INTRESSANT 2. ISKRETD ATEMATIKM RÄ NTRESSANTI 3. SKRETDi TEMATIKMA ÄR TRESSANTIN På vilken rad kommer den ursprungliga meningen för första gången att dyka upp igen? Lösning: LCM[7, 9, 2, 10 På den 631:e raden Uppgift 7 lcm(7,9,2,10) = 630 Adam påstår att han är bra i diskret matematik. Han påstår att sannolikheten att han ska klara en given uppgift är p = 3 4. Bertil som tvivlar, satsar 100 kr på att han högst kommer att klara 8 uppgifter av 10 utvalda. Bestäm sannolikheten att Adam kommer att vinna de 100 kronorna. Lösning: Sum[Binomial[10,i(3/4)^i (1/4)^(10-i), {i,8,10} // N 10 p = i=8 ( 10 i )( 3 4 ) i ( ) 1 10 i 0.526 4 Håkan Strömberg 4 KTH STH
Uppgift 8 Bestäm n och r (med n så litet som möjligt) så att ( ) ( ) ( ) 13 13 13 +2 + 5 6 7 = ( ) n r Lösning: Det vänstra ledet har summan 6435. Genom denna lilla snutt Binomial[13, 5 + 2 Binomial[13, 6 + Binomial[13, 7 6435 For[i = 1, i <= 30, i++, For[j = 1, j <= i, j++, If[Binomial[i, j == 6435, Print[{i, j} {15,7},{15,8} får vi svaret ( 15 7) eller ( 15 8). Uppgift 9 Ur mängden M = {1,2,3,4,5} kan vi bilda 2 5 delmängder, allt från φ till M. Delmängderna φ, {4}, {2,5} och {1,3,5} innehåller inga konsekutiva (på varandra följande heltal). Ta reda på hur många sådana delmängder det finns för M = {1,2,...,n}. Beräkna antalet för olika värden på n och försök sammanfatta dina resultat med ett känt uttryck. Lösning: För n = 1,2...16 får vi 2,3,5,8,13,21,34,55,89,144,233,377,610,987,1597,2584 vilket torde räcka för att hitta att resultatet är F n+2. f[n_ := Block[{L, M, i, j, k, t, ok, antal = 0}, L := Range[n; For[j = 0, j <= Ceiling[n/2, j++, M = KSubsets[L, j; For[k = 1, k <= Length[M, k++, t = M[[k; ok = True; For[i = 1, i < Length[t, i++, If[t[[i + 1 == t[[i + 1, ok = False; Break[; ; If[ok, antal++; ; antal Håkan Strömberg 5 KTH STH
Uppgift 10 Figur 1: Adam, som bor i A, står inför en resa. Han ska besöka samtliga platser, på kartan i figur 1 markerade B,C,...J. och återvända hem igen. Hans mål är att göra det så billigt som möjligt. I tabellen nedan anges biljettkostnaderna mellan de platser som har flygförbindelse. De som saknar förbindelse har priset markerats med 0 kr. A B C D E F G H I J A 0 1424 0 2955 0 2318 1513 0 776 2341 B 1424 0 1188 2098 1748 2078 0 1679 0 0 C 0 1188 0 1168 1220 0 0 1978 1676 0 D 2955 2098 1168 0 676 1156 0 0 0 0 E 0 1748 1220 676 0 591 0 0 0 0 F 2318 2078 0 1156 591 0 1372 944 1837 723 G 1513 0 0 0 0 1372 0 630 0 992 H 0 1679 1978 0 0 944 630 0 1153 947 I 776 0 1676 0 0 1837 0 1153 0 0 J 2341 0 0 0 0 723 992 947 0 0 Bestäm Adams billigaste resrutt. Till ditt förfogande finns grafen i lämpligt format på filen karta2.txt Håkan Strömberg 6 KTH STH
Lösning: e={{1,2},{1,4},{1,6},{1,7},{1,9},{1,10},{2,3},{2,4},{2,5}, {2,6},{2,8},{3,4},{3,5},{3,8},{3,9},{4,5},{4,6},{5,6}, {6,7},{6,8},{6,9},{6,10},{7,8},{7,10},{8,9},{8,10}}; v={1424,2955,2318,1513,776,2341,1188,2098,1748, 2078,1679,1168,1220,1978,1676,676,1156,591, 1372,944,1837,723,630,992,1153,947}; g = FromOrderedPairs[e, Type -> Undirected g = SetEdgeWeights[g, v p = TravelingSalesman[g {1,2,3,4,5,6,10,7,8,9,1} CostOfPath[g, p 9321 Han kommer undan med 9321 och rutten ser ut så här (1,2,3,4,5,6,10,7,8,9,1), alltså A,B,C,D,E,F,J,G,H,I,A eller i andra riktningen Uppgift 11 En av vägverkets sandbilar är ute för att sanda kommunens vägar, se figur 1. Är det möjligt att starta i en stad och och färdas utefter samtliga vägar exakt en gång? Om inte, hur många nya vägar behöver man bygga för att det ska vara möjligt då man inte behöver börja och sluta på samma plats? Hur många nya vägar behöver man bygga för att kunna börja och sluta på samma plats? Ange de nya vägarna genom par (plats,plats). Till ditt förfogande finns grafen i lämpligt format på filen karta1.txt Lösning: Om man startar i C finns eulersk path som slutar i D (och tvärt om). För att kunna sluta i samma stad som man börjar måste man bygga två vägar så att gradtalet hos C och D båda blir jämna. Eftersom det redan finns en väg mellan C och D får man bygga vägarna via en tredje stad vilken som helst. Håkan Strömberg 7 KTH STH
Uppgift 12 Vi har 2n apelsiner, 2n bananer och 2n citroner som vi ska fördela mellan två personer, så att de får 3n frukter var. Inom varje sort är frukterna identiska. På hur många sätt kan fördelningen ske? Svaret kan ges som ett polynom p(n) = x n 2 + y n + z där du ska bestämma x,y och z. Lösning: Genom funktionen f[n får vi reda på hur många olika fördelningar det finns. Genom Fit hittar vi så ett andragradspolynom f[n_:=block[{t,s,antal}, t=flatten[table[{a,b,c},{a,0,2n},{b,0,2n},{c,0,2n},2; s=map[total,t; antal=length[select[s,3n==#&; antal data=table[f[i,{i,1,10} {7, 19, 37, 61, 91, 127, 169, 217, 271, 331} Fit[data,{1,x,x^2,x^3},x 1.+3.x+3.x^2+6.56714*10^-16 x^3 Svar: p(n) = 3n 2 +3n+1 Håkan Strömberg 8 KTH STH