Eulerska grafer: egenskaper och tillämpningar

Storlek: px
Starta visningen från sidan:

Download "Eulerska grafer: egenskaper och tillämpningar"

Transkript

1 Eulerska grafer: egenskaper och tillämpningar Magnus Lönnman 2012 Examensarbete för kandidatexamen 15hp Umeå Universitet Handledare: Klas Markström

2

3 Sammanfattning Denna uppsats handlar om de så kallade eulerska graferna och grafer nära besläktade med dessa. En eulersk graf är en graf där det går att traversera alla kanter i grafen så att varje kant förekommer exakt en gång i traverseringen. Den struktur dessa grafer har uppfyller de villkor Euler ställde upp 1735 då han studerade det klassiska problemet med de sju broarna i Königsberg. Både teoretiska aspekter, som cykeldekomposition och kompatibla eulervägar, samt praktiska tillämpningar, som det kinesiska brevbärarproblemet och DNA-sekvensering (där man använder en de Bruijn-graf) behandlas i den här texten. Här redogörs även för kända och mindre kända metoder för enumeration av eulerska och semieulerska grafer. Dessa innefattar enumeration med hjälp av explicita formler, genererande funktioner samt algoritmiskt via generering. Tabeller med antal grafer presenteras för olika varianter av eulerska grafer (märkta, omärkta, planära etc.). Vid omärkt enumeration används endast den algoritmiska metoden, vilken också har använts för att generera och visa alla eulerska och semieulerska grafer med sju kanter, både enkla grafer och multigrafer.

4

5 Innehållsförteckning 1. Inledning De sju broarna i Königsberg Definitioner Eulerska och semieulerska grafer Cykeldekompositioner Kompatibla eulervägar Det kinesiska brevbärarproblemet de Bruijn-grafer En tillämpning inom DNA-sekvensering Enumeration Algoritmisk metod Avslutning Källförteckning Appendix... 35

6

7 1. Inledning Några av de mest kända graferna inom grafteori är de eulerska graferna. Anledningen till det är att de anses vara ett av de första resultaten som framkom i ämnet och utgör därför början på grafteorin. Det var Euler som 1735 skrev en artikel som behandlade ett problem vilket involverade sju broar i Königsberg (nuvarande Kaliningrad i Ryssland, mellan Polen och Litauen). Problemställningen var välkänd på Eulers tid och det man frågade efter var om det gick att gå över alla de sju broarna, där varje enskild bro bara fick passeras en gång. I det specifika fallet kom Euler fram till att det inte fanns någon sådan lösning och att det hade att göra med hur broarna är förbundna med varandra. Den typ av graf som t.ex. motsvarar hur ett antal broar är förbundna med varandra (eller kanske något helt annat) och som uppfyller villkoret att varje kant (d.v.s. bro ) i grafen passeras endast en gång kallas därför eulersk. Detta är det område jag kommer att studera närmare och visa vilka egenskaper och tillämpningar dessa grafer har. Jag kommer även att gå lite längre än vad Euler gjorde och ta reda på precis vilka grafer med sju kanter som uppfyller hans villkor. Detta hade varit mycket svårt på Eulers tid eftersom man varken hade tillgång till datorer eller den samlade kunskap man idag har inom området. Mer om det står i kapitel 9 som handlar om enumeration. De teoretiska aspekterna av eulerska grafer beskrivs i de första sex kapitlen och de ligger också ganska nära varandra innehållsmässigt. Kapitel 7 och 8 har däremot en mer praktisk inriktning där jag beskriver det kinesiska brevbärarproblemet och en tillämpning inom DNA-sekvensering. 1

8 2. De sju broarna i Königsberg Själva upprinnelsen till ämnet grafteori kan sägas vara det problem man begrundade i Königsberg på 1700-talet, nämligen om man kan passera alla de sju broarna över floden Pregel, som delade staden i fyra delar, endast en gång i en vandring (se figur 1). Detta ansågs tillhöra ett ämne som tidigare av Leibniz hade kallats lägesgeometri eller på latin Geometria situs. Men det var Euler som 1741 publicerade den första artikeln (som han hade skrivit sex år tidigare) med en tillämpning inom vad som nu betraktas som grafteori, vilket han kallade Lösningen på ett problem inom lägesgeometri [1]. Det Euler gjorde var att observera vad som var relevant för frågeställningen och bortse från det oväsentliga. Han märkte alla de fyra regionerna med en varsin stor bokstav (vilket motsvarar ett hörn i en vanlig graf), och alla broar med varsin liten bokstav (vilket motsvarar en kant i en vanlig graf). En passage från området A till B märktes med AB, och en passage från A till B och sedan vidare till C märktes ABC o.s.v. Alltså skulle en sekvens med åtta bokstäver motsvara en vandring över sju broar. Han noterade att sekvensen AB eller BA skulle förekomma två gånger i en vandring som passerade alla broar en gång, eftersom två broar förbinder områdena A och B. Samma sak gällde för områdena A och C. Däremot måste övergången mellan A och D, B och D respektive C och D förekomma bara en gång. Han visade även att om ett udda antal broar ansluter till ett område så måste bokstaven för det området förekomma (antal broar till det området + 1)/2 gånger, oavsett om man startade i det området eller inte. Alltså måste bokstaven A förekomma tre gånger och bokstäverna B, C, D förekomma två gånger, vilket blir sammanlagt nio bokstäver. Därmed bevisade han att vandringen som passerar de sju broarna endast en gång inte är möjlig. Figur 1 2

9 I sin artikel beskrev han ett systematiskt tillvägagångssätt där man tillämpar ovanstående regler för att avgöra om en godtycklig konfiguration av broar har en sådan vandring, vilket man numera inom grafteorin kallar för en eulerväg. Han noterade att om antalet bokstäver som krävs för att beskriva vandringen är ett mer än antalet broar så är vandringen möjlig om man börjar i ett område som har ett udda antal broar anslutna till sig. Detta beror på att den bokstav man börjar vandringen med, i ett område med ett jämnt antal broar, kommer att förekomma en gång mer än om man inte började där. Detta är en konsekvens av den typ av notation Euler använde sig av, d.v.s. att han skriver ABCA (istället för ABBCCA) eller BCAB (istället för BCCAAB) vilket leder till att en enskild bokstav förekommer olika många gånger beroende på i vilket område man börjar. Om å andra sidan alla områden har ett jämnt antal broar anslutna till sig kommer antalet bokstäver alltid att bli ett mer än antalet broar. Vidare noterade Euler att om man summerar det antal broar som ansluter till varje område så blir summan två gånger antalet broar, eftersom varje bro måste räknas två gånger. Detta resultat kallas inom grafteorin för handskakningslemmat. Det leder också till att antalet områden med udda antal broar anslutna till sig måste vara ett jämnt tal. Euler gjorde en lista med tre kolumner där den första kolumnen innehåller bokstäverna på alla områden och den andra kolumnen antalet broar till respektive område. I den tredje kolumnen halverades antalet som stod i den andra kolumnen och avrundades uppåt om det var ett udda tal. Han angav med en asterisk intill bokstäverna i den första kolumnen vilka områden som hade ett jämnt antal broar. Om högst två av alla bokstäver inte hade en asterisk så medförde summan av talen i den tredje kolumnen att antalet bokstäver inte överskred det tillåtna antalet. På det sättet visade han att högst två områden får ha ett udda antal broar anslutna till sig om denna vandring ska vara möjlig. Allt detta beskrevs mycket mera utförligt i Eulers ursprungliga artikel, som återges tillsammans med en engelsk översättning i [2]. Trots det bevisade han dock inte sambandet fullständigt, utan bara att om antalet områden med udda antal broar är 0 eller 2 så finns en vandring som passerar alla broar endast en gång, inte att det motsatta förhållandet också gäller. Detta kommer jag dock att bevisa med hjälp av de koncept som idag oftare förekommer inom grafteorin. 3

10 3. Definitioner Det råder ingen entydig standard när det gäller den terminologi som används inom grafteorin. Dock verkar det som att man i åtminstone engelsk litteratur mer och mer börjar enas om vad olika saker ska heta. Jag har i en del av definitionerna angett de mera vedertagna engelska benämningarna, vilket kan göra det lättare att läsa de engelska texterna som utgör nästan all litteratur, vilket kan behövas om man inte är bekant med ämnet (se t.ex. [3] för en mycket bra introduktion). Här ger jag bara de mest grundläggande definitionerna: Definition 3.1. En graf G = (V, E) är en ändlig mängd V(G) med hörn och en ändlig multimängd E(G) med kanter. Varje kant e = {u,v} är ett oordnat par av hörn u, v från V(G), där u v, men där samma kant e kan förekomma mer är en gång i E(G). Kantens multiplicitet anger hur många gånger kanten förekommer. Om varje kant i G har multiplicitet = 1 kallas G en enkel graf. Om minst en kant i G har multiplicitet 2 kallas G en multigraf. V(G) anger antalet hörn och E(G) anger antalet kanter i G. Se exempel 3.14 för en visualisering av en graf. Definition 3.2. En graf G är märkt om alla hörn i G är märkta med en unik symbol. Definition 3.3. En graf H är en delgraf till G om alla dess hörn tillhör V(G) och alla dess kanter tillhör E(G). Definition 3.4. En graf G är planär om den kan ritas i planet utan korsade kanter. Definition 3.5. En promenad (eng. walk) är en ändlig följd av kanter på formen {v 0,v 1 },{v 1,v 2 },..,{v m-1,v m } alt. v 0 Øv 1 Øv 2 Ø...Øv m. Om start- och sluthörnet v 0 v m så sägs promenaden vara öppen. Om v 0 = v m så sägs promenaden vara sluten. Definition 3.6. En väg (eng. trail) är en promenad där ingen av kanterna upprepas. Om start- och sluthörnet v 0 v m så sägs vägen vara öppen. Om v 0 = v m så sägs vägen vara sluten (eng. circuit). Definition 3.7. En stig (eng. path) är en öppen väg där det för alla par av hörn v i,v j gäller att v i v j om i j. Definition 3.8. En cykel (eng. cycle) är en sluten väg där det för alla par av hörn v i,v j gäller att v i v j om i j, 0 < i < m och 0 < j < m, samt att v 0 = v m. Definition 3.9. Ett hörns valens (eng. degree) deg(v) anger antalet kanter som hörnet v ingår i. Definition Den lägsta valensen i en graf G anges med d(g). Definition Om ett hörn har udda valens sägs det vara ett udda hörn. Definition En graf G är sammanhängande om det för varje par av hörn u, v i G finns en stig mellan u och v. 4

11 Om en graf G inte är sammanhängande består den av två eller flera komponenter som är sammanhängande. Definition En partition av en mängd A är en lista A 1,..,A k av delmängder ur A så att alla element i A finns i exakt en delmängd i listan. Ytterligare definitioner kommer att redogöras för i det sammanhang de dyker upp i texten. Exempel I figur 2 visas en märkt graf som motsvarar broarna i Königsberg och är dessutom en multigraf. Hörnen är märkta med bokstäverna A till D och linjerna som går mellan dessa motsvarar kanter. C A D B Figur 2 5

12 4. Eulerska och semieulerska grafer Efter att Euler publicerade sin artikel om Königsbergs broar har man kallat de grafer som uppfyller villkoret att det finns en väg som passerar alla kanter i grafen endast en gång, för eulerska grafer (eller eulergrafer). Observera att detta innebär att vägen kan vara endera öppen eller sluten, vilket överensstämmer med Eulers artikel eftersom han egentligen inte ställde något krav på att man måste komma tillbaka till startpositionen (vilket man felaktigt brukar påstå). På senare tid har man däremot av praktiska skäl oftast valt att dela upp dessa i två fall nämligen följande: Definition 4.1. En sammanhängande graf G är eulersk om den har en sluten väg som passerar alla kanter i G endast en gång. En sådan väg kallas en sluten eulerväg. Definition 4.2. En sammanhängande graf G är semieulersk om den har en öppen väg som passerar alla kanter i G endast en gång. En sådan väg kallas en öppen eulerväg. Teorem 4.3. Euler 1736 [1], Hierholzer 1873 [4], Veblen 1912 [5] Följande påståenden är ekvivalenta för en sammanhängande graf G: 1. G är eulersk. 2. Varje hörn i G har jämn valens. 3. E(G) kan partitioneras i cykler. Bevis. Påståendenas ekvivalens kommer att visas cykliskt. 1fl2. Låt v vara ett godtyckligt hörn i G. Om T är en sluten eulerväg måste varje kant i T som går mot v matchas med en kant som går från v. Alltså måste varje hörn ha jämn valens. 2fl3. Detta visas genom induktion på antalet cykler i G. Induktionsbas: Om G inte har några cykler eller bara en så gäller påståendet. Induktionssteg: Vi antar att påståendet gäller för grafer med färre än m cykler. Låt G vara en sammanhängande graf där alla hörn har jämn valens, och har exakt m cykler. Om man tar bort alla kanter som ingår i en cykel så kommer varje komponent C som återstår fortfarande att ha jämna valenser och ha färre än m cykler, så E(C) kommer därför enligt induktion att kunna partitioneras i cykler. Alltså kan också E(G) på samma sätt partitioneras i cykler. 3fl1. Anta att E(G) kan partitioneras i m cykler. Vi visar genom induktion att det för varje k så att 1 k m finns en sluten väg T i G som innehåller alla kanter i ett urval av k av de m cyklerna, och inga andra kanter i G. Induktionsbas: Detta gäller för k = 1. Induktionssteg: Vi antar att det finns en sluten väg T som täcker k av cyklerna, där k < m. Eftersom G är sammanhängande så måste minst en av de andra cyklerna innehålla ett hörn v från T. Låt T vara den väg som fås genom att traversera den cykeln från v och sedan hela T med början från v. Alltså kommer T innehålla alla kanter från de k + 1 cyklerna och därför är G enligt induktion eulersk. Ñ Korollarium 4.4. En sammanhängande graf G är semieulersk om och endast om G har två hörn med udda valens. 6

13 Bevis. Anta att G har två hörn u och v med udda valens och vi lägger till en kant {u,v} mellan dessa hörn. Då får alla hörn i grafen jämn valens. Denna graf blir eulersk enligt teorem 4.3 och har därför en sluten eulerväg T. Om man sedan tar bort {u,v} från T så får man en öppen eulerväg som börjar i det ena hörnet med udda valens och slutar i det andra hörnet med udda valens. Omvänt: Anta att G har en öppen eulerväg T. Då kan endast start- och sluthörnet ha udda valens eftersom de är de enda hörnen där man utifrån kanterna i T bidrar med 1 till respektive hörns valens. För varje övrigt hörn (vilket också kan vara start- och sluthörnet) som passeras bidrar kanterna i T med 2. En semieulersk graf har därför alltid precis två hörn med udda valens. Ñ Definition 4.5. En graf G är jämn om varje hörn i G har jämn valens. Det förekommer även att man kallar en de jämna graferna eulerska även då de inte är sammanhängande, vilket jag inte kommer att göra. I dessa fall kan dock varje komponent ses som en eulersk graf. Många teorem som presenteras hädanefter gäller även för jämna grafer. Detta är en generellare klass av grafer som alltså inte behöver vara sammanhängande, vilket gör att dessa teorem även gäller för eulerska grafer. Påstående 2 och 3 i teorem 4.3 gäller även för jämna grafer. 7

14 5. Cykeldekompositioner En grundläggande egenskap hos eulerska grafer är att de kan partitioneras i cykler vilket bevisades i förra kapitlet. I det här kapitlet kommer jag att ställa upp särskilda villkor som cyklerna måste uppfylla. Detta är ett forskningsområde där det fortfarande finns en del obesvarade frågor. I vissa fall har man dock kommit fram till resultat som ger villkor för att en viss typ av cykeldekomposition är möjlig. Definition 5.1. Ett block är en maximal (det finns ingen större som innehåller denna) delgraf som inte kan delas upp i komponenter genom att ta bort endast ett hörn tillsammans med dess kanter. Definition 5.2. En komplett graf K p är en enkel graf med p hörn där varje par av hörn u,v i K p har en gemensam kant {u,v}. Teorem 5.3. K p har p(p-1)/2 kanter. Det finns bara ett fall där en jämn graf har en unik cykeldekomposition och det är när alla block är cykler. Exempel 5.4. I figur 3 visas en graf med två block som båda är cykler. Ett av blocken består av streckade kanter och ett av heldragna kanter. Figur 3 Definition 5.5. En uppdelning av kanterna i par vid varje hörn i en graf G, som motsvarar kanter som är förbjudna (eller tillåtna) att passera, kallas ett förbjudet (eller tillåtet) övergångssystem (eng. transition system). Paren kallas övergångar och det kan finnas mellan 0 och deg(v)/2 övergångar vid varje hörn v i G. Definition 5.6. Om två övergångssystem inte har något gemensamt par av kanter vid samma hörn gemensamt sägs de vara kompatibla (se exempel 5.9). I fallet med den kompletta grafen K 5 i följande exempel visas två övergångssystem. Övergångssystemet i figur 4 har endast par av heldragna kanter eller par av streckade kanter vid varje enskilt hörn. 8

15 Exempel 5.7. Två olika övergångssystem i K 5. Markeringarna i hörnen avser en övergång mellan de heldragna kanterna genom de hörnen och markeringarna utanför en övergång mellan de två kanterna intill varje markering genom det hörnet. Figur 4 Figur 5 När det gäller cykeldekompositioner så ger cyklerna i dekompositionen också på ett naturligt sätt upphov till en uppdelning av kanterna i par vid varje hörn, vilket ger ett övergångssystem. En frågeställning är om det finns någon cykeldekomposition som ger upphov till ett övergångssystem som är kompatibelt med ett annat givet övergångssystem. Varje hörn i figur 4 har en förbjuden övergång mellan de heldragna kanterna och en mellan de streckade kanterna, vilka skulle kunna härledas ifrån en cykel bestående av de heldragna kanterna och en cykel bestående av de streckade kanterna i grafen. Det finns inte något övergångssystem som är kompatibelt med övergångssystemet i figur 4 vilket beror på att varje cykel, som då måste alternera mellan de heldragna och de streckade kanterna, måste ha jämn längd nämligen 4. Ingen annan cykel som alternerar mellan de heldragna och de streckade kanterna i figur 4 har någon annan längd (se även figur 6 där en cykel av längd 4 är markerad). Det skulle i sin tur innebära att antalet kanter i K 5 är en multipel av 4 vilket det inte är, den har 10 kanter. Mycket av motivationen bakom forskningen inom det här området kommer från följande förmodan: Förmodan 5.8. Sabidussi 1975 [6] Låt G vara en eulersk graf med d(g) 4 och låt X vara en sluten eulerväg i G. Då har G en cykeldekomposition kompatibel med X. Eulerska grafer med d(g) 4 är t.ex. K 2n+1 där n 2. Exempel 5.9. Ur en sluten eulerväg X, som börjar i det översta hörnet i figur 5 och sedan traverserar de streckade kanterna följt av de heldragna kanterna, erhålls det förbjudna övergångssystemet som visas i figur 5. En övergång motsvarar alltså två på varandra efterföljande kanter, förutom övergången mellan den första och den sista kanten i traverseringen. En cykeldekomposition vars övergångssystem är kompatibelt med X visas i figur 6. Detta visar att Sabidussis förmodan gäller i det här fallet. 9

16 Figur 6 Några teorem med relevans för jämna grafer och cykeldekompositioner återges här. Bevisen av dessa faller utanför ramen för den här texten och kräver några koncept som inte har definierats, varför de har utelämnats. Teorem Toida 1976 [7] En graf G är jämn om och endast om varje kant i G tillhör ett udda antal cykler i G. Korollarium En graf G är jämn om och endast om den har ett udda antal cykeldekompositioner. Bevis av teorem 5.10 och korollarium 5.11 finns även i [2] Teorem Seymour 1981 [8] En planär jämn graf G har en jämn cykeldekomposition (en uppdelning av G i cykler av jämn längd) om och endast om alla block har ett jämnt antal kanter. Eftersom en grafs cykler ligger helt inom blocken är villkoret i teorem 5.12 nödvändigt. Teorem Fleischner 1980 [6] Låt G vara en planär jämn graf, och låt X vara ett övergångssystem med egenskapen att inget par av kanter i X vid borttagning gör en komponent i G osammanhängande. Då har G en cykeldekomposition som är kompatibel med X. Detta teorem säger att förutom grafer med hörn där bara två kanter ligger i ett block, är alla grafer som inte har någon cykeldekomposition för något övergångssystem, inte planära, vilket t.ex. gäller K 5 i figur 4. Beviset av detta teorem ger också ett villkor som är oberoende av fyrfärgssatsen och även nödvändigt för att den ska hålla. 10

17 6. Kompatibla eulervägar I en semieulersk graf G finns det enligt korollarium 4.4 en öppen eulerväg som innehåller alla kanter i G. Denna väg kan se ut på olika sätt beroende på i vilken ordning kanterna traverseras, men G kan som minst partitioneras i endast en väg och som mest partitioneras i E(G) disjunkta vägar, vilket gäller för alla grafer då varje väg består av en kant. Om man utgår ifrån en godtycklig sammanhängande graf så kan den endast ha ett jämnt antal hörn med udda valens (vilket är en konsekvens av handskakningslemmat). Följande teorem visar hur många disjunkta öppna vägar kantmängden i en graf med 2m hörn med udda valens kan partitioneras i om m > 0. Teorem 6.1. Listing 1848 [9], Lucas 1882 [10] Låt G vara en sammanhängande graf med 2m hörn med udda valens, där m > 0. Då kan kantmängden E(G) partitioneras i m öppna vägar och inga färre. Bevis. Låt G = (V(G), E(G)» E ), där E är en oberoende mängd med kanter mellan alla hörn med udda valens (d.v.s. inget par av kanter har något hörn gemensamt) och E E(G) = Ø. Detta medför att G är eulersk och har därför en sluten eulerväg T. Tar man bort E från T får man kvar m öppna vägar med ändar i hörnen med udda valens i G. Dessa utgör en partition av G eftersom T ifrån början innehöll alla kanter i G och E E(G) = Ø. Om E(G) är partitionerad i k öppna vägar så måste alla de 2m udda hörnen i G vara ändhörn till högst k vägar. Alltså är k m och teoremet följer därav. Ñ På samma sätt som ett övergångssystem kan ställa krav på en cykeldekomposition kan det också användas som villkor som ställs på en specifik eulerväg, eftersom en sluten eulerväg ger upphov till ett övergångssystem (se exempel 5.9 i föregående kapitel). Teorem 6.2. Kotzig 1968 [11] Låt X vara ett övergångssystem i en eulersk graf G med d(g) 4. Då har G en sluten eulerväg vars övergångssystem är kompatibelt med X. Exempel 6.3. Om en eulersk graf har hörn med valens 2 är det omöjligt att passera det om det har en förbjuden övergång (detta gäller de två översta hörnen i figur 7). Om å andra sidan ett hörn med valens 4 har två förbjudna övergångar så kan man alltid passera det genom att alternera mellan övergångarna (detta gäller det mellersta hörnet i figur 7). Figur 7 11

18 En fråga man kan ställa är vad det maximala antalet parvis kompatibla eulervägar i en eulersk graf är. Man har än så länge inte kommit fram till något generellt svar på den frågan. Däremot ger följande teorem svar när det gäller vissa specialfall. Teorem 6.4. Fleischner 1990 [2] Låt G vara en eulersk graf med d(g) 4. Anta dessutom att varje cykel i G är ett block. Då har G d(g) 2 parvis kompatibla eulervägar, och bland d(g) 1 slutna eulervägar i G så finns minst 2 som ej är kompatibla. Teorem 6.5. Jackson 1987 [12] Låt G vara en eulersk graf med d(g) = 2k 4, och låt r max{1, k-2} vara ett positivt heltal. Låt X 1,,X r vara givna övergångssystem. Då har G en sluten eulerväg kompatibel med X 1,,X r. Korollarium 6.6. Om G är en eulersk graf med d(g) = 2k 4, så har G minst max{2, k- 1} parvis kompatibla eulervägar. 12

19 7. Det kinesiska brevbärarproblemet Hittills har jag mest fokuserat på de teoretiska aspekterna av eulerska grafer, men det finns även många praktiska tillämpningar med koppling till dessa grafer. En sådan praktisk tillämpning kallas det kinesiska brevbärarproblemet (CPP) eftersom det först formulerades av den kinesiska matematikern Kwan Mei-Ko Detta problem går ut på att i en godtycklig graf hitta den kortaste vägen som traverserar alla kanter i grafen, vilket skulle kunna motsvara att hitta den effektivaste transportvägen som en brevbärare kan välja för att dela ut post längs alla vägar i sitt tilldelade område. Det finns även många andra tillämpningar där man kan använda sig av lösningsmetoden till CPP, detta gäller t.ex. vid gaturengöring, vägsaltning, avläsning av gas-, vatten- och elmätare eller för att minimera utskriftstiden av en plotter (används ibland för att skriva ut CAD ritningar). I dessa fall brukar man tilldela varje kant en vikt som t.ex. kan motsvara längden på en viss väg. Eftersom en eulersk graf alltid har en väg som passerar varje kant endast en gång motsvarar denna graf idealfallet i en CPP-tillämpning. Det man behöver göra är att hitta en sluten eulerväg i den grafen. För att göra det kan man använda sig av denna algoritm: Fleurys algoritm Låt G vara en eulersk graf. 1. Välj något hörn v 0 som starthörn i G. 2. Från det nuvarande hörnet väljs någon kant e som vid borttagning inte leder till att grafen blir osammanhängande, förutom isolerade hörn. 3. Traversera e och avlägsna e tillsammans med det isolerade hörnet som eventuellt uppstår från grafen. 4. Om det nuvarande hörnet inte är v 0 upprepas steg 2-4. Annars har en sluten eulerväg i G traverserats. I detta fall är den totala längden av CPP-promenaden summan av alla kanters vikt. I det generella fallet måste man dock ta hänsyn till att grafen kan ha hörn med udda valens. Det finns ett teorem som ger en övre gräns för hur lång en CPP promenad kan bli: Teorem 7.1. König 1936 [13] Alla sammanhängande grafer G har en sluten promenad där varje kant i G förekommer exakt två gånger. Bevis. Låt G vara den graf man får när man dubblerar alla kanter i G. Då kommer alla hörn i G ha jämn valens. G har därför enligt teorem 4.3 en sluten eulerväg som traverserar alla kanter i G exakt två gånger. Ñ Denna övre gräns för CPP promenaden uppnås enbart då G är ett träd (vilket innebär att G inte har någon cykel). I de övriga fallen kan man tillämpa följande algoritm där man även tar hänsyn till de viktade kanterna [14]: Låt G vara en icke-eulersk graf. 1. Identifiera alla m hörn med udda valens i G. 2. Hitta en matchning av hörnen med udda valens som ger de m/2 stigarna med minsta vikt mellan vardera av de m/2 hörnparen. 13

20 3. Dubblera kanterna som ingick i stigarna som hittades i steg 2 i G. Den nya grafen G har nu inga hörn med udda valens. 4. Hitta en sluten eulerväg i G (kan göras med Fleurys algoritm). Denna väg är den optimala lösningen på CPP för G där kanterna från steg 2 traverseras två gånger. I denna algoritm är det steg 2 som är det svåraste, särskilt om många hörn i grafen har udda valens. För att hitta den kortaste stigen mellan två hörn kan man använda t.ex. Dijkstras algoritm som finns beskriven i [15] eller [3] (som beskriver en tillämpning där bara två hörn har udda valens). I [15] tar man även upp problemet med den parvisa matchningen. I praktiken förekommer det ofta ytterligare villkor som måste uppfyllas, t.ex. att vissa kanter bara får traverseras åt ena hållet, vilket kallas en riktad kant, som jag kommer att beskriva i nästa kapitel. Även i det fallet kan man använda Fleurys algoritm där man då också måste ta hänsyn till om den riktade kanten kan traverseras. Det bör dock sägas att det finns effektivare algoritmer som kan vara lämpligare om man har stora grafer, t.ex. Hierholzers algoritm, se [15] eller [16]. Exempel 7.2. I figur 8 visas en graf med två hörn med udda valens. För att göra grafen eulersk adderas en kopia av kanten {B,E} mellan dessa hörn. Den kortaste promenad som kommer tillbaka till utgångsläget A är då en sluten eulerväg i den nya grafen och som då måste traversera kanten {B,E} två gånger i den ursprungliga grafen. En sådan promenad är t.ex. AØBØEØBØCØDØEØFØA. 5 4 A B C F 6 E 7 D Figur 8 14

21 8. de Bruijn-grafer En speciell variant av eulerska grafer, som egentligen inte är en graf utan en digraf (se definitionen nedan) kallas de Bruijn-grafer. Dessa grafer har tillämpningar inom t.ex. dynamiska system, parallella beräkningar och genetik. Jag ger först några definitioner samt ett teorem som ger ett tillräckligt villkor för att visa att en digraf är eulersk. Definition 8.1. En digraf D = (V, A) är en riktad graf med en ändlig mängd V(D) med hörn och en ändlig multimängd A(D) med riktade kanter. Varje kant e = (u,v) är ett ordnat par av hörn u, v från V(D), där e kan bestå av samma hörnpar (v,v), kallas då loop, och där samma kant e kan förekomma mer är en gång i A(D). En kant (u,v) får bara traverseras från u till v, vilket brukar symboliseras med en pil som pekar mot v. Den riktade kantens multiplicitet anger hur många gånger kanten förekommer. Definition 8.2. Ett hörns invalens (eng. in-degree) indeg(v) anger antalet riktade kanter som är riktade mot hörnet v. Ett hörns utvalens (eng. out-degree) outdeg(v) anger antalet riktade kanter som är riktad från hörnet v. Definition 8.3. En digraf D är starkt sammanhängande om det för varje par av hörn u, v i D finns en riktad stig från u till v. Exempel 8.4. Starkt sammanhängande Ej starkt sammanhängande Figur 9 Definition 8.5. En starkt sammanhängande digraf D är eulersk om den har en sluten riktad väg som passerar alla riktade kanter i D endast en gång. En sådan väg kallas en sluten eulerväg. Teorem 8.6. Följande påståenden är ekvivalenta för en starkt sammanhängande digraf D: 1. D är eulersk. 2. För varje hörn v i D är indeg(v) = outdeg(v). 3. A(D) kan partitioneras i riktade cykler. Beviset är analogt med beviset för teorem 4.3. Även detta visar att teorem 7.1 är sant och att det dessutom i varje graf finns en promenad som traverserar varje kant en gång i båda riktningarna, eftersom man i en godtycklig graf kan ersätta varje kant med två riktade kanter, en i varje riktning. 15

22 Definition 8.7. En de Bruijn-sekvens B(m,n) är en cyklisk sekvens av längd m n som består av m olika symboler så att varje delsekvens av längd n endast finns representerad en gång i B(m,n). Exempel är en de Bruijn-sekvens B(2,3) där varje delsekvens av längd 3 är unik. Om man läser av tre på varandra följande symboler så får man alltid en ny unik sekvens vid varje position man börjar läsa. När man nått sista symbolen börjar man om från början. Definition 8.9. En de Bruijn-graf D m,n-1 är en digraf där hörnmängden består av de m n-1 olika sekvenserna av längd n-1 bestående av m symboler. Kantmängden består av de ordnade hörnparen (u,v) som uppfyller att de sista n-2 symbolerna i sekvensen u motsvarar de första n-2 symbolerna i v. Kanterna märks med sekvensen av längd n som fås genom att para ihop sekvensen från hörnet u med sista symbolen i sekvensen från v. För att återskapa de Bruijn-sekvensen i exemplet ovan kan man skapa en de Bruijn-graf D 2,2 (se figur 10) och finna en sluten eulerväg där kanterna motsvarar alla unika delsekvenser av längd 3 enligt följden (110,100,000,001,010,101,011,111). Sekvensen fås sedan genom att ta sista symbolen i varje delsekvens. Observera att det kan finnas flera olika eulervägar i samma de Bruijn-graf som då kan ge andra de Bruijn-sekvenser. Följer man den andra eulervägen i den här de Bruijn-grafen får man sekvensen som egentligen är samma sekvens som i exempel 8.8, förutom att 0 och 1 har bytt plats med varandra Figur 10 16

23 8.1. En tillämpning inom DNA-sekvensering de Bruijn-grafer förekommer vid en tillämpning där man försöker föra samman flera kortare DNA-fragment i rätt ordning till en längre DNA-sekvens [17]. Detta är nödvändigt om man t.ex. vill återskapa hela genomet hos en organism eftersom man med nuvarande teknik inte kan läsa av mer än några hundra baspar åt gången. Det som gör problemet svårt är att man ofta hittar flera likadana sekvenser som upprepas inom samma sekvens. För att lösa detta har man tidigare använt en metod som går ut på att först para ihop alla möjliga fragmentpar och skapa en graf där varje hörn motsvarar den kortare DNA-sekvensen och där en kant förbinder två hörn om det är ett möjligt överlappande par. För att skapa den fullständiga sekvensen måste man hitta en stig i grafen som passerar varje hörn endast en gång, kallat en hammiltonstig. Detta är ett mycket svårare problem än att hitta en eulerväg varför man här istället har omvandlat problemet till att hitta en eulerväg i en de Bruijn-graf. I de Bruijn-grafen motsvarar varje kant en kortare sekvens av fix längd än de ursprungliga DNA-fragmenten och alla repetitioner motsvaras av en multipel kant. Eftersom det vid DNA-analys oundvikligen uppstår felaktig avläsning och ofullständiga data har man i den metod som beskrivs i [17] utfört en del transformationer på den ursprungliga de Bruijn-grafen som gjort den enklare att hantera. I och med att man har delat upp fragmenten i kortare sekvenser så har man också vid skapandet av de Bruijngrafen förlorat en del information om den ursprungliga strukturen. Det kan alltså finnas flera olika eulervägar i samma digraf, medan bara en av dessa ger den korrekta sekvensen. För att kompensera detta ställer man krav på att eulervägen ska traversera kanterna i den ordning som överensstämmer med de ursprungliga längre fragmenten. Detta leder till en ny de Bruijn-graf med färre möjliga eulervägar än man hade från början. Det finns även metoder för att avgöra hur många olika eulervägar det finns i en given eulersk digraf [15], vilket i idealfallet bör vara endast en. Genom att utnyttja den här metoden har man i slutändan fått ett resultat som har haft betydligt färre fel än de resultat som baserats på den tidigare metoden. Detta gäller i synnerhet vissa svårhanterliga DNA-sekvenser som har många och långa repetitioner av samma sekvens. Exempel I figur 11 visas en de Bruijn-graf för DNA-sekvensen ATGTGCCGCA som beskrivs i [18]. Här finns det enbart en unik öppen eulerväg (som blir sluten om en riktad kant adderas från hörnet CA till hörnet AT). CCG GT CC CG TGT GTG GCC CGC AT TG GC ATG TGC GCA Figur 11 CA 17

24 9. Enumeration I det här kapitlet kommer jag att fokusera på de teoretiska aspekterna av enumeration av märkta grafer, vilket kan göras med hjälp av kombinatorik och s.k. genererande funktioner. Detta är generellt ett ganska komplicerat område, speciellt om man ställer flera bivillkor som graferna måste uppfylla. Exempelvis har man fortfarande inte någon formel som ger antalet icke-isomorfa planära grafer med ett givet antal hörn eller kanter. För att komma runt denna svårighet kommer jag enbart använda mig av en algoritmisk metod i de fall som gäller de icke-isomorfa (omärkta) graferna (se definition 9.1). En ytterligare anledning till det är att jag även är intresserad av att generera graferna och inte bara räkna antalet. Jag kommer också att begränsa mig till små grafer på max 8 hörn i det märkta fallet och max 10 hörn i det omärkta fallet. Eftersom detta handlar om eulerska grafer kommer jag dock att ge många fler specialfall med anknytning till dessa än vad man brukar ta med i liknande tabeller. Exempelvis kommer jag att studera vad som händer med antalet grafer då man successivt ökar antalet udda hörn. Jag kommer också att återvända till problemet med Königsbergs broar. Definition 9.1. Två grafer G 1 och G 2 är isomorfa om det finns en bijektion mellan hörnen i G 1 och G 2 så att antalet kanter som förbinder något godtyckligt par av hörn i G 1 är lika med antalet kanter som förbinder motsvarande hörn i G 2. Exempel 9.2. Två unika märkta grafer som dock är isomorfa visas i figur Figur Att räkna antalet märkta grafer är oftast ett enklare problem än att räkna antalet omärkta grafer. Ett intressant resultat som gäller enumeration av märkta jämna grafer är följande: Teorem 9.3. [19] Antalet märkta jämna enkla grafer med p hörn är lika med antalet märkta enkla grafer med p-1 hörn, d.v.s. 2 p 1 2 för p 1. Bevis. Låt G vara en godtycklig enkel graf med p-1 hörn märkta 1,..,p-1. Lägg till ett nytt hörn märkt p och lägg till nya kanter mellan alla hörn i G som har udda valens och hörnet p. Den nya grafen G kommer då ha p hörn med jämn valens eftersom det bara finns ett jämnt antal udda hörn. Detta beskriver en bijektion mellan märkta jämna grafer med p hörn och märkta grafer med p-1 hörn, varför antalet märkta jämna enkla grafer med p hörn är lika med antalet märkta enkla grafer med p-1 hörn. Att detta motsvarar antalet märkta p 1 enkla grafer beror på att det finns sätt att välja 2 hörn bland p-1 hörn, vilket ger 2 antalet möjliga kanter. Varje sådan kant kan i sin tur endera existera eller inte existera i 18

25 en enkel graf. Antalet enkla grafer blir därför enligt multiplikationsprincipen 2 upphöjt till antalet möjliga kanter. Ñ Teorem 9.3 är i sin tur ett specialfall av följande generellare resultat: Teorem 9.4. [20] Antalet märkta enkla grafer med p hörn, varav k hörn har udda valens är p 1 2 p 2 för p 1. k Bevis. Detta antal motsvarar antalet jämna enkla grafer med p hörn, där k hörn har färgats vita och p-k hörn har färgats svarta. En bijektion till grafer med k udda hörn kan bildas genom att man ersätter den delgraf som består av de vita hörnen med dess komplement, d.v.s. hörnpar som inte har någon kant gemensam får en ny kant och hörnpar som har en kant gemensam mister den kanten. Då kommer de svarta hörnen fortfarande ha jämn valens medan de vita kommer att få udda valens. Ñ Om man vill räkna antalet märkta enkla grafer både utifrån antalet hörn och antalet kanter och dessutom antalet udda hörn kan man använda sig av ett polynom som kallas van der Waerden-polynomet. i j Definition 9.5. van der Waerden-polynomet är W(G,x,y)= bi, j x y, där b i,j är antalet delgrafer till G med i kanter och V(G) hörn, varav j hörn har udda valens. För att räkna det totala antalet märkta grafer med p hörn som uppfyller vissa villkor kan man alltid utgå ifrån den kompletta grafen K p och sedan se vilka delgrafer till den som uppfyller villkoren. Detta eftersom den kompletta grafen innehåller alla enkla grafer upp till p hörn som delgrafer. För att beräkna van der Waerden polynomet för den kompletta grafen kan man gå via ett polynom kallat Ising-polynomet. Detta är också ett intressant polynom som har tillämpningar inom fysiken, där det används för att ge en modell för magnetiseringen av ferromagnetiska material utifrån atomernas spinn. Inom grafteorin har det däremot varit ganska okänt, men dess grafteoretiska egenskaper beskrivs utförligt i [21]. Definition 9.6. Ett kantsnitt i en graf G är en delmängd av kantmängden E(G), så att varje kant i kantsnittet har en ände i S och en i S, där S, S=V \ S är en bipartition av V(G). E( G) 2i V ( G) 2 j Definition 9.7. Ising-polynomet är Z(G,x,y)= ai, j x y, där a i,j är antalet kantsnitt i G med i kanter i snittet som förbinder en bipartition S, S=V \ S och j hörn tillhör den ena partitionen. i, j i, j 19

26 Ising-polynomet för den kompletta grafen kan beräknas med hjälp av följande formel: Teorem 9.8. Ising polynomet för K p är Z(K p,x,y)= p a= 0 a p a p + ( p a) a 2 2 p 2a x a För att omvandla Z(K p,x,y) till W(K p,x,y) kan man använda detta samband: Teorem 9.9. i, j b i j V i E i j V j i, j x y ai, j (1 x) (1 + x) (1 y) (1 + y) i, j = 2, där i och j har samma betydelse som i definition 9.5 och 9.7. Ising- respektive Van der Waerden-polynomet för K 4 blir således: y. Z(K 4,x,y)= 4 a= 0 4 x a 4 4 a + (4 a) a 2 2 y 4 2a = x 6 y y 2 + 6x y 2 + x 6 y 4 Koefficienterna blir enligt definition 9.7 a i,j i monomen a i,j x a 0,0 =1 a 3,1 =4 a 4,2 =6 a 3,3 =4 a 0,4 =1 Vilket enligt teorem 9.9 ger: 6 2 i 4 2 j y W(K 4,x,y)=2-4 ((1- x) 0 (1+x) 6 (1 - y) 0 (1+y) (1 - x) 3 (1+x) 3 (1 - y) 1 (1+y) (1 - x) 4 (1+x) 2 (1 - y) 2 (1+y) (1 - x) 3 (1+x) 3 (1 - y) 3 (1+y) 1 + (1 - x) 0 (1+x) 6 (1 - y) 4 (1 + y) 0 )= =1+4 x 3 +3 x 4 +6 x y x 2 y x 3 y x 4 y 2 +6 x 5 y 2 +3 x 2 y 4 +4 x 3 y 4 +x 6 y 4 Koefficienterna i ovanstående polynom för K 4 sammanfattas i tabell 1. Van der Waerdenpolynomet för K 8 har tagits fram på precis samma sätt, med eftersom det blir betydligt större återger jag det bara i en förenklad form. Koefficienterna kan dock utläsas ifrån tabell 2. W(K 8,x,y)=(1/256) (1+x) 12 ((1+x) 16 (y-1) 8 +8 (x-1) 7 (1+x) 9 (y-1) 7 (1+y)+28 (x-1) 12 (1+x) 4 (y-1) 6 (1+y) (x-1) 15 (1+x) (y-1) 5 (1+y) (x-1) 15 (1+x) (y-1) 3 (1+y) (x-1) 12 (1+x) 4 (y-1) 2 (1+y) 6 +8 (x-1) 7 (1+x) 9 (y-1) (1+y) 7 +(1+x) 16 (1+y) (x-1) 16 (y 2-1) 4 ) : 20

27 Märkta enkla grafer med 4 hörn Kanter 0 udda hörn 2 udda hörn 4 udda hörn Totalt Tabell 1 Märkta enkla grafer med 8 hörn Kanter 0 udda hörn 2 udda hörn 4 udda hörn 6 udda hörn 8 udda hörn Totalt Tabell 2 21

28 Det totala antalet kan lätt verifieras med teorem 9.4. Anledningen till att det totala antalet enkla grafer med p hörn, varav k är udda blir symmetriskt kring k=p/2 när k varieras, är att antalet enkla grafer G med k udda hörn är lika med antalet enkla grafer G (d.v.s. komplementen av en graferna G, vilket förklarades i teorem 9.4) med p-k udda hörn. Detta gäller dock bara då p är jämn. För att gå vidare och beräkna antalet eulerska och semieulerska grafer måste man ta reda på hur många av de ovanstående graferna som är sammanhängande. Det kan man i det eulerska fallet göra på åtminstone två sätt rent teoretiskt. Det ena sättet går ut på att använda vad man kallar för exponentialformen för genererande funktioner [19]. Först måste man då ta fram den exponentiella genererande funktionen för de jämna graferna. Här har jag utgått ifrån den enkla formeln från teorem 9.3 för att använda som koefficienter i denna potensserie: E( x) = p= 1 2 p 1 2 p x p! Ett enkelt samband råder mellan antalet grafer och antalet sammanhängande grafer i det här fallet. Om U(x) är motsvarande exponentiella genererande funktion för antalet sammanhängande eulerska grafer gäller följande: Teorem [19] 1+E(x) = exp U(x) För att ta fram U(x) behöver man alltså logaritmera 1+E(x) och sedan titta på koefficienterna före x p /p! i serieutvecklingen som då motsvarar antalet märkta eulerska enkla grafer med p hörn. Vill man räkna antalet märkta sammanhängande enkla grafer med p hörn kan man p 2 istället utgå ifrån 2, som motsvarar antalet enkla grafer enligt teorem 9.3, vilket ger den exponentiella genererande funktionen: G( x) = p= 1 2 p 2 p x p! Den exponentiella genererande funktionen för antalet sammanhängande enkla grafer blir då på motsvarande sätt ln(1+g(x)), i vilken koefficienterna före x p /p! i serieutvecklingen motsvarar antalet märkta sammanhängande enkla grafer med p hörn. Det andra sättet att ta fram antalet märkta eulerska enkla grafer är att utgå ifrån den rekursiva formeln i teorem 9.11 som egentligen är en konsekvens av teorem 9.3 och teorem 9.10 (se [19] för härledning). 22

29 Teorem [19] Antalet märkta eulerska enkla grafer U(p) med p hörn ges av U( p) = 2 p p p 1 k= 1 p k 2 k p k 1 2 U( k) När det gäller de semieulerska graferna kan man inte logaritmera den exponentiella genererande funktionen för antal grafer med 2 udda hörn som kan fås via teorem 9.4. Detta beror på att det inte råder ett rekursivt samband mellan komponenterna och den fullständiga grafen vilket är ett krav för att teorem 9.10 ska gälla. Det som händer är att komponenterna som var för sig kan ha 2 udda hörn, tillsammans kan ge upphov till en graf som kan ha fler än 2 udda hörn. Det ska precis vara en komponent som har 2 udda hörn och inga andra, vilket denna metod inte kan hantera. Jag har istället tagit fram en rekursiv formel liknande teorem 9.11 för att räkna antalet märkta semieulerska grafer. Denna formel har jag inte sett i någon av de källor jag har använt. Det finns dock rekursiva formler som för ett givet antal hörn p ger en genererande funktion ur vilken man kan härleda antalet sammanhängande enkla grafer som har k p udda hörn, både för märkta och omärkta grafer [22]. Teorem Antalet märkta semieulerska enkla grafer S(p) med p hörn ges av S( p) = 2 p 1 2 p 2 p 1 k= 2 p 2 k p k 1 2 S( k) Bevis. Låt B(p) vara antalet märkta enkla grafer med 2 udda hörn, E(p) antalet märkta enkla grafer med 0 udda hörn (d.v.s. de jämna enkla graferna) och S(p) antalet märkta enkla semieulerska grafer, med p hörn vardera. Då gäller följande kombinatoriska p p samband: B( p) = S( k) E( p k) k= 2 k Följande beskriver varför detta samband gäller: Eftersom de två udda hörnen måste tillhöra samma komponent motsvarar denna komponent de semieulerska graferna. Den har minst 2 hörn och kan som mest utgöra hela grafen B enligt figur 13 som representerar en godtycklig graf med två udda hörn. Om den semieulerska komponenten S har k hörn p kan den vara lokaliserad vid olika ställen inom B vilka alla motsvarar olika märkta k grafer. Vid ett fixt p utgörs därför den övriga grafen av E, som kan ha mellan 0 och p-2 hörn beroende av storleken på S. Detta ger enligt additions- och multiplikationsprincipen formeln för B(p). Löser man sedan denna ekvation med avseende på S(p) erhåller man följande rekursiva formel: p 1 p S( p) = B( p) E( p k) S( k). Eftersom både E(p) och B(p) är kända ifrån teorem 9.4 k= 2 k är det bara att sätta in dessa och därmed erhålla formeln som ges i teoremet. Ñ 23

30 B E Figur 13 Korollarium Låt B ( p) vara antalet omärkta enkla grafer med två udda hörn, E ( p) antalet omärkta jämna enkla grafer och S ( p) antalet omärkta semieulerska enkla grafer, med p hörn vardera. Då gäller följande samband: p B ( p) = S ( k) E ( p k) = ( S E )( p), där är den diskreta faltningen. k= 0 S Bevis. Eftersom läget av den semieulerska komponenten inte längre har någon betydelse p försvinner faktorn som fanns med i det märkta fallet. För övrigt kan aldrig k komponenten S vara isomorf med E (i figur 13) varför det kombinatoriska sambandet fortfarande gäller. Observera att E (0) =1 medan S (0) = S (1) =0. Ñ Eftersom det har tagits fram genererande funktioner som ger antalet omärkta enkla grafer med ett givet antal hörn och udda hörn [22] så kan man alternativt härleda antalet omärkta semieulerska enkla grafer via diskret dekonvolution på antalet enkla grafer med 0 och 2 udda hörn. Detta innebär alltså att man löser ekvationen i korollarium 9.13 med avseende på S ( p). Hur man beräknar antalet omärkta eulerska enkla grafer beskrivs i [19] och [20]. I följande tabell har jag sammanfattat antalet märkta eulerska och semieulerska grafer upp till 8 hörn. För att räkna de sammanhängande och de eulerska graferna har jag använt metoden med de genererande funktionerna. För att räkna de semieulerska graferna har jag använt den rekursiva formeln. Dessa värden har dessutom kontrollerats med den algoritmiska metoden som jag beskriver i kapitel

31 Märkta sammanhängande enkla grafer Hörn Alla Eulerska Semieulerska Tabell 3 Eftersom det ibland kan vara av intresse att graferna är planära har jag även tagit fram motsvarande värden för dessa. Här har jag dock enbart använt den algoritmiska metoden. Det går dock även att beräkna antalet planära grafer rent teoretiskt i det märkta fallet. Märkta sammanhängande planära enkla grafer Hörn Alla Eulerska Semieulerska Tabell Algoritmisk metod För att beräkna antalet grafer algoritmiskt har jag använt mig av programpaketet nauty [23] och två egna program genlg och countdeg skrivna i C (se appendix). Metoden kan kortfattat beskrivas så här: 1. Generera alla grafer som tillhör den klass av grafer som ska räknas. 2. Kolla hur många av dessa som har 0 udda hörn, 2 udda hörn etc. De program som ingår i nauty och som jag har använt är följande (för detaljerad beskrivning hänvisas till användarmanualen som ingår i nauty [23]): geng: genererar och räknar icke-isomorfa enkla grafer med givna egenskaper. multig: genererar och räknar icke-isomorfa grafer (enkla grafer + multigrafer) med givna underliggande enkla grafer. amtog: konverterar mellan grannmatris-formatet och graph6-formatet. 25

32 pickg: sorterar ut och räknar antalet grafer med givna egenskaper (t.ex. antal hörn, antal kanter eller sammanhängande). planarg:sorterar ut och räknar grafer som är planära. Det optimala är om man direkt kan generera endast de grafer man är intresserad av att räkna (t.ex. enbart eulerska grafer), vilket jag dock inte gjort här. En anledning till att jag skrivit egna program är att det inte går att generera alla märkta grafer med något program i nauty vilket egentligen är ganska enkelt. Med programmet genlg, som är ett av de 2 program jag har skrivit själv, genereras en fil med alla binära tal mellan 0 och 2. Denna fil kan läsas av programmet amtog, som konverterar det till en graph6-fil, vilket är det format som nauty i huvudsak använder. Detta motsvarar alla märkta enkla grafer med p hörn. Om man sedan vill sortera ut alla sammanhängande grafer i denna graph6-fil används pickg med (det något kryptiska) kommandoradsargumentet -~c0. Slutligen konverterar jag dessa till grannmatrisformatet med hjälp av multig A m1 [infile [outfile]] vilket kan läsas av mitt egna program countdeg. Man kan alltså behöva använda ett antal olika program med olika argument, beroende av vilken graf som ska genereras, för att åstadkomma steg 1 i den kortfattade beskrivningen ovan. Oftast är det dock ganska givet enligt instruktionerna i programmet eller manualen hur man ska göra, varför jag inte kommer att gå in på alla tekniska detaljer som gäller detta. Det andra programmet countdeg är lite mer komplicerat. Detta använder jag för att räkna antalet grafer med ett specificerat antal udda hörn, d.v.s. steg 2 i beskrivningen ovan. Detta kan inte på något enkelt sätt göras direkt med nauty. Det finns möjlighet att räkna antalet eulerska enkla grafer med pickg (eller countg), men inte antalet eulerska multigrafer som jag till viss del kommer att räkna senare. För att åstadkomma detta utgick jag ifrån ett filformat som används av multig för att generera multigrafer och även enkla grafer. Detta är en fil som rad för rad innehåller antalet hörn följt av den övre triangeln ur den s.k. grannmatrisen. En rad kan exempelvis se ut så här: Vilket motsvarar en enkel graf med 3 hörn som har en grannmatris som ser ut så här: p Varje rad och varje kolonn motsvarar ett hörn och man kan alltså utläsa hur många kanter som finns mellan dessa hörn i matrisen. För att utläsa ett hörns valens kan man lägga ihop alla tal som finns i en enskild rad (eller kolonn). Detta innebär att valenssekvensen i den ordning hörnen anges för den här grafen är (1,1,2). Det jag gör är alltså att först skapa en grannmatris och sedan adderar talen i varje rad för att kontrollera om det är ett udda tal och sedan har en variabel som håller reda på hur många det är. Stämmer antalet med det specificerade antalet udda hörn ökas en annan variabel som då ger det totala antalet grafer som uppfyller det ursprungliga villkoret. Dessa program är inte särskilt optimerade, men eftersom jag har fokuserat på mindre grafer har jag prioriterat att behålla programmen i någorlunda läsbart skick än att få dem att gå så snabbt som möjligt. Det som fortfarande 26

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

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

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

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

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

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

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

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

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

Övningshäfte 2: Induktion och rekursion

Övningshäfte 2: Induktion och rekursion GÖTEBORGS UNIVERSITET MATEMATIK 1, MMG200, HT2017 INLEDANDE ALGEBRA Övningshäfte 2: Induktion och rekursion Övning D Syftet är att öva förmågan att utgående från enkla samband, aritmetiska och geometriska,

Läs mer

SF2715 Tillämpad kombinatorik, 6hp

SF2715 Tillämpad kombinatorik, 6hp SF75 Tillämpad kombinatorik, 6hp Fortsättningskurs i matematik 7 mars 7 maj 009 Kursledare: Jakob Jonsson Upplägg 6 hp = p enligt gamla systemet 8 dubbeltimmar med teori och problemlösning Kursbok och

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ösningsförslag till övningsuppgifter, del II

Lösningsförslag till övningsuppgifter, del II Lösningsförslag till övningsuppgifter del II Obs! Preliminär version! Ö.1. För varje delare d till n låt A d var mängden av element a sådana att gcd(a n = d. Partitionen ges av {A d : d delar n}. n = 6:

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

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

Introduktion till algoritmer - Lektion 4 Matematikgymnasiet, Läsåret 2014-2015. Lektion 4

Introduktion till algoritmer - Lektion 4 Matematikgymnasiet, Läsåret 2014-2015. Lektion 4 Introduktion till algoritmer - Lektion 4 Matematikgymnasiet, Läsåret 014-015 Denna lektion ska vi studera rekursion. Lektion 4 Principen om induktion Principen om induktion är ett vanligt sätt att bevisa

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 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

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

Lösning till tentamensskrivning i Diskret Matematik för CINTE och CMETE, m fl, SF1610, tisdagen den 2 juni 2015, kl

Lösning till tentamensskrivning i Diskret Matematik för CINTE och CMETE, m fl, SF1610, tisdagen den 2 juni 2015, kl 1 Matematiska Institutionen KTH Lösning till tentamensskrivning i Diskret Matematik för CINTE och CMETE, m fl, SF1610, tisdagen den juni 015, kl 1.00-19.00. Examinator: Olof Heden Hjälpmedel: Inga hjälpmedel

Läs mer

Grafer och grannmatriser

Grafer och grannmatriser Föreläsning 2, Linjär algebra IT VT2008 Som avslutning på kursen ska vi knyta samman linjär algebra med grafteori och sannolikhetsteori från första kursen. Resultatet blir så kallade slumpvandringar på

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, )}, i N, 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 innehåller

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

Lösningsförslag till tentamensskrivning i SF1610 Diskret Matematik för CINTE 30 maj 2018, kl

Lösningsförslag till tentamensskrivning i SF1610 Diskret Matematik för CINTE 30 maj 2018, kl 1 Matematiska Institutionen KTH Lösningsförslag till tentamensskrivning i SF1610 Diskret Matematik för CINTE 30 maj 2018, kl 08.00 13.00. Examinator: Petter Brändén Kursansvarig: Olof Sisask Hjälpmedel:

Läs mer

inte följa någon enkel eller fiffig princip, vad man nu skulle mena med det. All right, men

inte följa någon enkel eller fiffig princip, vad man nu skulle mena med det. All right, men MATEMATISKA INSTITUTIONEN STOCKHOLMS UNIVERSITET Christian Gottlieb Gymnasieskolans matematik med akademiska ögon Induktion Dag 2. Explicita formler och rekursionsformler. Dag mötte vi flera talföljder,

Läs mer

Lösningsförslag till Tentamen i 5B1118 Diskret matematik 5p 14 augusti, 2002

Lösningsförslag till Tentamen i 5B1118 Diskret matematik 5p 14 augusti, 2002 Institutionen för matematik, KTH Mats Boij och Niklas Eriksen Lösningsförslag till Tentamen i 5B1118 Diskret matematik 5p 14 augusti, 2002 1. Använd induktion för att visa att 8 delar (2n + 1 2 1 för alla

Läs mer

DD1350 Logik för dataloger. Fö 7 Predikatlogikens semantik

DD1350 Logik för dataloger. Fö 7 Predikatlogikens semantik DD1350 Logik för dataloger Fö 7 Predikatlogikens semantik 1 Kryssprodukt av mängder Om A och B är två mängder så är deras kryssprodukt A B mängden av alla par (a,b), där a A och b B. Ex: A={1,2}, B={3,4},

Läs mer

1 De fyra fundamentala underrummen till en matris

1 De fyra fundamentala underrummen till en matris Krister Svanberg, mars 2012 1 De fyra fundamentala underrummen till en matris 1.1 Definition av underrum En given delmängd M av IR n säges vara ett underrum i IR n om följande gäller: För varje v 1 M,

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

SF2715 Applied Combinatorics// Extra exercises and solutions, Part 2

SF2715 Applied Combinatorics// Extra exercises and solutions, Part 2 SF2715 Applied Combinatorics// Extra exercises and solutions, Part 2 Jakob Jonsson April 5, 2011 Ö Övningsuppgifter These extra exercises are mostly in Swedish. If you have trouble understanding please

Läs mer

Lars-Daniel Öhman Lördag 2 maj 2015 Skrivtid: 9:00 15:00 Hjälpmedel: Miniräknare, lock till miniräknare

Lars-Daniel Öhman Lördag 2 maj 2015 Skrivtid: 9:00 15:00 Hjälpmedel: Miniräknare, lock till miniräknare Umeå universitet Tentamen i matematik Institutionen för matematik Introduktion till och matematisk statistik diskret matematik Lars-Daniel Öhman Lördag 2 maj 2015 Skrivtid: 9:00 15:00 Hjälpmedel: Miniräknare,

Läs mer

Algoritmer, datastrukturer och komplexitet

Algoritmer, datastrukturer och komplexitet Algoritmer, datastrukturer och komplexitet Övning 6 Anton Grensjö grensjo@csc.kth.se 4 oktober 2017 1 Idag Algoritmkonstruktion (lite blandat) Redovisning och inlämning av labbteori 3 2 Uppgifter Uppgift

Läs mer

Induktion, mängder och bevis för Introduktionskursen på I

Induktion, mängder och bevis för Introduktionskursen på I Induktion, mängder och bevis för Introduktionskursen på I J A S, ht 04 1 Induktion Detta avsnitt handlar om en speciell teknik för att försöka bevisa riktigheten av påståenden eller formler, för alla heltalsvärden

Läs mer

Algoritmer, datastrukturer och komplexitet

Algoritmer, datastrukturer och komplexitet Algoritmer, datastrukturer och komplexitet Övning 6 Anton Grensjö grensjo@csc.kth.se 9 oktober 2015 Anton Grensjö ADK Övning 6 9 oktober 2015 1 / 23 Översikt Kursplanering Ö5: Grafalgoritmer och undre

Läs mer

TATM79: Föreläsning 1 Notation, ekvationer, polynom och summor

TATM79: Föreläsning 1 Notation, ekvationer, polynom och summor TATM79: Föreläsning 1 Notation, ekvationer, polynom och summor Johan Thim 22 augusti 2018 1 Vanliga symboler Lite logik Implikation: P Q. Detta betyder att om P är sant så är Q sant. Utläses P medför Q

Läs mer

Algebra och Diskret Matematik A (svenska)

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

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

Lösning av tentamensskrivning i Diskret Matematik för CINTE och CMETE, SF1610, tisdagen den 27 maj 2014, kl

Lösning av tentamensskrivning i Diskret Matematik för CINTE och CMETE, SF1610, tisdagen den 27 maj 2014, kl 1 Matematiska Institutionen KTH Lösning av tentamensskrivning i Diskret Matematik för CINTE och CMETE, SF1610, tisdagen den 27 maj 2014, kl 14.00-19.00. Examinator: Olof Heden Hjälpmedel: Inga hjälpmedel

Läs mer

En kedja av koder. Isak Lyckberg Peder Skrivares skola, Varberg. 23 april 2009

En kedja av koder. Isak Lyckberg Peder Skrivares skola, Varberg. 23 april 2009 En kedja av koder Isak Lyckberg Peder Skrivares skola, Varberg 23 april 2009 Sammanfattning I detta projektarbete undersöks en egenskap hos strängar av tecken, som är viktig för att analysera säkerheten

Läs mer

KOMBINATORIK. Exempel 1. Motivera att det bland 11 naturliga tal finns minst två som slutar på samma

KOMBINATORIK. Exempel 1. Motivera att det bland 11 naturliga tal finns minst två som slutar på samma Explorativ övning 14 KOMBINATORIK Kombinatoriken används ofta för att räkna ut antalet möjligheter i situationer som leder till många olika utfall. Den används också för att visa att ett önskat utfall

Läs mer

Material till kursen SF1679, Diskret matematik: Lite om kedjebråk. 0. Inledning

Material till kursen SF1679, Diskret matematik: Lite om kedjebråk. 0. Inledning Matematik, KTH Bengt Ek november 207 Material till kursen SF679, Diskret matematik: Lite om kedjebråk 0 Inledning Talet π (kvoten mellan en cirkels omkrets och dess diameter) är inte ett rationellt tal

Läs mer

Uppsala Universitet Matematiska Institutionen Thomas Erlandsson

Uppsala Universitet Matematiska Institutionen Thomas Erlandsson Uppsala Universitet Matematiska Institutionen Thomas Erlandsson LÄSANVISNINGAR VECKA 36 VERSION 1. ARITMETIK FÖR RATIONELLA OCH REELLA TAL, OLIKHETER, ABSOLUTBELOPP ADAMS P.1 Real Numbers and the Real

Läs mer

Begreppen "mängd" och "element" är grundläggande begrepp i matematiken.

Begreppen mängd och element är grundläggande begrepp i matematiken. MÄNGDER Grundläggande begrepp och beteckningar Begreppen "mängd" och "element" är grundläggande begrepp i matematiken. Vi kan beskriva (ange, definiera) en mängd som innehåller ändligt många element genom

Läs mer

1 Minkostnadsflödesproblem i nätverk

1 Minkostnadsflödesproblem i nätverk Krister Svanberg, april 2012 1 Minkostnadsflödesproblem i nätverk Ett nätverk består av en given mängd noder numrerade från 1 till m (där m är antalet noder) samt en given mängd riktade bågar mellan vissa

Läs mer

18 juni 2007, 240 minuter Inga hjälpmedel, förutom skrivmateriel. Betygsgränser: 15p. för Godkänd, 24p. för Väl Godkänd (av maximalt 36p.

18 juni 2007, 240 minuter Inga hjälpmedel, förutom skrivmateriel. Betygsgränser: 15p. för Godkänd, 24p. för Väl Godkänd (av maximalt 36p. HH / Georgi Tchilikov DISKRET MATEMATIK,5p. 8 juni 007, 40 minuter Inga hjälpmedel, förutom skrivmateriel. Betygsgränser: 5p. för Godkänd, 4p. för Väl Godkänd (av maximalt 36p.). Förenkla (så mycket som

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

Lösningsförslag till Tentamen i 5B1118 Diskret matematik 5p 20 december, 2001

Lösningsförslag till Tentamen i 5B1118 Diskret matematik 5p 20 december, 2001 Institutionen för matematik, KTH Mats Boij och Niklas Eriksen Lösningsförslag till Tentamen i 5B1118 Diskret matematik 5p 20 december, 2001 1. Låt M = {0, 1, 2,..., 99} och definiera en funktion f : M

Läs mer

3 differensekvationer med konstanta koefficienter.

3 differensekvationer med konstanta koefficienter. Matematiska institutionen Carl-Henrik Fant 17 november 2000 3 differensekvationer med konstanta koefficienter 31 T Med en menar vi en av rella eller komplexa tal varje heltal ges ett reellt eller komplext

Läs mer

Kimmo Eriksson 12 december 1995. Att losa uppgifter av karaktaren \Bevisa att..." uppfattas av manga studenter

Kimmo Eriksson 12 december 1995. Att losa uppgifter av karaktaren \Bevisa att... uppfattas av manga studenter Kimmo Eriksson 12 december 1995 Matematiska institutionen, SU Att genomfora och formulera ett bevis Att losa uppgifter av karaktaren \Bevisa att..." uppfattas av manga studenter som svart. Ofta ar det

Läs mer

1 Duala problem vid linjär optimering

1 Duala problem vid linjär optimering Krister Svanberg, april 2012 1 Duala problem vid linjär optimering Detta kapitel handlar om två centrala teoretiska resultat för LP, nämligen dualitetssatsen och komplementaritetssatsen. Först måste vi

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öreläsning 6. Slumptal Testa slumptal Slumptal för olika fördelningar Grafer Datastrukturen graf

Föreläsning 6. Slumptal Testa slumptal Slumptal för olika fördelningar Grafer Datastrukturen graf Föreläsning 6 Slumptal Testa slumptal Slumptal för olika fördelningar Grafer Datastrukturen graf Repetition En dator kan inte generera slumptal då den är helt deterministisk, däremot kan den generera pseudo-slumptal

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

, 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

Institutionen för matematik, KTH Mats Boij. Lösningsförslag till Tentamen i 5B1118 Diskret matematik 5p 20 december, 2000

Institutionen för matematik, KTH Mats Boij. Lösningsförslag till Tentamen i 5B1118 Diskret matematik 5p 20 december, 2000 Institutionen för matematik, KTH Mats Boij Lösningsförslag till Tentamen i 5B1118 Diskret matematik 5p 20 december, 2000 1) Beräkna x 4 + 2x 3 + 3 för alla värden på x i Z 5. Lösning: Det nns bara fem

Läs mer

SF2715 Tillämpad kombinatorik Kompletterande material och övningsuppgifter Del IV

SF2715 Tillämpad kombinatorik Kompletterande material och övningsuppgifter Del IV SF2715 Tillämpad kombinatorik Kompletterande material och övningsuppgifter Del IV Jakob Jonsson 28 april 2009 Detta häfte innehåller kompletterande material till del IV av kursen SF2715 Tillämpad kombinatorik,

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

Lösning till tentamensskrivning i Diskret Matematik för CINTE och CMETE, SF1610 och 5B1118, tisdagen den 7 januari 2014, kl

Lösning till tentamensskrivning i Diskret Matematik för CINTE och CMETE, SF1610 och 5B1118, tisdagen den 7 januari 2014, kl 1 Matematiska Institutionen KTH Lösning till tentamensskrivning i Diskret Matematik för CINTE och CMETE, SF1610 och 5B1118, tisdagen den 7 januari 2014, kl 14.00-19.00. Examinator: Olof Heden Hjälpmedel:

Läs mer

Övningshäfte 1: Induktion, rekursion och summor

Övningshäfte 1: Induktion, rekursion och summor LMA100 VT2006 ARITMETIK OCH ALGEBRA DEL 2 Övningshäfte 1: Induktion, rekursion och summor Övning A 1. Kan ni fortsätta följden 1,3,5,7,9,11,...? 2. Vilket är det 7:e talet i följden? Vilket är det 184:e?

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

Läsanvisning till Discrete matematics av Norman Biggs - 5B1118 Diskret matematik

Läsanvisning till Discrete matematics av Norman Biggs - 5B1118 Diskret matematik Läsanvisning till Discrete matematics av Norman Biggs - 5B1118 Diskret matematik Mats Boij 18 november 2001 13 Grupper Det trettonde kapitlet behandlar grupper. Att formulera abstrakta begrepp som grupper

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

Exempel. Komplexkonjugerade rotpar

Exempel. Komplexkonjugerade rotpar TATM79: Föreläsning 4 Polynomekvationer och funktioner Johan Thim 2 augusti 2016 1 Polynomekvationer Vi börjar med att upprepa definitionen av ett polynom. Polynom Definition. Ett polynom p(z) är ett uttryck

Läs mer

Begreppen "mängd" och "element" är grundläggande begrepp i matematiken.

Begreppen mängd och element är grundläggande begrepp i matematiken. MÄNGDER Grundläggande begrepp och beteckningar egreppen "mängd" och "element" är grundläggande begrepp i matematiken. Vi kan beskriva (ange, definiera) en mängd som innehåller ändligt många element genom

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

Speciell användning av heltalsvariabler. Heltalsprogrammering. Antingen-eller-villkor: Exempel. Speciell användning av heltalsvariabler

Speciell användning av heltalsvariabler. Heltalsprogrammering. Antingen-eller-villkor: Exempel. Speciell användning av heltalsvariabler Heltalsprogrammering Speciell användning av heltalsvariabler max z = då c j x j j= a ij x j b i j= x j 0 x j heltal i =,..., m j =,..., n j =,..., n ofta x j u j j =,..., n Oftast c, A, b heltal. Ibland

Läs mer

1 LP-problem på standardform och Simplexmetoden

1 LP-problem på standardform och Simplexmetoden Krister Svanberg, mars 202 LP-problem på standardform och Simplexmetoden I detta avsnitt utgår vi från LP-formuleringen (2.2) från föreläsning. Denna form är den bäst lämpade för en strömlinjeformad implementering

Läs mer

Lösningar för tenta i TMV200 Diskret matematik kl. 14:00 18:00

Lösningar för tenta i TMV200 Diskret matematik kl. 14:00 18:00 Lösningar för tenta i TMV200 Diskret matematik 2018-08-31 kl 1:00 18:00 1 Om argumentet inte är giltigt går det att hitta ett motexempel, dvs en uppsättning sanningsvärden för vilka alla hypoteserna är

Läs mer

Hela tal LCB 1999/2000

Hela tal LCB 1999/2000 Hela tal LCB 1999/2000 Ersätter Grimaldi 4.3 4.5 1 Delbarhet Alla förekommande tal i fortsättningen är heltal. DEFINITION 1. Man säger att b delar a om det finns ett heltal n så att a Man skriver b a när

Läs mer

Lite om räkning med rationella uttryck, 23/10

Lite om räkning med rationella uttryck, 23/10 Lite om räkning med rationella uttryck, / Tänk på att polynom uppför sig ungefär som heltal Summan, differensen respektive produkten av två heltal blir ett heltal och på motsvarande sätt blir summan, differensen

Läs mer

I en matchning ligger varje hörn i högst en kant. I en stig ligger varje hörn i högst två kanter.

I en matchning ligger varje hörn i högst en kant. I en stig ligger varje hörn i högst två kanter. 26.2-9 Antag att rätt lösning är att dela upp V i V 1 och V 2 (V 1 V 2 =, V 1 V 2 = V ). Antal kanter vi måste skära är då det minsta snittet mellan v 1 och v 2, där v 1 är ett godtyckligt hörn i V 1 och

Läs mer

(N) och mängden av heltal (Z); objekten i en mängd behöver dock inte vara tal. De objekt som ingår i en mängd kallas för mängdens element.

(N) och mängden av heltal (Z); objekten i en mängd behöver dock inte vara tal. De objekt som ingår i en mängd kallas för mängdens element. Grunder i matematik och logik (2017) Mängdlära Marco Kuhlmann 1 Grundläggande begrepp Mängder och element 2.01 En mängd är en samling objekt. Två standardexempel är mängden av naturliga tal (N) och mängden

Läs mer

Lösningsförslag till övningsuppgifter, del V

Lösningsförslag till övningsuppgifter, del V Lösningsförslag till övningsuppgifter, del V Obs! Preliminär version! Ö.1. (a) Vi kan lösa uppgiften genom att helt enkelt räkna ut avståndet mellan vart och ett av de ( 7 ) = 1 paren. Först noterar vi

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

Grundläggande logik och modellteori

Grundläggande logik och modellteori Grundläggande logik och modellteori Kapitel 6: Binära beslutsdiagram (BDD) Henrik Björklund Umeå universitet 22. september, 2014 Binära beslutsdiagram Binära beslutsdiagram (Binary decision diagrams, BDDs)

Läs mer

Några satser ur talteorin

Några satser ur talteorin Några satser ur talteorin LCB 997/2000 Fermats, Eulers och Wilsons satser Vi skall studera några klassiska satser i talteori, vilka är av betydelse bland annat i kodningsteknik och kryptoteknik. De kan

Läs mer

Grundläggande logik och modellteori

Grundläggande logik och modellteori Grundläggande logik och modellteori Kapitel 3: Bevissystem, Hilbertsystem Henrik Björklund Umeå universitet 8. september, 2014 Bevissystem och Hilbertsystem Teorier och deduktionsproblemet Axiomscheman

Läs mer

Föreläsningsanteckningar S6 Grafteori

Föreläsningsanteckningar S6 Grafteori HT 009 Tobias Wrigstad Introduktion till grafteori På den här föreläsningen tar vi upp elementär grafteori och försöker introducera termer och begrepp som blir viktigare i senare kurser. Subjektivt tycker

Läs mer

Vinjetter TDDC91 Datastrukturer och algoritmer

Vinjetter TDDC91 Datastrukturer och algoritmer Vinjetter TDDC91 Datastrukturer och algoritmer 17 augusti 2015 2 Scenario 1 Man har inom Posten Logistik AB skrivit programvara för sortering av kundinformation och vill standardisera användningen av sorteringsalgoritmer.

Läs mer

MULTIPLIKATION AV MATRISER, BASER I RUMMET SAMT FÖRSTA MÖTET MED MATRISINVERSER = = =

MULTIPLIKATION AV MATRISER, BASER I RUMMET SAMT FÖRSTA MÖTET MED MATRISINVERSER = = = Matematiska institutionen Stockholms universitet CG Matematik med didaktisk inriktning 2 Problem i Algebra, geometri och kombinatorik Snedsteg 5 MULTIPLIKATION AV MATRISER, BASER I RUMMET SAMT FÖRSTA MÖTET

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 10 Anton Grensjö grensjo@csc.kth.se 9 november 2017 1 Idag En konstruktionsreduktion Fler bevis av NP-fullständighet 2 Teori Repetition Ett problem tillhör

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

Vektorgeometri för gymnasister

Vektorgeometri för gymnasister Vektorgeometri för gymnasister Per-Anders Svensson http://w3.msi.vxu.se/users/pa/vektorgeometri/gymnasiet.html Institutionen för datavetenskap, fysik och matematik Linnéuniversitetet Vektorer i planet

Läs mer

Hjalpmedel: Inga hjalpmedel ar tillatna pa tentamensskrivningen. 1. (3p) Los ekvationen 13x + 18 = 13 i ringen Z 64.

Hjalpmedel: Inga hjalpmedel ar tillatna pa tentamensskrivningen. 1. (3p) Los ekvationen 13x + 18 = 13 i ringen Z 64. Matematiska Institutionen KTH Losning till tentamensskrivning i Diskret Matematik, SF och B8, torsdagen den oktober, kl.-.. Examinator Olof Heden. Hjalpmedel Inga hjalpmedel ar tillatna pa tentamensskrivningen.

Läs mer

Modelltentamen. Ditt svar ska vara ett ändligt uttryck utan summationstecken.

Modelltentamen. Ditt svar ska vara ett ändligt uttryck utan summationstecken. SF2715 Tillämpad kombinatorik, våren 2009 Jakob Jonsson Modelltentamen Denna modelltentamen är tänkt att illustrera svårighetsgraden på en riktig tentamen. Att en viss typ av uppgift dyker upp här innebär

Läs mer

1 Grundläggande kalkyler med vektorer och matriser

1 Grundläggande kalkyler med vektorer och matriser Krister Svanberg, mars 2015 1 Grundläggande kalkyler med vektorer och matriser Trots att läsaren säkert redan behärskar grundläggande vektor- och matriskalkyler, ges här i Kapitel 1 en repetition om just

Läs mer

Diskret matematik: Övningstentamen 4

Diskret matematik: Övningstentamen 4 Diskret matematik: Övningstentamen 22. Beskriv alla relationer, som är såväl ekvivalensrelationer som partiella ordningar. Är någon välbekant relation sådan? 23. Ange alla heltalslösningar till ekvationen

Läs mer

Arbeta vidare med aritmetik 2018

Arbeta vidare med aritmetik 2018 Arbeta vidare med aritmetik 2018 I det här materialet har vi samlat problem inom aritmetik från flera olika tävlingsklasser, från Ecolier till Student. Årtal Varje år förekommer det problem som utgår från

Läs mer

Kombinatorik. Kapitel 2. Allmänt kan sägas att inom kombinatoriken sysslar man huvudsakligen med beräkningar av

Kombinatorik. Kapitel 2. Allmänt kan sägas att inom kombinatoriken sysslar man huvudsakligen med beräkningar av Kapitel 2 Kombinatorik Allmänt kan sägas att inom kombinatoriken sysslar man huvudsakligen med beräkningar av det antal sätt, på vilket elementen i en given mängd kan arrangeras i delmängder på något sätt.

Läs mer

Föreläsning 5: Giriga algoritmer. Kruskals och Prims algoritmer

Föreläsning 5: Giriga algoritmer. Kruskals och Prims algoritmer Föreläsning 5: Giriga algoritmer Kruskals och Prims algoritmer Spännande träd: Om G är en sammanhängande graf så är ett spännande träd ett träd som innehåller alla noder i V (G). Viantarattviharkantvikterw(e)

Läs mer

Kontinuitet och gränsvärden

Kontinuitet och gränsvärden Kapitel Kontinuitet och gränsvärden.1 Introduktion till kontinuerliga funktioner Kapitlet börjar med allmänna definitioner. Därefter utvidgar vi successivt familjen av kontinuerliga funktioner, genom specifika

Läs mer

Lektion 8: Konstruktion av semantiska tablåer för PTL-formler

Lektion 8: Konstruktion av semantiska tablåer för PTL-formler Lektion 8: Konstruktion av semantiska tablåer för PTL-formler Till denna lektion hör uppgift 2, 6 och 0 i lärobokens avsnitt.6 (sid. 255). Lös uppgift 2 genom att konstruera en semantisk tablå. Följande

Läs mer

Explorativ övning 9 RELATIONER OCH FUNKTIONER

Explorativ övning 9 RELATIONER OCH FUNKTIONER Explorativ övning 9 RELATIONER OCH FUNKTIONER Övningens syfte är att bekanta sig med begreppet relation på en mängd M. Begreppet relation i matematiska sammanhang anknyter till betydelsen av samma ord

Läs mer

Matematik för språkteknologer (5LN445) Institutionen för lingvistik och filologi VT 2014 Författare: Marco Kuhlmann 2013

Matematik för språkteknologer (5LN445) Institutionen för lingvistik och filologi VT 2014 Författare: Marco Kuhlmann 2013 UPPSALA UNIVERSITET Matematik för språkteknologer (5LN445) Institutionen för lingvistik och filologi VT 2014 Författare: Marco Kuhlmann 2013 4 Grafer En graf är en struktur av prickar förbundna med streck.

Läs mer

Efternamn förnamn pnr kodnr

Efternamn förnamn pnr kodnr KTH Matematik Olof Heden Σ p G/U bonus Efternamn förnamn pnr kodnr Lösning till kontrollskrivning 5A, 21 maj 2015, 13.15 14.15, i SF1610 Diskret matematik för CINTE, CMETE mfl. Inga hjälpmedel tillåtna.

Läs mer

1. (3p) Ett RSA-krypto har parametrarna n = 77 och e = 37. Dekryptera meddelandet 3, dvs bestäm D(3). 60 = = =

1. (3p) Ett RSA-krypto har parametrarna n = 77 och e = 37. Dekryptera meddelandet 3, dvs bestäm D(3). 60 = = = Matematiska Institutionen KTH Lösningar till tentamensskrivning på kursen Diskret Matematik, moment B, för D2 och F, SF63 och SF630, den 20 maj 2009 kl 08.00-3.00. Hjälpmedel: Inga hjälpmedel är tillåtna

Läs mer

Föreläsning 2: Grafer. Exempel på graf

Föreläsning 2: Grafer. Exempel på graf Föreläsning 2: Grafer Vad är en graf? Terminologi Representationer Genomgång av hörnen i en graf Kortaste väg-problemet Exempel på graf Falun Uppsala Karlstad Västerås Stockholm Eskilstuna Örebro En graf

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