Dagens Teori. Figur 12.1:

Storlek: px
Starta visningen från sidan:

Download "Dagens Teori. Figur 12.1:"

Transkript

1 Dagens Teori 12.1 Grafer Del II Grafer i Mathematica Definition Genom paketen Combinatorica och GraphUtilities får vi tillgång till en mängd rutiner och fördefinierade grafer för lösandet av problem i grafteorin. En Graph definierad i Combinatorica är en struktur vi först ska titta närmare på. Vi startar med att skapa en slumpmässig graf med 5 moder. Sannolikheten att en bestämd båge mellan två noder ska finnas med är 0.5. m = RandomGraph[5, 0.5 ShowGraph[m Resultatet ser vi i figur 12.1 Figur 12.1: m[[1 {{{1,2}},{{1,3}},{{1,4}},{{2,4}},{{3,4}},{{1,5}},{{2,5}}} m[[2 {{{ , }},{{ , }},{{ , }} {{ , }},{{1.,0}}} m[[1 ger en lista över bågarna och m[[2 en lista över de fem noderna med framslumpade koordinater. Genom följande satser kan vi tilldela grafen m olika egenskaper Håkan Strömberg 1 KTH STH

2 12.1. GRAFER DEL II m = SetEdgeWeights[m, 10*Range[Length[m[[1 m = SetEdgeLabels[m, GetEdgeWeights[m m = SetVertexWeights[m, 100*Range[5 m = SetVertexLabels[m, {"A", "B", "C", "D", "E"} ShowGraph[m, EdgeLabel -> True, VertexLabel -> True Varje båge får en vikt, här 10,20,...70 Varje båge får en etikett som här överensstämmer med vikten Varje nod får en vikt, här 100,200,...,500 Varje nod får en etikett, här A,B,C,D,E När vi nu plottar grafen får vi Figur 12.2: Efter dessa tilldelningar har m följande innehåll: m[[1 {{{1, 2}, EdgeWeight->10, EdgeLabel->10}, {{1, 3}, EdgeWeight->20, EdgeLabel->20}, {{1, 4}, EdgeWeight->30, EdgeLabel->30}, {{2, 4}, EdgeWeight->40, EdgeLabel->40}, {{3, 4}, EdgeWeight->50, EdgeLabel->50}, {{1, 5}, EdgeWeight->60, EdgeLabel->60}, {{2, 5}, EdgeWeight->70, EdgeLabel->70}} m[[2 {{{ , },VertexWeight->100,VertexLabel->"A"}, {{ , },VertexWeight->200,VertexLabel->"B"}, {{ , },VertexWeight->300,VertexLabel->"C"}, {{ , },VertexWeight->400,VertexLabel->"D"}, {{1., 0}, VertexWeight->500,VertexLabel->"E"}} Med hjälp av s = RandomGraph[8, 0.5, Type->Directed UndirectedQ[s False kan vi se till att vi får en riktad graf. Med denna introduktion har vi nu en uppfattning om de data en graf kan innehålla. Håkan Strömberg 2 KTH STH

3 Fördefinierade grafer I Mathematica, finns en mängd fördefinierade grafer. Genom kommandot GraphData[ Classes får man en lista över de olika klasserna av grafer som finns i databasen. Väljer vi till exempel Paulus och skriver GraphData[ Paulus får vi en lista över de 25 graferna som i denna klass. Vill vi se till exempel Paulus {25,1} skriver man GraphData[{ Paulus, {25,1}} Figur 12.3: Graferna kan kombineras med en mängd olika egenskaper och data. De olika egenskaperna listas genom GraphData[ Properties. Genom g = GraphData[{ Paulus, {25, 1}}, VertexCount 25 g = GraphData[{ Paulus, {25, 1}}, EdgeCount 150 Vi får reda på att grafen har 25 noder och 150 bågar. Googlar vi på Paulus Graph får vi reda på att denna graf med 25 noder är en strongly regular graf. En graf där varje nod har 12 grannar. Varje grannpar har 5 gemensamma grannar och alla par av noder som inte är grannar har 6 gemensamma grannar. Så när vi skriver GraphData[{ Paulus, {25, 1}}, StronglyRegular True får vi det förväntade svaret. Eulersk graf En eulersk graf är en graf G som har en krets som går genom varje båge i grafen exakt en gång. En graf kan också ha en väg som går genom varje båge i grafen exakt en gång utan att för den skull behöva börja och sluta i samma nod. Till vänster i figur 12.5 ser vi en graf som varken har en eulersk krets eller eulersk väg. Grafen mitt i figuren har en eulersk väg men inte krets. Grafen till höger har en eulersk krets och därmed en eulersk väg. Håkan Strömberg 3 KTH STH

4 12.1. GRAFER DEL II Figur 12.4: Det var så den började grafteorin med sju broar i Königsberg Är det möjligt att gå över de sju broarna utan att gå över samma bro mer än en gång. Du får starta var du vill! Figur 12.5: Skriver vi Length[GraphData[All får vi reda på att det finns 3203 grafer i databasen. Genom b = GraphData[All, "Eulerian"; Count[b, True får vi reda på att 1449 är eulerska. Följande måste gälla för att en graf ska ha en eulerväg eller eulerkrets: En graf har en eulerkrets om och endast om grafen är sammanhängande och alla noder har jämnt gradtal. En graf har en eulerväg om och endast om grafen är sammanhängande och högst två noder har udda grad. Med denna kunskap ser vi direkt resultatet i figur Om vi slumpar fram grafer med givna data, kan vi ta reda på hur många av dem som eulerska n = 0; For[i = 1, i <= 1000, i++, g = RandomGraph[7, 0.4; If[EulerianQ[g, n++ n Håkan Strömberg 4 KTH STH

5 Endast 11 av 1000 framslumpade grafer hade denna egenskap. Byter vi ut 0.4 mot 1 ovan kommer alla grafer att vara eulerska. Men skriver vi RandomGraph[6, 1 kommer inte en enda en att vara eulersk. Vad beror det på? Hamiltonisk graf En graf sägs vara hamiltonisk om den har en krets som går genom varje nod i grafen exakt en gång. En graf kan också ha en hamiltonisk väg. En väg som går genom samtliga noder exakt en gång, men inte behöver sluta i den nod den börjar. Hur många av graferna i databasen är hamiltoniska? b = GraphData[All, "Hamiltonian"; Count[b, True 4448, visar det sig. Men är det verkligen vanligare med hamiltoniska grafer än eulerska. Vi gör ett nytt slumpförsök f[n_:=block[{he=0, nenh=0, neh=0, enh=0, i, ok, g, s1, s2}, For[i = 1, i <= n, i++, ok = False; While[! ok, g = RandomGraph[7, 0.5; ok = ConnectedQ[g; ; s1 = EulerianQ[g; s2 = HamiltonianQ[g; If[s1 && s2, he++, If[! s1 &&! s2, nenh++, If[! s1 && s2, neh++, If[s1 &&! s2, enh++ ; {he, nenh, neh, enh} Simuleringen ger 9 som är både och, 522 som är varken eller, 462 som inte är eulerska men hamiltoniska och 7 stycken som är eulerska men inte hamiltoniska. Om det inte räcker med att veta att en graf är hamiltonisk kan man få en av lösningarna utritad som i figur 12.6, med hjälp av denna sekvens. Håkan Strömberg 5 KTH STH

6 12.1. GRAFER DEL II b = HamiltonianCycle[g {1, 2, 6, 4, 3, 7, 5, 1} b1 = Partition[b, 2, 1 {{1,2}, {2,6}, {6,4}, {4,3}, {3,7}, {7,5}, {5,1}} ShowGraph[Highlight[g,{b1},HighlightedEdgeColors->{Blue} Lägg märke till hur Partition fungerar här Figur 12.6: Graffärgning Figur 12.7: Fyra färger har använts till vänster, men det räcker med tre som till höger Att färga en graf innebär i första hand att ge noderna färger så att inga intilliggande noder får samma färg. Detta är genomfört i Men skulle det gå att använda färre färger? Vi frågar Mathematica g = FromOrderedPairs[{{1,2},{2,3},{3,4},{4,5},{5,6},{6,7},{7,1}, {3,5},{8,1},{8,2},{8,3},{8,6},{8,7}} ChromaticNumber[g 3 MinimumVertexColoring[g {1, 2, 1, 2, 2, 1, 3} Vi startar med att ge datorn en lista över bågarna och skapar grafen grafen g. Med ChromaticNumber får vi reda på det minsta antalet färger som behövs. Det visar sig att det räcker med tre färger. g har det kromatiska talet, χ(g) = 3. Vi kan dessutom ta reda på vilka noder som ska ha samma färg. Genom MinimumVertexColoring får vi förslag till hur noderna kan målas. Som vi ser finns det flera lösningar. Håkan Strömberg 6 KTH STH

7 Nedan ser Du en karta, med åtföljande graf. Ser du analogin? Varje nod motsvarar ett land och vare båge en gräns. Figur 12.8: Ett mycket välkänt problem: Hur många färger behövs det minst för att måla länderna på en karta, så att två länder som gränsar till varandra inte får samma färg? Motsvarande graf är alltid plan, kan ritas utan korsande bågar. Detta är ett 150 år gammalt problem. Det bevisades på 1970-talet att det alltid räcker med fyra färger. Detta var det första bevis som godtagits, där en dator använts. Man kan även tala om färgning av bågar, så att två bågar förbundna med samma nod får skilda färger. Kortaste avståndet Figur 12.9: För att bestämma kortaste vägen mellan två noder är Dijkstras algorithm ett lämpligt val. Med grafen vi ser i figur 12.9 vill vi ta reda på kortaste vägen mellan 5 och 15. ShortestPath[u, 5, 15 tab = AllPairsShortestPath[u; tab[[5, får vi resvägen Med hjälp av AllPairsShortestPath får man en matris där tab[[5,15 ger den efterlängtade sträckan, som verkar stämma när vi summerar = Håkan Strömberg 7 KTH STH

8 12.1. GRAFER DEL II Genom kommandot Diameter får vi reda på det längsta kortaste avståndet, här Tyvärr får vi inte reda på mellan vilka noder detta avstånd uppmätts. For[i = 1, i <= 23, i++, For[j = i + 1, j <= 24, j++, If[tab[[i, j == 1835, Print[i, " ", j Vi får att det längsta kortaste avståndet är mellan 1 och 22. Handelsresandeproblemet Detta är ett klassiskt problem, som har en mängd forskning bakom sig. En handelsresande ska besöka var och en av n städer och sedan återvända hem. Samtliga städer är förbundna med flyglinjer. Biljettkostnaderna varierar. Problemet består i att finna den billigaste rundturen. Här följer Mathematica-koden för ett exempel. Tabellen nedan skulle kunna vara en avståndsmatris, men är här en prismatris, där aktuellt tal anger biljettkostnaden i 100- tals kronor mellan ett par av städer TravelingSalesman[g {1, 5, 7, 3, 4, 8, 2, 6, 1} CostOfPath[g, {1, 5, 7, 3, 4, 8, 2, 6, 1} 237 g är en komplett graf med 8 noder (städer). Att den är komplett innebär att grafen har 28 bågar (flyglinjer). Med funktionen TravelingSalesman bestäms den lägsta totalkostnaden. Listan anger den ordning i vilka städerna ska besökas. Resultatet får vi = 237. Uppspännande träd Vi har en oriktad, viktad graf G, där vi vill ta bort så många bågar som möjligt, men behålla grafen sammanhängande. Den totala vikten hos de bågar som återstår vill vi minimera. När vi funnit detta minimum har vi funnit det minsta uppspännande trädet. Håkan Strömberg 8 KTH STH

9 Det finns en algoritm, ganska enkel att implementera som ett program: Välj en nod A, vilken som helst. Sök reda på den nod B, som ligger närmast A (lägsta vikten). Förbind A och B med en båge. Sök upp den nod C, som ligger närmast någon av noderna A och B. Förbind C med en båge till närmaste nod, A eller B. Nu består vägnätet av tre noder och två bågar. Nästa nod som ska förbindas är den som ligger närmast någon av de tre noderna A, B eller C. Fortsätt denna procedur tills alla noder är anslutna. Här några rader över hur man utför det hela i Mathematica g = RandomGraph[12, 0.4 ShowGraph[g g = SetEdgeWeights[h, WeightingFunction -> Euclidean h = MinimumSpanningTree[g ShowGraph[h Till vänster ser vi den viktade grafen och till höger det träd som ger det minsta summan av vikterna Plan graf Figur 12.10: Håkan Strömberg 9 KTH STH

10 12.1. GRAFER DEL II Ett klassiskt problem i figur 12.10: Kan man dra ledningar från gasverket (G), elverket (E) och vattenverket (V) till vart och ett av de tre husen utan att någon av de nio ledningarna korsar någon annan? Om man lyckas med det har man konstruerat en plan graf, det vill säga en graf där inga noder skär varandra. Det visar sig omöjligt i vårt exempel. Vi testar det med Mathematica: g=fromorderedpairs[{{1,4},{1,5},{1,6},{2,4},{2,5}, {2,6},{3,4},{3,5},{3,6}} PlanarQ[g False Laboration Laborationsuppgift 1. (2) Bestäm en formel som bestämmer summan av den aritmetiska serien som bestäms av a, b och c på följande sätt a+(a+b)+(a+2b)+(a+3b)+...+(a+(c 1)b)+(a+cb) Använd sedan formeln till att bestämma följande summor a b c Laborationsuppgift 2. (2) Konstruera en graf som är en eulergraf men inte en hamiltongraf. Laborationsuppgift 3. (2) Bestäm det minimala uppspännade trädet till grafen i figur Figur 12.11: Håkan Strömberg 10 KTH STH

11 Laborationsuppgift 4. (2) Hur många färger behövs det för att färglägga Sydamerika, så att inga intilliggande länder från samma färg? Figur 12.12: Laborationsuppgift 5. (2) Skriv en funktion i Mathematica som tar emot en graf G producerar en tabell över alla kortaste avstånden i grafen. Testa din funktion genom att generera en viktad slumpgraf med cirka 10 noder. Laborationsuppgift 6. (2) Använd GraphPlot och GraphPlot3D för att ta reda på vad grafen i filen Graf1Ma.txt föreställer. Håkan Strömberg 11 KTH STH

12 12.1. GRAFER DEL II Teoriuppgifter Till uppgifterna finns grafer.zip i vilken Du hittar filer som beskriver graferna. Använd cut and paste för att föra över dem till Mathematica Figur 12.13: Problem 1 Adam har haft sommarjobb som brevbärare på det distrikt som kartan visar. Mot slutet av sommaren hittade han en rutt som gjorde att han inte behövde besöka någon av de 17 postlådorna mer än en gång. Postkontoret ligger i huset märkt nummer 1 dit han också återvänder efter dagens arbete. Alla möjliga vägar är utritade. Ange en följd av nummer som startar och slutar med 1 och som innehåller numren på postlådorna i den ordning han besökte dem. För att underlätta arbetet finns en beskrivning av kartan i filen uppgift1.txt för cut and paste. Svar: Problemet handlar förstås om en hamiltonsk krets, som vi får fram genom följande kod: e={{2,3},{1,2},{1,7},{2,12},{5,11},{6,18},{6,11}, {7,8},{8,14},{8,13},{9,16},{9,15},{10,11},{10,16}, {11,17},{13,18},{14,15},{14,18},{15,17},{6,12},{2,8}, {3,4},{3,7},{3,9},{3,8},{4,5},{4,10},{9,14},{2,7}, {4,11},{9,10}}; g = FromOrderedPairs[e, Type -> Undirected HamiltonianQ[g HamiltonianCycle[g, All {{1,2,12,6,18,13,8,14,15,17,11,5,4,10,16,9,3,7,1}, {1,7,3,9,16,10,4,5,11,17,15,14,8,13,18,6,12,2,1}} Självklart finns två lösningar. Håkan Strömberg 12 KTH STH

13 Figur 12.14: Observera att de tre vägkorsningarna ligger i olika plan och att man till exempel inte kan resa direkt från 2 till 7 eller från 14 till 19 Problem 2 Adam, som bor i 1, ska företa en resa där han ska besöka varje stad precis en gång och därefter återvända till hemstaden. Ta reda på hur resan går från stad till stad. På filen uppgift2.txt finns grafen i figuren översatt till en mängd av bågar. Svar: Åter ett problem som syftar till att hitta en hamiltonsk krets. e={{1,2},{2,3},{3,4},{4,5},{1,6},{2,12},{4,9}, {5,10},{6,7},{7,8},{8,9},{9,10},{6,11},{7,13}, {8,19},{9,14},{10,15},{11,12},{12,13},{13,14}, {14,15},{11,16},{13,18},{15,21},{16,17},{17,18}, {18,19},{19,20},{20,21},{16,22},{17,28},{18,23}, {20,25},{21,26},{22,23},{23,24},{25,26},{22,27}, {23,29},{24,30},{26,31},{27,28},{28,29},{29,30}, {30,31}}; g = FromOrderedPairs[e, Type -> Undirected; HamiltonianQ[g HamiltonianCycle[g, Allend{verbatim} {{1,2,3,4,5,10,9,14,15,21,20,25,26,31,30,24,23,29, 28,27,22,16,17,18,19,8,7,13,12,11,6,1}, {1,6,11,12,13,7,8,19,18,17,16,22,27,28,29,23,24, 30,31,26,25,20,21,15,14,9,10,5,4,3,2,1}} Även detta problem har endast två lösningar, eller en om man så vill. Håkan Strömberg 13 KTH STH

14 12.1. GRAFER DEL II Problem 3 A B C D E F G H A B C D E F G 16 H Adam, som bor i A, har tänkt besöka städerna B,C,D,E,F,G och H. Han kan välja att besöka dem i vilken ordning som helst och sedan återvända hem till A. I tabellen ovan anges avståndet i mil mellan alla par av städer. Bestäm i vilken ordning han ska besöka städerna för att minimera resvägen och hur lång den blir. (På filen uppgift3.txt finns data som genom cut and paste kan underlätta lösandet av problemet) Svar: Vi får Adams kortaste tripp genom att lösa problemet med TravelingSalesman. g=completegraph[8 v1={12,55,43,38,6,21,36,42,52,47,16,34,47,80, 76,59,75,85,5,48,32,21,43,27,19,21,37,16}; g=setedgeweights[g,v1 p=travelingsalesman[g {1,2,3,5,4,8,7,6,1} CostOfPath[g,p 199 Han startar och slutar i 1 och besöker städerna i ordning {1,2,3,5,4,8,7,6,1}. Totalt har resan en längd av 199 mil. Håkan Strömberg 14 KTH STH

15 Figur 12.15: Problem 4 7 jobbsökande söker lika många lediga jobb A...G. Bågarna visar vilka jobb de sökande är kvalificerade för. Finns det möjlighet att tillsätta jobben så att alla blir anställda? I så fall vilka jobb kommer de sökande att få? Filen som beskriver grafen heter uppgift4.txt Svar: e={{1,8},{1,10},{2,8},{2,11},{3,8},{4,10},{4,13}, {5,8},{5,9},{6,9},{6,11},{6,12},{6,13},{7,12}, {7,13},{7,14}}; g=fromorderedpairs[e,type->undirected; BipartiteMatching[g {{1,10},{2,11},{3,8},{4,13},{5,9},{6,12},{7,14}} Alla 7 jobbsökande kan tilldelas ett jobb. Det finns bara en lösning. Man klarar sig förresten utan programvara. Om alla ska ha jobb måste 3 A. leder till 1 C och då 4 F. 5 B och 7 G. 2 D och därmed 6 E. Håkan Strömberg 15 KTH STH

16 12.1. GRAFER DEL II Problem 5 Genom Förbifart Stockholm har anlagts en väg, som en cirkel runt staden, se figur, för att på det sättet avlasta trafiken i innerstaden (1). Mellan två intilliggande trafikplatser ( ) och mellan vissa trafikplatser och innerstaden finns beräknad körtid angiven. Trots det tjänar man ibland att ta vägen genom staden. Ta reda på för vilka par av trafikplatser (angivna som [tp 1,tp 2 ) man vinner tid, om man åker genom innerstaden. Grafen finns att på filen uppgift5.txt. Svar: f[:=block[{i,j,e,v,g,p,t,l={}}, e={{1,2},{1,4},{1,6},{1,8},{1,9},{2,3},{2,10}, {3,4},{4,5},{5,6},{6,7},{7,8},{8,9},{9,10}}; v={180,165,146,116,174,110,64,106,138,88,78,110,97,72}; g=fromorderedpairs[e,type->undirected; g=setedgeweights[g,v; t=allpairsshortestpath[g; For[i=2,i<=8,i++, For[j=i+1,j<=9,j++, p=shortestpath[g,i,j; If[Position[p,1!={}, AppendTo[l,{i,j,t[[i,j} ; l f[ Vi får genom funktionen reda på att mellan (2,6),(4,8) och (4,9) bör färden gå genom innerstaden. Håkan Strömberg 16 KTH STH

17 Figur 12.16: Problem 6 Figur visar en karta över ett område med 21 kolonistugor. På kartan är inritade de gångstigar som finns idag. Man önskar nu bredda en del av stigarna så att de blir framkomliga med bil. Målet är att man, med bil, ska kunna ta sig från viken stuga som helst till vilken annan som helst. Man vill dock minimera den totala sträckan av stigar som ska byggas om. Ta, med hjälp av den information om grafen, som finns på filen uppgift6.txt reda på det eftersökta sträckan. Svar: Figur 12.17: Tyvärr kommer inte grafen att se ut så här när vi plottar den från Mathematica e={{1,2},{1,5},{1,6},{1,9},{1,10},{2,6},{3,4},{3,15}, {3,19},{3,20},{4,6},{4,7},{4,15},{5,6},{5,7},{5,8}, {5,9},{6,7},{7,8},{7,14},{7,15},{7,18},{8,9},{8,10}, {8,13},{8,14},{9,10},{10,13},{11,12},{11,13},{11,17}, {12,13},{12,14},{12,17},{12,18},{14,18},{15,18}, {15,19},{16,17},{16,18},{16,19},{16,21},{17,18}, {19,20},{19,21},{20,21}}; v={1099,962,1085,1003,1641,494,748,1225,1044,667,661,679, 683,555,709,1039,547,900,919,506,628,682,759,800,488, 646,837,880,916,819,1014,896,506,945,610,533,456,846, 995,837,1186,489,1268,698,1006,1678}; g=fromorderedpairs[e,type->undirected; g=setedgeweights[g,v; h=minimumspanningtree[g Apply[Plus,GetEdgeWeights[g,Edges[h Den eftersökta sträckan är meter. Att grafen h inte kommer att se ut som vi förväntar oss, beror på att nodernas koordinater är slumpmässiga. Håkan Strömberg 17 KTH STH

18 12.1. GRAFER DEL II Figur 12.18: Problem 7 Adam och Bertil är på cykelsemester. De har bestämt sig för att besöka de de 23 platserna på kartan, i figur 12.18, men ingen av platserna ska besökas fler än än gång, utom plats 1, där de befinner sig just nu och där resan ska starta och sluta. Nu finns det flera möjliga rundturer som uppfyller villkoren och herrarna är därför intresserade av den kortaste. På filen uppgift7.txt finns en graf definierad, som motsvarar kartan. Hur lång är den kortaste rundturen? Svar: g = Graph[{{{1, 2},EdgeWeight->9740},{{1,20},EdgeWeight->31950}, {{1, 12},EdgeWeight->14280},{{1, 13},EdgeWeight->17790}, {{1, 7},EdgeWeight->11220},{{2, 7},EdgeWeight->6680}, {{2, 3}, EdgeWeight->7240},{{2, 9},EdgeWeight->9310}, {{2, 5}, EdgeWeight->19530},{{3, 13}, EdgeWeight->8180}, {{3, 14}, EdgeWeight -> 11610}, {{3, 8},EdgeWeight->5250}, {{4, 5},EdgeWeight ->7450},{{4, 16},EdgeWeight->11260}, {{4, 10},EdgeWeight->6880},{{4, 8},EdgeWeight->8860}, {{5, 9},EdgeWeight->12560},{{5, 11},EdgeWeight->8590}, {{5, 16},EdgeWeight->13860},{{6, 12},EdgeWeight->4420}, {{27, 13},EdgeWeight->7590},{{8, 9},EdgeWeight->5380}, {{8, 15},EdgeWeight->9020},{{8, 14},EdgeWeight->8480}, {{10, 15},EdgeWeight->6350},{{10, 23},EdgeWeight->19150}, {{10, 19},EdgeWeight->5050},{{11, 16},EdgeWeight->6520}, {{6, 20},EdgeWeight->20230},{{16, 23},EdgeWeight->16840}, {{16, 19},EdgeWeight->4680},{{13, 17},EdgeWeight->9430}, {{14, 15},EdgeWeight->7220},{{14, 18},EdgeWeight->5680}, {{14, 17},EdgeWeight->7080},{{15, 23},EdgeWeight->15350}, {{15, 22},EdgeWeight->9250},{{20, 21},EdgeWeight->10640}, {{20, 23},EdgeWeight->30260},{{17, 21},EdgeWeight->5100}, {{21, 22},EdgeWeight->11090},{{22, 23},EdgeWeight->9380}, {{18, 22},EdgeWeight->7870},{{6, 17},EdgeWeight->14440}}, {{{ , }}, {{ , }}, {{ , }}, {{ , }}, {{ , }}, {{ , }}, {{ , }}, {{ , }}, {{ , }}, {{ , }}, {{ , }}, {{ , }}, Håkan Strömberg 18 KTH STH

19 {{ , }}, {{ , }}, {{ , }}, {{ , }}, {{ , }}, {{ , }}, {{ , }}, {{ , }}, {{ , }}, {{ , }}, {{ , }} } c = HamiltonianCycle[g, All Length[c Min[Map[CostOfPath[g, # &, c Det finns 38 hamiltonska kretsar, där den kortaste är mil Håkan Strömberg 19 KTH STH

20 12.1. GRAFER DEL II A B C D Problem 8 De fyra graferna i figuren är egentligen två par av identiska grafer, de är isomorfa. Para ihop dem! Här får du inga filer utan får bygga upp de fyra graferna för hand. Svar: Genom koden nedan får vi reda på att A och D respektive B och C är isomorfa, eftersom utskriften blir i tur och ordning: False,False,True,True,False,False a=fromorderedpairs[{{1,2},{1,3},{2,3},{1,5},{3,5},{4,5}, {2,6},{3,6},{4,6},{5,6}},Type->Undirected; b=fromorderedpairs[{{1,2},{2,3},{2,4},{1,5},{3,5},{4,5}, {1,6},{2,6},{3,6},{5,6}},Type->Undirected; c=fromorderedpairs[{{1,3},{2,3},{1,4},{2,4},{3,5},{4,5}, {2,6},{3,6},{4,6},{5,6}},Type->Undirected; d=fromorderedpairs[{{1,3},{1,4},{2,4},{3,4},{1,5},{3,5}, {1,6},{2,6},{4,6},{5,6}},Type->Undirected; IsomorphicQ[a,b IsomorphicQ[a,c IsomorphicQ[a,d IsomorphicQ[b,c IsomorphicQ[b,d IsomorphicQ[c,d Utskriften blir i tur och ordning: False,False,True,True,False,False Håkan Strömberg 20 KTH STH

21 Figur 12.19: Problem 9 Figur visar kartan över en djurpark. De gula cirklarna visar var man kan se djur och de svarta strecken markerar vägar. Man är nu intresserad av att ordna en guidad tur genom samtliga 10 platser i parken, där man kan starta var som helst och återvända till denna plats utan att behöva besöka samma plats fler än en gång. Man kan inte åstadkomma detta utan att lägga till en väg. Vägen ska vara rak och får inte korsa någon annan väg. Vilka är de två möjligheterna? Grafen finns på filen uppgift9.txt Svar: g=graph[{{{1,6}},{{1,7}},{{4,8}},{{8,10}},{{4,7}},{{4,6}}, {{5,9}},{{5,10}},{{4,10}},{{3,4}},{{3,9}},{{3,10}}, {{2,6}},{{2,9}},{{2,10}},{{9,10}},{{6,9}}}, {{{ , }},{{ , }}, {{-1.25, }},{{ , }}, {{ , }},{{ , }}, {{ , }},{{ , }}, {{ , }},{{ , }}} lista = {}; For[i = 1, i <= 10, i++, For[j = i + 1, j <= 10, j++, b = g[[1; b = AppendTo[b, {{i, j}}; h = Graph[b, g[[2; If[HamiltonianQ[h, lista = AppendTo[lista, {i, j} ; lista Vi får följande förslag till vägbyggen {2,3}, {2,5}, {2,8}, {3,5}, {3,7}, {3,8}, {5,7}, {5,8}, {7,8} Från kartan ser vi så att endast vägar mellan 3 och 5 samt mellan 3 och 8 fungerar Håkan Strömberg 21 KTH STH

ÖVNINGSTENTAMEN. HF1002, 6H3120, 6H3117 Diskret Matematik. Skrivtid 10:15-13:15. Torsdagen 20 maj Tentamen består av 4 sidor.

ÖVNINGSTENTAMEN. HF1002, 6H3120, 6H3117 Diskret Matematik. Skrivtid 10:15-13:15. Torsdagen 20 maj Tentamen består av 4 sidor. Ö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,

Läs mer

Kaliningrad) låg vid bägge sidor av floden Pregel samt på

Kaliningrad) låg vid bägge sidor av floden Pregel samt på Grunder i matematik och logik (2018) Grafteori Marco Kuhlmann Grafteori är det område inom matematiken som undersöker egenskaper hos grafer. Inom grafteorin har begreppet graf en annan betydelse än graf

Läs mer

TENTAMEN. HF1002, 6H3120, 6H3117 Diskret Matematik. Skrivtid 13:15-18:00. Fredag 28 maj Tentamen består av 4 sidor.

TENTAMEN. HF1002, 6H3120, 6H3117 Diskret Matematik. Skrivtid 13:15-18:00. Fredag 28 maj Tentamen består av 4 sidor. TENTAMEN HF1002, 6H3120, 6H3117 Diskret Matematik Skrivtid 13:15-18:00 Fredag 28 maj 2010 Tentamen består av 4 sidor Hjälpmedel Den kurslitteratur som använts under kursen, samt egna anteckningar, programlistningar

Läs mer

TENTAMEN. HF1002, 6H3120, 6H3117 Diskret Matematik. Skrivtid 13:15-17:15. Måndag 19 december Tentamen består av 5 sidor.

TENTAMEN. HF1002, 6H3120, 6H3117 Diskret Matematik. Skrivtid 13:15-17:15. Måndag 19 december Tentamen består av 5 sidor. TENTAMEN HF1002, 6H3120, 6H3117 Diskret Matematik Skrivtid 13:15-17:15 Måndag 19 december 2011 Tentamen består av 5 sidor Hjälpmedel Den kurslitteratur som använts under kursen, samt egna anteckningar,

Läs mer

TENTAMEN. HF1002, 6H3120, 6H3117 Diskret Matematik. Skrivtid 13:15-18:15. Torsdagen 7 juni Tentamen består av 5 sidor.

TENTAMEN. HF1002, 6H3120, 6H3117 Diskret Matematik. Skrivtid 13:15-18:15. Torsdagen 7 juni Tentamen består av 5 sidor. TENTAMEN HF00, 6H0, 6H7 Diskret Matematik Skrivtid :5-8:5 Torsdagen 7 juni 0 Tentamen består av 5 sidor Hjälpmedel Den kurslitteratur som använts under kursen, samt egna anteckningar, programlistningar

Läs mer

TENTAMEN. HF1002, 6H3120, 6H3117 Diskret Matematik. Skrivtid 8:15-13:15. Måndag 8 juni Tentamen består av 4 sidor.

TENTAMEN. HF1002, 6H3120, 6H3117 Diskret Matematik. Skrivtid 8:15-13:15. Måndag 8 juni Tentamen består av 4 sidor. TENTAMEN HF1002, 6H3120, 6H3117 Diskret Matematik Skrivtid 8:15-13:15 Måndag 8 juni 2009 Tentamen består av 4 sidor Hjälpmedel Den kurslitteratur som använts under kursen, samt egna anteckningar, programlistningar

Läs mer

Uppgifter 6: Grafteori

Uppgifter 6: Grafteori Grunder i matematik och logik (2017) Uppgifter 6: Grafteori Marco Kuhlmann Nivå 6.01 nge antalet noder och bågar. a) b) a) 7 noder, 10 bågar b) 9 noder, 10 bågar 6.02 nge gradtalet för varje nod. a) b)

Läs mer

Kap.6 Grafer. Egenskaper: Handskakningslemmat och Eulers formel Sats om eulerkrets/väg Isomorfi och representation av grafer Graffärgning

Kap.6 Grafer. Egenskaper: Handskakningslemmat och Eulers formel Sats om eulerkrets/väg Isomorfi och representation av grafer Graffärgning Kap.6 Grafer Allmänna begrepp: graf, delraf, multigraf, enkelgraf, riktad graf, nodsgrad vandring, väg, stig, krets, cykel sammanhängande graf, sammanhängande komponenter Speciella grafer: komplett graf,

Läs mer

MA2047 Algebra och diskret matematik

MA2047 Algebra och diskret matematik MA2047 Algebra och diskret matematik Något om grafer Mikael Hindgren 26 september 2018 roarna i Königsberg De sju broarna i Königsberg (nuvarande Kaliningrad) på 1700-talet: (a) Königsberg 1652 (b) Graf

Läs mer

Föreläsning 10. Grafer, Dijkstra och Prim

Föreläsning 10. Grafer, Dijkstra och Prim Föreläsning 10 Grafer, Dijkstra och Prim Föreläsning 10 Grafer Representation av grafer Dijkstras algoritm Implementation av Dijkstras algoritm Minimium spanning tree Broarna i Königsberg, Euler, 17 Grafer

Läs mer

Problemlösning Lösningar

Problemlösning Lösningar Problemlösning Lösningar Figur 1: Problemlösning 1. Vem är kär i Adam (2) Vi kan bilda följande kedjor, där står för älskar och för älskar inte (1) A?? E? (2) B?? F? (3) C? D? (4) G B (5) H? G Om ingen

Läs mer

Dagens Teori Grafer Vad är en graf? Figur 11.1: En enkel graf med fem noder och sex bågar

Dagens Teori Grafer Vad är en graf? Figur 11.1: En enkel graf med fem noder och sex bågar Dagens Teori 11.1 Grafer 11.1.1 Vad är en graf? Figur 11.1: En enkel graf med fem noder och sex bågar Definition: En graf består av två ändliga mängder V och E där V är mängden av noder (hörn, vertices)

Läs mer

And. Append. AppendTo. Apply. BarChart. Binomial. Samma sak som && a=true; b=false; And[a,b] False a && b False. a={1,2,3}; Append[a,9] {1,2,3,9}

And. Append. AppendTo. Apply. BarChart. Binomial. Samma sak som && a=true; b=false; And[a,b] False a && b False. a={1,2,3}; Append[a,9] {1,2,3,9} And Samma sak som && a=true; b=false; And[a,b] False a && b False Append AppendTo a={1,2,3}; Append[a,9] {1,2,3,9} Lägger till ett element sist i listan Apply a={3,4,5} AppendTo[a,6] {3, 4, 5, 6} Tillämpar

Läs mer

Föreläsning 10. Grafer, Dijkstra och Prim

Föreläsning 10. Grafer, Dijkstra och Prim Föreläsning 10 Grafer, Dijkstra och Prim Föreläsning 10 Grafer Representation av grafer Dijkstras algoritm Implementation av Dijkstras algoritm Minimium spanning tree Läsanvisning och uppgifter Broarna

Läs mer

Föreläsning 10. Grafer, Dijkstra och Prim

Föreläsning 10. Grafer, Dijkstra och Prim Föreläsning 10 Grafer, Dijkstra och Prim Föreläsning 10 Grafer Representation av grafer Dijkstras algoritm Implementation av Dijkstras algoritm Minimium spanning tree Läsanvisning och uppgifter Broarna

Läs mer

TNK049 Optimeringslära

TNK049 Optimeringslära TNK49 Optimeringslära Clas Rydergren, ITN Föreläsning 7 Nätverksoptimering Billigaste uppspännande träd (MST) Billigaste väg (SP) Projektnätverk Minkostnadsflödesproblem Agenda Terminologi för grafer/nätverk

Läs mer

Föreläsning 11. Giriga algoritmer

Föreläsning 11. Giriga algoritmer Föreläsning 11 Giriga algoritmer Föreläsning 11 Giriga algoritmer Användning Växelproblemet Kappsäcksproblemet Schemaläggning Färgläggning Handelsresandeproblemet Giriga algoritmer (Greedy algorithms)

Läs mer

Funktioner. Räta linjen

Funktioner. Räta linjen Sidor i boken 14-143, 145-147 Funktioner. Räta linjen Här följer en dialog mellan studenten Tor-Björn (hädanefter kallad TB) och hans lärare i matematik Karl-Ture Hansson (nedan kallad KTH). När vi möter

Läs mer

Föreläsningsanteckningar F6

Föreläsningsanteckningar F6 Föreläsningsanteckningar F6 Martin Andersson & Patrik Falkman Kortaste vägen mellan en nod och alla andra noder Detta problem innebär att givet en graf G = (E,V) hitta den kortaste vägen över E från en

Läs mer

Algoritmer, datastrukturer och komplexitet

Algoritmer, datastrukturer och komplexitet Algoritmer, datastrukturer och komplexitet Övning 9 Anton Grensjö grensjo@csc.kth.se 9 november 2017 1 Idag Bevis av NP-fullständighet Labbteoriredovisning inför labb 4 2 Teori Teori När vi talar om NP-fullständighet

Läs mer

Grafer, allmänt. Med datastrukturen graf menas vanligen: en mängd av noder (vertices) och en mängd av bågar (edges).

Grafer, allmänt. Med datastrukturen graf menas vanligen: en mängd av noder (vertices) och en mängd av bågar (edges). Grafer, allmänt Allmänt Med datastrukturen graf menas vanligen: en mängd av noder (vertices) och en mängd av bågar (edges). En graf kan vara riktad (directed) eller oriktad (undirected). En graf kan vara

Läs mer

Algoritmer, datastrukturer och komplexitet

Algoritmer, datastrukturer och komplexitet Algoritmer, datastrukturer och komplexitet Övning 8 Anton Grensjö grensjo@csc.kth.se 12 november 2015 Anton Grensjö ADK Övning 8 12 november 2015 1 / 21 Översikt Kursplanering Ö8: Mästarprov 1, oavgörbarhet

Läs mer

3, 6, 9, 12, 15, 18. 1, 2, 4, 8, 16, 32 Nu är stunden inne, då vill vill summera talen i en talföljd

3, 6, 9, 12, 15, 18. 1, 2, 4, 8, 16, 32 Nu är stunden inne, då vill vill summera talen i en talföljd I föreläsning 18 bekantade vi oss med talföljder, till exempel eller 3, 6, 9, 1, 15, 18 1,, 4, 8, 16, 3 Nu är stunden inne, då vill vill summera talen i en talföljd och 3 + 6 + 9 + 1 + 15 + 18 1 + + 4

Läs mer

a = a a a a a a ± ± ± ±500

a = a a a a a a ± ± ± ±500 4.1 Felanalys Vill man hårddra det hela, kan man påstå att det inte finns några tal i den tillämpade matematiken, bara intervall. Man anger till exempel inte ett uppmätt värde till 134.78 meter utan att

Läs mer

, S(6, 2). = = = =

, S(6, 2). = = = = 1 Matematiska Institutionen KTH Lösningar till tentamensskrivning på kursen Diskret Matematik, moment A, för D2 och F, SF161 och SF160, den 17 april 2010 kl 09.00-14.00. Examinator: Olof Heden. DEL I 1.

Läs mer

Tentamensskrivning i Diskret Matematik för CINTE och CMETE, SF1610, onsdagen den 20 augusti 2014, kl

Tentamensskrivning i Diskret Matematik för CINTE och CMETE, SF1610, onsdagen den 20 augusti 2014, kl 1 Matematiska Institutionen KTH Tentamensskrivning i Diskret Matematik för CINTE och CMETE, SF1610, onsdagen den 20 augusti 2014, kl 14.00-19.00. Examinator: Olof Heden Hjälpmedel: Inga hjälpmedel är tillåtna

Läs mer

Den räta linjens ekvation

Den räta linjens ekvation Den räta linjens ekvation Här följer en dialog mellan studenten Tor-Björn (hädanefter kallad TB) och hans lärare i matematik Karl-Ture Hansson (nedan kallad KTH). När vi möter dem för första gången är

Läs mer

Sidor i boken f(x) = a x 2 +b x+c

Sidor i boken f(x) = a x 2 +b x+c Sidor i boken 18-151 Andragradsfunktioner Här ska vi studera andragradsfunktionen som skrivs f(x) = ax +bx+c där a, b, c är konstanter (reella tal) och där a 0. Grafen (kurvan) till f(x), y = ax + bx +

Läs mer

N = {i}: noder (hörn) Graf: G = (N, B) Definitioner. Väg: Sekvens av angränsande bågar. Cykel: Väg som startar och slutar i samma nod.

N = {i}: noder (hörn) Graf: G = (N, B) Definitioner. Väg: Sekvens av angränsande bågar. Cykel: Väg som startar och slutar i samma nod. Polyeder 0 x, 0 x, 0 x, x + x + x, x + x + x Grafdefinitioner N = {i}: noder (hörn) = {(i, j)}, i N, j N: bågar (kanter) Graf: G = (N, ) efinitioner Väg: Sekvens av angränsande bågar. ykel: Väg som startar

Läs mer

Den räta linjens ekvation

Den räta linjens ekvation Den räta linjens ekvation Här följer en dialog mellan studenten Tor-Björn (hädanefter kallad TB) och hans lärare i matematik Karl-Ture Hansson (nedan kallad KTH). När vi möter dem för första gången är

Läs mer

kvoten mellan två på varandra följande tal i en talföljd är konstant alltid lika stor.

kvoten mellan två på varandra följande tal i en talföljd är konstant alltid lika stor. Turen har kommit till geometriska talföljder och summan av en geometrisk talföljd. Talföljden 1,, 4, 8, 16, 3,... är ett exempel på en geometrisk talföljd. Utmärkande för en geometrisk talföljd är att

Läs mer

Grafer. Bilder: Illustrationer s.9 av Hans Hillerström. Grafiska konstruktioner av Nils-Göran Mattsson. Författarna och Bokförlaget Borken, 2011

Grafer. Bilder: Illustrationer s.9 av Hans Hillerström. Grafiska konstruktioner av Nils-Göran Mattsson. Författarna och Bokförlaget Borken, 2011 Grafer 1.Broarna i Köningsberg och grundläggande grafbegrepp 2 2.Hamiltoncykler 9 Teori Handelsresandeproblemet.11 3.Träd och skog 14 Modell Kruskals algoritm.16 4.Fyrfärgsproblemet..18 Facit 20 Bilder:

Läs mer

Lösning till tentamensskrivning i Diskret Matematik för CINTE, CL2 och Media 1, SF1610 och 5B1118, onsdagen den 17 augusti 2011, kl

Lösning till tentamensskrivning i Diskret Matematik för CINTE, CL2 och Media 1, SF1610 och 5B1118, onsdagen den 17 augusti 2011, kl Matematiska Institutionen KTH Lösning till tentamensskrivning i Diskret Matematik för CINTE, CL och Media, SF60 och 5B8, onsdagen den 7 augusti 0, kl 4.00-9.00. Examinator: Olof Heden Hjälpmedel: Inga

Läs mer

TENTAMEN. HF1002, 6H3120, 6H3117 Diskret Matematik. Skrivtid 13:15-18:15. Torsdagen 16 januari Tentamen består av 5 sidor.

TENTAMEN. HF1002, 6H3120, 6H3117 Diskret Matematik. Skrivtid 13:15-18:15. Torsdagen 16 januari Tentamen består av 5 sidor. TENTAMEN HF1002, 6H3120, 6H3117 Diskret Matematik Skrivtid 13:15-18:15 Torsdagen 16 januari 2014 Tentamen består av 5 sidor Hjälpmedel Den kurslitteratur som använts under kursen, samt egna anteckningar,

Läs mer

Linjära ekvationssystem

Linjära ekvationssystem Sidor i boken KB 7-15 Linjära ekvationssystem Exempel 1. Kalle och Pelle har tillsammans 00 kulor. Pelle har dubbelt så många som Kalle. Hur många kulor har var och en? Lösning: Antag att Kalle har x kulor.

Läs mer

Graärgning och kromatiska formler

Graärgning och kromatiska formler Graärgning och kromatiska formler Henrik Bäärnhielm, d98-hba 2 mars 2000 Sammanfattning I denna uppsats beskrivs, för en ickematematiker, färgning av grafer samt kromatiska formler för grafer. Det hela

Läs mer

Träd. Sats. Grafer. Definition. En fullständig graf har en båge mellan varje par av noder. Definition

Träd. Sats. Grafer. Definition. En fullständig graf har en båge mellan varje par av noder. Definition Grafdefinitioner Träd N = {i}: noder (hörn) = {(i, j)}, i N, j N: bågar (kanter) Graf: G = (N, ) efinitioner Väg: Sekvens av angränsande bågar. ykel: Väg som startar och slutar i samma nod. En enkel väg

Läs mer

Talmängder. Målet med första föreläsningen:

Talmängder. Målet med första föreläsningen: Moment 1..1, 1.., 1..4, 1..5, 1.. 1..5, 1..6 Viktiga exempel 1.7, 1.8, 1.8,1.19,1. Handräkning 1.7, 1.9, 1.19, 1.4, 1.9 b,e 1.0 a,b Datorräkning 1.6-1.1 Målet med första föreläsningen: 1 En första kontakt

Läs mer

1, 2, 3, 4, 5, 6,...

1, 2, 3, 4, 5, 6,... Dagens nyhet handlar om talföljder, ändliga och oändliga. Talföljden 1,, 3, 4, 5, 6,... är det första vi, som barn, lär oss om matematik över huvud taget. Så småningom lär vi oss att denna talföljd inte

Läs mer

UPPGIFT 1 V75 FIGUR 1.

UPPGIFT 1 V75 FIGUR 1. UPPGIFT 1 V75 FIGUR 1. Varje lördag året om spelar tusentals svenskar på travspelet V75. Spelet går ut på att finna sju vinnande hästar i lika många lopp. Lopp 1: 5 7 Lopp 2: 1 3 5 7 8 11 Lopp 3: 2 9 Lopp

Läs mer

Tentamen, EDA501/EDAA20 Programmering M MD W BK L

Tentamen, EDA501/EDAA20 Programmering M MD W BK L LUNDS TEKNISKA HÖGSKOLA 1(6) Institutionen för datavetenskap Tentamen, EDA501/EDAA20 Programmering M MD W BK L 2017 05 31, 8.00 13.00 Anvisningar: Preliminärt ger uppgifterna 9 + 12 + 10 + 9 = 40 poäng.

Läs mer

Ekvationslösning genom substitution, rotekvationer

Ekvationslösning genom substitution, rotekvationer Sidor i boken -3, 70-73 Ekvationslösning genom substitution, rotekvationer Rotekvationer Med en rotekvation menas en ekvation, i vilken den obekanta förekommer under ett rotmärke. Observera att betecknar

Läs mer

Föreläsning 11. Giriga algoritmer

Föreläsning 11. Giriga algoritmer Föreläsning 11 Giriga algoritmer Föreläsning 11 Giriga algoritmer Användning Växelproblemet Kappsäcksproblemet Schemaläggning Färgläggning Handelsresandeproblemet Uppgifter Giriga algoritmer (Greedy algorithms)

Läs mer

UPPGIFT 1 EURO. Utdata: Två rader, som för indata ovan, ser ut som följer: Före resan: bank 1 Efter resan: bank 3

UPPGIFT 1 EURO. Utdata: Två rader, som för indata ovan, ser ut som följer: Före resan: bank 1 Efter resan: bank 3 UPPGIFT 1 EURO Harry ska åka till Portugal och behöver växla till sig 500 Euro från svenska kronor. När han kommer tillbaka från Portugal kommer han att ha 200 Euro över som han vill växla tillbaka till

Läs mer

Om plana och planära grafer

Om plana och planära grafer KTH Matematik Bengt Ek April 2006 Material till kursen 5B1118 Diskret matematik för CL3: Om plana och planära grafer I många sammanhang (t.ex. vid konstruktion av elektriska kretsar) är det intressant

Läs mer

Undersökande arbetssätt i matematik 1 och 2

Undersökande arbetssätt i matematik 1 och 2 Matematik Gymnasieskola Modul: Matematikundervisning med digitala verktyg Del 6: Undersökande arbetssätt med matematisk programvara Undersökande arbetssätt i matematik 1 och 2 I texten Undersökande arbetssätt

Läs mer

Lutande torn och kluriga konster!

Lutande torn och kluriga konster! Lutande torn och kluriga konster! Aktiviteter för barn under Vetenskapsfestivalens skolprogram 2001 Innehåll 1 Bygga lutande torn som inte faller 2 2 Om konsten att vinna betingat godis i spel 5 3 Den

Läs mer

Kvalificeringstävling den 30 september 2008

Kvalificeringstävling den 30 september 2008 SKOLORNAS MATEMATIKTÄVLING Svenska Matematikersamfundet Kvalificeringstävling den 30 september 2008 Förslag till lösningar Problem 1 Tre rader med tal är skrivna på ett papper Varje rad innehåller tre

Läs mer

Programmeringsolympiaden Kvalificering mars 2005 FIGUR 1.

Programmeringsolympiaden Kvalificering mars 2005 FIGUR 1. UPPGIFT 1 TOMATER FIGUR 1. Ett intressant faktum är att omogna tomater mognar snabbare om man lägger in några redan mogna tomater bland dem. I denna uppgift ska du simulera denna process och räkna ut hur

Läs mer

f(x) = x 2 g(x) = x3 100

f(x) = x 2 g(x) = x3 100 När vi nu ska lära oss att skissa kurvor är det bra att ha en känsla för vad som händer med kurvan när vi sätter in stora tal. Inledningsvis är det ju polynom vi ska studera. Här ska vi se vad som händer

Läs mer

Lösning till tentamensskrivning på kursen Diskret Matematik, moment A, för D2 och F, SF1631 och SF1630, den 10 januari 2011 kl

Lösning till tentamensskrivning på kursen Diskret Matematik, moment A, för D2 och F, SF1631 och SF1630, den 10 januari 2011 kl 1 Matematiska Institutionen KTH Lösning till tentamensskrivning på kursen Diskret Matematik, moment A, för D2 och F, SF131 och SF130, den 10 januari 2011 kl 14.00-19.00. Examinator: Olof Heden, tel. 0730547891.

Läs mer

Instruktioner - Datortentamen TDDD73 Funktionell och imperativ programmering i Python

Instruktioner - Datortentamen TDDD73 Funktionell och imperativ programmering i Python Instruktioner - Datortentamen TDDD73 Funktionell och imperativ programmering i Python Hjälpmedel Följande hjälpmedel är tillåtna: Exakt en valfri bok, t.ex. den rekommenderade kursboken. Boken får ha anteckningar,

Läs mer

Föreläsning 9: NP-fullständighet

Föreläsning 9: NP-fullständighet Föreläsning 9: NP-fullständighet Olika typer av problem: 1. Beslutsproblem: A(x) =Ja. 2. Optimeringsproblem: A(x) =m Vanligen max/min. 3. Konstruktionsproblem: A(x) =En struktur. Vanligen lösningen till

Läs mer

Träd. Sats. Grafer. Definition. En fullständig graf har en båge mellan varje par av noder. Definition

Träd. Sats. Grafer. Definition. En fullständig graf har en båge mellan varje par av noder. Definition Grafdefinitioner Träd N = {i}: noder (hörn) = {(i, j)}, i N, j N: bågar (kanter) Graf: G = (N, ) efinitioner Väg: Sekvens av angränsande bågar. ykel: Väg som startar och slutar i samma nod. En enkel väg

Läs mer

Föreläsning 5: Grafer Del 1

Föreläsning 5: Grafer Del 1 2D1458, Problemlösning och programmering under press Föreläsning 5: Grafer Del 1 Datum: 2006-10-02 Skribent(er): Henrik Sjögren, Patrik Glas Föreläsare: Gunnar Kreitz Den här föreläsningen var den första

Läs mer

Mathematica. Utdata är Mathematicas svar på dina kommandon. Här ser vi svaret på kommandot från. , x

Mathematica. Utdata är Mathematicas svar på dina kommandon. Här ser vi svaret på kommandot från. , x Mathematica Första kapitlet kommer att handla om Mathematica det matematiska verktyg, som vi ska lära oss hantera under denna kurs. Indata När du arbetar med Mathematica ger du indata i form av kommandon

Läs mer

Föreläsning 13. Dynamisk programmering

Föreläsning 13. Dynamisk programmering Föreläsning 13 Dynamisk programmering Föreläsning 13 Dynamisk programmering Fibonacci Myntväxling Floyd-Warshall Kappsäck Handelsresandeproblemet Uppgifter Dynamisk programmering Dynamisk programmering

Läs mer

Eulercykel. Kinesiska brevbärarproblemet. Kinesiska brevbärarproblemet: Metod. Kinesiska brevbärarproblemet: Modell. Definition. Definition.

Eulercykel. Kinesiska brevbärarproblemet. Kinesiska brevbärarproblemet: Metod. Kinesiska brevbärarproblemet: Modell. Definition. Definition. Eulercykel Definition En Eulercykel är en cykel som använder varje båge exakt en gång. Definition En nods valens är antalet bågar som ansluter till noden. Kinesiska brevbärarproblemet En brevbärartur är

Läs mer

Grafer. 1 Grafer. Grunder i matematik och logik (2015) 1.1 Oriktade grafer. Marco Kuhlmann

Grafer. 1 Grafer. Grunder i matematik och logik (2015) 1.1 Oriktade grafer. Marco Kuhlmann Marco Kuhlmann 1 En graf är en struktur av prickar förbundna med streck. Ett tidsenligt exempel på en sådan struktur är ett social nätverk, där prickarna motsvarar personer och en streck mellan två prickar

Läs mer

Komposanter, koordinater och vektorlängd Ja, den här teorin gick vi igenom igår. Istället koncentrerar vi oss på träning inför KS3 och tentamen.

Komposanter, koordinater och vektorlängd Ja, den här teorin gick vi igenom igår. Istället koncentrerar vi oss på träning inför KS3 och tentamen. Sidor i boken 40-4 Komposanter, koordinater och vektorlängd Ja, den här teorin gick vi igenom igår. Istället koncentrerar vi oss på träning inför KS3 och tentamen. Läxa 1. En rät linje, L 1, skär y-axeln

Läs mer

Algoritmer och datastrukturer, föreläsning 11

Algoritmer och datastrukturer, föreläsning 11 lgoritmer och datastrukturer, föreläsning 11 enna föreläsning behandlar grafer. En graf har en mängd noder (vertex) och en mängd bågar (edge). Ett exempel är: E F G H Z enna graf har följande mängd av

Läs mer

Problemlösning Lösningar

Problemlösning Lösningar Problemlösning Lösningar Lösning Problemlösning. Julpromenaden (2) Vi antar först att sträckan på slät mark är km och att backen är y km lång. Från det kända sambandet får vi t = s/v och kan nu teckna

Läs mer

729G04 - Diskret matematik. Lektion 4

729G04 - Diskret matematik. Lektion 4 729G04 - Diskret matematik. Lektion 4 Ett generellt råd är att rita upp noder och bågar för graferna nedan. 1 Uppgifter 1.1 Vägar, stigar och annat 1. Vi ges den oriktade grafen G=(V,E), V = {a, b, c,

Läs mer

TANA17 Matematiska beräkningar med Matlab

TANA17 Matematiska beräkningar med Matlab TANA17 Matematiska beräkningar med Matlab Laboration 1. Linjär Algebra och Avbildningar Namn: Personnummer: Epost: Namn: Personnummer: Epost: Godkänd den: Sign: Retur: 1 Introduktion I denna övning skall

Läs mer

UPPGIFT 1 TVETYDIGA DATUM

UPPGIFT 1 TVETYDIGA DATUM UPPGIFT 1 TVETYDIGA DATUM Datum skrivs på olika sätt i olika länder. Till exempel skulle datumet 03/05/01 i Sverige betyda 1 maj 2003, medan det i USA skulle vara 5 mars 2001 och i en del andra länder

Läs mer

Gamla tentemensuppgifter

Gamla tentemensuppgifter Inte heller idag någon ny teori! Gamla tentemensuppgifter 1 Bestäm det andragradspolynom vars kurva skär x-axeln i x = 3 och x = 1 och y-axeln i y = 3 f(x) = (x 3)(x + 1) = x x 3 är en bra start, men vi

Läs mer

Om plana och planära grafer

Om plana och planära grafer Matematik, KTH Bengt Ek november 2017 Material till kurserna SF1679 och SF1688, Diskret matematik: Om plana och planära grafer I många sammanhang (t.ex. vid konstruktion av elektriska kretsar) är det intressant

Läs mer

Högskoleprovet Kvantitativ del

Högskoleprovet Kvantitativ del Högskoleprovet Kvantitativ del Här följer anvisningar till de kvantitativa delproven XYZ, KVA, NOG och DTK. Provhäftet innehåller 40 uppgifter och den totala provtiden är 55 minuter. XYZ Matematisk problemlösning

Läs mer

Datastrukturer och Algoritmer D0041D

Datastrukturer och Algoritmer D0041D Luleå Tekniska Universitet 19 mars 2014 Laborationsrapport Laboration 3 Datastrukturer och Algoritmer D0041D Primms Algoritm Namn E-mail Magnus Björk magbjr-3@ltu.student.se Handledare Felix Hansson Primms

Läs mer

KOKBOKEN 1. Håkan Strömberg KTH STH

KOKBOKEN 1. Håkan Strömberg KTH STH KOKBOKEN 1 Håkan Strömberg KTH STH Hösten 2006 Håkan Strömberg 2 KTH Syd Innehåll Olikheter.................................... 6................................. 6 Uppgift 2.................................

Läs mer

Träd. Sats. Grafer. Definition. En fullständig graf har en båge mellan varje par av noder. Definition

Träd. Sats. Grafer. Definition. En fullständig graf har en båge mellan varje par av noder. Definition Grafdefinitioner Träd N = {i}: noder (hörn) = {(i, j)}, i N, j N: bågar (kanter) Graf: G = (N, ) efinitioner Väg: Sekvens av angränsande bågar. ykel: Väg som startar och slutar i samma nod. En enkel väg

Läs mer

Låt eleverna lösa uppgifterna med huvudräkning och sedan jämföra med resultatet av ett program, t.ex. print(6 + 4 * 3)

Låt eleverna lösa uppgifterna med huvudräkning och sedan jämföra med resultatet av ett program, t.ex. print(6 + 4 * 3) 1 Print 1 Tal, Prioriteringsregler 3 Procent, Procentuella förändringar 2 Variabler Teckna och tolka uttryck Ekvationslösningens grunder 1236 Beräkna utan räknare. a) 6 + 4 3 b) 9 4 12 3 c) 7 (3 + 12)

Läs mer

Lösning till tentamensskrivning i Diskret Matematik, SF1610 och 5B1118, torsdagen den 21 oktober 2010, kl

Lösning till tentamensskrivning i Diskret Matematik, SF1610 och 5B1118, torsdagen den 21 oktober 2010, kl Matematiska Institutionen KTH Lösning till tentamensskrivning i Diskret Matematik, SF6 och 5B8, torsdagen den 2 oktober 2, kl 4-9 Examinator: Olof Heden Hjälpmedel: Inga hjälpmedel är tillåtna på tentamensskrivningen

Läs mer

Problemlösning (3/5) Lösningar

Problemlösning (3/5) Lösningar Problemlösning (3/5) Lösningar Lösning Problemlösning 1. Ture bygger en båt (2) Antag 0 tillhör S: motsägelse för den fjärde, som i så fall talar sanning. Antag 1 tillhör S: I så fall måste det vara den

Läs mer

Lösningar och kommentarer till uppgifter i 3.1

Lösningar och kommentarer till uppgifter i 3.1 Lösningar och kommentarer till uppgifter i.1 102 b) TB: Kör de med dessa uppgifter i det här kapitlet också? Det gör inget, jag börjar bli ganska bra på det. Vi har funktionen fx) = x x 2 24x + 1 och man

Läs mer

Tentamen TMV210 Inledande Diskret Matematik, D1/DI2

Tentamen TMV210 Inledande Diskret Matematik, D1/DI2 Tentamen TMV20 Inledande Diskret Matematik, D/DI2 208-0-27 kl. 4.00 8.00 Examinator: Peter Hegarty, Matematiska vetenskaper, Chalmers Telefonvakt: Anton Johansson, telefon: 5325 (alt. Peter Hegarty 070-5705475)

Läs mer

FÖRELÄSNING 11 DATALOGI I

FÖRELÄSNING 11 DATALOGI I Föreläsning I07 FÖRELÄSNING DATALOGI I Grafer Beatrice Åkerblom beatrice@dsv.su.se Institutionen för Data- och Systemvetenskap SU/KTH Föreläsning I07 Läsanvisningar Michael Main Data Structures & Other

Läs mer

Resurscentrums matematikleksaker

Resurscentrums matematikleksaker Resurscentrums matematikleksaker Aktiviteter för barn och vuxna Innehåll 1 Bygga lutande torn som inte faller 2 2 Om konsten att vinna betingat godis i spel 5 3 Den snåle grosshandlarens våg 6 4 Tornen

Läs mer

729G04 - Diskret matematik. Lektion 4

729G04 - Diskret matematik. Lektion 4 729G04 - Diskret matematik. Lektion 4 1 Lösningsförslag 1.1 Vägar, stigar och annat 1. Vi ges den oriktade grafen G=(V,E), V = {a, b, c, d, f, g, h, i, j}, E = {{a, b}, {b, c}, {a, c}, {f, g}, {c, d},

Läs mer

f(x) = x 2 g(x) = x3 100 h(x) = x 4 x x 2 x 3 100

f(x) = x 2 g(x) = x3 100 h(x) = x 4 x x 2 x 3 100 8 Skissa grafer 8.1 Dagens Teori När vi nu ska lära oss att skissa kurvor är det bra att ha en känsla för vad som händer med kurvan när vi sätter in stora tal. Inledningsvis är det ju polynom vi ska studera.

Läs mer

Efternamn förnamn pnr årskurs

Efternamn förnamn pnr årskurs KTH Matematik Olof Heden Σ p G/U bonus Efternamn förnamn pnr årskurs Lösning till kontrollskrivning 5A, den 15 oktber 2013, kl 09.00-10.00 i SF1610 Diskret matematik för CINTE och CMETE. Inga hjälpmedel

Läs mer

Fler uppgifter på andragradsfunktioner

Fler uppgifter på andragradsfunktioner Fler uppgifter på andragradsfunktioner 1 I grafen nedan visas tre andragradsfunktioner. Bestäm a,b och c för p(x) = ax 2 + bx + c genom att läsa av lämpliga punkter i grafen. 10 5 1 3 5 Figur 1: 2 Vi har

Läs mer

DEL I. Matematiska Institutionen KTH

DEL I. Matematiska Institutionen KTH 1 Matematiska Institutionen KTH Lösning till tentamensskrivning på kursen Diskret Matematik, moment A, för D2 och F, SF1631 och SF1630, den 25 mars 2008. DEL I 1. (3p Bestäm antalet binära ord av längd

Läs mer

NAMN KLASS/GRUPP. Poängsumma: Känguruskutt: UPPGIFT 1 2 3 4 5 6 7 8 9 10 SVAR UPPGIFT 11 12 13 14 15 16 17 18 19 20 SVAR

NAMN KLASS/GRUPP. Poängsumma: Känguruskutt: UPPGIFT 1 2 3 4 5 6 7 8 9 10 SVAR UPPGIFT 11 12 13 14 15 16 17 18 19 20 SVAR Känguru 2010 Junior (gymnasiet åk 1) sida 1 / 6 NAMN KLASS/GRUPP Poängsumma: Känguruskutt: Lösgör svarsblanketten. Skriv ditt svarsalternativ under uppgiftsnumret. Lämna rutan tom om du inte vill besvara

Läs mer

MITTUNIVERSITETET TFM. Tentamen Algebra och Diskret Matematik A (svenska) Skrivtid: 5 timmar. Datum: 9 januari 2007

MITTUNIVERSITETET TFM. Tentamen Algebra och Diskret Matematik A (svenska) Skrivtid: 5 timmar. Datum: 9 januari 2007 MITTUNIVERSITETET TFM Tentamen 2007 MAAA99 Algebra och Diskret Matematik A (svenska) Skrivtid: 5 timmar Datum: 9 januari 2007 Denna tenta omfattar 8 frågor, där varje fråga kan ge 3 poäng. Maximalt poängantal

Läs mer

Efternamn förnamn ååmmdd kodnr

Efternamn förnamn ååmmdd kodnr KTH Matematik Olof Heden Σ p G/U bonus Efternamn förnamn ååmmdd kodnr Lösning till kontrollskrivning 5A, den 15 maj 2014, kl 13.00-14.00 i SF1610 Diskret matematik för CINTE och CMETE. Inga hjälpmedel

Läs mer

Moment Viktiga exempel 4.17, 4.18, 4.19, 7.20, 4.22, 4.23 Handräkning 4.17, 4.18, 4.19, 4.21, 4.24, 4.54 Datorräkning.

Moment Viktiga exempel 4.17, 4.18, 4.19, 7.20, 4.22, 4.23 Handräkning 4.17, 4.18, 4.19, 4.21, 4.24, 4.54 Datorräkning. Moment 4.2.7 Viktiga exempel 4.17, 4.18, 4.19, 7.20, 4.22, 4.23 Handräkning 4.17, 4.18, 4.19, 4.21, 4.24, 4.54 Datorräkning Figur 1: fig 6 Skalärprodukt Först fastslår vi att två vektorer i planet eller

Läs mer

LAB 1. FELANALYS. 1 Inledning. 2 Flyttal. 1.1 Innehåll. 2.1 Avrundningsenheten, µ, och maskinepsilon, ε M

LAB 1. FELANALYS. 1 Inledning. 2 Flyttal. 1.1 Innehåll. 2.1 Avrundningsenheten, µ, och maskinepsilon, ε M TANA21+22/ 5 juli 2016 LAB 1. FELANALYS 1 Inledning I laborationerna används matrishanteringsprogrammet MATLAB. som genomgående använder dubbel precision vid beräkningarna. 1.1 Innehåll Du ska 1. bestämma

Läs mer

MITTUNIVERSITETET TFM. Modelltenta Algebra och Diskret Matematik. Skrivtid: 5 timmar. Datum: 1 oktober 2007

MITTUNIVERSITETET TFM. Modelltenta Algebra och Diskret Matematik. Skrivtid: 5 timmar. Datum: 1 oktober 2007 MITTUNIVERSITETET TFM Modelltenta 2007 MA014G Algebra och Diskret Matematik Skrivtid: 5 timmar Datum: 1 oktober 2007 Den obligatoriska delen av denna (modell)tenta omfattar 8 frågor, där varje fråga kan

Läs mer

Föreläsning 7 Datastrukturer (DAT037)

Föreläsning 7 Datastrukturer (DAT037) Föreläsning 7 Datastrukturer (DAT037) Fredrik Lindblad 1 2016-11-21 1 Slides skapade av Nils Anders Danielsson har använts som utgångspunkt. Se http://www.cse.chalmers.se/edu/year/2015/course/dat037 Förra

Läs mer

Determinant Vi förekommer bokens avsnitt, som handlar om determinanter eftersom de kommer att användas i detta avsnitt. a 11 a 12 a 21 a 22

Determinant Vi förekommer bokens avsnitt, som handlar om determinanter eftersom de kommer att användas i detta avsnitt. a 11 a 12 a 21 a 22 Moment 5.3, 4.2.9 Viktiga exempel 5.13, 5.14, 5.15, 5.17, 4.24, 4.25, 4.26 Handräkning 5.35, 5.44a, 4.31a, 4.34 Datorräkning Determinant Vi förekommer bokens avsnitt, som handlar om determinanter eftersom

Läs mer

Algoritmer, datastrukturer och komplexitet

Algoritmer, datastrukturer och komplexitet Algoritmer, datastrukturer och komplexitet Övning 10 Anton Grensjö grensjo@csc.kth.se 18 november 2015 Anton Grensjö ADK Övning 10 18 november 2015 1 / 20 Översikt Kursplanering Ö9: NP-fullständighetsbevis

Läs mer

TENTAMEN. Programmering Grundkurs (HI1900) Skrivtid 13:15-18:15. Tisdagen 26 april Tentamen består av 8 sidor

TENTAMEN. Programmering Grundkurs (HI1900) Skrivtid 13:15-18:15. Tisdagen 26 april Tentamen består av 8 sidor TENTAMEN Programmering Grundkurs (HI1900) Skrivtid 13:15-18:15 Tisdagen 26 april 2011 Tentamen består av 8 sidor Hjälpmedel Förutom dator med installerad Code::Blocks, Utforskaren, Acrobat reader och Notepad

Läs mer

Lösningar och kommentarer till uppgifter i 1.1

Lösningar och kommentarer till uppgifter i 1.1 Lösningar och kommentarer till uppgifter i 1.1 1106 d) 1107 d) 5t(t t 1) t (t 3) + t 3 5t 3 10t 5t (t 3 3t ) + t 3 5t 3 10t 5t t 3 + 3t + t 3 6t 3 7t 5t Kommentarer: Starta med att multiplicera in faktorerna

Läs mer

Tentamen Datastrukturer (DAT036)

Tentamen Datastrukturer (DAT036) Tentamen Datastrukturer (DAT036) Det här är inte originaltesen. Uppgift 6 var felaktigt formulerad, och har rättats till. Datum och tid för tentamen: 2011-12-16, 8:30 12:30. Ansvarig: Nils Anders Danielsson.

Läs mer

Högskoleprovet Kvantitativ del

Högskoleprovet Kvantitativ del Högskoleprovet Kvantitativ del Här följer anvisningar till de kvantitativa delproven XYZ, KVA, NOG och DTK. Provhäftet innehåller 40 uppgifter och den totala provtiden är 55 minuter. XYZ Matematisk problemlösning

Läs mer

1. (3p) Bestäm den minsta positiva resten vid division av talet med talet 31.

1. (3p) Bestäm den minsta positiva resten vid division av talet med talet 31. 1 Matematiska Institutionen KTH Lösning till tentamensskrivning på kursen Diskret Matematik, moment A, för D2 och F, SF1631 och SF1630, den 7 juni 2011 kl 08.00-13.00. Examinator: Olof Heden, tel. 0730547891.

Läs mer

Föreläsning 7+8: NP-problem. Begreppet effektiv algoritm är alltså synonymt med går i polynomisk tid i den här kursen. Är detta en rimlig uppdelning?

Föreläsning 7+8: NP-problem. Begreppet effektiv algoritm är alltså synonymt med går i polynomisk tid i den här kursen. Är detta en rimlig uppdelning? Formalisering av rimlig tid Föreläsning 7+8: NP-problem En algoritm som har körtid O(n k ) för någon konstant k är rimligt snabb. En algoritm som har körtid Ω(c n ) för någon konstant c>1 är för långsam.

Läs mer

Följande, ur problemsynpunkt enkla uppgifter, är till för att nöta in dagens teori.

Följande, ur problemsynpunkt enkla uppgifter, är till för att nöta in dagens teori. Problem Nivå 1 Följande, ur problemsynpunkt enkla uppgifter, är till för att nöta in dagens teori. Problem 1 Skriv ett program som tar reda på hur många termer man måste ta med i serien för att summa ska

Läs mer

Matematik CD för TB = 5 +

Matematik CD för TB = 5 + Föreläsning 4 70 a) Vi delar figuren i två delar, en triangel (på toppen) och en rektangel. Summan av dessa två figurers area ger den eftersökta. Vi behöver följande formler: A R = b h A T = b h Svar:

Läs mer