Eulerska grafer: egenskaper och tillämpningar

Relevanta dokument
MA2047 Algebra och diskret matematik

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

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

Om plana och planära grafer

Om plana och planära grafer

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

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

Uppgifter 6: Grafteori

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

Övningshäfte 2: Induktion och rekursion

SF2715 Tillämpad kombinatorik, 6hp

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

Lösningsförslag till övningsuppgifter, del II

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.

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

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

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

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

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

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

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

Grafer och grannmatriser

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

Efternamn förnamn ååmmdd kodnr

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

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

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

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

1 De fyra fundamentala underrummen till en matris

DEL I. Matematiska Institutionen KTH

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

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

Algoritmer, datastrukturer och komplexitet

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

Algoritmer, datastrukturer och komplexitet

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

Algebra och Diskret Matematik A (svenska)

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

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

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

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

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

Uppsala Universitet Matematiska Institutionen Thomas Erlandsson

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

1 Minkostnadsflödesproblem i nätverk

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.

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

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

3 differensekvationer med konstanta koefficienter.

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

1 Duala problem vid linjär optimering

729G04 - Diskret matematik. Lektion 4

Föreläsning 6. Slumptal Testa slumptal Slumptal för olika fördelningar Grafer Datastrukturen graf

Algoritmer, datastrukturer och komplexitet

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

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

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

Efternamn förnamn pnr årskurs

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

Övningshäfte 1: Induktion, rekursion och summor

Tentamen TMV210 Inledande Diskret Matematik, D1/DI2

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

Kvalificeringstävling den 30 september 2008

Exempel. Komplexkonjugerade rotpar

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

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

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

1 LP-problem på standardform och Simplexmetoden

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

Hela tal LCB 1999/2000

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

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

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

Lösningsförslag till övningsuppgifter, del V

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

Grundläggande logik och modellteori

Några satser ur talteorin

Grundläggande logik och modellteori

Föreläsningsanteckningar S6 Grafteori

Vinjetter TDDC91 Datastrukturer och algoritmer

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

Föreläsningsanteckningar F6

Algoritmer, datastrukturer och komplexitet

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?

Vektorgeometri för gymnasister

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

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

1 Grundläggande kalkyler med vektorer och matriser

Diskret matematik: Övningstentamen 4

Arbeta vidare med aritmetik 2018

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

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

Kontinuitet och gränsvärden

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

Explorativ övning 9 RELATIONER OCH FUNKTIONER

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

Efternamn förnamn pnr kodnr

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

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

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

Transkript:

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

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.

Innehållsförteckning 1. Inledning... 1 2. De sju broarna i Königsberg... 2 3. Definitioner... 4 4. Eulerska och semieulerska grafer... 6 5. Cykeldekompositioner... 8 6. Kompatibla eulervägar... 11 7. Det kinesiska brevbärarproblemet... 13 8. de Bruijn-grafer... 15 8.1. En tillämpning inom DNA-sekvensering... 17 9. Enumeration... 18 9.1. Algoritmisk metod... 25 10. Avslutning... 32 11. Källförteckning... 33 Appendix... 35

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

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

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

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 3.10. Den lägsta valensen i en graf G anges med d(g). Definition 3.11. Om ett hörn har udda valens sägs det vara ett udda hörn. Definition 3.12. 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

Om en graf G inte är sammanhängande består den av två eller flera komponenter som är sammanhängande. Definition 3.13. 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 3.14. 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

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

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

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

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

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 5.10. 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 5.11. 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 5.12. 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 5.13. 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

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

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

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

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 4 5 5 3 F 6 E 7 D Figur 8 14

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

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 8.8. 00010111 ä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 01000111 som egentligen är samma sekvens som i exempel 8.8, förutom att 0 och 1 har bytt plats med varandra. 000 00 001 100 101 01 10 010 011 110 11 111 Figur 10 16

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

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 12. 1 1 2 3 Figur 12 2 3 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

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

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 4 + 4 y 2 + 6x 2 + 4 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) 4 + 4 (1 - x) 3 (1+x) 3 (1 - y) 1 (1+y) 3 + 6 (1 - x) 4 (1+x) 2 (1 - y) 2 (1+y) 2 + 4 (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 2 +12 x 2 y 2 +12 x 3 y 2 +12 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) 2 +56 (x-1) 15 (1+x) (y-1) 5 (1+y) 3 +56 (x-1) 15 (1+x) (y-1) 3 (1+y) 5 +28 (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) 8 +70 (x-1) 16 (y 2-1) 4 ) : 20

Märkta enkla grafer med 4 hörn Kanter 0 udda hörn 2 udda hörn 4 udda hörn 0 1 0 0 1 0 6 0 2 0 12 3 3 4 12 4 4 3 12 0 5 0 6 0 6 0 0 1 Totalt 8 48 8 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 0 1 0 0 0 0 1 0 28 0 0 0 2 0 168 210 0 0 3 56 840 1960 420 0 4 210 4760 11200 4200 105 5 672 21840 52920 22008 840 6 2800 80696 205940 84056 3248 7 9320 254296 649880 261296 9248 8 24087 679560 1700160 680568 23730 9 53760 1521100 3773000 1505000 54040 10 103936 2880528 7175630 2859976 103040 11 169008 4693584 11748240 4696692 166656 12 235228 6641264 16638720 6669712 236831 13 289856 8178688 20474160 8204336 295120 14 315360 8774640 21936600 8774640 315360 15 295120 8204336 20474160 8178688 289856 16 236831 6669712 16638720 6641264 235228 17 166656 4696692 11748240 4693584 169008 18 103040 2859976 7175630 2880528 103936 19 54040 1505000 3773000 1521100 53760 20 23730 680568 1700160 679560 24087 21 9248 261296 649880 254296 9320 22 3248 84056 205940 80696 2800 23 840 22008 52920 21840 672 24 105 4200 11200 4760 210 25 0 420 1960 840 56 26 0 0 210 168 0 27 0 0 0 28 0 28 0 0 0 0 1 Totalt 2097152 58720256 146800640 58720256 2097152 Tabell 2 21

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 9.10. [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

Teorem 9.11. [19] Antalet märkta eulerska enkla grafer U(p) med p hörn ges av U( p) = 2 p 1 2 1 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 9.12. 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

B E Figur 13 Korollarium 9.13. 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 9.1. 24

Märkta sammanhängande enkla grafer Hörn Alla Eulerska Semieulerska 1 1 1 0 2 1 0 1 3 4 1 3 4 38 3 30 5 728 38 440 6 26704 720 12030 7 1866256 26614 590394 8 251548592 1858122 53554760 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 1 1 1 0 2 1 0 1 3 4 1 3 4 38 3 30 5 727 37 440 6 26013 660 11625 7 1597690 20436 492828 8 149248656 954688 30340072 Tabell 4 9.1. 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

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: 3 0 0 1 0 1 0 Vilket motsvarar en enkel graf med 3 hörn som har en grannmatris som ser ut så här: p 0 0 1 0 0 1 1 1 0 @ 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