486 - Institut for Natur, Systemer og Modeller (NSM)
Transcription
486 - Institut for Natur, Systemer og Modeller (NSM)
- I, OM OG MED MATEMATIK OG FYSIK Historisk fremkomst og moderne anvendelse af grafteori – et matematikfilosofisk undervisningsforløb til gymnasiet Uffe Thomas Jankvist januar 2012 nr. 486 - 2012 Roskilde University, Department of Science, Systems and Models, IMFUFA P.O. Box 260, DK - 4000 Roskilde Tel: 4674 2263 Fax: 4674 3020 Historisk fremkomst og moderne anvendelse af grafteori – et matematikfilosofisk undervisningsforløb til gymnasiet Af: Uffe Thomas Jankvist IMFUFA tekst nr. 486/ 2012 – 76 pages – ISSN: 0106-6242 Den nuværende gymnasiale bekendtgørelse for matematik påpeger at elever skal tilegne sig viden om matematiske anvendelser, matematikkens historiske udvikling og i en vis grad også dens natur som fag. I KOM-rapporten (Niss & Jensen, 2002) omtales tre former for ’overblik og dømmekraft’ som i nogen grad modsvarer disse tre ’aspekter’ ved faget matematik: matematikkens faktiske anvendelse i andre fag- og praksisområder; matematikkens historiske udvikling, såvel internt som i samfundsmæssig belysning; og matematikkens karakter som fagområde. Et af formålene ved nærværende undervisningsmateriale har været at forsøge at opstille en ramme for elevers udvikling af disse tre former for overblik og dømmekraft. Måden hvorpå dette er søgt gjort er ved sammensætningen af tre originaltekster fra matematikken til et undervisningsmateriale – én tekst repræsenterende hver af de tre former for overblik og dømmekraft. Disse tekster præsenteres i dansk oversættelse (i de tilfælde hvor en oversættelse ikke allerede fandtes er de oversat af undertegnede) og suppleres undervejs med kommentarer og opgaver. Materialet (og forløbet) er designet således, at eleverne selv kan arbejde sig igennem det i grupper (evt. under rådføring med deres underviser), for således også at opfylde bekendtgørelsens krav om gruppearbejde. Samtidig indeholder forløbet en skriftlig dimension, nemlig i forbindelse med den såkaldte afsluttende essay-opgave. Udover at opfylde bekendtgørelsens krav om større skriftlige produkter tjener denne opgave også som en ramme for elevernes udvikling af de tre former for overblik og dømmekraft, idet de tre originaltekster her skal relateres til hinanden såvel som til en række spørgsmål karakteristiske for KOM-rapportens overblik og dømmekraft. Den første af de tre originaltekster i dette materiale er Leonhard Eulers Solutio problematis ad geometriam situs pertinentis fra 1736, der i dag regnes for begyndelsen på grafteori. Den næste og mere anvendelsesorienterede tekst er Edsger W. Dijkstras A Note on Two Problems in Connexion with Graphs fra 1959, hvori han bl.a. præsenterer sin algoritme til bestemmelse af korteste vej i en graf. Den sidste og mere filosofiske tekst består af David Hilberts introduktion til sit foredrag Mathematische Probleme – Vortrag, gehalten auf dem internationalen Mathematiker-Kongreß zu Paris 1900, hvori han diskuterer matematiske problemers rolle. Nærværende forløb har været implementeret i en 1g-klasse på Ørestad gymnasium i foråret 2010 som del af et forskningsprojekt finansieret af Det Frie Forskningsråd – Kultur og Kommunikation (FKK) under Forsknings- og Innovationsstyrelsen. Klassens egen matematikunderviser gennemførte forløbet, mens jeg observerede og videofilmede implementeringen. Specielt fulgte jeg én gruppe bestående af fem elever i forbindelse med deres opgaveregning og udarbejdelsen af deres essay-opgave. De didaktiske forskningsresultater af denne undersøgelse vil blive præsenteret i fremtidige artikler. Uffe Thomas Jankvist, 2012 Historisk fremkomst og moderne anvendelse af grafteori – et matematikfilosofisk undervisningsforløb til gymnasiet Udformet af Uffe Thomas Jankvist April 2010 ◦ IMADA ◦ Syddansk Universitet 2 Forord Dette undervisningsforløb er udviklet som del af et postdoc-projekt finansieret af Det Frie Forskningsråd i Kultur og Kommunikation under Forsknings- og Innovationsstyrelsen. Et af formålene med projektet er at afsøge mulighederne for samspillet mellem matematik, matematikkens historie samt matematikkens filosofi og videnskabsteori i den gymnasiale matematikundervisning – og på længere sigt tværfaglige kombinationer mellem matematik og humaniora i gymnasiets alment studieforberende forløb (AT). Bekendtgørelsen for matematik i gymnasiet stiller i dag krav om en belysning af faget matematiks ‘samspil med andre fag’: Når matematik indgår i en studieretning, skal der tilrettelægges et fagligt samarbejde, som indeholder mere omfattende anvendelse af matematik. Herved skal eleven opnå en dybere indsigt i matematikkens beskrivelseskraft og i vigtigheden af at overveje og diskutere forudsætninger for en matematisk beskrivelse og pålidelighed af de resultater, der opnås gennem beskrivelsen. Der skal tilrettelægges undervisningsforløb med det hovedsigte at udvikle elevernes kendskab til matematikkens vekselvirkning med kultur, videnskab og teknologi. (Undervisningsministeriet; 2008, bilag 35, punkt 3.4) Sådanne undervisningsforløb kan på naturlig vis placeres under inddragelsen af det såkaldte ‘supplerende stof’: Eleverne vil ikke kunne opfylde de faglige mål alene ved hjælp af kernestoffet. Det supplerende stof i faget matematik, herunder samspillet med andre fag, skal perspektivere og uddybe kernestoffet, udvide den faglige horisont og give plads til lokale ønsker og hensyn på den enkelte skole. For at eleverne kan leve op til alle de faglige mål, skal det supplerende stof, der udfylder ca. 1/3 af undervisningen, bl.a. omfatte: [...] matematik-historiske forløb. (Undervisningsministeriet; 2008, bilag 35, punkt 2.3) Udover det ‘faglige mål’ som matematikhistoriske forløb generelt retter sig mod (i) retter nærværende undervisningsforløb sig mod endnu et (ii): Eleverne skal kunne [...]: i. demonstrere viden om matematikkens udvikling i samspil med den historiske, videnskabelige og kulturelle udvikling ii. demonstrere viden om matematikanvendelse inden for udvalgte områder, herunder viden om anvendelse i behandling af en mere kompleks problemstilling (Undervisningsministeriet; 2008, bilag 35, punkt 2.1, nummerering tilføjet) For at skitsere nærværende forløb ganske kort er der tale om at I, eleverne, vil blive introduceret til en matematikhistorisk case, derefter en konkret moderne anvendelse af matematikken i denne og endelig en videnskabsteoretisk/-filosofisk perspektivering af disse. ii Tilrettelæggelsen af forløbet søger også at tage højde for de arbejdsformer som den gymnasiale matematikundervisning ifølge bekendtgørelsen (læreplanen) skal bygge på. Om disse hedder det: En betydelig del af undervisningen tilrettelægges som projekt- eller emneforløb over forskellige dele af kernestoffet og det supplerende stof eller problemstillinger, der er genstand for fagsamarbejde. For hvert større forløb formuleres faglige mål, der tages stilling til arbejdsprocessen, og eleverne udarbejder et skriftligt produkt, som kan dokumentere de faglige resultater eller konklusioner vedrørende en tværfaglig problemstilling. En del af undervisningen tilrettelægges som gruppearbejde med henblik på at udvikle elevernes matematiske begreber gennem deres indbyrdes faglige diskussion. Der arbejdes bevidst med den mundtlige dimension, herunder selvstændig tilegnelse, bearbejdning og præsentation af forelagte matematiske tekster. I undervisningen lægges der betydelig vægt på opgaveløsning som en afgørende støtte for tilegnelsen af begreber, metoder og kompetencer. Løsning af opgaver foregår både i timerne og som hjemmearbejde. Endvidere arbejdes der med større skriftlige produkter som resultat af arbejdet med projekter og emner. (Undervisningsministeriet; 2008, bilag 35, punkt 3.2) En essentiel del af dette undervisningsforløb (og -materiale) er derfor også måden, hvorpå der arbejdes med stoffet. Ideen er at I, eleverne, i høj grad tilegner jer stoffet på egen hånd og i samarbejde med andre elever – altså bør forløbet kun omfatte et minimum af ‘traditionel tavleundervisning’ fra underviserens side, f.eks. i form af opsamlinger. Det vil være hensigtsmæssigt at der allerede ved forløbets begyndelse bliver dannet et antal elev-grupper, således at man i en given gruppe arbejder sig igennem forløbet sammen og qua den indbyrdes faglige (og tværfaglige) diskussion og opgaveløsning opnår en fælles forståelse af stoffet. I den forstand skal gruppearbejdet tænkes på som værende mere end blot en arbejdsform, men også en form for ‘metode’ til tilegnelse af stoffet, til forståelse og til kompetenceudvikling. Forløbet afsluttes med en større skriftlig opgave, en samling såkaldte essay-opgaver, som også skal udarbejdes i grupperne og som er essentiel for dækningen af de faglige mål (i og ii). I forbindelsen med udarbejdelsen af dette forløb skal følgende personer takkes for deres faglige bidrag i form af diskussioner, forslag, erfaringsudveksling med mere: Hans Jørgen Munkholm, Bjarne Toft og Jessica Carter, Syddansk Universitet (SDU) i Odense; Janet Barnett, Colorado State University (CSU) i Pueblo; Jerry Lodder og David Pengelley, New Mexico State University (NMSU) i Las Cruces. April, 2010 Uffe Thomas Jankvist IMADA, Syddansk Universitet Indhold 1 Introduktion 1.1 Overordnet om undervisningsmaterialet . . . . . . . . . . . 1.2 Opbygning af kapitlerne . . . . . . . . . . . . . . . . . . . . 2 Euler: Königsberg-problemet 2.1 Biografi . . . . . . . . . . . . . . . . . . . . . . 2.2 Optakt til Eulers artikel . . . . . . . . . . . . . 2.3 Eulers 1736-artikel . . . . . . . . . . . . . . . . 2.4 En moderne version af Eulers sætning og bevis . . . . Dijkstra: korteste-vej problemet 3.1 Biografi . . . . . . . . . . . . . . . 3.2 Optakt til Dijkstras note . . . . . . 3.3 Dijkstras 1959-note . . . . . . . . . 3.4 Moderne fremstilling og korrekthed 3.5 Faktiske og praktiske anvendelser . . . . . . . . . . . . . . . . . . . algoritme . . . . . . 3 4 5 . . . . . . . . . . . . . . . . . . . . . af Dijkstras . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 1 1 3 . 3 . 4 . 5 . 17 . . . . . 23 23 24 28 35 40 Hilbert: matematiske problemer 4.1 Biografi . . . . . . . . . . . . . . . . . . . . . . . . . 4.2 Optakt til Hilberts foredrag . . . . . . . . . . . . . . 4.3 Hilberts 1900-foredrag . . . . . . . . . . . . . . . . . 4.4 Hilberts radiotale, Königsberg 1930 . . . . . . . . . . 4.5 Gödels ufuldstændighedssætninger, Königsberg 1930 4.6 Epilog . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 45 47 48 58 59 61 Afsluttende skriftlig opgave 5.1 Essay-opgave 1: Matematiske problemer . . . . 5.2 Essay-opgave 2: Matematiske beviser . . . . . . 5.3 Essay-opgave 3: Matematik som videnskabsfag 5.4 Essay-opgave 4: Jeres mening . . . . . . . . . . . . . . . . . . . . . . . . . . 63 63 64 66 68 Litteratur . . . . . . . . . . . . 69 iii iv 1 Introduktion 1.1 Overordnet om undervisningsmaterialet Dette undervisningsmateriale består af i alt fire kapitler, som hver især har sit fokus og sigte. I det første kapitel bliver vi introduceret til et faktisk problem, det såkaldte Königsberg-problem, som blev udgangspunktet for udviklingen af en ny gren inden for matematikken, der mange år senere blev kendt som grafteori. I andet kapitel skal vi se en mere moderne anvendelse af grafteori til formuleringen af en algoritme som løser endnu et konkret problem, nemlig det at finde korteste vej – en løsning som internet-sider som f.eks. www.rejseplanen.dk og www.krak.dk også benytter sig af. I tredje og fjerde kapitel skal vi se på matematikken mere generelt. Nærmere bestemt skal den betragtes som videnskabsfag, både som en ren videnskab og som en anvendt, herunder dens karakter som fagområde, f.eks. eventuelle måder hvorpå den adskiller sig fra andre discipliner. Tredje kapitel består i hovedsagen af uddrag fra et inden for matematikken kendt foredrag, hvori disse aspekter af faget og dets udvikling debatteres. I fjerde kapitel, som er oplægget til forløbets afsluttende skriftlige gruppearbejde, består opgaven i at diskutere de i tredje kapitel forelagte problemstillinger i forhold til den matematik som er blevet introduceret i de to tidligere kapitler. 1.2 Opbygning af kapitlerne I hver af de tre følgende kapitler vil vi komme til at se og studere originalkilder fra matematikken, kilder som skal læses og forstås. Da dette ikke nødvendigvis altid vil være helt ligetil vil der undervejs være kommentarer, opklarende spørgsmål og opgaver, hvis formål det er at lette den videre forståelse og som derfor bør forsøges løst inden der læses videre. Disse spørgsmål og opgaver kan variere i såvel sværhedsgrad som omfang og nogle af dem vil have karakter af deciderede bevis-opgaver. For nemmere at kunne adskille hvad der er originalkilde fra hvad der er kommentarer, spørgsmål og opgaver anvendes der to forskellige skrifttyper: denne for originalkilder og denne for alt andet. For yderligere at lette forståelsen af originalkilderne vil der undertiden optræde forklarende fodnoter, såfremt det ikke kan forventes at det vides hvad enten bestemte ord eller matematiske begreber, teorier eller problemer referer til. Fodnoterne kan også blot indeholde referencer til anden litteratur. Men fælles for alle disse indføjede fornoter er at de optræder i kantede parenteser som [disse] for at understrege at der ikke er tale om fodnoter 1 2 Introduktion i den originale tekst. Brugen af kantede parenteser på denne måde: [...], indikerer derimod at der er udeladt en del originalteksten på dette sted. De tre originalkilder som vi skal læse i dansk oversættelse er: • Leonhard Euler, 1736: Løsning af et problem omhandlende beliggenhedsgeometrien. Originaltitel: Solutio problematis ad geometriam situs pertinentis. • Edsger W. Dijkstra, 1959: En note om to problemer relateret til grafer. Originaltitel: A Note on Two Problems in Connexion with Graphs. • David Hilbert, 1900: Matematiske problemer – foredrag ved den internationale matematikkongress i Paris, år 1900. Originaltitel: Mathematische Probleme – Vortrag, gehalten auf dem internationalen Mathematiker-Kongreß zu Paris 1900. 2 Euler: Königsberg-problemet Leonhard Euler (1707-1783) 2.1 Biografi Leonhard Euler (1707-1783)1 regnes blandt historiens største matematikere. Samtidig var Euler også en af de mest produktive. Han publicerede utallige værker indenfor adskillige af matematikkens områder såvel som udenfor matematikken. En del af forklaringen på dette kan være at Euler levede i den periode der ofte kaldes ‘l’âge de raison’ eller ‘oplysningstiden’, en periode i hvilken Europa befandt sig i en intellektuel gæring med videnskab såvel som kunst i blomstrende udvikling. Franske encyklopædister arbejdede med udgivelsen af det første leksikon, et væld af litteratur blev udgivet og erkendelsesteoretiske afhandlinger blev fremlagt. Disse gunstige forhold for intellektuel virksomhed foranledigede oprettelsen af kongelige akademier i flere europæiske lande. Disse akademier blev financieret af de enkelte landes herskere og der blev her forsket inden for adskillige retninger under kongens formynderskab. Således er mange af det 18. århundredes vigtigste opdagelser og nyskabelser at finde i analerne fra disse akademier, og det vil ikke være helt urigtigt at sige at der også var en vis konkurrence akademierne imellem om at tiltrække de dygtigste videnskabsfolk og mest lovende og anerkendte kunstnere. 1 Denne biografi er baseret på Dictionary of Scientific Biography (1970-80, vol. IV) samt det omfattende forord i Euler (1770/1972). 3 4 Euler: Königsberg-problemet Euler var søn af præsten Paul Euler, som i sin studietid blandt andet havde fulgt matematikforelæsninger hos matematikeren Jacob Bernoulli (1654-1705), og derfor kunne lære sin søn elementær matematik inden påbegyndt skolegang. Det var Paul Eulers ønske at hans søn ligesom han selv skulle studere teologi på universitetet og blive præst. Som kun 14-årig begyndte Leonhard Euler på universitetet i Basel, hvor han blev introduceret for den berømte professor Johann Bernoulli (1667-1748), en af tidens førende matematikere og en af de første til – sammen med sin bror Jacob Bernoulli – at anvende Leibniz’ infinitesimalregning. Med Bernoullis hjælp fik Euler tilladelse af sin far til at opgive teologistudiet og i stedet hellige sig studiet af matematikken. Euler færdiggjorde sine universitetsstudier i 1726, altså i en alder af kun 19 år, og samme år fik han udgivet sin første videnskabelige artikel. Den 24. maj 1727 ankom Euler til Skt. Petersborg, for at udfylde en stilling på det nyligt stiftede akademi, som han forblev knyttet til resten af sit liv. I 1731 blev han professor i fysik, men arbejdede også med flere andre områder, som f.eks. geografiske landkort. Hans vigtigste arbejde var dog stadig indenfor matematikken, og i 1741 havde han udarbejdet 80-90 artikler m.m. (hvoraf 55 blev udgivet) primært omhandlende matematisk analyse, talteori og mekanik. I 1733 giftede Euler sig med Katharina Gsell og fik sønnerne Johann Heinrich og Karl i hhv. 1734 og 1740. I 1741 flyttede hele familien til Berlin, hvor Euler havde fået tilbudt en stilling. Her boede de i de næste 25 år og de fik endnu tre børn, en dreng og to piger. Under sin tid i Berlin fik Euler produceret 380 arbejder, hvoraf de 275 blev publiceret. I 1766 vendte Euler tilbage til Skt. Petersborg. Imidlertid havde han i 1738, som følge af en sygdom, mistet synet på højre øje, og få år efter hans tilbagekomst til Skt. Petersborg mistede han også næsten hele synet på det venstre; i 1771 var han fuldstændig blind. På trods af sit manglende syn producerede Euler næsten halvdelen af sit livs publikationer i perioden efter 1765, med hjælp fra bl.a. to af sine sønner samt nogle elever. Om aftenen den 18. september 1783 døde Euler af en hjerneblødning. Som antydet fik Euler fordybet sig i mange områder (mekanik, astronomi, navigation, geografi, hydraulik m.m.), men først og fremmest var han matematiker. Hans foretrukne område inden for matematikken var den matematiske analyse (infinitesimalregning m.m.), men han formåede stort set at berøre alle sin tids kendte områder af matematikken. Euler havde ikke mange elever, men var, ifølge matematikeren Pierre-Simon Laplace (1749-1827), en vejleder for alle matematikere af sin tid. Af samme grund kaldes 1700-tallet inden for matematikken også nogen gange for Eulers æra, men Eulers indflydelse var ikke kun begrænset til det 18. århundrede, arbejderne af mange store matematikere i det 19. århundrede udsprang direkte af Eulers produktion. Og Euler videreudviklede og fordybede sig ikke kun i allerede eksisterede områder, han bidrog også til fremkomsten af nye, hvilket artikelen fra 1736 – Løsning af et problem omhandlende beliggenhedsgeometrien – er et klassisk eksempel på. 2.2 Optakt til Eulers artikel I 1679 skrev den berømte tyske filosof og matematiker Gottfried Wilhelm von Leibniz (1646-1716), en af faderne til vore dages infinitesimalregning, 2.3 Eulers 1736-artikel 5 i et brev til den hollandske matematiker Christian Huygens (1629-1695): Jeg er ikke tilfreds med algebraen, idet den ikke giver os de korteste metoder ej heller de skønneste geometriske konstruktioner. Derfor tror jeg, at vi har brug for endnu en anden slags analyse som er decideret geometrisk eller lineær, og som kan udtrykke situation [beliggenhed] direkte som algebra udtrykker størrelse direkte. [2 ] Leibniz’ beliggenhedsgeometri kendes i dag under navnet topologi og udviklingen af denne tog ikke rigtig fat førend i 1800- og 1900-tallet. Ovenstående korrespondance mellem Leibiz og Huygens blev ikke offentliggjort førend i 1833, men allerede samme år blev ‘beliggenhedsgeometrien’ omtalt af endnu en stor matematiker, Carl Friedrich Gauss (1777-1855): Hvad angår beliggenhedsgeometrien, som Leibniz igangsatte og som kun to matematikere, Euler og Vandermonde, har kastet et svagt blik på, har vi kendskab til og besidder viden der, efter halvandet århundrede, kun udgør en smule mere end ingenting. [3 ] Dette ‘svage blik’ som Euler kastede på beliggenhedsgeometrien, og som i dag regnes for begyndelsen på moderne grafteori, er netop hans artikel fra 1736.4 2.3 Eulers 1736-artikel Euler nummererer afsnittende i sin artikel, fra 1 til 21, hvilket gør artiklen nemmere at overskue. Bemærkninger, kommentarer og opgaver vil således i det følgende komme ind imellem de enkelte afsnit. 1. Udover den del af geometrien der beskæftiger sig med størrelser, og som altid studeres med den allerstørste omhu, omtaler Leibniz en anden del. Skønt det næsten ikke er kendt, var han den første, der gjorde det, og han kaldte den geometria situs (beliggenhedsgeometri). Ifølge Leibniz beskæftiger denne del af geometrien sig udelukkende med bestemmelsen af beliggenhed samt klargørelsen af beliggenhedsegenskaber. Dette er imidlertid ikke tilstrækkeligt til at definere, hvad det er for problemer, der henfører under denne beliggenhedsgeometri, og hvilken metode der bør anvendes ved deres løsning. Derfor har jeg, da der i den sidste tid har været en del tale om et problem, som ser ud til at have med geometri at gøre, men som er af en sådan art, at det ikke kræver kvantitativ bestemmelse og heller ikke tillader en kvantitativ løsning gennem beregning, ikke haft den mindste tvivl ved at henføre det til beliggenhedsgeometrien, især da der ved dets løsning kun kommer beliggenheder i betragtning, mens beregning er nytteløs. Som eksempel på beliggenhedsgeometrien har jeg følgelig besluttet at fremstille den metode, jeg har opfundet til løsning af problemer af denne art. 2. Problemet, som man har fortalt mig er ganske velkendt, var da følgende: I Königsberg i Preussen ligger en ø A kaldet Kneipfhof, omgivet af en flod, der deler sig i to grene, som det kan ses på figuren [figur 2.1]: grenene 2 Oversat fra Crowe (1967, s. 3). Oversat fra Przytycki (1998, s. 535). 4 Eulers artikel er at finde på originalsproget latin i Fleischner (1990), som også giver en engelsk oversættelse. En engelsk oversættelse kan ligeledes findes i Biggs et al. (1976). Den her danske oversættelse er at finde i Wolff (1967). 3 6 Euler: Königsberg-problemet er forsynet med syv broer a, b, c, d, e, f , og g. Der stilles nu følgende spørgsmål vedrørende disse broer: Kan man følge en vej, således at hver bro overskrides én gang og kun én gang? Jeg fik fortalt, at der er nogle der helt benægter, at dette kan lade sig gøre, mens andre betvivler det, og slet ingen fastslår det som muligt. Udfra dette formulerede jeg følgende generelle problem: uanset flodens form og uanset fordelingen af dens grene og uanset antallet af broer at finde ud af, om det er muligt at krydse alle broer én og kun én gang, eller ikke. Figur 2.1 Opgave 1 På forsiden af undervisningsmaterialet findes et kort over Königsberg fra 1652. Identificer de syv broer over floden Pregel på dette kort og bekræft derefter at Eulers fremstilling på figur 2.1 er i overenstemmelse hermed. Euler begynder således sin analyse af Königsberg-problemet med at udskifte bykortet med et simplere diagram, der kun gengiver de for problemet relevante informationer. I moderne grafteori foretager man en yderligere simplificering af dette diagram, således at landmasserne repræsenteres af punkter og broerne af streger, kaldet kanter. Samlingen af punkter og kanter og relationerne imellem dem kaldes en graf. Opgave 2 Oversæt Eulers figur 2.1 til en sådan moderne graf. Sammenlign dernæst din egen tegning med dine gruppekammeraters. Er tegningerne ens eller forskellige? Hvorfor det overhovedet er tilladt at erstatte hele områder (landmasser) med punkter? Svaret er, at det er det fordi der ikke er nogen principiel forskel på områder og punkter, når vi betragter dem inden for ‘beliggenhedsgeometrien’ (topologien), idet den beskæftiger sig med egenskaber, der er invariante overfor ændringer i størrelses- og afstandsforhold. Det væsentlige ved de fire områder i Königsberg-problemet er at de er helt uden forbindelse til hinanden, på nær broerne, hvilket er det samme for fire punkter i rummet. Altså, at fire punkter i rummet ingen indbyrdes 2.3 Eulers 1736-artikel 7 relationer har før vi forbinder dem med linier (svarende til broer i problemet). Når man således kun er interesseret i ‘beliggenheden’ af punkterne og ikke i afstandene mellem dem, betyder dette også at én og samme graf kan have mange forskellige billedlige repræsentationer, hvilket foregående opgave gerne skulle have illustreret. Vi kan selvfølgelig give en mere formel og moderne matematisk definition af en graf.5 Definition 2.1: Graf En graf G består af en mængde af punkter P (G) og en mængde af kanter K(G) samt en funktion ψ, som til hver kant k ∈ K(G) tilordner et par, kaldet ψ(k), af punkter fra P (G). Vi betrager kun endelige grafer, det vil sige grafer G hvor såvel P (G) som K(G) er endelige. Skal vi være helt formelle, så kan vi også sige, at en graf G således er at betragte som et tripel G = (P (G), K(G), ψG ), hvor ψG angiver at der er tale om funktionen ψ tilknyttet netop G. Ofte benyttes betegnelsen (x, y), altså et par af punkter x og y i P (G), også som betegnelse for en kant k med ψG = (x, y). Såfremt en graf har forskellige kanter k1 og k2 med ψ(k1 ) = ψ(k2 ), siges der at være multiple kanter i grafen. Opgave 3 Er der multiple kanter i Königsberg-grafen? Hvilke? Opgave 4 Angiv for Königsberg-grafen, som vi nu vil kalde K, mængderne P (K) og K(K) samt de par af punkter, ψ(k), som grafen indeholder. Når du har gjort dette, betragt da din liste af til hver kant tilordnede par: Er denne liste en matematisk mængde?6 Hvornår er en sådan liste af til kanter tilordnede par en matematisk mængde og hvornår er den ikke? Hvorfor taler vi om K(K) (eller helt generelt om K(G)) som en matematisk mængde? Vi vender nu tilbage til Eulers oprindelige artikel, hvori han også selv foretager yderligere simplifikationer af det givne problem. 3. Da der i Königsberg-problemet er syv broer, kan dette løses ved en fuldstændig opregning af alle mulige veje, man kan gå; på den måde ville det blive klart, om der fandtes eller ikke fandtes en vej som den i problemet forlangte. Men på grund af det store antal kombinationsmuligheder er denne løsningsmetode både for vanskelig og for besværlig, og i andre problemer med endnu flere broer vil den slet ikke kunne anvendes. Blev en metode af denne art ført helt til ende, ville man få svar på mange 5 Præsentationen af moderne grafteoretisk notation i dette undervisningsmateriale og oversættelsen af de engelske begreber til dansk følger overvejende den af Toft (1985) indførte. 6 En matematisk mængde er en uordnet samling af objekter, også kaldet mængdens elementer. Det specielle ved en matematisk mængde er at et element må optræde i denne én og kun én gang. 8 Euler: Königsberg-problemet spørgsmål, der slet ikke var stillet; heri ligger utvivlsomt årsagen til mange af vanskelighederne. Efter at have forkastet denne metode gav jeg mig til at søge efter en anden, der blot skulle afsløre, om der fandtes en vej eller ikke; thi jeg havde mistanke om, at en sådan metode ville vise sig langt simplere. 4. Min hele metode beror på et passende valg af betegnelse for den enkelte broovergang; hertil bruger jeg de store bogstaver A, B, C, D, som betegner hvert af de områder, der er adskilt fra hinanden af floden. Det er nu således, at hvis nogen går fra område A til område B enten over broen a eller over broen b, da vil jeg betegne denne overgang med bogstaverne AB. Det første af disse angiver det område, den farende kommer fra, og det andet det område, han når frem til efter at være gået over broen. Vil den farende fortsætte fra område B til område D over broen f , da repræsenteres denne overgang af bogstaverne BD. To på hinanden følgende overgange AB og BD vil jeg betegne med de tre bogstaver ABD, idet det midterste bogstav B angiver såvel det område, man kommer til efter den første overgang, som det område, der forlades ved den anden overgang. 5. Dersom den farende ønsker at fortsætte fra område D til område C under benyttelse af broen g, vil jeg betegne disse tre på hinanden følgende overgange med de fire bogstaver ABDC. Af disse fire bogstaver kan det ses, at den farende først befandt sig i område A, dernæst gik over til område B, hvorfra han fortsatte til område D for til sidst at nå frem til område C. Da disse områder imidlertid er adskilt fra hinanden af floden, må den gående nødvendigvis have passeret tre broer. En passage af fire på hinanden følgende broer vil analogt kunne beskrives med fem bogstaver, og dersom den gående passerer et vilkårligt antal broer, da vil antallet af bogstaver, der giver hans rute, være én større end antallet af broer. En overgang af syv broer kræver således otte bogstaver til sin betegnelse. Efter at have afvist at opskrive en udtømmende liste af alle mulige veje man kan gå, reformulerer Euler problemet i termer af følger af bogstaver (punkter) repræsenterende landområderne. Derved bliver selve diagrammet overflødigt for løsningen af problemet. I moderne grafteori siger man i dag, at to punkter som er forbundet af en kant er naboer, og referer til en række af nabopunkter som en rute. På den ene side kan vi, ligesom Euler gør, altså anskue en rute som en følge af alternerede (nabo)punkter og kanter, f.eks. x1 k1 x2 k3 . . . xn kn , hvor både rækkefølgen af punkterne og rækkefølgen af kanterne mellem dem er specificeret. På den anden side kan vi selvfølgelig også give en mere formel moderne definition. Definition 2.2: Rute En rute i en graf mellem punkter x1 og yn er en følge af kanter [k1 , k2 , k3 , . . . , kn−1 , kn ] , hvor ki forbinder xi og yi for i = 1, 2, . . . , n og hvor yi = xi+1 for i = 1, 2, . . . , n − 1. Hvis x1 = yn kaldes ruten lukket. Hvis x1 6= yn kaldes ruten åben. 2.3 Eulers 1736-artikel 9 Udover at en rute kan være enten åben eller lukket, så findes der også andre specielle former for ruter. Med udgangspunkt i notationen fra definition 2.2 definerer vi nu disse. Definition 2.3 • Såfremt alle kanter i en rute er forskellige kaldes den en tur. • Såfremt punkterne x1 , x2 , . . . , xn og punkt yn alle er forskellige kaldes ruten en vej, som forbinder x1 og yn . • Såfremt x1 , x2 , . . . , xn alle er forskellige og x1 = yn , kaldes ruten en kreds. Længden af en vej eller en kreds er antallet af kanter i den. Den specielle form for kant som forbinder et punkt med sig selv kaldes en sløjfe. En sløjfe er således en kreds af længde 1. Opgave 5 • Konstruér en rute i Königsberg-grafen, hvor alle kanter benyttes mindst én gang (samme kant må altså gerne indgå i ruten flere gange). • Konstruér en tur af længde 6 i Königsberg-grafen. • Konstruér en kreds af længde 4 i Königsberg-grafen. • Hvor lang er den længste vej, man kan konstruere i Königsberggrafen? Veje og kredse som defineret ovenfor opfattes også gerne som delgrafer. Definition 2.4: Delgraf Såfremt punkterne i en graf G1 er en delmængde af punkter i en graf G2 , skrevet P (G1 ) ⊆ P (G2 ), og kanterne ligeledes K(G1 ) ⊆ K(G2 ) og ψG1 (k) = ψG2 (k) for alle k ∈ K(G1 ), siges G1 at være en delgraf af G2 . Opgave 6 Tegn to delgrafer K1 og K2 af Königsberg-grafen K. I tilfældet med Königsberg-problemet er vi interesseret i at finde en tur, hvor enhver kant (bro) af grafen benyttes (én og kun én gang) og af den årsag omtales denne specielle form for tur i dag også som en Euler-tur. Det mest fordelagtige for en sådan gåtur rundt i Königsberg vil måske nok være at man ender der hvor man også er begyndt, altså at der er tale om en lukket Euler-tur, men selve problemet efterspørger i udgangspunktet kun en Euler-tur (åben eller lukket). Opgave 7 • Formuler en stringent definition af hvad der forstås ved en Euler-tur (både en åben og en lukket). • Kig på definitionerne af rute (åben og lukket), tur, vej, kreds, Eulertur (åben og lukket). Hvilke af disse er defineret på baggrund af grafens kanter, hvilke på baggrund af grafens punkter, og hvilke på baggrund af begge? • Forklar forskellen på en lukket Euler-tur og en kreds. (Giv gerne understøttende eksempler.) 10 Euler: Königsberg-problemet Efter at have omformuleret Königsberg-problemet udelukkende i termer af følger af bogstaver (punkter), betragter Euler nu spørgsmålet om hvorvidt et vilkårligt ‘bro-problem’ har en løsning eller ej. 6. Ved denne måde at betegne overgangene på tager jeg ikke hensyn til, hvilke broer der benyttes; thi dersom man ved passage fra et område til et andet kan benytte flere broer, da er det ligegyldigt, hvilken bro man betjener sig af, når blot man når til det ønskede område. Som følge heraf er det klart, at hvis den vej, der fører over figurens syv broer, kan tegnes på en sådan måde, at hver bro passeres én gang og ingen to gange, da vil denne vej kunne repræsenteres af otte bogstaver, og disse bogstaver må være anbragt på en sådan måde, at bogstaverne A og B står lige ved siden af hinanden to gange, idet der er to broer a og b, der forbinder områderne A og B; af samme grund skal de to bogstaver A og C optræde to gange i umiddelbar rækkefølge i denne suite på otte bogstaver; bogstaverne A og D skal forekomme en gang lige ved siden af hinanden, og det samme må gælde for bogstaverne B og D, og C og D. 7. Problemet er dermed reduceret til, at man ud fra de fire bogstaver A, B, C og D skal opstille en række på otte bogstaver, hvori de ovennævnte bogstavrækkefølger skal optræde netop så mange gange som angivet. Før man begynder arbejdet med at finde en sådan opstilling, vil det imidlertid være på sin plads at undersøge, om man overhovedet kan disponere over disse bogstaver på en sådan måde, at det kan lade sig gøre. Thi kan det bevises, at en opstilling af den art ikke kan foretages, da vil enhver bestræbelse i den retning være ganske nytteløs. Jeg har derfor søgt efter en regel, ved hjælp af hvilken det – såvel i dette som i andre lignende spørgsmål – let kan afgøres, om en sådan bogstavgruppering eksisterer. For at udlede denne regel betragter Euler to nye ‘fiktive’ og adskilte områder, der er forbundet af et antal broer. 8. For at finde denne regel betragter jeg kun området A, hvortil der fører et vilkårligt antal broer a, b, c, d, . . . osv. [figur 2.2]. Af disse broer betragter jeg først kun broen a, der fører til området A. Benytter den farende sig af denne bro ved overgangen, må han nødvendigvis enten have været i området A før sin overgang eller komme til området A efter sin overgang. I overenstemmelse med det ovenfor indførte må bogstavet A da forekomme en gang i betegnelsen for denne overgang. Fører der tre broer a, b, c til området A, og passerer den farende alle tre, da vil bogstavet A forekomme to gange i angivelsen af hans rute, hvadenten han startede i A eller ikke. Analogt vil bogstavet A, dersom der er fem broer, der fører til A, forekomme tre gange i angivelsen af en vej, der fører over alle fem broer. Og hvis antallet af broer er et vilkårligt ulige tal, da finder vi antallet af gange, som bogstavet A forekommer, ved at lægge en til dette antal og tage halvdelen af resultatet. I afsnit 8 udleder Euler en regel til bestemmelse af hvor mange gange et punkt må optræde i repræsentationen af ruten for et givet bro-problem i det tilfælde hvor et ulige antal af broer fører til området repræsenteret ved dette punkt. Lav følgende opgave før du læser videre. 2.3 Eulers 1736-artikel 11 Figur 2.2 Opgave 8 Brug Eulers regel til at bestemme, hvor mange gange hvert af punkterne A, B, C og D vil optræde i repræsentationen af en rute i Königsbergproblemet. Givet Eulers tidligere konklusion (se Afsnit 5) om at løsningen af Königsberg-problemet kræver en punktrækkefølge af 8 punkter, er en sådan følge da mulig? Begrund og forklar dit svar. 9. Lad os vende tilbage til problemet med broerne, der skal passeres i Königsberg. Da der er fem broer, der fører til øen A, må bogstavet A forekomme tre gange i angivelsen af en vej over disse broer. Da tre broer fører til området B, må bogstavet B forekomme to gange, og bogstavet D og bogstavet C må ligeledes forekomme to gange hver. I den række på otte bogstaver, som skal benyttes ved angivelsen af en rute over de syv broer, skal bogstavet A følgelig forekomme tre gange og bogstaverne B, C og D hver to gange. Men dette er umuligt i en række på otte bogstaver. Der følger heraf, at der ikke findes en vej af den ønskede slags over de syv broer ved Königsberg. 10. På tilsvarende måde kan vi, når blot antallet af broer, der fører til hvert område, er ulige, i andre tilfælde afgøre, om hver enkelt bro kan passeres én og kun én gang. I de tilfælde, hvor summen af alle de gange, hvert enkelt bogstav skal forekomme, er lig med det totale antal broer plus en, kan man finde en vej af den forlangte slags. Men sker det som i vort eksempel, at summen af alle gangene er større end antallet af broer plus en, da findes der ingen sådan vej. Den regel, jeg har givet til bestemmelse af antallet af gange, bogstavet A skal forekomme, ud fra antallet af broer, som fører til området A, er gyldig, hvad enten alle broerne kommer fra det ene område B, som det er tilfældet i figuren [figur 2.2], eller om de kommer fra forskellige områder; thi jeg betragter kun området A og spørger kun efter antallet af gange, som bogstavet A burde forekomme. 11. Er antallet af broer til området A imidlertid et lige tal, da må man ved overgangen af den enkelte bro vide, hvorvidt den farende påbegyndte sin vandring i A eller ikke. Thi er der to broer, som fører til A, og begynder den farende sin rute i A, da må bogstavet A forekomme to gange; thi det må forekomme én gang som angivelse for en bortgang fra A over den ene bro, og en gang til som betegnelse for en tilbagekomst til A ad den anden bro. Begynder den farende derimod sin rute i et andet område, da vil bogstavet A kun forekomme én gang; thi den ene gang, det er skrevet, angiver i min notation for en sådan rute såvel ankomst til A som bortgang fra A. 12 Euler: Königsberg-problemet 12. Lad der nu være fire broer, som fører til området A, og lad den farende påbegynde sin rute i A. I betegnelsen for hans rute må bogstavet A forekomme tre gange, dersom han krydser hver enkelt bro netop én gang. Påbegynder han derimod sin vandring i et andet område, vil bogstavet A kun forekomme to gange. Fører der seks broer til området A, da forekommer bogstavet A fire gange, hvis vandringen tager sin begyndelse i A; men er den farende ikke i A ved starten, da forekommer det kun tre gange. I almindelighed gælder altså, at dersom antallet af broer er lige, da vil halvdelen af dette antal give antallet af gange, bogstavet A vil forekomme, når ruten ikke tager sin begyndelse i området A; halvdelen af antallet af broer plus én angiver derimod det antal gange, bogstavet A vil forekomme, når ruten påbegyndes i A selv. Opgave 9 Tegn figurer a la Eulers figur 2.2 som illustrerer hver af de ovenstående situationer som skitseres i Afsnittene 10, 11 og 12, og opskriv for hver af figurerne den følge af bogstaver som angiver ruten herpå. 13. Men da en vej af den søgte slags kun kan tage sin begyndelse i ét område, kan jeg bestemme antallet af gange, som det bogstav, der bruges til betegnelse af det enkelte område, skal forekomme ud fra antallet af broer, der fører til det pågældende område, som halvdelen af summen af alle broerne plus én, hvis antallet af broer er ulige, men som halvdelen af selve antallet af broer, dersom det er lige. I det tilfælde, at det totale antal bogstavforekomster er lig det totale antal broer plus én, vil den ønskede rute kunne gennemføres; men starten skal da foregå i et område, hvortil der hører et ulige antal broer. Er antallet af bogstavforekomster imidlertid én mindre end antallet af broer plus én, da vil den ønskede rute med held kunne gennemføres ved at begynde i et område, hvortil der fører et lige antal broer; thi i det tilfælde forøges antallet af bogstavforekomster med én. Som set afhænger Eulers definition af »antallet af forekomster af et bogstav angivende et område« af om antallet af broer (kanter) førende til hvert område (punkt) er lige eller ulige. I moderne grafteoretisk notation kan man opskrive Eulers resultater ved brug af følgende definerede begreb: Definition 2.5: Valens Valensen v(x, G) af et punkt x i en graf G er lig a + b, hvor • a = antallet af kanter, som har x som præcis det ene endepunkt • b = 2 · (antallet af sløjfer i x). En anden måde at sige dette på er at valensen af et punkt i en graf er lig antallet af kanter, der er incidente med punktet. Eftersom sløjfer jo er incidente med et punkt to gange skal de selvfølgelig tælles dobbelt. Opgave 10 • Lad der være givet en kreds C og lad en graf G være lig denne kreds, altså C = G. Hvad er da valensen af alle punkterne i G? • Lad der være givet en vej V og lad en graf G være lig denne vej, altså V = G. Kan vi sige noget om valensen af punkterne i G? 2.3 Eulers 1736-artikel 13 • Lad der være givet en tur T og lad en graf G være lig denne tur, altså T = G. Kan vi sige noget om valensen af punkterne i G? Opgave 11 Lad der for en graf G være givet punktet x med valensen v(x, G). Med udgangspunkt i Eulers definition i Afsnit 13 opskriv nu formler for »antallet af bogstavforekomster« af x i det tilfælde hvor v(x, G) er lige og i det tilfælde hvor v(x, G) er ulige. 14. Lad os antage, at der er givet en vilkårlig fordeling af vand og broer, og at vi skal undersøge, om det er muligt at krydse hver bro netop én gang. Jeg bærer mig da ad på følgende måde: For det første benævner jeg alle områder, der er skilt fra hinanden af vand med bogstaverne A, B, C osv. For det andet finder jeg det totale antal broer og lægger én til, hvorefter jeg anbringer det fremkomne tal i øverste linie for den efterfølgende beregning. For det tredie skriver jeg ud for bogstaverne A, B, C, D, . . . opskrevet under hinanden antallet af broer, som fører til det pågældende område. For det fjerde afmærker jeg de bogstaver, ud for hvilke der står et lige tal, med en stjerne. For det femte skriver jeg ved siden af alle de lige tal halvdelen af de pågældende lige tal, og ud for alle de ulige tal et tal, der er lig med halvdelen af det pågældende ulige tal plus én. For det sjette adderer jeg tallene i den sidste kolonne. Er denne sum lig med eller én mindre end antallet af broer plus én, da slutter jeg, at der findes en rute af den ønskede art. Det må imidlertid bemærkes, at dersom summen er mindre end det tal, der noteredes i øverste linie, da må ruten nødvendigvis tage sin begyndelse i et af de med stjerne afmærkede områder, men i et uafmærket område, dersom summen er lig med det nævnte tal. I Königsberg-tilfældet opstiller jeg følgende beregning: Antal broer: 7; nøgletal: 8 A, B, C, D, Broer 5 3 3 3 3 2 2 2 Da denne beregning resulterer i en sum, der er større end 8, findes der ingen rute af den ønskede art. Euler har således løst det oprindelige problem, Königsberg-problemet, ved at vise at det ikke er muligt at lægge en rute som krydser alle broer én og kun én gang – altså i moderne terminologi at der ikke findes en Euler-tur i Königsberg-grafen. (Hvilket også gerne skulle være den konklusion du var nået frem til i opgave 8.) Euler fortsætter dernæst med at illustrere sin metode med et noget mere kompliceret eksempel. 15. Lad der være to øer omgivet af vand, og lad dette vand være i forbindelse med fire floder, således som det er vist på figuren [figur 2.3]. Lad der, for at man kan komme til øerne, være 15 broer, som fører over floderne og vandet, der omgiver øerne. Spørgsmålet er da, om der findes en vej, der fører over alle broerne, og det således at ingen bro krydses to gange. 14 Euler: Königsberg-problemet Figur 2.3 Først benævner jeg alle områder, der er skilt fra hinanden af vand, med bogstaverne A, B, C, D, E, F ; der er seks områder af denne slags. Dernæst lægger jeg én til antallet af broer, 15, og sætter summen, 16, som overskrift for følgende beregning: A*, B*, C*, D, E, F *, 8 4 4 3 5 6 16 4 2 2 2 3 3 16 For det tredie skriver jeg bogstaverne A, B, C osv. under hinanden, og ud for hvert anbringer jeg antallet af broer, der fører til det pågældende område, otte broer til A, fire til B, osv. For det fjerde afmærker jeg de bogstaver, ud for hvilke der står et lige tal, med en stjerne. For det femte skriver jeg i den tredie kolonne halvdelen af de lige tal; men de ulige tal lægger jeg én til, hvorefter jeg skriver halvdelen af dette. For det sjette adderer jeg tallene i den tredie kolonne og får summen 16. Da dette tal er lig med det ovenover beregningen anbragte tal 16, følger det, at broerne kan passeres på den ønskede måde, når blot ruten tager sit udgangspunkt enten i område D eller i område E, idet disse ikke er afmærket med nogen stjerne. En mulig rute er følgende: E a F b B c F d A e F f C g A h C i D k A m E n A p B o E l D, hvor jeg har anbragt de ved overgangene benyttede broer imellem de store bogstaver. Opgave 12 Hvorfor må man ikke begynde i et område afmærket med en stjerne? 2.3 Eulers 1736-artikel 15 Opgave 13 Tegn figur 2.3 som en moderne graf og kontroller at den af Euler ovenfor givne rute er en løsning af den ønskede art. Måske har du allerede lagt mærke til dette, at Königsberg-problemet og Eulers generelle problem er af den type, der går ud på at tegne en vis figur i én streg, dvs. uden at løfte blyanten fra papiret og uden at tegne det samme stykke af figuren to gange – altså at tegne grafen i én ubrudt streg. 16. Ved at ræsonnere på denne måde kan man let i ethvert – selv nok så kompliceret – tilfælde afgøre, hvorvidt alle broer kan passeres en og kun en gang, eller ikke. Jeg skal nu angive en langt lettere måde, hvorpå man kan afgøre det samme, som man også uden større vanskelighed kan opnå ved hjælp af den hidtil anvendte metode, men forinden må jeg fremføre følgende bemærkninger. Jeg bemærker først, at addition af alle broantal i den anden kolonne efter bogstaverne A, B, C osv. resulterer i et tal, der er dobbelt så stort som det totale antal broer. Grunden hertil er, at hver bro i denne beregning, hvor man optæller alle broer, som fører til et givet område, tælles med to gange, idet hver bro har forbindelse til begge de områder, den forener. 17. Det følger af denne betragtning, at summen af alle broer, som fører til hvert enkelt område, er et lige tal, da halvdelen deraf er lig med det totale antal broer. Det kan derfor aldrig indtræffe, at der blandt antallene af broer, som fører til de forskellige områder, kun er ét, der er ulige; eller at tre er ulige, eller fem osv. Hvis nogle af de til bogstaverne A, B, C osv. knyttede broantal er ulige, må antallet af disse følgelig nødvendigvis være lige. I Königsberg-eksemplet var der således fire ulige broantal knyttet til bogstaverne for broerne A, B, C, D, som det kan ses i Afsnit 14. Og i det foregående eksempel i Afsnit 15 er der to ulige antal knyttet til bogstaverne D og E. Opgave 14 Forsøg at konstruere (tegne) en graf der indeholder ét punkt med ulige valens, f.eks. 3, og hvor alle andre punkter har lige valens. Hvorfor lykkes det ikke? Eulers resultat i Afsnit 16 refereres også nogen gange til som ‘The Handshake Theorem’ (håndtrykssætningen) på grund af det lignende problem med at tælle antallet af håndtryk der finder sted ved sociale begivenheder, hvor alle tilstedeværende giver hinanden hånden præcis én gang. En moderne grafteoretisk formulering af sætningen kunne lyde: Sætning 2.6 Summen af alle valenser i en graf G er lig med to gange antallet af kanter i K(G). Vi kan skrive det som: X x∈P (G) . v(x, G) = 2 · |K(G)| 16 Euler: Königsberg-problemet Tegnet Σ er det store græske bogstav sigma og benyttes i matematikken som symbol for at der skal summeres. Det der i ovenstående tilfælde skal summeres er valensen af alle punkter x i punktmængden P (G). De lige streger | . . . | omkring K(G) betyder at der er tale om antallet af elementer (her kanter) i mængden. Opgave 15 Forsøg selv at argumentere for hvorfor sætning 2.6 er korrekt. Brugen af moderne notation i sætningen ovenfor gør selvfølgelig at vi kan fremstille resultatet på meget mere kompakt vis. Og skulle vi bevise Eulers resultater ved brug af moderne notation ville beviserne også være væsentlig kortere. Men dette berører imidlertid ikke korrektheden af resultaterne: hvis der er argumenteret stringent, er et langt bevis fuld af ‘ord’ lige så gyldigt som et kort og kompakt bevis der benytter moderne notation og begreber. Kig igen på Eulers resultat i Afsnit 17. Dette kan i moderne grafteori formuleres som følgende sætning: Sætning 2.7 En graf G indeholder altid et lige antal punkter med ulige valens. Opgave 16 Hvordan ville man argumentere for korrektheden af sætning 2.7 ved brug af moderne grafteoretiske begreber og notation? 18. Da summen af de tal, der er tilknyttet bogstaverne A, B, C, osv., er lig med to gange antallet af broer, er det klart, at hvis der til denne sum lægges 2 og resultatet derefter divideres med 2, da må dette resultere i det tal, der er anført i beregningens øverste linie. Hvis altså alle de tal, der er knyttet til bogstaverne A, B, C, D, osv., er lige da vil summen af tallene i den tredie kolonne, som fremkommer ved, at man tager det halve af hvert af de førstnævnte tal, være én mindre end nøgletallet, som står øverst. I disse tilfælde vil der derfor altid findes en vej over broerne. Thi ligegyldigt i hvilket område ruten tager sin begyndelse, så er der et lige antal broer, der fører dertil, således som det er forlangt. I Königsberg-tilfældet ville det således være muligt at finde en vej, der fører to gange over hver bro; hver bro kunne så at sige deles i to, og antallet af broer til hvert område ville da være lige. 19. Den ønskede gennemkrydsning vil endvidere kunne foretages, hvis der kun er to af de til bogstaverne A, B, C osv. knyttede tal, der er ulige, blot skal ruten påbegyndes i et område, hvortil der fører et ulige antal broer. Thi hvis man i overenstemmelse med fremgangsmåden halverer de lige tal og de ulige tal plus én, da vil summen af disse halvdele være én større end antallet af broer og derfor lig med nøgletallet i den øverste linie. Heraf ses det, at dersom der er fire, seks eller otte osv. ulige tal i den anden kolonne, da vil summen af tallene i den tredie kolonne være større end nøgletallet i overskriften, og den vil overstige dette tal med henholdsvis én, to, tre osv., hvorfor der ikke findes nogen vej af den søgte slags. 2.4 En moderne version af Eulers sætning og bevis 17 20. Om en gennemkrydsning af alle broerne kan foretages eller ikke, kan altså nu i ethvert givet tilfælde med lethed erkendes ved hjælp af denne regel [7 ]: i. Er der flere end to områder, hvortil der fører et ulige antal broer, da kan det med sikkerhed fastslås, at den ønskede gennemkrydsning ikke kan foretages. ii. Er der imidlertid netop to områder, hvortil der fører et ulige antal broer, da vil gennemkrydsningen kunne foretages, når blot ruten begynder i det ene af disse områder. iii. Er der sluttelig intet område, hvortil der fører et ulige antal broer, da vil den forlangte gennemkrydsning kunne foretages, ligegyldigt i hvilket område ruten tager sin begyndelse. Disse regler løser altså det givne problem til bunds. Opgave 17 Forsøg at formulere hvert af Eulers tre ovenstående resultater (i, ii og iii) ved brug af de moderne grafteoretiske begreber og den moderne notation der er blevet indført indtil nu, så som f.eks. ‘valens’. 21. Men har man fundet ud af, at der findes en vej af den søgte slags, resterer der stadig det spørgsmål at finde denne vej. Til det formål anvender jeg følgende regel: I tankerne elimineres parvis de broer, der fører fra et område til et andet, og dette så mange gange som det kan lade sige gøre. På den måde vil antallet af broer hurtigt og grundigt formindskes. Dernæst findes en vej af den ønskede slags over de resterende broer, hvilket let kan gøres. Når dette er gjort, vil det straks være klart for enhver, der har fulgt med, at de eliminerede broer ikke griber forstyrrende ind i denne rute, og jeg anser det ikke for nødvendigt at give yderligere undervisning i, hvorledes man finder denne rute. 2.4 En moderne version af Eulers sætning og bevis En helt moderne formulering af Eulers hovedresultat, eller hovedsætning, kræver endnu en definition. Definition 2.8 En graf G, hvor der for ethvert par af punkter x og y findes en rute fra x til y siges at være sammenhængende. Ovenstående definition implicerer selvfølgelig at der findes grafer som er ikke-sammenhængende. Sådanne grafer kan opdeles i ikke-overlappende (disjunkte) delgrafer G1 , G2 , . . . , Gk , som tilsammen indeholder alle den oprindelige grafs punkter og kanter og som hver for sig selv er sammenhængende. Vi formulerer nu hovedsætningen fra Eulers 1736-artikel (iii) i moderne grafteoretiske termer: Sætning 2.9: Hovedsætning Lad G være en sammenhængende graf, da indeholder G en lukket Euler-tur hvis og kun hvis alle punkter i G har lige valens. 7 Nummereringen af resultaterne er tilføjet her og findes ikke i Eulers artikel. 18 Euler: Königsberg-problemet Opgave 18 Illustrer hvorfor den moderne formulering af Eulers hovedsætning specificerer at G er sammenhængende ved at give et eksempel på en ikkesammenhængende graf, der udelukkende har punkter af lige valens. Forklar hvordan du ved at dit eksempel ikke indeholder en lukket Euler-tur. Den anden sætning (ii) som Euler til slut opskriver i sin artikel lyder på følgende vis i moderne termer: Sætning 2.10 Lad G være en sammenhængende graf, da indeholder G en åben Euler-tur hvis og kun hvis G indeholder netop to punkter af ulige valens. Opgave 19 Kig igen på Eulers artikel. Hvordan gør Euler brug af antagelsen om at de grafer han kigger på er sammenhængende? Sætningerne 2.9 og 2.10 er af den type der også kaldes hvis-og-kunhvis-sætninger. Sådanne sætninger er kendetegnet ved, at de så at sige ‘gælder begge veje’. Ofte anvender man også en dobbeltpil ⇔, også kendt som en ensbetydende-med-pil, i stedet for udtrykket ‘hvis og kun hvis’. I tilfældet med sætning 2.9 kan vi altså tænke på det som at vi har givet præmissen P: P = (G er en sammenhængende graf). Nu repræsenterer vi de to andre udtryk i sætningen ved bogstaverne A og B således: A = (G indeholder en lukket Euler-tur). B = (alle punkter i G har lige valens). Sætning 2.9 kan nu skrives som: P : A ⇔ B. Når vi således skal bevise sætning 2.9 skal vi altså både vise at A ⇐ B og A ⇒ B. Strengt taget viser Euler i sin artikel kun den ene vej, hvilket vi skal vende tilbage til lidt senere. Det første publicerede bevis for den anden vej tilskrives den unge tyske matematiker Carl Hierholzer (1840-1871), hvis bevis blev publiceret for ham af en kollega i 1873 efter hans alt for tidlige død. Det menes ikke at Hierholzer selv kendte til Eulers 1736artikel, i stedet henviser han til en artikel af en anden tysk matematiker, Johann Benedict Listing (1808-1882). At man ikke altid var bekendt med tidligere resultater og arbejder var ikke så ualmindeligt dengang, hvor meget matematisk viden blev videregivet enten mundtligt eller i form af private korrespondancer. Undertiden medførte dette også en vis grad af usikkerhed med hensyn til hvem der havde udgivet hvad, hvor og hvornår. Vi skal her se en moderne udgave af Hierholzers bevis for ‘kun hvis’delen, altså hvis der for en sammenhængende graf er givet at alle punkterne har lige valens så gælder at grafen indeholder en lukket Euler-tur.8 8 Beviset er at finde i Toft (1985). 2.4 En moderne version af Eulers sætning og bevis 19 Bevis (⇐) Lad x1 være et punkt i grafen G, og lad os begynde en tur i G fra x1 , dvs. en følge af forskellige kanter: [(x1 , x2 ), (x2 , x3 ), (x3 , x4 ), . . .] hvor ingen kant gentages og hvor vi fortsætter turen så længe det er muligt. Da der kun er et endeligt antal kanter i G kan denne tur ikke fortsætte i det uendelige, men vil standse i et punkt, som vi vil kalde xn , efter at have gennemløbet turen T : T = [(x1 , x2 ), (x2 , x3 ), (x3 , x4 ), . . . , (xn−2 , xn−1 ), (xn−1 , xn )] . Lad G 0 være den delgraf af G, som disse kanter og deres endepunkter danner. Da G 0 kan gennemløbes som turen T har alle punkter i G 0 lige valenser, medmindre x1 = 6 xn hvilket vil betyde at x1 og xn har ulige valenser. Dette kan imidlertid ikke være tilfældet, hvilket vi kan indse på følgende vis: Da T standser i xn er alle kanter der er incidente med xn i G med i T (hvorfor?), hvilket vil sige at xn har lige valens i G 0 , da den har det i G. Heraf følger at x1 = xn og at alle punkter i G 0 har lige valens. Hvis vores konstruerede tur T omfatter alle kanter i G er vi nu færdige. Hvis T ikke omfatter alle kanter i G, kan vi ved at fjerne alle kanterne i T fra G få én eller flere sammenhængende grafer G1 , G2 , . . . , Gk , hvori alle punkter har lige valens. Det vil sige, at de opfylder samme forudsætning som G. Da G er sammenhængende vil et af punkterne xi fra G 0 ligge i G1 . Når vi gennemløber turen T kan vi nu standse i xi , derefter foretage en lukket tur T1 i G1 (fundet ved samme metode som T i G), for så endelig at fortsætte med resten af T fra xi . Ved af følge fremgangsmåden ovenfor har vi nu ændret den oprindelige tur T til en ny tur, vi kan kalde den T ∗ , som indeholder flere af G’s kanter end T selv. Ved at begynde forfra igen med T ∗ i stedet for T og udføre ovenstående fremgangsmåde igen og igen opnås til slut en tur indeholdende alle kanterne i G, altså en lukket Euler-tur. Opgave 20 Hvordan ved vi at metoden i beviset ovenfor faktisk vil slutte og ikke bare fortsætter i det uendelige? En alternativ metode til at føre bevis for ‘kun hvis’-delen (⇐) på er ved at lade den konstruerede tur T være den overhovedet længst mulige tur i G fra x1 , og så bevise at T må indeholde alle G’s kanter. I modsætning til ovenstående bevis vil dette dog ikke være et konstruktivt bevis, men derimod et modstridsbevis. Første del af beviset vil gå stort set som første del af det konstruktive bevis ovenfor, men i anden del skal man ved at antage at T ikke omfatter alle kanter i G føre dette til en modstrid. Opgave 21 (⇒) Opskriv et omhyggeligt moderne bevis for den anden vej (⇒). Begynd med at antage, at G er en sammenhængende graf der indeholder en lukket Euler-tur. Vis så at alle punkter i G har lige valens. 20 Euler: Königsberg-problemet Opgave 22 Giv ligeledes et moderne bevis for sætning 2.10. Husk, da denne er en hvis-og-kun-hvis sætning skal den også vises begge veje. I matematik kan man opskrive en såkaldt sandhedstabel for et udsagn. Lad os se på udsagnet A ⇒ B. Fordi vi både har A og B i spil, og hver kan være enten sand (S) eller falsk (F), skal vi sammenlagt betragte fire muligheder. Sandhedstabellen for udsagnet A ⇒ B ser ud som følger: A S S F F B S F S F A⇒B S F S S En måde at forstå ovenstående tabel på er ved at forestille sig at din matematiklærer har sagt: »Hvis du svarer 100% rigtigt på alle spørgsmål i din terminsprøve, så får du 12«, svarende til udsagnet A ⇒ B. I tilfældet hvor du svarer 100% rigtigt på alle spørgsmål (A Sand) og får dit 12-tal (B Sand), så vil også udsagnet A ⇒ B være Sandt. I tilfældet hvor du svarer rigtigt, men hvor din matematiklærer alligevel ikke giver dig 12 (tilfældet A Sand og B Falsk), så vil du føle dig snydt, da din matematiklærer ikke overholder sin del af aftalen. Derfor er udsagnet A ⇒ B Falsk. I de to sidste tilfælde, altså at du ikke svarer 100% rigtigt, så vil udsagnet A ⇒ B være Sandt, fordi selve udgangspunktet er Falsk og der derfor så at sige ingen afhængighed er. Det kan enten være at du, på grund af andre faktorer, alligevel får dit 12-tal (tilfældet A Falsk og B Sand). Eller det kan være at du ikke får dit 12-tal, hvilket jo vil være forventeligt da du ikke har svaret 100% rigtigt (tilfældet A Falsk og B Falsk). Hvis man ved hjælp af sandhedstabeller kan vise at to udsagn er ækvivalente, altså at de har samme sandhedstabel, så kan man bevise matematiske sætninger på denne måde. Det matematiske tegn for ‘ikke’ er ¬, så hvis vi vil skrive ikke-A og ikke-B skriver vi ¬A og ¬B. Ved at opskrive en sandhedstabel for udsagnet ¬A ⇐ ¬B kan vi vise at dette er ækvivalent (≡) med udsagnet A ⇒ B, altså A ⇒ B ≡ ¬A ⇐ ¬B. Udsagnet ¬A ⇐ ¬B kaldes også gerne for den negerede (eller kontrapositive) af udsagnet A ⇒ B, fordi samtlige komponenter i førstnævnte så at sige er ‘de modsatte’ af dem i sidstnævnte. Opgave 23 Udfyld de tomme felter i nedenstående sandhedstabel og vis derved at de to udsagn er ækvivalente. A S S F F B S F S F A⇒B S F S S ¬B ¬A ¬B ⇒ ¬A 2.4 En moderne version af Eulers sætning og bevis 21 Eulers først opskrevne resultat i Afsnit 20 (i) kan formuleres i moderne termer således: Sætning 2.11 Hvis en sammenhængende graf G har mere end to punkter af ulige valens, så indeholder den ikke en Euler-tur. Euler beviser hvad der svarer til denne sætning (altså resultat i, Afsnit 20), det hersker der ingen tvivl om. For at få en bedre forståelse af, hvad det så er han formelt set ikke beviser opskriver vi den kontrapositive af sætning 2.11. Opgave 24 • Identificer præmissen P og de to komponenter A og B i sætning 2.11. • Opskriv i ord hvad der svarer til ¬A og ¬B. • Opskriv nu i ord den kontrapositive sætning (P:¬B⇒¬A.) • Hvilken vej svarer denne sætning til i sætning 2.9 (og sætning 2.10)? Fordi Euler således fører stringent bevis for sætning 2.11 er der altså også ført bevis for den kontrapositive af denne. Men strengt taget mangler man i Eulers artikel altså det bevis som først bliver givet af Hierholzer – altså beviset for at en sammenhængende graf hvor alle punkter har lige valens indeholder en lukket Euler-tur (og den tilsvarende vej i sætning 2.10). Det skal dog understreges, at selv om Euler ikke beviser resultatet, så er det selvfølgelig stadig korrekt. Og blandt matematikhistorikere synes der da også at være enighed om at Euler udmærket var klar over korrektheden af sit resultat. Biggs et al. (1976) skriver: Desværre giver Euler ikke et bevis [...], formentlig fordi han betragtede det som selvindlysende. Denne mangel på stringens var ganske almindelig blandt det attende århundredes matematikere og førte dem sommetider ind i fantasiernes verden [...] Ikke desto mindre var Eulers grafteoretiske intuition korrekt [...] [9 ] 9 Biggs et al. (1976, s. 10, oversat fra engelsk) 22 3 Dijkstra: korteste-vej problemet Edsger Wybe Dijkstra (1930-2002) 3.1 Biografi Edsger Wybe Dijkstra (1930-2002)1 blev født i Rotterdam, Holland den 11. maj, 1930. Begge hans forældre var veluddannede intellektuelle, hans far var kemiker og hans mor matematiker. I 1942, i en alder af 12 år, begyndte Dijkstra i Gymnasium Erasminium, et gymnasium for højtbegavede elever. Her modtog han undervisning i græsk, latin, fransk, tysk, engelsk, biologi, kemi og matematik. Ved krigens slutning i 1945 overvejede Dijkstra at studere jura og muligvis fungere som hollandsk repræsentant ved de Forenede Nationer (FN). Grundet sine yderst gode resultater i kemi, matematik og fysik valgte han dog istedet at studere teoretisk fysik ved universitetet i Leiden. I sommeren 1951 deltog han i en sommerskole ved Cambridge Universitet. Emnet for denne sommerskole var programmering, en på daværende tidspunkt ny disciplin. I marts 1952 fik Dijkstra deltidsarbejde ved Matematisk Center i Amsterdam, et arbejde der kun øgede hans interesse for programmering. Ønsket om at kunne forfølge programmeringen yderligere fik Dijkstra til at færdiggøre sin ph.d.-grad i teoretisk fysik så hurtigt som muligt. Dijkstra fortsatte nu sit arbejde ved Matematisk Center, hvor han var frem til begyndelsen af 1960erne. Som sagt var programmering i 1950erne 1 Denne biografi er baseret på: http://www.thocp.net/biographies/dijkstra_ edsger.htm 23 24 Dijkstra: korteste-vej problemet stadig et nyt fag og officielt var det endnu ikke en anerkendt profession. Af den årsag var Dijkstra også nødt til at skrive ‘teoretisk fysiker’ under profession, da hen i 1957 skulle udfylde en ægteskabsformular. I 1962 fik Dijkstra en stilling ved det matematiske institut på Eindhoven Universitet – datalogi var nu kommet til at høre ind under matematik. I 1973 rejste Dijkstra og familien til USA, hvor han først var privatansat forsker ved Burroughs Corporation, men siden blev professor i datalogi ved Texas Universitet i Austin (1984). Der blev han frem til sin pension i 2000. Grundet sygdom vendte han tilbage til Holland i april 2002, den 8. august samme år døde han af kræft. Dijkstra modtog adskillige akademiske priser for sine arbejder og resultater inden for datalogi og programmering, herunder den prestigefyldte ACM Turing Award i 1972. Indenfor programmering begyndte Dijkstra i 1968 bl.a. den såkaldte ‘go to considered harmful’ movement, hvilket refererer til at jo flere go to kommandoer der er i et computerprogram, jo sværere bliver det at finde hoved og hale i programkoden. Men mest kendt er Dijkstra for sin korteste-vej algoritme, som han udviklede allerede i 1956, mens han stadig var ved Matematisk Center i Amsterdam. Her var Dijkstra blevet bedt om at demonstrere hvor kraftfuld centerets computer, en såkaldt ARMAC, var. Korteste-vej algoritmen finder den korteste vej imellem to punkter i en graf. Dijkstra benyttede også sin ide til at finde en måde, hvorpå man kan »lede elektricitet til alle essentielle kredsløb, mens man benytter mindst muligt dyr kobberledning«, et problem som ingeniørerne der havde designet ARMAC computeren var stødt ind i. Begge disse løsninger præsenter Dijkstra i sin artikel En note om to problemer relateret til grafer,2 som vi skal se nærmere på om lidt. Men før vi kan det må vi lige omkring noget mere grundlæggende grafteori. 3.2 Optakt til Dijkstras note De grafteoretiske problemer som Dijkstra behandler i sin 1959-note kræver et par ekstra definitioner, nærmere bestemt en definition af det man forstår ved en vægtet graf og en definition af den specielle graf man kalder for et træ. Definition 3.1: Vægtet graf En graf G hvor hver kant k ∈ K(G) har en vægt w(k) kaldes en vægtet graf. I de tilfælde hvor vi angiver kanten k ved dens punkter x og y kan selvfølgelig også tale om vægten w(x, y). Det er oplagt at vægtene af kanterne i en graf kan være et udtryk for længderne af disse, men man benytter gerne ordet ‘vægt’ i stedet for ‘længde’ da dette er mere generelt. For udover at være et udtryk for f.eks. den faktiske vægt i kilometer kan vægten på en kant også være et udtryk for den tid det tager at traversere (tilbagelægge) kanten i en graf (for eksempel hvis vi har en graf over busruter rundt i København) eller den kan være et udtryk for økonomisk omkostning, altså prisen for at traversere kanten (for eksempel hvis kanterne repræsenterer priserne på internet- og telefonforbindelser) 2 Dijkstras artikel (Dijkstra; 1959) er oversat fra engelsk til dansk af forfatteren til dette undervisningsmateriale. 3.2 Optakt til Dijkstras note 25 og så videre. Ofte bruges ordet ‘længde’ dog tit som synonym for vægt, hvilket man skal være opmærksom på da der i et sådant tilfælde altså ikke længere er tale om længden i samme betydning som vi brugte ordet i sidste kapitel, altså som antallet af kanter i en rute. Begge de problemer som Dijkstra betragter i sin 1959-note tager udgangspunkt i en vægtet graf. Når Dijkstras algoritme således søger en korteste-vej mellem to punkter i en graf, så er det altså den korteste vej forstået på den måde at det er vejen med den mindste samlede vægt. Det andet problem som vi omtalte ovenfor, det med at benytte mindst mulig kobberledning til forbindelse af elektriske kredsløb, er af en lidt anden, omend relateret, type. Problemet går ud på i en givet graf at konstruere det såkaldt mindste udspændende træ. Et træ er en speciel form for graf, der kan defineres på følgende måde. Definition 3.2: Træ En sammenhængende (ikke-orienteret)3 graf T uden kredse som delgrafer, kaldes et træ. Et udspændende træ kan nu defineres som: Definition 3.3: Udspændende træ Et udspændende træ T af en graf G er en delgraf af G, som er et træ og som indeholder ethvert punkt i P (G). Hvis vi således har givet en vægtet graf, så består problemet med at finde det mindste udspændende træ således i at finde det udspændende træ i grafen som har den mindste samlede vægt. Opgave 25 Forklar hvordan problemet med at finde det mindste udspændende træ i en graf er det samme som at finde en måde at forbinde elektriske kredsløb på, hvor man benytter mindst mulig dyr kobberledning. Tegn eventuelt en tegning. Ordet ‘ikke-orienteret’ i definition 3.2 henviser til, at grafer og træer også kan have en retning på kanterne, altså at der kan være forskel på kanterne angivet ved punktparrene (x, y) og (y, x), det vil sige kanten er orienteret. Dette angives gerne på en figur ved at sætte en pil på selve kanten angivende den retning, hvorved kanten kan traverseres. Vi skal imidlertid i dette undervisningsforløb begrænse os til studiet af ikkeorienterede grafer. Vi kan indføre endnu et begreb i relation til grafer, en såkaldt bro (ikke at forveksle med broerne i Königsberg, som jo i graf-øjemed udgjorde kanter). Definition 3.4: Bro En bro i en graf er en kant, som ikke er med i nogen kreds. Ved brug af begrebet ‘en bro’ kan vi nu give endnu en definition af et træ. Definition 3.5 Et træ T er en sammenhængende graf, hvor alle kanter er broer. 3 Forklaring følger senere. 26 Dijkstra: korteste-vej problemet En vægtet graf kan selvfølgelig have flere forskellige udspændende træer (med forskellige vægtsummer) og sågar også flere mindste udspændende træer, men i så fald vil de alle have den samme (mindste) vægt. Opgave 26 Figur 3.1 forestiller Königsberg-grafen K som denne oftest fremstilles i bøger om grafteori. • Konstruér tre forskellige udspændende træer i K. • Hvor mange forskellige udspændende træer kan man konstruere af K? (Forklar hvordan du kom frem til dit svar.) Lad der nu være givet følgende vægte i K: a = 1; b = 2; c = 5; d = 4; e = 2; f = 1; g = 3. • Find det mindste udspændende træ i K. • Find det største udspændende træ i K, altså det med den størst mulige vægt. Figur 3.1 Königsberg-grafen K. En graf uden multiple kanter kaldes også gerne for en simpel graf. Man kan vise følgende sætning om sådanne grafer. Sætning 3.6 En simpel graf G er sammenhængende hvis og kun hvis den har et udspændende træ. Bevis (⇒) Vi antager at G er sammenhængende. Hvis G ikke er et træ må den indeholde mindst én kreds. Fjern en kant fra en af disse kredse. Den resulterende delgraf G 0 har én kant mindre, men indeholder stadig alle punkterne i G. G 0 er stadig sammenhængende fordi når to punkter der er forbundet af en vej indeholdende den fjernede kant, så er de også forbundet af en vej som ikke indeholder denne kant. (Hvorfor?) Hvis G 0 ikke er et træ, indeholder den en kreds; så som før fjerner vi en kant i kredsen. 3.2 Optakt til Dijkstras note 27 Denne procedure gentages indtil der ikke er flere kredse tilbage (hvilket er muligt da grafen er endelig). Dette producerer et træ, da grafen forbliver sammenhængende under fjernelsen af kanter. Og da dette træ indeholder ethvert punkt af G er der tale om et udspændende træ. Opgave 27 Bevis sætning 3.6 den anden vej (⇐), altså antag at en simpel graf G har et udspændende træ T og vis så at G er sammenhængende. En anden definition som vi kan have brug for at kende inden vi skal læse Dijkstras note er den af et undertræ. Definition 3.7 Et undertræ af et træ T er en delgraf af T , som i sig selv udgør et træ. De metoder som Dijkstra giver til at løse sine to problemer er hvad der også gerne betegnes som algoritmer. For at være helt på det rene med, hvad vi vil forstå ved begrebet en algoritme definerer vi nu dette. Definition 3.8 En algoritme er en endelig mængde af præcise instruktioner for udførelsen af en beregning eller løsningen af et problem. Generelt set opfylder algoritmer gerne en række egenskaber, eller man er i hvert fald interesseret i at de gør det, da brugbarheden af dem ellers kan være diskutabel. Disse egenskaber er som følger: 1. Inddata: En algoritme modtager værdier fra en nærmere specificeret mængde af inddata. 2. Uddata: Fra hver mængde af inddata giver algoritmen uddata fra en nærmere specificeret mængde af sådanne. Uddata-værdierne er løsningerne til problemet. 3. Præcision: Skridtene af en algoritme må være præcist defineret. 4. Korrekthed: En algoritme må producere de korrekte uddata-værdier for hver mængde af inddata-værdier. 5. Terminering: En algoritme må producere det ønskede uddata i løbet af et endeligt, omend eventuelt stort, antal skridt for en hvilken som helst mængde af inddata. 6. Effektivitet: Det skal være muligt at udføre hvert skridt i algoritmen nøjagtigt som tiltænkt og inden for en endelig tidsperiode. 7. Generalitet: Algoritmen bør kunne anvendes for alle problemer af den ønskede form, ikke kun for en speciel mængde af inddata-værdier. Dijkstras to algoritmer kan selvfølgelig sættes ind i en historisk sammenhæng både hvad angår Dijkstras egen motivation og hvad angår den videre brug og udbredelse af algoritmerne, da Dijkstra langt fra er den eneste der har betragtet disse to problemer. Vi skal imidlertid udsætte den historiske diskussion til efter præsentationen af Dijkstras artikel, da denne vil være nemmere at forholde sig til når man først har kendskab til selve algoritmerne. 28 3.3 Dijkstra: korteste-vej problemet Dijkstras 1959-note Det almindelige ord på engelsk for et punkt i en graf er ‘vertex’, men undertiden benyttes også ordet ‘node’. Dette ord kan oversættes til det danske ord knude, og det er det ord som Dijkstra fortrinsvist benytter sig af i sin tekst. Dijkstra begynder sin fremstilling på følgende vis. Vi betragter n punkter (knuder) for hvilke nogle eller alle par er forbundet med en kant; længden af hver kant er givet. Vi begrænser os til det tilfælde, hvor der findes mindst en vej imellem to vilkårlige knuder. Vi betragter nu to problemer. Problem 1. Konstruér træet med den samlede mindste længde imellem de n knuder. (Et træ er en graf med én og kun én vej imellem to vilkårlige knuder.) I fremførelsen af den løsning vi præsenterer her er kanterne underinddelt i tre mængder: I. de kanter der sikkert og vist vil tilhøre det træ der skal konstrueres (de vil danne et undertræ); II. de kanter fra hvilke den næste kant der skal tilføjes mængde I vil blive valgt; III. de resterende kanter (afvist eller endnu ikke betragtet). Knuderne er underinddelt i to mængder: A. de knuder der er forbundet af kanter i mængde I, B. de resterede knuder (én og kun én kant i mængde II vil føre til hver af disse knuder). Vi begynder konstruktionen med at vælge en vilkårlig knude som det eneste medlem af mængde A, og med at placere alle kanter der ender i denne knude i mængde II. Til at begynde med er mængde I tom. Fra nu af udfører vi de to følgende skridt gentagende gange: Skridt 1. Den korteste kant tilhørende mængde II fjernes fra denne mængde og tilføjes til mængde I. Som resultat overføres én knude fra mængde B til mængde A. Skridt 2. Betragt de kanter der går fra knuden, der netop er blevet tilføjet mængde A, til de knuder der stadig er i mængde B. Hvis den betragtede kant er længere end den tilsvarende kant i mængde II, afvises den; hvis den er kortere erstatter den den tilsvarende kant i mængde II og den sidstnævnte kant afvises. Vi returnerer da til skridt 1 og gentager processen indtil mængderne II og B er tomme. Kanterne i mængde I danner da det behøvede træ. Den her givne løsning er at foretrække frem for løsningen givet af J. B. Kruskal [4 ] og de givet af H. Loberman og A. Weinberger [5 ]. I deres løsninger er alle – måske 12 n(n − 1) – kanter først og fremmest sorteret efter deres længde. Selv hvis længderne af kanterne er en beregnbar funktion af knude-koordinaterne vil deres metoder kræve at data for alle kanterne bliver gemt på samme tid. Vores metode kræver kun samtidig lagring af data for højst n kanter, dvs. kanterne i mængderne I og II og kanten der betragtes i skridt 2. 4 Kruskal jr., J. B. (1956): On the Shortest Spanning Subtree of a Graph and the Travelling Salesman Problem. Proc. Amer. Math. Soc. 7, s. 48-50. 5 Loberman, H., & A. Weinberger (1957): Formal Procedures for Connecting Terminals with a Minimum Total Wire Length. J. Ass. Comp. Mach. 4, s. 428-437. 3.3 Dijkstras 1959-note 29 Opgave 28 Hvor gør Dijkstra brug af at den givne graf er sammenhængende? Find stedet i artiklen, hvor han implicit siger at han kun vil betragte sammenhængende grafer. Som set benytter Dijkstra sig af en lidt anderledes definition af et træ: Definition 3.9 Et træ T er en graf med én og kun én vej imellem to vilkårlige knuder. Opgave 29 Overbevis dig om, at de tre forskellige definitioner af et træ (definition 3.9, definition 3.2 og definition 3.5) alle siger det samme, altså at de er ækvivalente. Dijkstra giver ingen eksempler til illustration af sin algoritme, så lad os se et sådant. Figur 3.2 viser en overskuelig graf med fem punkter og syv vægtede kanter. Figur 3.2 En vægtet graf. Inden vi går i gang med eksemplet skal det påpeges at der i Dijkstras originalartikel forekommer en mindre uklarhed. Skridt 2 ovenfor burde nok pædagogisk set have sluttet med en linie der sagde noget i retning af: De kanter i mængde III der stadig ikke er afvist og som fører til knuder (punkter) der stadig ikke kan nås via kanterne i mængde II overføres til mængde II. Så i det følgende eksempel vil vi altså udføre ovenstående handling som del af Skridt 2. (Forsøg undervejs at have i baghovedet, hvad der kunne ske hvis vi ikke gjorde dette.) Til at begynde med ligger alle punkterne i mængde B og alle kanterne i III: B = {p, q, r, s, t} og III = {a, b, c, d, e, f, g, h}, og de øvrige mængder er alle tomme. Det første der sker i algoritmen er en såkaldt initialisering, hvor et vilkårligt punkt overføres til mængde A og alle kanter incidente med dette punkt overføres til mængde II. Vi vælger punkt p og får således A = {p} og II = {a, b, f }. 30 Dijkstra: korteste-vej problemet Når initialiseringen har fundet sted begynder første iteration. Hver iteration består af et Skridt 1 og et Skridt 2 og algoritmen terminerer når mængderne II og B er tomme. 1. iteration 1. I Skridt 1 overføres den kant med lavest vægt fra mængde II til mængde I. Dette er kant f og vi får I = {f }. Det punkt som den overførte kant ender i overføres til mængde A, dvs. punkt q og vi får A = {p, q}. 2. I Skridt 2 skal vi nu betragte de kanter der går fra det til A netop overførte punkt, altså q, til de punkter som er i B. Det vil sige kanterne c og g. Da c giver en vej til punkt r som er 3 lang og derfor længere end vejen på 2 fra p til r, forkastes kanten c. Kanten g er endnu ikke afvist og fører til et punkt, nemlig t, som endnu ikke kan nås via kanter i II. Derfor overføres g til II. På nuværende tidspunkt er situationen den følgende: A = {p, q} og B = {r, s, t} I = {f } og II = {a, b, g} og III = {c, d, e, h}. 2. iteration 1. Kanten med den laveste vægt i II overføres til I, dvs. b. Det tilsvarende punkt overføres til A, dvs. r. 2. Kanterne incidente med r, som fører til punkter i B, er d og e. Både d og e giver anledning til kanter af lavere vægt i det foreløbige træ end de tilsvarende kanter i mængde II, a og g. Derfor forkastes sidstnævnte og d og e tilføjes mængde II. Det betyder at billedet nu ser således ud: A = {p, q, r} og B = {s, t} I = {f, b} og II = {d, e} og III = {a, c, g, h}. 3. iteration 1. Kanten e overføres til I og punktet t til A. 2. Kanten h er den eneste kant incident med punktet t, som fører til et punkt i B nemlig s. Kanten h er af lavere vægt end den tilsvarende kant d ∈ II som fører til t, så d forkastes og h tilføjes II. A = {p, q, r, t} og B = {s} I = {f, b, e} og II = {h} og III = {a, c, d, g}. 4. iteration 1. Kanten h overføres til I, altså I = {f, b, e, h}. Det tilsvarende punkt s overføres til A, altså {p, q, r, t, s}. 2. Mængderne B og II er tomme og algoritmen er tilendebragt. Opgave 30 • For hver af de fire ovenstående iterationer tegn en skitse der illustrerer forløbet af algoritmen, dvs. hvilke punkter og kanter der er under betragtning, hvilke mængder de befinder sig i, det foreløbige træ, osv. 3.3 Dijkstras 1959-note 31 • Verificer ved inspektion at det endelige træ i 4. iteration også er det mindste udspændende træ for grafen. Efter at have set ovenstående eksempel på bestemmelsen af et mindste udspændende træ i en graf og efterfølgende have tegnet et sådant træ i opgave 30 burde det være til at forestille sig, hvordan et sådant træ – og algoritmen til at bestemme det – kan bruges til at forbinde elektriske komponenter anvendende den mindst mulige mængde dyr kobberledning. Komponenterne udgør selvfølgelig punkterne i en graf og de mulige forbindelser mellem dem udgør kanterne i grafen. Som set argumenterer Dijkstra ikke specifikt for korrektheden (punkt 4 i listen af de syv egenskaber som algoritmer bør opfylde) af sin algoritme til bestemmelse af mindste udspændende træ. Og det skal vi heller ikke her gå i detaljer med, da vores hovedformål med at studere Dijkstras 1959-note er den anden algoritme han giver – den berømte Dijkstras algoritme til bestemmelse af korteste vej mellem to punkter i en vægtet graf. Som kort antydet i kapitel 1 er denne algoritme højst anvendelig i diverse praktiske situationer, og ganske givet benytter de fleste af os den forholdsvist tit – uden at være klar over det. Men mere om det senere, lad os nu først se algoritmen som Dijkstra selv præsenterede den. Problem 2. Find en vej af samlet minimum længde mellem to givne knuder P og Q. Vi benytter den kendsgerning, at hvis R er en knude på den minimale vej fra P til Q, så vil kendskab til den sidstnævnte medføre kendskab til den minimale vej fra P til R. I den præsenterede løsning vil de minimale veje fra P til de andre knuder være konstrueret med hensyn til tiltagende længder indtil Q er nået. I fremførelsen af løsningen er knuderne underinddelt i tre mængder: A. de knuder for hvilke vejen af minimum længde fra P er kendt; knuder vil blive tilføjet denne mængde i overenstemmelse med tiltagende minimum vej-længder fra knude P ; B. de knuder fra hvilke den næste knude der tilføjes til A vil blive valgt; denne mængde udgøres af alle de knuder som er forbundet med mindst én knude fra A, men som endnu ikke tilhører A; C. de resterende knuder. Kanterne er også underinddelt i tre mængder: I. de kanter som optræder i de minimale veje fra knude P til knuderne i mængden A; II. de kanter fra hvilke den næste kant der tilføjes til mængde I vil blive valgt; én og kun én kant fra denne mængde vil føre til hver knude i mængden B; III. de resterende kanter (forkastet eller endnu ikke betragtet). Til at begynde med befinder alle knuderne sig i mængde C og alle kanterne er i mængde III. Vi overfører nu knude P til mængde A og udfører dernæst gentagende gange de følgende skridt. 32 Dijkstra: korteste-vej problemet Skridt 1. Betragt alle kanter r der forbinder knuden som netop blev overført til mængde A med knuder R i mængderne B og C. Hvis R tilhører mængde B, undersøger vi hvorvidt brug af kanten r resulterer i en kortere vej fra P til R end den kendte vej der benytter den tilsvarende vej i mængde II. Hvis det ikke er tilfældet, afvises kant r; hvis brug af kanten r derimod resulterer i en kortere forbindelse mellem P og R end tidligere opnået, erstatter den den tilsvarende kant i mængde II og sidstnævnte kant afvises. Hvis knuden R tilhører mængde C, tilføjes den til mængde B og kant r tilføjes til mængde II. Skridt 2. Hvis vi begrænser os til kanter fra mængde I og én fra mængde II, vil enhver knude i mængde B kun kunne forbindes til knude P på én måde. Således vil enhver knude i mængde B have en afstand fra knude P ; knuden med minimum afstand fra P overføres fra mængde B til mængde A, og den tilsvarende kant overføres fra mængde II til mængde I. Vi returnerer da til skridt 1 og gentager processen indtil knude Q overføres til mængde A. Så vil løsningen være fundet. Bemærkning 1. Den ovenfor beskrevne proces kan også anvendes i det tilfælde, hvor længden af en kant afhænger af retningen i hvilken den traverseres. Bemærkning 2. For hver kant i mængderne I og II er det tilrådeligt at gemme information om dens to knuder (i overenstemmelse med tiltagende afstand fra P ), samt afstanden mellem P og den af kantens knuder der er længst væk fra P . For kanterne i mængde I er dette den faktiske minimumsafstand, for kanterne i mængde II er det kun den minimale afstand fundet indtil videre. Løsningen beskrevet ovenfor er at foretrække frem for løsningen af L. R. Ford [6 ] som beskrevet af C. Berge [7 ], for, uanfægtet af antallet af kanter, behøver vi ikke gemme data om alle kanterne samtidig, men kun dem for kanterne i mængderne I og II, og dette antal er altid mindre end n. Endvidere synes mængden af arbejde der skal udføres at være betragtelig mindre. Som nævnt af Dijkstra i ‘Bemærkning 1’ kan algoritmen forholdsvis let udvides til at omfatte grafer med orienterede kanter, men som tidligere sagt vil vi ikke gøre dette her. Lad os se et eksempel på hvordan Dijkstras algoritme fungerer. Figur 3.3 viser en graf med seks punkter og syv vægtede kanter. Vi skal finde en korteste vej fra p til q. For overskuelighedens skyld er eksemplet forholdsvist simpelt og løsningen kan derfor let verificeres ved ligefrem inspektion. Til at begynde med befinder alle punkterne sig i mængde C og alle kanterne er i mængde III, altså C = {p, s, t, u, v, q} og III = {a, b, c, d, e, f, g} og mængderne A, B, I og II er alle tomme. Det første der sker i initialiseringen er at punkt p overføres til mængde A, dvs. A = {p}. Derefter begynder første iteration, som også her består af et Skridt 1 og et Skridt 2. Algoritmen køres indtil punkt q overføres til A, eller med andre ord sålænge q ∈ / A. 6 7 Ford, L. R. (1956): Network flow theory. Rand. Corp. Paper, P-923. Berge, C. (1958): Théorie des graphes et ses applications, s. 68-69. Paris: Dunod. 3.3 Dijkstras 1959-note 33 Figur 3.3 En vægtet graf G. 1. iteration 1. I Skridt 1 bliver vi bedt om at betragte alle kanter r der forbinder punktet netop overført til mængde A, det vil i dette tilfælde sige p, med knuder R i mængderne B og C. Vi ser altså på kanterne a og b. Da punkterne s og t ikke tilhører B (som jo stadig er tom) kan vi se bort fra den første del af Skridt 1. Derimod ligger s og t i mængden C, hvorfor de nu tilføjes til B. Da B var tom har vi nu B = {s, t}. På lignende vis tilføjes kanterne a og b mængde II, som også var tom, hvorfor II = {a, b}. 2. I Skridt 2 skal punktet med minimum afstand fra p overføres fra mængde B til mængde A og den tilsvarende kant fra mængde II skal overføres til mængde I. Det punkt i B der ligger tættest på p er t, hvorfor vi får A = {p, t}. Den tilsvarende kant er b. Vi får I = {b}. På nuværende tidspunkt har vi således følgende situation: A = {p, t} og B = {s} og C = {u, v, q} I = {b} og II = {a} og III = {c, d, e, f, g}. 2. iteration 1. Sidst overførte punkt til A er t, så vi skal se på kanter der forbinder t med punkter i B og C. Den eneste sådanne kant er e, som forbinder t med punktet v. Da v ∈ C tilføjes v til B og kanten e til II, altså B = {s, v} og II = {a, e}. 2. Den knude i B med minimum afstand til p overføres til A, dvs. s, da denne jo har afstand 4 til p, hvorimod v har afstand 2 + 3 = 5. Den tilsvarende kant er a og overføres til I. Situationen med mængderne nu er da: A = {p, t, s} og B = {v} og C = {u, q} I = {b, a} og II = {e} og III = {c, d, f, g}. 3. iteration 1. De kanter der forbinder s med punkter i B og C er c og d og de tilsvarende punkter er u og v. Da v ∈ B skal vi nu undersøge om kanten d resulterer i en kortere vej fra p til v end den allerede kendte. 34 Dijkstra: korteste-vej problemet Det gør den imidlertid ikke, da en traversering fra p til v ad kant d giver en samlet vægt på 4 + 3 = 7, hvorimod afstanden fra p til v ad kant e kun har samlet vægt 2 + 3 = 5. Altså afvises kanten d. Da u ∈ C tilføjes den nu til B, altså får vi B = {v, u}, og kanten c tilføjes II, dvs. II = {e, c}. 2. . . . Opgave 31 • Færdigkør algoritmen på ovenstående eksempel på samme vis som gjort indtil nu. Begynd med Skridt 2 i 3. iteration og fortsæt derfra. (Husk at algoritmen terminerer når q bliver tilføjet til A.) • Hvad er den korteste vej fra p til q og hvordan ved du det? (Vink: se Skridt 2 i algoritmen.) Opgave 32 Tegn figurer af hver enkelt iteration for kørslen af Dijkstras korteste-vej algoritme på grafen i figur 3.3, igen illustrerende hvilke punkter og kanter der er under betragtning, hvilke mængder de befinder sig i, den foreløbigt udviklede korteste vej, osv. Verificer til slut ved inspektion at der er tale om den korteste vej mellem punkterne p og q. Opgave 33 Kør Dijkstras algoritme på den vægtede graf G i figur 3.4 som gjort i eksemplet ovenfor og opskriv udfra mængden I de kant-ruter der giver korteste vej fra punktet p til alle andre punkter i G. Figur 3.4 En vægtet graf G. Selv om korteste vej i ovenstående grafer kunne have været fundet ved simpel inspektion, så er inspektion upraktisk for både mennesker og computere når en graf indeholder et større antal kanter (forestil dig f.eks. en graf med 100 punkter og 1000 vægtede kanter). Nogle af de bemærkninger som Dijkstra giver undervejs i sin note, og nogle af kommentarerne til andre algoritmer som løser samme eller lignende problemer, går undertiden på mere datalogiske detaljer i forbindelse med konkrete implementeringer etc. Vi skal berøre dette sammen med den historiske diskussion i slutningen af kapitlet. Foreløbig skal vi koncentrere os om punkt 4 i listen af de syv punkter som algoritmer bør opfylde, nemlig 3.4 Moderne fremstilling og korrekthed af Dijkstras algoritme 35 punktet om korrekthed. Vi skal således i næste afsnit se et matematisk bevis for at Dijkstras algoritme producerer det ønskede uddata, nemlig en korteste vej mellem to punkter i en vægtet graf. 3.4 Moderne fremstilling og korrekthed af Dijkstras algoritme Som set fører Dijkstra ikke selv et stringent matematisk bevis for korrektheden af sin algoritme i 1959-noten, men der er næppe nogen tvivl om, at han var helt på det rene med at algoritmen altid finder den korteste vej. Vi skal i det følgende se en moderne tekstbogsversion af Dijkstras algoritme og et bevis for korrektheden af denne. For overskuelighedens skyld (og uden videre tab af generalitet) ser vi på en moderne fremstilling af Dijkstras algoritme der som inddata tager en simpel sammenhængende graf (dvs. en sammenhængende graf uden multiple kanter). I moderne fremstillinger af Dijkstras algoritme opereres ofte med en form for mærkningsfunktion, som tager sig af mærkningen af punkterne med deres afstand fra begyndelsespunktet p efterhånden som algoritmen skrider frem. Denne funktion kalder vi M og til at begynde med mærker den begyndelsespunktet p med et 0, M0 (p) = 0, og alle andre punkter x med værdien uendelig, hvilket skrives som M0 (x) = ∞, hvor 0’et i M0 angiver at der er tale om den 0’te iteration (initialiseringen). Disse mærker er således længderne af de foreløbig fundne korteste veje fra p til de andre punkter x, men da der til at begynde med ikke er nogen fundne veje er alle disse mærket med værdien ∞. Hvor Dijkstra i sin egen fremstilling opererede med flere mængder af punkter (og kanter), så indgår der i moderne fremstillinger oftest kun en enkelt punktmængde, som her kaldes St , hvor t’et henviser til at der er foretaget t iterationer af mærkningsproceduren. Til at begynde med er S lig den tomme mængde, hvilket skrives S0 = ∅. Mængden St dannes ved at tilføje et punkt y ∈ / St−1 med det mindste mærke til mængden St−1 (altså mængden der blev dannet i iterationen lige før iteration t og som ikke indeholder y). Så snart y er tilføjet St opdateres mærkerne på alle punkter x ∈ / St , således at Mt (x), mærket på x til tid t, er længden af den korteste vej fra p til x udelukkende via punkter indeholdt i St . For et punkt x ∈ / St bygger opdateringen af mærkningen Mt (x) på følgende observation: En korteste vej fra p til x udelukkende via punkter i St er enten en korteste vej fra p til x udelukkende via punkter i St−1 eller det er en korteste vej fra p til y i iteration t − 1 med kanten (y, x) tilføjet. Dette kan skrives som Mt (x) = min{Mt−1 (x), Mt−1 (y) + w(y, x)}, hvor ‘min’ angiver at der er tale om minimum af de to værdier Mt−1 (x), afstanden mellem p og x til tid t − 1, og Mt−1 (y) + w(y, x), afstanden mellem p og punktet y plus afstanden (eller vægten) mellem y og x, altså w(y, x). Opgave 34 Hvilke(n) mængde(r) i Dijkstras egen 1959-fremstilling af hans algoritme svarer til mængden S (eller St ) i den moderne fremstilling? 36 Dijkstra: korteste-vej problemet input: Sammenhængende simpel graf G uden sløjfer med punkter p = x0 , x1 , . . . , xn = q og vægte w(xi , xj ) > 0, hvor w(xi , xj ) = ∞, hvis (xi , xj ) ∈ / K(G). [kanter som ikke er med i grafen tildeles uendelig vægt] output: En mærkning af G’s punkter med vægten af en korteste vej fra p til q i G. begin for i := 1 to n M (xi ) := ∞; M (p) := 0; S := ∅; [alle mærker er nu initialiseret således, at mærket på p er 0 og alle andre mærker er ∞, og S er den tomme mængde] while q ∈ /S begin y := et punkt x ∈ / S med mindste M (y); S := S ∪ {y}; / S forbundet med y ved en kant i K(G) for alle punkter x ∈ if M (y)+w(y, x) < M (x) then M (x) := M (y)+w(y, x); [dette tilføjer et punkt med mindste mærkning til S og opdaterer mærkningen af punkter ikke i S] end end. Boks 3.1 Pseudo-kode for moderne formulering af Dijkstras algoritme. Til opskrivning af selve algoritmen i en moderne fremstilling benytter man gerne hvad der refereres til som pseudo-kode. Pseudo-kode består af en række engelske ‘programmeringsorienterede’ termer som for eksempel: if, then, for, to, while, do, osv. Der er således ikke tale om et egentligt programmeringssprog, men derimod en række termer som er mere eller mindre generelle i et hvilket som helst programmeringssprog, og derfor giver en ide om hvordan en algoritme konkret vil kunne implementeres. Pseudo-kode er ofte forholdsvis selvforklarende, som vi skal se i eksemplet med pseudo-koden for en moderne fremstilling af Dijkstras algoritme i boks 3.1.8 Et par kommentarer bør dog knyttes til notationen. For eksempel når der i pseudo-koden i boks 3.1 står := betyder dette, at noget sættes lig noget andet. For eksempel sættes mængden S på et tidspunkt lig sig selv forenet med mængden kun bestående af y, S := S ∪ {y}, altså y tilføjes til S. Semikoloner betyder, at nu udføres der en handling. Forklarende kommentarer i boksen er angivet i kantede parenteser [. . .]. Lad os se på eksemplet med Dijkstras algoritme fra tidligere (figur 3.3), men denne gang udført på baggrund af beskrivelsen i den moderne fremstilling. Vi ønsker altså igen at finde den korteste vej fra punkt p til punkt q. 0. iteration (initialisering) I initialiseringen sættes mærkerne først til værdien uendelig: M (xi ) := ∞. Derefter sættes værdien af p’s mærke til nul: M (p) := 0. Og sluttelig sættes 8 Fremstillingen af Dijkstras algoritme i pseudo-kode for simple grafer bygger på den i Rosen (2003). 3.4 Moderne fremstilling og korrekthed af Dijkstras algoritme 37 S lig den tomme mængde: S := ∅. Situationen er illustreret på figur 3.5. Figur 3.5 Iteration 0 (initialisering). 1. iteration I første iteration sættes y først lig punktet med det mindste mærke, dette er p da M (p) = 0, altså y := p. Dernæst tilføjes y til mængden S og da denne på dette tidspunkt er tom fås S = {p}. Nu opdateres mærkningen af punkter som ikke er i S, nærmere bestemt de som er forbundet til y ved en kant. I 1. iteration på grafen G har vi: M (p) + w(p, s) = 0 + 4 < ∞ og M (p) + w(p, t) = 0 + 2 < ∞, hvilket medfører mærkningerne M (s) = 4 og M (t) = 2. Situationen er nu som på figur 3.6, hvor ◦ ved punktet p indikerer at denne nu er tilføjet mængden S. Bemærk at betegnelsen [p] ved punkterne s og t angiver alle de punkter i S vi er kommet via til dette punkt og således den korteste rute til dette punkt i den givne iteration. Figur 3.6 Iteration 1. Opgave 35 Færdigkør eksemplet ovenfor på samme vis som gjort hidtil ved at bruge den moderne pseudo-kode fremstilling af Dijkstras algoritme i boks 3.1. (Husk for hver iteration at angive ruterne i kantede parenteser og husk at algoritmen terminerer når q tilføjes mængden S.) 38 Dijkstra: korteste-vej problemet Hvor vi i Dijkstras originale fremstilling af algoritmen brugte kantmængden I til at fortælle os, hvordan vi kom fra begyndelsespunktet til de andre punkter i grafen, skal vi altså i den moderne fremstilling holde styr på dette undervejs (de kantede parenteser ved punkterne i grafen på figur 3.6). I en konkret implementering af Dijkstras algoritme i et eller andet computerprogram ville man selvfølgelig sørge for at gemme disse data undervejs i kørslen af algoritmen, men for simplicitetens skyld er en sådan procedure ikke en del af pseudo-kode fremstillingen i boks 3.1. Opgave 36 Kør den moderne fremstilling af Dijkstras algoritme på grafen i figur 3.4 for at bestemme korteste vej fra punktet p til alle andre punkter i grafen. (Husk igen for hver iteration at angive ruterne i kantede parenteser.) Vi skal nu bevise, at Dijkstras algoritme rent faktisk finder den korteste vej mellem to punkter i en sammenhængende vægtet graf. Den form for bevistype vi skal gøre brug af kaldes for et induktionsbevis. Der er i matematikken flere forskellig former for bevistyper. I er formentlig bekendt med direkte beviser og med indirekte beviser, det sidstnævnte er der hvor man antager ét og derefter fører dette til en modstrid, hvorfor sådanne beviser også kendes under navnet modstridsbeviser. Et induktionsbevis er altså en tredje type, og historisk set også en væsentligt senere fremkommet type. Hvor indirekte beviser kan findes for eksempel i Euklids Elementer (ca. 300 f.v.t.) dukker induktionslignende beviser først op i 15-1600 tallet. For eksempel giver den italienske matematiker Francisco Maurolicos (1494-1575) et bevis der bygger på en ide om induktion i sin Arithmeticorum libri duo fra 1575, og i 1654 giver den franske matematiker Blaise Pacal (1623-1662) i sin Traité du Triangle Arithmetique, omhandlende hvad vi i dag kender som ‘Pascals trekant’, første formulering af selve induktionsprincippet. Dette princip kræver lidt forklaring. Bevis ved induktion bruges ofte til at vise at en given sætning er sand for alle naturlige tal (N). Ideen er, at hvis et eller andet gælder for n = 1 (eller n = 0 afhængig af hvor man tæller fra), så antager man at det gælder for n = t og kan man så vise det også gælder for n = t + 1, så må det gælde for alle n. Det er dette princip der kaldes for induktionsprincippet. Tilfældet n = 1 kaldes for induktionsbasis og antagelsen n = t kaldes for induktionshypotesen. Det er vigtigt, at pointere at selve induktionsprincippet ikke er noget man kan eftervise, deraf navnet princip. I virkeligheden kan man tænke på det som en form for aksiom, som indgår i grundlaget for de naturlige tal. Et billede som man kan have af induktionsprincippet inde i sit hoved, er det af uendeligt mange dominobrikker opstillet på en lang række. Hvis den første dominobrik, n = 1, vælter, så vil også den næste, n = 2, vælte. Hvis dominobrik n = 2 vælter, så vil også dominobrik n = 3 vælte. Og hvis n = 3 vælter, så vil også n = 4 vælte og så kører maskinen. Denne ‘dominoeffekt’ kan vi også tænke på ‘induktionsmotoren’. Vores induktionsbasis er i dette tilfælde at den første dominobrik vælter, n = 1, hvilket vi vil kunne stadfæste ved rent faktisk at vælte den. Induktionshypotesen er at den t’te dominobrik også vælter, n = t. Hvis vi kan godtgøre, at dominobrik nummer t + 1 ligeledes vælter, så siger induktionsprincippet, at alle brikkerne vælter. 3.4 Moderne fremstilling og korrekthed af Dijkstras algoritme 39 Men lad os se, hvordan vi kan gøre brug af dette i beviset for korrektheden af Dijkstras algoritme. Bevis Vi begynder med at formulere induktionshypotesen. Denne er at vi ved iteration t har, at i. mærkningen af ethvert punkt x ∈ S er længden af en korteste vej fra punkt p til dette punkt x, og ii. mærkningen af ethvert punkt x ∈ / S er længden af en korteste vej fra punkt p til dette punkt x udelukkende indeholdende punkter i S (på nær x selv). Vores induktionsbasis for Dijkstras algoritme er selve initialiseringen, altså den 0’te iteration, t = 0. På dette tidspunkt er S = ∅, så længden af en korteste vej fra begyndelsespunktet p til et hvilket som helst punkt andet end p er ∞. Så induktionshypotesen er således sand for basistilfældet. Nu antager vi, at induktionshypotesen er sand for den t’te iteration. Lad x være et punkt tilføjet S i den (t + 1)’te iteration, således at x ved slutningen af den t’te iteration ikke er et punkt i S med den mindste mærkning (i tilfældet hvor flere punkter har samme mindste mærkning kan en vilkårlig af disse bruges). Hvis vi nu kan vise, at både (i) og (ii) gælder for den (t + 1)’te iteration, så har vi bevist korrektheden af algoritmen for samtlige mulige iterationer. Vi kigger først på (i). Fra induktionshypotesen har vi, at punkterne i S før den (t + 1)’te iteration er mærket med længderne af en korteste vej fra p. Også punktet x må være mærket med længden af en korteste vej til sig selv fra p. Hvis dette ikke var tilfældet ville der ved slutningen af iteration t være en vej med længde mindre end Mt (x) indeholdende et punkt ikke tilhørende S (fordi Mt (x) er længden af korteste vej fra p til x udelukkende indeholdende punkter i S efter den t’te iteration). Lad y være det første punkt ikke indeholdt i S tilhørende en sådan vej. Der er nu en vej med længde mindre end Mt (x) fra p til y udelukkende indeholdende punkter i S. Men dette er ikke i overensstemmelse med vores valg af x. Altså kan dette ikke passe og vi får at (i) må være sand ved slutningen af iteration (t + 1). Så mangler vi kun (ii). Lad y være et punkt der ikke tilhører S efter de første (t + 1) iterationer. En korteste vej fra p til y udelukkende bestående af kanter mellem punkter i S og y indeholder enten x eller indeholder ikke x. Hvis vejen ikke indeholder x har vi fra induktionshypotesen at dens længde er Mt (y). Hvis den derimod indeholder x, må den bestå af en vej fra p til x af kortest mulig længde og udelukkede indeholdende punkter i S\{x} efterfulgt af kanten fra x til y. I dette tilfælde ville længden af vejen være Mt (x) + w(x, y). Dette viser at (ii) er sand, da jo Mt+1 (y) = min{Mt (y), Mt (x) + w(x, y)}. Dermed er korrektheden af algoritmen bevist. Opgave 37 Kør Dijkstras algoritme (enten hans egen formulering af denne i 1959-noten eller den moderne fremstilling i boks 3.1) på grafen G i figur 3.7 med det formål at bestemme de korteste veje fra punktet p til alle andre punkter i G. 40 Dijkstra: korteste-vej problemet Figur 3.7 En vægtet graf G. Opgave 38 Bestem korteste vej fra p til q i den vægtede graf G på figur 3.8 ved brug af den moderne fremstilling af Dijkstras algoritme i boks 3.1. Figur 3.8 En vægtet graf G. 3.5 Faktiske og praktiske anvendelser Dijkstras algoritme til bestemmelse af mindste udspændende træ i en sammenhængende graf kendes i dag gerne under navnet Prims algoritme, idet den amerikanske matematiker Robert Clay Prim (1921-) beskrev samme algoritme i 1957. Den første beskrivelse af algoritmen skyldes dog den tjekkiske matematiker Vojtěch Jarník (1897-1970), som beskrev den i 1930 som en kommentar til en tidligere – og anderledes – algoritme til bestemmelse af mindste udspændende træ i en sammenhængende graf beskrevet af en anden tjekkisk matematiker, Otakar Borůkvas (1899-1995), i 1926. Borůkva betragtede problemet med at forbinde byer i Tjekkiet via et elnet på en sådan måde at man minimerede mængden af kabel der skulle bruges og samtidig forsynede samtlige byer med elektricitet. Dette problem er selvfølgelig ikke væsensforskelligt fra det der motiverede Dijkstra til at udtænke sin algoritme for et mindste udspændende træ, nemlig ARMAC-ingeniørernes problem med at forbinde de elektriske kredsløb og komponenter i ARMAC-computeren på en måde som gjorde brug af mindst mulig dyr kobberledning. Havde Dijkstra kendt til Borůkvas og Jarníks algoritmer kunne han selvfølgelig blot have henvist ingeniørerne til disse. 3.5 Faktiske og praktiske anvendelser 41 input: Sammenhængende vægtet graf G med n punkter. output: Et mindste udspændende træ T af G. T := en tom graf; for i := 1 to n − 1; begin k := en kant i G med mindst vægt som ikke danner en kreds når den tilføjes til T ; T := T ∪ {k}; end. Boks 3.2 Pseudo-kode for moderne formulering af Kruskals algoritme. Imidlertid lader det til at de var gået i glemmebogen efter publikationerne i hhv. 1926 og 1930, muligvis fordi de kun var publiceret på tjekkisk men muligvis også fordi man på daværende tidspunkt havde svært ved at se de generelle anvendelsesmuligheder af mindste udspændende træer. Dette billede ændrede sig dog efter 2. verdenskrig, hvor computeren blev langt mere fremherskende. Op igennem 1950erne blev der fundet adskillige algoritmer til løsning af grafteoretiske problemstillinger, hvilket også fremgår af Dijkstras 1959-artikel, hvor han, som vi har set, henviser til en håndfuld andre algoritmer (eller metoder) publiceret af forskere i løbet af 1950erne. En af disse er Joseph Bernard Kruskal (1928-), amerikansk matematiker, som i 1956 publicerede en algoritme byggende på samme ide som Borůkvas til bestemmelse af mindste udspændende træ i en graf.9 Denne algoritme adskiller sig fra Prims (Jarníks og Dijkstras) i selve måden, hvorpå den opbygger det mindste udspændende træ. Hvor Prims algoritme opbygger et mindste udspændende træ fra roden (begyndelsesknuden) og hele tiden udvider dette, så følger Kruskals (og Borůkvas) algoritme en anden strategi. Her finder man hele tiden den kant med mindst vægt og bygger således undertræer parallelt for til sidst at sammensætte disse til ét træ (dette kaldes også for en parallel skov-sammensætning). I moderne pseudo-kode fremstilling ser Kruskals algoritme ud som i boks 3.2.10 Opgave 39 Kør Kruskals algoritme, som givet i boks 3.2, på den vægtede graf givet i figur 3.2. Følg i din kørsel af Kruskals algoritme samme fremgangsmåde som benyttet i eksemplet for den moderne pseudo-kode præsentation af Dijkstras algoritme (se tidligere). Korrektheden af Kruskals algoritme kan ligesom korrektheden af Dijkstras algoritme for korteste vej bevises ved brug af induktion (og ligeledes kan korrektheden af Prims), men vi skal ikke bruge tid på dette her. Istedet skal vi dvæle lidt ved en af de syv andre egenskaber som algoritmer generelt set bør opfylde (jf. listen på side 27), nemlig den omhandlende effektivitet – som jo også er en af de ting som Dijkstra selv omtaler i sin artikel i kommentarerne til de tidligere algoritmer (herunder Kruskals). 9 Kurskals algoritme anses gerne som en simplere version af Borůkvas algoritme, som Kruskal givetvis var bekendt med. Borůkvas algoritme blev efter 1926 genopdaget flere gange, bl.a. af M. Sollin, hvorfor den også kendes under navnet Sollins algoritme. 10 Fremstillingen af Kruskals algoritme i pseudo-kode bygger på den i Rosen (2003). 42 Dijkstra: korteste-vej problemet Når man taler om effektivitet taler man også om algoritmernes køretid eller kompleksitet. Definition 3.10 En algoritme, som for et problem af størrelse n, finder uddata i højst c · f (n) operationer, hvor c er en konstant større end 0 og f er en funktion af n, siges at have kompleksitet O(f (n)). Notationen anvendt her ovenfor kendes også som store-O notation. Den angiver en form for grov øvre grænse for algoritmens køretid, men udgør et godt sammenligningsgrundlag for algoritmers effektivitet. Funktionen f (n) kan være af forskellige art. Den kan for eksempel være konstant, dvs. af formen n. Den kan være polynomial, dvs. nb , hvor b > 0 er en konstant. Den kan være eksponentiel, dvs. af formen an , hvor a > 1 er en konstant. Eller det kan være så slemt som n! (fakultet). Opgave 40 Antag at en computer kan foretage 1000000 operationer i sekundet. Hvor lang tid vil det tage den at gennemføre henholdsvis n, n2 , n5 , 2n , n! operationer for n = 20, n = 40 og n = 80? Opgave 41 • Tegn en skitse i 1. kvadrant af et koordinatsystem af funktionerne: 1 (konstant), n, n2 , 2n og n!. (Vink: For at se udviklingen tydeligst, lad værdierne på førsteaksen gå fra 2 til 8 og værdierne på andenaksen stige med potenser af 2, altså 1, 2, 4, 8, 16 osv.) • Ofte er funktionerne log n og n · log n også relevante for beskrivelse af algoritmers kompleksitet. Hvor i skitsen fra forrige spørgsmål skal disse placeres? Man regner gerne en algoritme for at være god eller effektiv, hvis dens kompleksitet ikke er værre end at den kan beskrives ved en potensfunktion, dvs. den er polynomial. Dijkstras algoritme til bestemmelse af korteste vej mellem to punkter i en graf har netop polynomial kompleksitet. Kig igen på boks 3.1. Kørslen af algoritmen bruger højst n−1 iterationer, da et punkt tilføjes til mængden St for hver iteration. Hvis vi nu også kan estimere antallet af operationer for hver enkelt iteration, så er vi færdige. I en given iteration kan vi identificere punktet x ∈ / St med det mindste mærke ved at foretage højst n − 1 sammenligninger. Derefter bruger vi én addition og én sammenligning for hvert punkt ikke-tilhørende St , altså 2 operationer. Det vil sige at vi højst bruger 2(n − 1) operation i hver enkelt af de n − 1 iterationer, hvorfor vi i alt får 2(n − 1) · (n − 1) = 2(n − 1)2 . (Initialiseringen bidrager kun med et antal som skal lægges til dette, så denne bliver uinteressant i store-O øjemed.) Vi har således følgende resultat. Sætning 3.11 Dijkstras algoritme benytter O(n2 ) operationer (additioner og sammenligninger) til at finde længden af den korteste vej mellem to punkter i en sammenhængende vægtet graf med n punkter. 3.5 Faktiske og praktiske anvendelser 43 Dijkstras algoritme til bestemmelse af mindste udspændende træ, som beskrevet i hans 1959-note, har også kompleksitet O(n2 ) og ligeledes har Prims beskrivelse af samme fra 1957.11 Dataloger lægger dog en del arbejde i at forbedre algoritmers køretider. Dette gøres ved at implementere dem anvendende smartere datastrukturer, altså de måder hvorpå elementer gemmes og hentes igen fra skridt til skridt i algoritmen. For eksempel sorterer visse datastrukturer elementerne på en bestemt vis, som kan vise sig snedig idet den sænker algoritmens køretid. Ved brug af sådanne strukturer kan kompleksiteten af Prims algoritme sænkes til O(m log n) for en graf med n punkter og m kanter og kompleksiteten af Kruskals algoritme kan kan vises at være O(m log m).12 Det betyder at hvis man har en graf med få kanter (m) i forhold til antallet af punkter (n), så vil det være smartest at benytte Kruskals algoritme til bestemmelse af et mindste udspændende træ. Er der derimod ikke den store forskel på antallet af punkter og kanter, så vil både Prims algoritme og Kruskals algoritme være omtrent lige effektive. En anden ting som Dijkstra også nævner i bemærkningerne i sin 1959note er dataforbrug, altså hvor meget harddiskplads der skal bruges til for at gemme information undervejs i kørslen af algoritmen. Hvor dette historisk set var af stor betydning i computerens tidligere år, så er det med tiden blevet et omend ikke forsvindende problem så i hvert fald et problem af mindre og mindre betydning. Følgende opgave burde give en ide om vigtigheden af at økonomisere med sit pladsforbrug på ældre maskiner i forhold til mere moderne computere. Opgave 42 Forsøg ved hjælp af søgninger på internettet at finde nogle eksempler på ældre computere, f.eks. fra 1960erne og 1970erne, og deres specifikationer (harddiskstørrelse, processorkraft, osv.) og hold dette op imod specifikationerne for din egen laptop (eller sågar din graflommeregner, mp3-afspiller eller mobiltelefon). (Husk at angive addresser på de internetsider, hvorfra I får jeres oplysninger.) Som allerede antydet flere gange så er Dijkstras algoritme til bestemmelse af korteste vej en uhyre udbredt algoritme som finder sin anvendelse i adskillige applikationer den dag i dag. Når vi går på internettet og benytter tjenester som f.eks. www.rejseplanen.dk, www.krak.dk eller http://maps.google.com, så er det en eller anden afart af Dijkstras algoritme som ligger til grund for den rute vi får ud som svar på vores spørgsmål om at finde vej fra punkt A til punkt B. Disse algoritmer baserer sig på grafer, hvori vægtene typisk er tider eller længder. Hvis en given ruteplan for enhver pris forsøger at føre én ad en motorvej, er det formentlig fordi den baserer sig på en tidsvægtet graf frem for en længdevægtet. Der kan selvfølgelig også være tale om diverse kombinationer, hvor der indgås en form for kompromis mellem løsninger til grafer med forskellige vægte. Når vi f.eks. benytter internettjenester til at finde billige flybilletter, så er vi jo ikke fuldstændig uinteresserede i at minimere selve rejsetiden også. Endnu et eksempel er når vi skal udregne befordringsfradrag på Skats hjemmeside (www.skat.dk), hvilket også baserer sig på en implementering af Dijkstras 11 12 Jf. Schrijver (2003, s. 875-876). Jf. Rosen (2003, s. 693). 44 Dijkstra: korteste-vej problemet algoritme. Faktisk fungerer dette på den måde, at to instanser af Dijkstras algoritme kører samtidig; én begyndende fra udgangspunktet og en anden begyndende fra destinationspunktet.13 Når ‘søgeskyerne’ (et andet navn for mængden af mærkede punkter) for de to instanser af algoritmen møder hinanden sættes de to fundne ruter sammen. Ved at ‘fingere’ kantvægtene i en graf kan Dijkstras algoritme også benyttes til at finde sikre ruter til og fra skole for børn i de små klasser (hvilken vægt ville man f.eks. give en ‘farlig’ vej i dette tilfælde?). Andre algoritmer igen kan finde de bedste ruter til avisbude, reklameomdelere, osv. Og som tidligere nævnt finder algoritmerne til bestemmelse af mindste udspændende træer, og træer generelt, også deres anvendelser i praksis. Formålet med de to næste opgaver er at give jer en ide om dette. Opgave 43 Foretag en søgning på internettet og prøv at finde praktiske applikationer af mindste udspændende træer (på engelsk: ‘minimum spanning trees’ eller ‘MST’). Hvor bliver de rent faktisk brugt? Og hvis algoritme bliver der refereret til i disse applikationer: Kruskal, Borůkva, Sollin, Jarník, Prim, Dijkstra eller eventuelle andre? (Husk at angive addresser på de internetsider, hvorfra I får jeres oplysninger.) Opgave 44 Foretag en lignende søgning på internettet, denne gang blot efter applikation af træer helt generelt (ikke kun mindste udspændende træer). Hvilke resultater giver denne søgning? Udvælg et par applikationer og beskriv disse. (Husk at angive addresser på de internetsider, hvorfra I får jeres oplysninger.) 13 Denne implementering er udviklet af firmaet Rapidis (www.rapidis.com) og ovenstående information er baseret på personlig samtale med en af partnerne i firmaet. 4 Hilbert: matematiske problemer David Hilbert (1862-1943) 4.1 Biografi David Hilbert (1862-1943)1 blev født og opvoksede i Königsberg – altså i byen med de syv broer som var udgangspunktet for Eulers 1736-artikel og dermed startskuddet for den moderne grafteori. Hilbert kom tidligt i gymnasiet og derefter på universitet i Königsberg, hvorfra fik sin doktorgrad allerede i 1885. I denne periode blev Hilbert også venner med en anden senere stor matematiker, som også var doktorant ved Königsberg universitet, nemlig Hermann Minkowski (1864-1909) – et venskab der skulle vise sig særdeles frugtbart for de to unge mænds matematiske udvikling. Fra 1886 til 1895 var Hilbert ansat ved universitetet i Königsberg, først som docent frem til 1892 og siden som professor. I 1895 blev Hilbert tilbudt et mere attraktiv professorat ved universitetet i Göttingen, hvor han underviste og forskede frem til sin pension i 1930. For tyske professorer var det imidlertid mest prestigefyldt at befinde sig ved universitetet i Berlin og Hilberts eminente position i matematikkens verden efter år 1900 gav sig da også udslag i at han blev tilbudt et professorat her i 1902. Hilbert havde imidlertid ikke lyst til at tage til Berlin, men benyttede derimod 1 Denne biografi er baseret på Dictionary of Scientific Biography (1970-80), Katz (1998) og Hansen (1997). 45 46 Hilbert: matematiske problemer tilbudet til at forhandle med Göttingen og overtale dem til at oprette en ny stilling til hans ven Minkowski. Minkowski bestred denne stilling indtil sin alt for tidlige død i 1909. Personen Hilbert og det at han valgte at drive sit virke i Göttingen var stærkt medvirkende til at Göttingen var det førende universitet for matematik i Tyskland i denne periode – og måske endda i verden i den første tredjedel af det 20. århundrede. Hilbert indledte sit virke med at studere algebraiske former; senere arbejdede han med talteori, geometriens grundlag, integralligninger, teoretisk fysik og endelig matematikkens grundlag. Hilberts arbejde med geometri regnes for et af de væsentligste siden Euklids Elementerne, specielt hans Grundlagen der Geometrie fra 1899, der har haft stor indflydelse på den senere udvikling. Hilberts mål var at udstyre geometrien med et simplet sæt af uafhængige aksiomer og derfra udlede de vigtigste geometriske sætninger på en sådan vis, at betydningen af de enkelte aksiomer stadig stod klart. Et systematisk studie af euklidisk geometri førte Hilbert til at foreslå 21 aksiomer, hvorefter han analyserede deres vigtighed. Men selv om Hilberts aksiomatisering var ganske god og ikke besad de samme problemer som Euklids, er dette ikke hovedårsagen til at hans 1899-værk regnes for unikt. Det er derimod det faktum, at Hilbert heri fastslog at enhver matematisk disciplin må tage sit udgangspunkt i en række udefinerede begreber og nogle aksiomer der beskriver relationerne imellem dem. Hvor Euklid definerede et punkt som »det, der ikke kan deles«, uden i øvrigt at forklare hvad han mente med ‘at dele’, betragter Hilbert – rent abstrakt – tre forskellige systemer af objekter: et system af objekter hen kalder punkter, et system af objekter han kalder linier, og et system af objekter han kalder planer. Hilbert sagde selv, at man lige så godt kunne have kaldt dem borde, stole og ølkrus – så abstrakt var hans matematik. Til disse begreber knyttes da nogle aksiomer som knytter dem til hinanden, f.eks. knyttede Hilbert én (og kun én) linie til to punkter. Bogen udkom i adskillige nye og reviderede udgaver og var en væsentlig faktor i promoveringen af den aksiomatiske tilgang, som op igennem det 20. århunderede er blevet et karakteristika ved faget matematik. Hilberts succes med Grundlagen der Geometrie blev hans inspiration til et meget ambitiøst program, senere kendt som Hilberts program: at aksiomatisere al matematik. Dette blev begyndelsen på den såkaldte formalistiske skole indenfor matematikken. Til trods for Hilberts egen produktivitet var han klar over at han ikke ville kunne udføre et sådant arbejde alene. Han benyttede derfor chancen for at ‘reklamere’ lidt for sin sag i sit foredrag ved den internationale matematikkongres i Paris i år 1900 – et foredrag som vi skal høre nærmere om og læse et uddrag af senere i dette kapitel. Udover at være en førende forskningsmatematiker var Hilberts viden om matematik generelt også ualmindelig omfattende. Hilberts første studerende, matematikeren Ludwig Otto Blumenthal (1876-1944) opsummerede Hilberts matematiske evner således: I analysen af matematisk talent må man differentiere mellem evnen til at skabe nye begreber der genererer nye typer af tankestrukturer og gaven til at fornemme dybere forbindelser og underliggende enheder. I Hilberts tilfælde lå hans storhed i en utrolig kraftfuld insigt som trængte ned i dybderne af et spørgsmål. Alle hans arbejder indeholder eksempler fra fjerne områder i hvilke kun han kunne se en indbyrdes forbindelse 4.2 Optakt til Hilberts foredrag 47 og sammenhæng med det givne problem. Fra disse sammenstillinger blev hans kunstværk i sidste ende skabt. Hvad angår det at få nye ideer vil jeg placere Minkowski højere, og af de klassisk store; Gauss, Galois og Riemann. Men når det kommer til dybdegående indsigt er der kun få af de allerstørste der har kunnet måle sig med Hilbert. [2 ] Iblandt Hilberts andre studerende var også matematikerne Hermann Weyl (1885-1955) og Ernst Zermelo (1871-1953) samt den berømte skakspiller (og matematiker) Emanuel Lasker (1868-1941), som blev verdensmester i skak i 1894 og beholdt sin titel helt frem til 1921. Men det var ikke kun matematikere som Hilbert formåede at inspirere. En af de mere prominente videnskabsmænd som Hilbert influerede var fysikeren Albert Einstein: I de tidlige år af sin videnskabelige karriere betragtede Albert Einstein matematik som værende udelukkende et redskab til at betjene fysisk intuition. I sine senere år begyndte han dog at regne matematikken for den egentlige kilde til al videnskabelig kreativitet. Hovedmotivet bag denne ændring var indflydelsen fra to prominente tyske matematikere: David Hilbert og Hermann Minkowski. [3 ] Hilbert døde den 14. februar 1943 i Göttingen. På hans grav står: »Wir müssen wissen. Wir werden wissen«. 4.2 Optakt til Hilberts foredrag Den af Hilberts artikler som vi skal kigge nærmere på i dette kapitel er, som tidligere nævnt, den der er baseret på hans foredrag den 8. august 1900 ved den internationale matematikkongres i Paris. I dette foredrag, med titlen Mathematische Probleme præsenterede Hilbert en liste bestående af 23 problemer, som han mente ville få en central betydning for udviklingen af matematikken i det 20. århundrede. Man siger, at det meste af den matematik, der har set dagens lys i det 20. århundrede på en eller anden vis har været relateret til et af Hilberts 23 problemer. I dag er flere af problemerne enten helt eller delvist løst, mens en håndfuld stadig står åbne. Det at holde et foredrag ved den internationale matematikkongress er i sig selv en hædersbevisning og formentlig givet den årsag havde Hilbert også svært ved at bestemme sig for, hvad emnet for hans foredrag helt præcist skulle være – omend elementer af hans matematiske program om aksiomatisering af matematikken skulle være indeholdt deri. Faktisk var han så længe om at bestemme sig, at hans fordrag måtte flyttes fra åbningscermonien til et senere og mindre prestigefyldt tidspunkt midt i kongressen. Som tidligere beskrevet var Hilbert og Minkowski tætte venner, men hvad der imidlertid er mindre kendt er at det var Minkowski der foreslog Hilbert, hvad han burde tale om i Paris. I et brev dateret 5. januar 1900 skriver Minkowski til Hilbert: Hvad der ville have den største indvirkning ville være et forsøg på at give en forpremiere på fremtiden, altså at skitsere de problemer som fremtidens 2 3 Oversat fra: http://www-history.mcs.st-and.ac.uk/Biographies/Hilbert.html Oversat fra Corry (1998). 48 Hilbert: matematiske problemer matematikere vil beskæftige sig med. På denne måde kan du måske endda sikre, at folk vil tale om dit foredrag årtier ud i fremtiden. [4 ] Tiden har i sandhed vist, at Minkowski havde ret. Som eksempel stod der i en omtale om Hilbert og hans problemer i det danske fagblad for aktuar, matematik, -økonomi og statistik i 1997: Der er ingen tvivl om, at Hilbert med sine 23 problemer markerede indgangen til det 20. århundrede. Problemerne danner ofte grundlag for matematisk sladder, og af og til går der rygter blandt matematikere, om at ‘den-og-den har løst en del af Hilberts n’te problem’. Selvom det af og til bare er rygter, er der i hvert fald ingen tvivl om, at David Hilbert har foranlediget en enorm mængde matematisk arbejde. [5 ] Den del af Hilberts foredrag som vi imidlertid skal beskæftige os med omhandler ikke selve de 23 problemer, men derimod de mere matematikfilosofiske betragtninger om matematiske problemer og matematikkens natur generelt, som Hilbert indledningsvist gør sig i sit foredrag.6 4.3 Hilberts 1900-foredrag De enkelte afsnit i Hilberts foredrag er her nedenfor blevet nummereret. Denne nummerering findes ikke i den originale fremstilling, men er tilføjet her for overskuelighedens skyld. Da målgruppen for Hilberts foredrag var andre matematikere, så nævner han i flæng en hel del matematiske begreber og teorier og henviser løbende til adskillige konkrete matematiske problemer i sit foredrag. Det forventes ikke at I som gymnasieelever er, eller skal gøre jer, bekendt med disse, da mange af dem henviser til matematik på et niveau der givet ligger langt ud over gymnasiets. I de fleste af tilfældene vil der være indføjet delvist forklarende fodnoter, men det skal igen understreges at det vigtige ikke er at forstå de avancerede matematiske detaljer bag Hilberts eksempler, men derimod de generelle betragtninger som Hilbert gør sig omkring matematikken som disciplin og naturen af matematiske problemer. Hilbert begynder sit foredrag således: [01.] Hvem af os ville ikke gerne kunne løfte sløret som fremtiden ligger gemt bag, for at kunne kaste et blik på de næste fremskridt indenfor vores videnskab og på hemmelighederne om dens udvikling i de kommende århundreder? Hvilke særlige mål vil der være som ledende matematiske sjæle af kommende generationer vil stræbe imod? Hvilke nye metoder og hvilke nye kendsgerninger i den omfattende og rige verden af matematiske tanker vil de nye århundreder åbenbare? [02.] Historien lærer os kontinuiteten i videnskabens udvikling. Vi ved at hver periode har sine egne problemer, som den næste periode enten løser eller forkaster som værende ufrugtbare og erstatter med nye. Hvis vi skulle kunne få en ide om den mulige udvikling af matematisk viden i den nærmeste fremtid, må vi lade de uafklarede spørgsmål passere for 4 Oversat fra: http://www-history.mcs.st-and.ac.uk/Biographies/Minkowski. html 5 Hansen (1997). 6 De udvalgte dele af Hilberts foredrag er oversat til dansk fra tysk Hilbert (1900) og engelsk Hilbert (1902) af forfatteren til dette undervisningsmateriale og med hjælp fra Hans Jørgen Munkholm. 4.3 Hilberts 1900-foredrag 49 vores øjne og kaste et blik på de problemer, som videnskaben af i dag byder på og hvis løsning vi forventer os af fremtiden. Dagen i dag, her ved mødet mellem to århundreder, forekommer mig særdeles egnet til en sådan gennemgang af problemer. For enden på en stor epoke inviterer os ikke kun til at kaste blikket på fortiden, men også til at rette vores tanker mod den ukendte fremtid. [03.] Den store betydning som bestemte problemer generelt set har for viderebringelsen af matematisk videnskab og den vigtige rolle de spiller for den individuelle forsker kan ikke benægtes. Så længe et videnskabeligt felt tilbyder et væld af problemer, så længe er det levedygtigt, mens mangel på problemer varsler udslettelse eller ophør af uafhængig udvikling. På samme vis som ethvert menneskeligt forehavende forfølger visse objekter, kræver matematisk forskning sine problemer. Det er ved løsningen af problemer at forskeren måler hærdningen af sit stål; han finder nye metoder og nye udsyn, og opnår en bredere og friere horisont. [04.] Det er vanskeligt og ofte umuligt at dømme værdien af et problem på forhånd, for den endelige pris afhænger af den smule som videnskaben opnår fra problemet. Ikke desto mindre kan vi spørge, om der er nogle generelle kriterier som markerer et godt matematisk problem. [05.] En gammel fransk matematiker sagde: ‘En matematisk teori bør ikke betragtes som fuldstændig førend den kan gøres så tydelig, at man kan forklare den til den første og bedste mand, man møder på gaden.’ Den klarhed og tilgængelighed der her insisteres på for en matematisk teori skulle jeg i højere grad forlange af et matematisk problem, førend det kan regnes for perfekt; for det der er klart og let at begribe tiltrækker, mens det komplicerede frastøder. [06.] Ydermere bør et matematisk problem være vanskeligt for at kunne friste os, dog ikke fuldstændig utilgængeligt for ikke at håne vores anstrengelser. Det bør være som en vejviser for os på de mange stier til skjult sandhed, og i sidste ende en påmindelse om vores glæde ved den succesfulde løsning. [07.] De tidligere århundredes matematikere var vant til at dedikere dem selv med passionet ildhu til løsningen af et bestemt og svært tilgængeligt problem. De kendte til værdien af et vanskeligt problem. Jeg minder jer kun om ‘problemet med den hurtigste faldkurve’ [7 ], fremsat af Johann Bernoulli. Erfaring viser, forklarer Bernoulli i offentliggørelsen af dette problem, at ophøjede sind stræber efter fremskridt i videnskaben ved intet mindre end at betragte vanskelige og på samme tid nyttige problemer, og at han derfor håber at kunne gøre sig fortjent til taksigelser fra den matematiske verden ved at følge mænd som Mersenne, Pascal, Fermat, 7 Dette problem er også kendt som det brachistochrone problem, (af græsk brachistos ‘kortest’ og chronos ‘tid’): at bestemme den kurve, ad hvilken en partikel under indvirkning af tyngdekraften vil glide hurtigst fra et givet punkt A til et givet punkt B. I slutningen af 1600-tallet fandt Johann og Jakob Bernoulli, Isaac Newton og G. W. von Leibniz uafhængigt af hinanden, at kurven er en såkaldt cykloide. 50 Hilbert: matematiske problemer Viviani og andres eksempel ved at forelægge sin tids fremtrædende analytikere et problem mod hvilket de, som en prøvesten, kan teste værdien af deres metoder og måle deres styrke. Oprindelsen af variationsregningen [8 ] skyldes dette problem fra Bernoulli og lignende problemer. [08.] Fermat havde formodet, hvilket er velkendt, at den Diophantiske [9 ] ligning xn + y n = z n , for alle heltal x, y og z, er uløselig – på nær i visse selvindlysende tilfælde. Forsøgene på at bevise denne umulighed tilbyder et slående eksempel på den inspirerende effekt, som et sådant yderst specielt og tilsyneladende uvæsenligt problem kan have for videnskaben. For ansporet af Fermats problem blev Kummer ledt til introduktionen af idealiserede tal [10 ] og loven om den entydige faktorisering af et cirkulært legemes tal i idealiserede primfaktorer [11 ] – en lov der den dag i dag, grundet Dedekinds og Kronecker s generalisering af den til vilkårlige algebraiske legemer [12 ], står i centrum for den moderne talteori og hvis betydning rækker langt udover talteoriens grænser og ind i algebraens og funktionsteoriens domæner. [09.] For at nævne et ganske anderledes forskningsområde minder jeg jer om tre-legeme problemet [13 ]. De frugtbare metoder og de vidtrækkende principper som Poincaré har introduceret i himmellegemernes fysik og som i dag er anerkendt og anvendt i praktisk astronomi bør vi takke det faktum, at han påtog sig at behandle det vanskelige problem på ny og at komme en løsning nærmere. [10.] De to sidstnævnte problemer – Fermats og tre-legeme problemet – kan forekomme os som værende nærmest modsatte poler: det førstnævnte en fri opfindelse af ren og skær ræsonneren, tilhørende den abstrakte talteoris område; det sidstnævnte påtvunget os af astronomien og nødvendig for en forståelse af de simpleste fundamentale fænomener i naturen. [11.] Men det sker også ofte, at det samme specielle problem finder sin anvendelse i de mest forskellige områder af matematisk viden. For eksempel 8 Variationsregningen er en gren af matematikken, som omhandler metoder til bestemmelse af minima eller maksima for funktioner defineret på givne klasser af kurver, flader eller andre geometriske objekter. 9 Diophantus af Alexandria (ca. 200-284), også nogle gange kaldet ‘faderen af algebra’, var græsk matematiker og forfatter af en række matematikbøger kaldet Arithmetica. Disse bøger, hvoraf flere er gået tabt, omhandlede løsning af algebraiske ligninger. I sit studie af Arithmetica fandt den franske matematiker Pierre de Fermat (1601-1665) at en bestemt ligning ingen løsninger havde (på nær i visse trivielle tilfælde). Fermat påstod at han havde et bevis for dette, men nedskrev det ikke. Udsagnet blev kendt som ‘Fermats sidste sætning’ og blev ikke bevist førend i 1995 af den engelske matematiker Andrew Wiles. Diophantiske ligninger regnes som regel som algebraiske ligninger med heltalskoefficienter, hvor man søger heltalsløsninger. 10 Se fodnote 34, side 55. 11 Se fodnote 34, side 55. 12 I den abstrakte algebra dækker begrebet legeme over en algebraisk struktur med operationer tilsvarende addition, subtraktion, multiplikation og division, opfyldende bestemte aksiomer. De oftest benyttede legemer er legemerne af hhv. rationale, reelle og komplekse tal, men der findes også endelige legemer, legemer af funktioner osv. 13 Tre-legeme problemet går ud på at bestemme bevægelserne af tre himmellegemer bevægende sig udelukkende under indflydelse af hinandens gensidige gravitation. 4.3 Hilberts 1900-foredrag 51 spiller problemet om den korteste kurve en væsentlig og historisk vigtig rolle i grundlaget for geometrien, i teorien for krumme kurver og flader, i mekanikken og variationsregningen. Og hvor overbevisende har F. Klein ikke, i hans bog om ikosaederet [14 ], skildret hvor vigtigt problemet om regulære polyedre er blevet i den elementære geometri, i gruppe- og ligningsteori og i teorien om lineære differentialligninger. [12.] For at kaste lidt lys over betydningen af visse problemer, må jeg også henvise til Weierstrass, der omtalte det som sit utrolige held at han i begyndelsen af sin akademiske karriere stødte på et så vigtigt problem som Jacobis inverteringsproblem [15 ], som han kunne arbejde på. [13.] Efter at have ihukommet os den generelle vigtighed af problemer i matematikken, lad os da vende os mod spørgsmålet om fra hvilke kilder denne videnskab afleder sine problemer. Ganske sikkert udspringer de første og ældste problemer i enhver del af matematikken af erfaring og skyldes de eksterne fænomeners verden. Selv regnereglerne for heltal må være opdaget på denne måde på et lavere stadie af den menneskelige civilisation på samme vis som nutidens barn lærer at benytte disse regler ved brug af empiriske metoder. Det samme er sandt for geometriens første problemer, problemerne testamenteret til os af antikken, som for eksempel terningens fordobling [16 ], cirklens kvadratur [17 ] og de ældste problemer i teorien for numerisk ligningsløsning [18 ], i teorien for kurver og differential- og integralregningen, i variationsregningen, teorien om Fourier -rækker [19 ] og potentialteorien [20 ] – for ikke at nævne den overflod af problemer der retmæssigt tilhører mekanikken, astronomien og fysikken. [14.] Men i den senere udvikling af et matematisk område bliver den menneskelige forstand, opmuntret af løsningernes succes, bevidst om områdets uafhængighed. Det udvikles på baggrund af sig selv, ofte uden betragtelig 14 Ikosaederet (af græsk eikosi ‘tyve’ og hedra ‘flade’) er en lukket geometrisk figur sammensat af 20 lige store og ligesidede trekanter. Ikosaederet er et af de fem regulære polyedre, geometriske legemer i rummet som er sammensat af polygonale flader. De andre er: tetraeder, heksaeder, oktaeder og dodekaeder, der hver især har hhv. 4, 6, 8 og 12 flader. 15 Et komplekst matematisk problem stillet af den preussiske matematiker Carl Gustav Jacob Jacobi (1804-1851). 16 Problemet om terningens fordobling er et klassisk geometrisk problem, der går ud på at konstruere en terning, som har et dobbelt så stort rumfang som en given forelagt terning. I 1837 beviste franskmanden Pierre Wantzel (1814-1848), at problemet er uløseligt med passer og lineal alene, hvor ‘passer og lineal’ refererer til et sæt af bestemte tilladte operationer med passer og lineal. Se Lützen (1993). 17 Et andet klassisk geometrisk problem. Dette går ud på at konstruere et kvadrat med samme areal som en given forelagt cirkel. Også dette problem er uløseligt med passer og lineal, et resultat fra 1882 som tilskrives Ferdinand Lindemann (1852-1939). Se Lützen (1993). 18 Der henvises til løsningen af ligninger numerisk i modsætning til algebraisk. For eksempel vil en lommeregner typisk løse en ligning numerisk. 19 Fourierrækker er en bestemt type af uendelige rækker som blev udtænkt af den franske matematiker Joseph Fourier (1768-1830). Fourierrækker bruges til at beskrive periodiske funktioner til videre analyse. 20 Potentialteorien er en matematisk teori som er motiveret af Newtons gravitationslov om massetiltrækning, men som også kan anvendes på elektriske og magnetiske kræfter. Teorien udviklede sig op igennem 1900-tallet, bl.a. i takt med udviklingen af integralteori og funktionsanalyse. 52 Hilbert: matematiske problemer indflydelse udefra, ved logiske forbindelser, generalisering, specialisering, ved at adskille og sammenholde ideer på fordelagtige måder, nye og frugtbare problemer, og fremstår så selv som den egentlige spørger. Således opstod problemet om primtal og andre af talteoriens problemer, Galois’ teori om ligninger [21 ], teorien for algebraiske invarianter [22 ], teorien om abelske og automorfe funktioner [23 ]; faktisk opstår alle de pænere spørgsmål i moderne tal- og funktionsteori på denne vis. [15.] I mellemtiden, mens den rene tænknings skabende kraft arbejder, kommer den ydre verden igen i spil, påtvinger os nye spørgsmål fra praktisk erfaring, åbner nye områder af matematikken, og mens vi forsøger at erobre disse nye vidensområder for den rene tankevirksomheds kongerige, finder vi ofte svar på gamle uløste problemer og avancerer således succesfuldt på samme tid de gamle teorier. Og det forekommer mig, at de talrige og overraskende analogier og den tilsyneladende i forvejen aftalte harmoni som matematikken så ofte fornemmer i spørgsmålene, har deres oprindelse i dette evigt tilbagevendende samspil mellem tanke og erfaring. [16.] Det står stadig tilbage kort at diskutere hvilke generelle krav der med rette kan opstilles for løsningen af et matematisk problem. Først skal jeg dog sige følgende: at det skal være muligt at fastslå korrektheden af løsningen i et endeligt antal skridt baseret på et endeligt antal hypoteser der ligger i formuleringen af problemet og som altid skal formuleres præcist. Denne betingelse for logisk deduktion ved et endeligt antal skridt er ganke enkelt kravet om stringens i argumentationen. Kravet om stringens, som er blevet ordsprogsagtigt i matematikken, svarer i sandhed til en universal filosofisk nødvendighed for vor forstand; og på den anden side er det kun ved at opfylde dette krav, at problemets tankemæssige indhold og dets frugtbarhed kommer til fuld gyldighed. Et nyt problem, i særdeleshed når det kommer fra verdenen af ydre erfaringer, er som en ung kvist der kun trives og bærer frugt, hvis den podes omhyggeligt i overenstemmelser med strenge regler om havebrug på den gamle stamme, de etablerede bedrifter af vores matematiske videnskab. [17.] Desuden er det en fejl at tro at stringens i et bevis er simplicitetens fjende. Tværtimod bekræftes det af utallige eksempler at en stringent 21 Ligesom andengradsligningen har en generel løsningsformel, hvor rødderne er udtrykt ved ligningens koefficienter, har ligninger af grad 3 og 4 det også. Den generelle løsningsformel for andengradsligningen har været kendt i årtusinder, f.eks. med babylonerne, og løsningsformlerne for tredje- og fjerdegradsligningerne har været kendt siden Cardanos Ars Magna fra 1545. Da alle ligninger af grad 2, 3 og 4 kan løses generelt var man i århundreder overbevist om at den generelle femtegradsligning også kunne det. Ikke førend i 1827 blev det endeligt bevist at der ikke findes en generel løsningformel for femtegradsligningen (se fodnote 36 side 56). Den unge franske matematiker Évariste Galois (1811-1832) generaliserede dette resultat ved at indføre hvad der i dag kendes som en Galoisgruppe, en matematisk konstruktion som gør det muligt at aflæse hvorvidt en given n’tegradsligning kan løses ved udtryk i koefficienterne eller ej (se fodnote 37 side 56). 22 Invariantteori er en underafdeling af abstrakt algebra. Oprindeligt udsprang denne teori af spørgsmålet om eksplicitte beskrivelser af polynomiale funktioner der ikke ændrer sig – altså er invariante – under visse givne transformationer. 23 To slags specielle matematiske funktioner besiddende bestemte egenskaber. Begrebet ‘abelsk’ skyldes den norske matematiker Abel (se fodnote 36, side 56). 4.3 Hilberts 1900-foredrag 53 metode på samme tid er simplere og lettere at forstå. Selve umagen med at opnå stringens tvinger os til at udtænke simplere bevismetoder. Jævnligt fører det også til metoder med større udviklingspotentiale end de gamle og mindre stringente metoder. Således oplevede teorien om algebraiske kurver [24 ] en væsentlig simplificering og opnåede større indre sammenhæng ved hjælp af de mere stringente funktionsteoretiske metoder og den konsistente introduktion af trancendente hjælpemidler. Beviset for, at potensrækker [25 ] tillader anvendelse af de fire elementære regningsarter såvel som ledvis differentiation og integration, og den deraf følgende erkendelse af potensrækkernes betydning, bidrog i væsentlig grad til simplificeringen af al analyse, i særdeleshed for eliminationsteori [26 ] og teorien om differentialligninger og ligeledes eksistensbeviserne påkrævet i disse teorier. Men det mest slående eksempel for min påstand er variationsregningen. Behandlingen af første og anden variationer af bestemte integraler krævede delvist ekstremt komplicerede udregninger og de metoder som de gamle matematikere anvendte havde ikke den fornødne stringens. Weierstrass viste os vejen til et nyt og sikkert grundlag for variationsregningen. [...] [18.] Mens jeg vil insistere på strenghed i beviser som et krav for en perfekt løsning til et matematisk problem, vil jeg på den anden side modsætte mig den holdning at kun analysens begreber, eller udelukkende dem fra aritmetikken, er modtagelige for en fuldstændig stringent behandling. Denne holdning, undertiden advokeret for af fremtrædende mænd, betragter jeg som fejlagtig. En sådan én-sidet fortolkning af kravet om stringens ville snart føre til en ignorering af alle begreber opstået på baggrund af geometrien, mekanikken og fysikken, til en standsning af tilførelsen af nyt materiale fra en udenforliggende verden og endelig, i sandhed som den sidste konsekvens, til forkastningen af ideerne om kontinuet [27 ] og de irrationale tal [28 ]. Hvilken vigtig nerve, vital for matematisk videnskab, ville ikke blive skåret væk ved fjernelsen af geometri og matematisk fysik? På den anden side tror jeg, set fra et erkendelsesteoretisk synspunkt, at hvor end i geometrien eller i teorien om naturvidenskab, matematiske ideer opstår, vil problemet for matematisk videnskab med at undersøge de for disse ideer underliggende principper melde sig og da også etableringen af dem på baggrund af et simpelt og komplet system af aksiomer, således at disse nye ideers præcisionsgrad og anvendelighed til deduktion på ingen måde skal være de gamle aritmetiske koncepter underlegne. 24 Man kan skelne imellem algebraiske kurver og trancendente kurver (eller funktioner). De algebraiske er de der i grund og bund er polynomier i en variabel x og dannes ved et endeligt antal aritmetiske operationer bestående af de fire regningsarter og rodtegn. De trancendente kan ikke dannes på denne vis, da de vil kræve et uendeligt antal operationer. Eksempler på trancendente funktioner er sin x, cos x og ex . P∞ 25 Potensrækker i matematik er uendelige rækker af formen c xn = c0 + c1 x + n=0 n c2 x2 + . . ., hvor koefficienterne c og den variable x kan være vilkårlige reelle eller komplekse tal. 26 Eliminationsteori er det klassiske navn for algoritmiske tilgange til elimination mellem polynomier af flere variable. For lineære ligninger håndteres dette i dag oftest ved brug af såkaldt Gauss-elimination. 27 Ordet kontinuet refererer her til den reelle talakse. 28 Hvor rationale tal er tal der kan skrives på brøkform, altså a/b hvor a og b er heltal og b = 6 0, er irrationale tal tal der ikke kan skrives på sådan brøkform. Et irrationalt tal kan √hverken omskrives til et endeligt eller et periodisk decimaltal. Eksempelvis er tallet 2 et irrationalt tal. 54 Hilbert: matematiske problemer [19.] Til nye begreber hører nødvendigvis også nye tegn. Disse vælger vi på en sådan måde, at de minder os om de fænomener der var årsagen til dannelsen af de nye begreber. Så de geometriske figurer er tegn eller mnemotekniske symboler af rum-intuition og bruges af alle matematikere som sådan. Hvem anvender ikke altid i følgeskab med den dobbelte ulighed a > b > c billedet af tre på hinanden følgende punkter på en ret linie som det geometriske billede af ideen ‘imellem’? Hvem benytter ikke tegninger af liniestykker, eller rektangler, der ligger inden i hinanden, når det er påkrævet for med perfekt stringens at vise en vanskelig sætning om kontinuitet af funktioner eller eksistensen af fortætningspunkter [29 ]? Hvem kunne klare sig uden at tegne en trekant, cirklen med dens centrum eller krydset med tre vinkelrette akser? Eller hvem ville give afkald på at forestille sig et vektorfelt [30 ] eller billedet af en kurve- eller fladeskare med dens indhyllingskurver eller -flader [31 ], forestillinger der spiller en så vigtig rolle i differentialgeometrien [32 ], i differentialligningernes teori, i variationsregningens grundlag og i andre rent matematiske vidensområder? [20.] De aritmetiske symboler er skrevne diagrammer og de geometriske figurer er grafiske formler, og ingen matematiker kunne undvære disse grafiske formler hverken mere eller mindre end han i beregninger kunne undvære indførelse og fjernelse af parenteser eller brug af andre analytiske tegn. [21.] Brugen af geometriske tegn som et middel til stringent bevisførelse forudsætter eksakt viden og fuldendt beherskelse af de aksiomer der ligger til grund for figurerne; og for at disse geometriske figurer kan inkorporeres i den generelle skatkiste af matematiske tegn må der nødvendigvis foretages en streng aksiomatisk udforskning af deres begrebsmæssige indhold. Ligesom når to tal lægges sammen og man må placere cifrene under hinanden i den rette rækkefølge, således at kun regnereglerne, dvs. aksiomerne for aritmetik, bestemmer den korrekte brug af cifrene, således er også brugen af geometriske tegn bestemt af aksiomerne for geometriske begreber og deres sammensætninger. [22.] Overenstemmelserne mellem geometrisk og aritmetisk tankegang viser sig også ved at vi ikke sædvanligvis følger argumentationskæden tilbage til aksiomerne i aritmetiske ej heller geometriske diskussioner. Tværtimod anvender vi, specielt første gang vi angriber et problem, en hurtig, ubevidst, ikke fuldstændig sikker kombination der sætter sin lid til en bestemt 29 For en (uendelig) mængde af punkter M i et såkaldt topologisk rum er et fortætningspunkt defineret som et punkt hvorom det gælder at alle dets naboområder indeholder utællelig mange punkter af mængden M . 30 Et vektorfelt er en konstruktion som associerer en vektor (et matematisk objekt med en retning, som kan skaleres og adderes med andre vektorer) til ethvert punkt i en delmængde af det euklidiske rum. Vektorfelter anvendes ofte i fysik til at modellere fænomener, f.eks. hastigheden og retningen af en væske der bevæger sig. 31 En indhyllingskurve er en kurve f knyttet til et system af kurver, hvor f rører hver enkelt systemkurve i isolerede punkter og har tangent fælles med systemkurven i disse. Når systemkurverne er rette linjer er de således tangenter til f . Noget tilsvarende gælder for indhyllingsflader i rummet. 32 Område af matematikken omhandlende undersøgelser af kurver, flader og andre geometriske former. 4.3 Hilberts 1900-foredrag 55 aritmetisk fornemmelse for de aritmetiske symbolers opførsel, som vi lige lidt kunne undvære i aritmetik som den geometriske forestillingsevne i geometrien. Som et eksempel på en geometrisk teori der opererer stringent med geometriske ideer og symboler nævner jeg Minkowskis værk (Leipzig 1896, ‘Die Geometrie der Zahlen’). [23.] Nogle bemærkninger angående de vanskeligheder som matematiske problemer kan byde på, og midlerne til at overvinde dem, er her på sin plads. [24.] Hvis vi ikke har succes med at løse et matematisk problem er årsagen ofte den at vi har fejlet i erkendelsen af det mere generelle synspunkt fra hvilket vores problem kun er et enkelt led i en kæde af relaterede problemer. Efter at have fundet og taget dette synspunkt er problemet tit ikke kun mere tilgængeligt for vores undersøgelser, men vi kommer samtidig til at besidde en metode som også er anvendelig på relaterede problemer. Introduktionen af Cauchy s integration langs kurver i den komplekse plan [33 ] og Kummer s definition af begrebet ‘ideal’ [34 ] i talteorien kan tjene som eksempler. Denne måde at finde generelle metoder på er i sandhed den mest anvendelige og sikre; for den som søger efter metoder uden at have et bestemt problem i tankerne søger mestendels forgæves. [25.] Når man beskæftiger sig med matematiske problemer er jeg overbevist om at specialisering spiller en stadig vigtigere rolle end generalisering. I de fleste tilfælde hvor vi forgæves søger svaret til et spørgsmål, er årsagen til at det mislykkedes måske den, at simplere og nemmere problemer end det givne enten overhovedet ikke eller kun delvist er løst. Da afhænger alt af at finde disse nemmere problemer og løse dem ved brug af så perfekte hjælpemidler som muligt og af begreber der kan generaliseres. Denne regel er en af de vigtigste løftestænger for at overvinde matematiske problemer og det forekommer mig at den næsten altid anvendes omend måske ubevidst. [26.] Undertiden sker det at vi søger efter løsningen under utilstrækkelige hypoteser eller på en forkert vis og at det derfor ikke lykkes. Da opstår problemet: at vise umuligheden af en løsning under de givne hypoteser eller på den tilsigtede vis. Sådanne umulighedsbeviser blev smukt gennemført i antikken, for eksempel når de viste at forholdet mellem hypotenusen og siden i en ligebenet retvinklet trekant er irrationalt. I den nyere matematik spiller spørgsmålet om umuligheden af visse løsninger en fremtrædende rolle og vi forstår på denne måde at gamle og vanskelige problemer, så som parallelaksiomets bevis [35 ], cirklens kvadratur eller den algebraiske løsning 33 Den komplekse plan består af den reelle akse (1. aksen) og den imaginære akse (2. √ aksen). Komplekse tal a + ib, hvor a er realdelen og b imaginærdelen (og i = −1), afsættes i punktet (a, b) i den komplekse plan. 34 I matematisk ringteori, en del af abstrakt algebra, dækker begrebet et ideal over en special delmængde af en ring, som er en algebraisk struktur med bestemte egenskaber. Idealkonceptet generaliserer vigtige egenskaber ved heltal og man kan ligesom man taler om primtal også tale om og betragte primidealer. 35 Parallelaksiomet i den klassiske euklidiske geometri siger at ensliggende vinkler ved parallelle linier er lige store. Historisk set har det været meget omdiskuteret om man kunne undvære dette aksiom i opbygningen af geometrien. Den ungarske matematiker 56 Hilbert: matematiske problemer af femtegradsligningen [36 ] ved radikaler [37 ] endelig har fundet fuldt ud tilfredsstillende og strenge løsninger, selvom det er på en anderledes måde end oprindelig tiltænkt. Det er formentlig dette vigtige faktum, sammen med andre filosofiske begrundelser, som er årsag til overbevisningen (som enhver matematiker deler, men som ingen endnu har givet et bevis for) om at ethvert nøje afgrænset matematisk problem nødvendigvis må kunne afgøres, enten i form af et faktisk svar på det stillede spørgsmål eller ved at bevise umuligheden af dets løsning og derved den nødvendige fejlslagning af alle forsøg. Tag et vilkårligt nøje afgrænset uløst problem, som for eksempel spørgsmålet om irrationaliteten af Euler -Mascheroni konstanten C [38 ], eller eksistensen af et uendeligt antal primtal af formen 2n + 1 [39 ]. Hvor utilnærmelige disse problemer end må forekomme os og hvor ubehjælpsomme vi end står overfor dem, har vi, ikke desto mindre, en sikker overbevisning om at deres løsning må følge af et endeligt antal rent logiske skridt. [27.] Er dette aksiom angående løsningen af ethvert problem en særegenhed ved matematisk tænkning alene eller er det muligvis en generel lov iboende vores tankes væsen, at alle spørgsmål den stiller må kunne besvares? For i andre videnskaber støder man også på gamle problemer, som er blevet løst på mest tilfredstillende vis og hvis umulighedsbeviser har vist sig særdeles brugbare for videnskaben. Jeg erindrer problemet med evig bevægelse. Efter forgæves at have søgt for konstruktionen af en evighedsmaskine, udforskede man de relationer der må bestå imellem naturkræfterne, hvis sådan en maskine skal være en umulighed (Se Helmholtz, ‘Ueber die Wechselwirkung der Naturkräefte und die darauf bezüglichen neuesten Ermittelungen der Physik’; foredrag holdt i Königsberg, 1854.) og dette omvendte spørgsmål førte til opdagelsen af loven om energiens bevarelse, hvilket igen forklarede umuligheden af evig bevægelse som oprindelig tilsigtet. János Bolyai (1802-1860) udviklede i første halvdel af 1800-tallet en absolut geometri, hvori dette aksiom ikke nødvendigvis gælder. Sammen med andre samtidige arbejder markerer dette begyndelsen til den ikke-euklidiske geometri. Bolyais indsats blev dog først anerkendt omkring 1870. 36 Som nævnt i fodnote 21 på side 52 findes der ikke generelle løsningsformler for ligninger af grad større end eller lig 5. Det var dog ikke førend i slutningen af 1700tallet og begyndelsen af 1800-tallet at man begyndte at indse dette og forsøgte at vise umuligheden af at finde en generel løsningsformel for femtegradsligningen. Dette skete først med mere eller mindre ukomplette forsøg af den italienske matematiker Paolo Ruffini (1765-1822) og så med det endelige bevis (publiceret i 1827) af den unge norske matematiker Niels Henrik Abel (1802-1829). 37 Ordet radikaler dækker over udtryk, hvor koefficienterne i en n’tegradsligning er sammensat ved brug af de fire basale regneoperationer (addition, subtraktion, multiplikation og division) samt uddragning af n’te rødder (rodtegn). For eksempel udtrykker den generelle løsningsformel for andengradsligningen dennes rødder ved ligningens koefficienter sammensat af de fire basale regneoperationer samt kvadratrødder (rodtegn med n = 2). 38 En matematisk konstant (i modsætning til en variabel) som ofte optræder i matematisk analyse og talteori og som blev defineret under navnet C af Euler i 1735. I dag kendes den gerne under betegnelsen γ (gamma), som Lorenzo Mascheroni (1750-1800) gav den i 1790. 39 Primtal af typen 2n − 1, hvor n er heltal, kendes under navnet Mersenne-primtal efter den franske munk Marin Mersenne (1588-1648). Det er i matematikken stadig et uløst problem, hvorvidt der findes et uendeligt antal Mersenne-primtal ligeså vel som et uendeligt antal primtal af typen 2n + 1. 4.3 Hilberts 1900-foredrag 57 [28.] Denne overbevisning om løsbarheden af ethvert matematisk problem er et kraftfuldt incitament for arbejdet. Fra inde i os selv hører vi det evindelige kald: Dér er problemet. Søg dets løsning. Du kan finde den ved tankens kraft alene, for i matematikken er der ingen ignorabimus.40 [29.] Forsyningen af problemer i matematikken er uudtømmelig og så snart ét problem er løst myldrer utallige andre frem og tager dets plads. Tillad mig i det følgende, omend kun forsøgsvist, at nævne visse bestemte problemer, taget fra forskellige områder af matematikken, hvis behandling kan føre til fremskridt i videnskaben. [...] På dette tidspunkt i sit foredrag nævner og diskuterer Hilbert nu sine siden så berømte 23 problemer. Vi skal ikke her beskæftige os i detaljer med disse problemer, udover den følgende opgave. Opgave 45 Foretag en søgning på internettet, f.eks. med søgeordene ‘Hilbert’ og ‘matematiske problemer’ (eller ‘mathematical problems’). Hvor mange af de 23 problemer er blevet løst? Hvor mange af disse blev løst i løbet af Hilberts egen levetid og hvor mange først senere? Hvor mange af problemerne er kun delvist løst? Hvor mange er uløste? Hvad er specielt ved Hilberts 10. problem? (Husk at angive addresser på de internetsider, hvorfra I får jeres oplysninger.) Vi springer nu videre til slutningen af Hilberts foredrag – hvor han har afsluttet sin præsentation og diskussion af de 23 problemer – for at få hans sidste generelle betragtninger om matematikken og matematiske problemer med. [30.] De nævnte problemer er kun et udvalg af problemer, men de er tilstrækkelige til at vise hvor rig, hvor mangfoldig og hvor vidtstrakt den matematiske videnskab i dag er, og det foranlediger spørgsmålet om hvorvidt matematikken er dømt til samme skæbne som de videnskaber der forlængst har splittet sig op i adskilte områder, hvis repræsentanter knap nok forstår hvad hinanden siger og hvis samhørighed forekommer løsere og løsere. Jeg tror det ikke og ønsker det heller ikke. Matematisk videnskab er efter min mening et udeleligt hele, en organisme hvis vitalitet afhænger af samhørigheden mellem dens dele. For med al variationen i den matematiske viden er vi stadig fuldt bevidste om ligheden mellem de logiske hjælpemidler, sammenhængen mellem ideerne i matematikken som et hele og de utallige analogier i dens forskellige domæner. Vi bemærker ligeledes, at des mere en matematisk teori udvikles des mere harmonisk og uniformt forløber dens konstruktion, og relationer om hvilke vi var intetanende bliver afsløret mellem hidtidig adskilte dele af videnskaben. Således sker det, at med udviklingen af matematikken, går dens organiske karakter ikke tabt men manifesterer sig kun tydeligere. 40 Der henvises her til den latinske frase ignoramus et ignorabimus, der på dansk kan oversættes til: ‘vi ved det ikke og vi kommer heller ikke til at vide det’, og som var kendetegnede for en holdning argumenterende for (natur)videnskabernes begrænsning i 1800-tallet. 58 Hilbert: matematiske problemer [31.] Men, spørger vi, med udvidelsen af den matematiske viden vil det da ikke i sidste ende blive umuligt for én enkelt forsker at favne alle områderne af denne viden? Som svar lad mig da pege på, hvor grundigt det er rodfæstet i matematisk videnskab, at hvert reelt fremskridt går hånd i hånd med opfindelsen af skarpere redskaber og simplere metoder som på samme tid assisterer forståelsen af tidligere teorier og bortkaster ældre og mere komplicerede resultater. Det er derfor muligt for den individuelle forsker, når han benytter disse sine egne skarpere redskaber og simplere metoder, nemmere at finde sin vej gennem de forskellige dele af matematikken end det er muligt i andre videnskaber. Den organiske enhed i matematikken er en indgroet del af denne videnskabs natur, thi matematik er grundlaget for al eksakt viden om naturlige fænomener. For at den kan fuldføre denne højbårne mission, må det ny århundrede da give matematikken geniale mestre og mange tjenstivrige og entusiastiske disciple. 4.4 Hilberts radiotale, Königsberg 1930 Endnu en ide om Hilberts syn på matematikken og naturvidenskab kan fås fra hans senere radiotale. Denne blev givet i forbindelse med hans pension, hvor han flyttede tilbage til Königsberg. Byen Königsberg gjorde i den forbindelse Hilbert til æresborger af byen og Hilbert takkede med en tale den 8. september, 1930 i radioen, hvori han bl.a. udtalte de i matematikken siden så udødelige ord, der også senere skulle blive hans gravskrift: »Wir müssen wissen. Wir werden wissen.«41 [a.] Det instrument, der befordrer formidlingen mellem teori og praksis, mellem tænkning og iagttagelse, er matematikken. Den bygger den forbindende bro og udformer denne stadigt mere bæredygtig. Deraf kommer det, at hele vor nuværende kultur, for så vidt denne beror på åndelig indtrængen i, og praktisk underlæggelse af, naturen, finder sit grundlag i matematikken. [b.] Allerede Galilei siger: ‘Naturen kan kun den forstå, som har lært det sprog og de tegn at kende, hvormed den taler til os.’ Og dette sprog er matematikken – dets tegn de matematiske figurer! [c.] Kant fremsatte denne udtalelse: ‘Jeg påstår, at i enhver særskilt naturvidenskab træffes egentlig videnskab kun i det omfang matematik er indeholdt deri.’ I virkeligheden behersker vi ikke en naturvidenskabelig teori, før vi har skrællet ind til, og fuldstændigt afdækket, dens matematiske kerne. Uden matematik er nutidens astronomi og fysik umulig. Disse videnskaber opløser sig, hvad angår deres teoretiske elementer, direkte i matematik. Det er disse, såvel som talrige andre, anvendelser, matematikken kan takke for sin anseelse, for så vidt den nyder en sådan hos et bredere publikum. [d.] På trods heraf har alle matematikere afvist at lade anvendelserne gælde som værdimåler for matematikken. Gauss taler om den fortryllende tillokkelse, som har gjort talteorien til de tidligste matematikeres yndlingsvidenskab. For ikke at tale om talteoriens uudtømmelige rigdom, i hvilken den så langt overtræffer alle andre dele af matematikken. Kronecker sam41 David Hilberts radiotale er oversat fra tysk af Hans Jørgen Munkholm (IMADA, SDU), se http://topo.math.u-psud.fr/~lcs/Hilbert/hilb_dk2.htm. Bogstavnummerering er tilføjet i ovenstående udgave. 4.5 Gödels ufuldstændighedssætninger, Königsberg 1930 59 menligner talteoretikerne med lotofagerne [42 ] som, når de en gang har indtaget denne spise, aldrig mere kan holde sig derfra. [e.] Den store matematiker Poincaré vendte sig engang med påfaldende strenghed mod forfatteren Tolstoi, som havde erklæret, at kravet om ‘videnskab for videnskabens skyld’ skulle være tåbeligt. Industriens triumfer, for eksempel, havde aldrig set dagens lys, hvis kun praktikere havde eksisteret, og triumferne ikke var blevet fremmet af uinteresserede tåber. [f.] Den menneskelige ånds ære er, sådan siger den berømte Königsberg matematiker Jacobi, al videnskabs eneste mål. [g.] Vi bør ikke tro dem, som i dag med filosofisk mine og overlegen tone profeterer kulturundergang og finder behag i ignorabimus. For os gives der intet ignorabimus, og ej heller, efter min mening, for naturvidenskaben i det hele taget. I stedet for det tåbelige ignorabimus skal vort løsen lyde: Vi må og skal vide – vi kan og vil vide! 4.5 Gödels ufuldstændighedssætninger, Königsberg 1930 Det er næsten umuligt at fortælle historien om Hilbert uden også at komme ind på en anden af tidens matematikere, den tjekkisk fødte matematiker Kurt Gödel (1906-1978). Det forholder sig nemlig således at dagen inden Hilbert gav sin radiotale havde Gödel i forbindelse med en konference, også i Königsberg, fremført nogle for matematikken højst uventede resultater – resultater der skulle få katastrofale følger for Hilberts program om at aksiomatisere al matematikken (se side 46). Gödel var ligesom mange andre i tiden inspireret af Hilberts program og ideer omhandlede udviklingen af såkaldte formelle systemer43 for forskellige matematiske teorier. Selve udviklingen af systemerne var ikke det vanskeligste, men det var derimod næste skridt i programmet: at bevise at systemerne var konsistente. Det vil sige, at det ikke er muligt at udlede både P og P’s negation, altså P og ¬P. Hilbert anså dette skridt i programmet for værende det vigtigste. Gennem sit forsøg på at efterstræbe Hilberts program indså Gödel, at konceptet beviselighed kunne defineres aritmetisk. Dette førte til hans ufuldstændighedssætninger, som ironisk nok kom til at kuldsejle Hilberts program (i hvert fald som oprindeligt fremført).44 Gödels ufuldstændighedssætninger og teorien bag er noget forholdsvis ‘langhåret’ matematik, men vi skal se om vi alligevel ikke kan få en overordnet, omend overfladisk, ide om sætningernes indhold. Ufuldstændighedssætningerne omfatter to sætninger, hvoraf den første var den der blev præsenteret i Königsberg den 7. september 1930. Reaktionerne (ikke altid baseret 42 I Homers Odysseen er lotofagerne et fredsommeligt folk, der levede af frugterne fra det mytiske lotostræ og tog vel imod Odysseus og hans mænd; da nogle af mændene fik lotosfrugterne at spise, tabte de al lyst til at vende hjem til Ithaka, og Odysseus måtte med magt slæbe dem tilbage til skibene. 43 I den formelle logik består et formelt system af et formelt sprog indeholdende en endelig mængde symboler (et alfabet) som kan bruges til at konstruere formler (endelige strenge af symboler); en grammatik som fortæller hvordan vi kan danne formler; en mængde af aksiomer; og en mængde slutningsregler der bruges til at udlede (konkludere) udtryk udfra aksiomerne og andre udledte udtryk (sætninger). 44 Jf. Shanker (1988, s. 6). 60 Hilbert: matematiske problemer på forståelse) på Gödels første ufuldstændighedssætning var umiddelbare, omend varierende fra dybsindig værdsættelse hos den ungarsk fødte matematiker John von Neumann (1903-1957) over kraftig kritik fra Hilberts tidligere studerende Ernst Zermelo. Den første ufuldstændighedssætning lyder omtrent som følger: Sætning 4.1: Gödels første ufuldstændighedssætning Givet et (konsistent) formelt system vil dette ikke kunne omfatte alle sandheder om elementær talteori; der vil altid være sande udsagn som ikke kan bevises indenfor systemet. Gödels sætning siger altså, at der i et sådant formelt system altid vil eksistere udsagn, propositioner P, for hvilke hverken P eller ¬P kan bevises. I og med at man i matematikken gerne er af den opfattelse, at der om et arbitrært udsagn P må gælde, at enten P eller ¬P er sand (lad os sige at det er P der er sand), må der således ifølge sætningen eksistere sande udsagn P, som ikke er beviselige sætninger indenfor systemet.45 Gödels anden ufuldstændighedssætning fulgte allerede to måneder efter den første (det første kendskab til den er fra den 20. oktober 1930, hvor Gödel indleverede et resume af resultatet til universitetet i Wien).46 Sætningen siger i store træk følgende: Sætning 4.2: Gödels anden ufuldstændighedssætning En hvilken som helst realistisk matematisk teori er ude af stand til at bevise sin egen konsistens. Det vil altså sige, at et konsistensbevis for et formelt system kræver flere matematiske resurcer end der er til rådighed i systemet selv. Med ‘realistisk’ menes et konsistent system, som indeholder en bestemt mængde af elementær talteori. Essensen af den anden sætning er, at ligemeget hvor stort vi gør et matematisk aksiomatisk system, ligemeget hvor meget vi inkluderer og fylder på, så vil det aldrig kunne bevise sin egen konsistens – og det ødelagde Hilberts program som dette var tiltænkt. Gödel publicerede sine resultater i 1931, og hans artikel kom til at bære titlen Über formal unentscheidbare Sätze der Principia mathematica und verwandter Systeme. Det bør nævnes at Gödel kun giver beviset for den første sætning i denne artikel, for den anden skitserer han blot et bevis. Beviset for den anden sætning skulle følge i del II af artiklen, men Gödel fik aldrig skrevet denne. Hilbert selv og Paul Isaac Bernays (1888-1977) udførte dog i 1939 beviset i detaljer for to standardsystemer i talteori.47 For praktiserende matematikere havde (og har) ufuldstændighedssætningerne formentlig ikke den store betydning når der skal bevises matematiske sætninger. Ifald der er noget man ikke kan bevise indenfor et givet system kan man jo udvide systemet indtil man kan bevise den sætning man er ude efter – teoretisk set i al fald. Selvfølgelig medfører en sådan udvidelse at der vil være nye udsagn man ikke kan bevise, men så kan man jo udvide systemet igen og så fremdeles. De filosofiske konsekvenser 45 Jf. Shanker (1988, s. 6), Harrison (1996, s. 7-8) og van Heijenoort (1967, s. 595). John von Neumann, som havde udvist stor interesse for Gödels resultat ved kongressen i Königsberg, viste uafhængigt samme resultat og formidlede dette per brev til Gödel den 20. november samme år. (Dictionary of Scientific Biography; 1970-80) 47 Jf. Harrison (1996, s. 8) og van Heijenoort (1967, s. 594). 46 4.6 Epilog 61 af Gödels sætninger var langt større, ikke mindst fordi sætningerne introducerede muligheden for at nogle af matematikkens problemer slet ikke kan løses (at man hverken kan bevise et udsagn eller dets negation) og der dermed måske alligevel gives ignorabimus48 i matematikken. Mange opfattede dette som om selve fundamentet for matematikken blev revet væk. Historien har senere vist at det nok ikke var helt så slemt. Men ikke desto mindre måtte man revidere opfattelsen af hvad matematik som videnskab var. Matematikhistorikerne O’Connor og Robertson skriver om Gödels resultater: Gödels resultater var en milepæl i det 20. århundredes matematik og viste at matematik ikke er noget færdigt [og fuldstændigt], hvilket man tidligere havde troet. Ydermere implicerer det at en computer aldrig vil kunne programmeres til at besvare alle matematiske spørgsmål. [49 ] 4.6 Epilog Således ender vores historie der hvor den begyndte, nemlig med ‘kongens bjerg’: Königsberg. Königsberg, der med sine syv broer gav anledning til en af alle tiders største matematikere, Leonhard Eulers, pionerende arbejde indenfor det der senere skulle blive kendt som grafteori – en disciplin der med bl.a. Edsgar Dijkstras algoritme fandt sin anvendelse i det 20. århundrede. Königsberg, der fostrede det 20. århundredes mest prominente matematiker, David Hilbert, og dannede rammen om den radiotale, hvori han så klart udtrykte sin overbevisning om matematikkens natur. Og Königsberg, stedet hvor Kurt Gödel annoncerede sine resultater der skulle styrte Hilberts program i grus og ryste den matematiske verden i sin grundvold. 48 49 Jf. fodnote 40, side 57 samt Hilberts omtale herom i hans radiotale ovenfor. Oversat fra: http://www-history.mcs.st-and.ac.uk/Biographies/Godel.html 62 5 Afsluttende skriftlig opgave I de foregående kapitler er I blevet introduceret til tre matematiske tekster: Eulers 1736-artikel, der med sin generelle løsning af Königsberg-problemet regnes for begyndelsen på en helt ny matematisk disciplin, grafteorien; Dijkstras 1959-note, der danner grundlag for en vigtig moderne anvendelse af grafteorien til at løse en bestemt type problemer i vores samfund og hverdag, nemlig korteste-vej problemer; og Hilberts 1900-foredrag, som fra en mere filosofisk vinkel diskuterer matematiske problemer og deres betydning for matematikkens udvikling generelt. I dette sidste kapitel skal vi nu forsøge at trække nogle tråde imellem disse tre matematiske tekster. Dette gøres gennem et antal såkaldte essayopgaver, hvor vi skal betragte forskellige sider af faget matematik med en eller flere af de gennemgåede tekster som omdrejningspunkt. ‘Essayet’ i disse opgaver består i, at I i grupper diskuterer de gennemgåede tekster udfra stillede spørgsmål i essay-opgaverne og efter endt diskussion besvarer disse på essay-form. »Betyder dette at vi skal lave ‘dansk stil’ i matematiktimerne,« tænker I måske nu, og til det er svaret: Ja, det kan man godt sige, blot en ‘stil’ der omhandler matematik, matematikfilosofi, matematikhistorie og matematikanvendelser. Samlingen af essays er en gruppeaflevering og skal afleveres elektronisk, dvs. i en pdf-fil, et Word-dokument, el. lign. Husk, som tidligere, at når I anvender internettet til at indsamle informationer, så skal I angive adresserne på de sider hvorfra I tager jeres oplysninger (gerne i form af hyperlinks i fodnoter). God fornøjelse! 5.1 Essay-opgave 1: Matematiske problemer Som I sikkert allerede har bidt mærke i er ‘matematiske problemer’ et af temaerne for dette undervisningsmateriale: vi har stiftet bekendtskab med to af matematikkens kendte problemer, nemlig Königsberg-problemet og korteste-vej problemet, og vi har læst en tekst af Hilbert der udelukkende omhandler matematiske problemer. Første del Hilbert udtaler sig meget specifikt om hvad matematiske problemer er. Det bliver nu jeres opgave at relatere dette til de to andre tekster I har læst. a. Gransk Hilberts foredrag nøje og identificer de kriterier han opstiller for hvad et godt matematisk problem er. (Angiv numrene på de 63 64 Afsluttende skriftlig opgave afsnit hvorfra I tager jeres informationer og brug evt. citater fra teksten.) b. I hvilken grad (og hvordan) opfylder Königsberg-problemet, kortestevej problemet og problemet med det mindste udspændende træ Hilberts kriterier? Argumenter for jeres svar og giv understøttende eksempler. Anden del Udover matematiske problemer udtaler Hilbert sig i sit foredrag også en smule om hvordan matematikken generelt set udvikler sig og bliver til. c. Hvad siger Hilbert i sit foredrag om udviklingen af matematikken generelt? (Angiv numrene på de afsnit hvorfra I tager jeres informationer og brug evt. citater fra teksten.) d. Når vi ser på begyndelsen af grafteori (i form af Eulers 1736-artikel) og dets moderne anvendelse til bestemmelse af korteste vej og mindste udspændende træer, hvordan stemmer dette så overens med Hilberts beskrivelse af matematikkens udvikling? Argumenter for jeres svar og giv understøttende eksempler. 5.2 Essay-opgave 2: Matematiske beviser Denne næste opgave omhandler matematiske beviser og deres rolle og består af tre dele, hver indeholdende en række underspørgsmål. Første del I første del skal I foretage en søgning på internettet med henblik på at finde ud af hvad begrebet ‘matematiske beviser’ (eller på engelsk ‘mathematical proofs’) dækker over. Skriv på baggrund af denne søgning og teksterne i undervisningsmaterialet et essay der besvarer følgende spørgsmål. a. Hvad er et matematisk bevis og hvorfor beviser vi ting i matematik? b. Hvad er forskellen på et bevis og et eksempel? Giv et eksempel til at illustrerer forskellen. c. Hvilken rolle tjener modeksemplet i matematikken og i forbindelse med beviser? (Giv et konkret eksempel.) d. Hvilke forskellige bevistyper kender I? Giv eksempler fra dette undervisningsmateriale for de typer der anvendes heri. e. Hvad dækker begrebet umulighedsbevis over (på engelsk ‘proof of impossibility’, ‘impossibility proof’ eller ‘negative proof’)? f. Hvad siger Hilbert i sit 1900-foredrag om umulighedsbeviser? Og hvilke eksempler giver han? (Angiv numrene på de afsnit hvorfra I tager jeres informationer og brug evt. citater fra teksten.) g. I hvilken grad synes I, at Eulers bevis for Königsberg-problemet kvalificerer til betegnelsen et umulighedsbevis? Anden del I anden og tredje del skal vi atter have fat i Hilberts tekst og nogle af de relaterede emner. Som I allerede burde have fået færten af, så ændrer 5.2 Essay-opgave 2: Matematiske beviser 65 standarden for og formen af matematiske beviser sig gennem historien. Eulers beviser angående Königsberg-problemet er meget anderledes af natur end de moderne grafteoretiske beviser I også har set (f.eks. den moderne og konstruktive udgave af Hierholzers bevis, se side 19). Dette skyldes jo selvfølgelig at vi i nyere beviser kan trække på senere (og måske snedigere) definitioner og begreber samt mere kompakt notation (herunder tegn) end Euler kunne i sit første bidrag til grafteorien. h. Find de steder hvor Hilbert taler om behovet for nye tegn (aritmetiske symboler og geometriske figurer) til nye begreber. Hvad siger Hilbert om dette? (Angiv numrene på de afsnit hvorfra I tager jeres informationer og brug evt. citater fra teksten.) i. Hvordan relaterer det som Hilbert siger om dette sig til brugen af nye begreber og tegn (aritmetiske såvel som geometriske) i den moderne grafteori? j. Hvilke fordele gav det Dijkstra at have et veludviklet grafteoretisk begrebsapparat til sin rådighed, da han skulle beskrive sin algoritme i 1959 i forhold til Euler og hans løsning af Königsberg-problemet i 1736? Giv eksempler fra Dijkstras 1959-note og Eulers 1736-artikel. Tredje del Som vi fik et indblik i i kapitel 3 spillede fremkomsten af computeren en vigtig rolle for matematikken i det 20. århundrede. Og det var ikke kun ny anvendelse af grafteori og anden matematik som computeren førte med sig, den fik også en betydning for selve det at udføre matematik. Som vi så i citatet på side 61 medfører Gödels anden ufuldstændighedssætning godt nok, at vi aldrig vil kunne sætte en computer til at bevise alle matematiske udsagn, men det at vi i det hele taget kan bruge en computer til at bevise matematik med er i sig selv interessant. Computere kan nemlig foretage så komplicerede og lange beregninger (og logiske slutninger) at disse er svære at efterkontrollere for mennesker. Og dette medfører selvfølgelig spørgsmålet om hvorvidt man i matematikken vil acceptere et computerbevis som løsning på et givet matematisk problem eller ej. Et af de mere kendte eksempler på denne problematik er det såkaldte firefarve-problem. Om dette skriver Gyldendals åbne encyklopædi, Den Store Danske: firefarve-problemet, matematisk problem, der består i at bevise, at det mindste antal farver, der kræves for at farvelægge et vilkårligt landkort, så nabolande får forskellige farver, er fire farver (lande, der ikke støder sammen, må gerne have samme farve). Problemet blev rejst i 1852 af briten Francis Guthrie (1831-99), og i 1879 publicerede Arthur B. Kempe (1849-1922) en løsning. I 1890, da Percy J. Heawood (1861-1955) fandt en fejl i beviset, blev problemet berømt. Kenneth Appel (f. 1932) og Wolfgang Haken (f. 1928) publicerede i 1976 et bevis for, at fire farver er nok. Beviset tiltrak sig stor opmærksomhed, fordi det anvendte computerberegninger i udstrakt grad, men har aldrig vundet tillid blandt matematikere. Først i 1994 fandt P. Seymour, N. Robertson, R. Thomas og D. Sanders et computerbevis, der er halvt så kompliceret som Appels og Hakens, og som i øjeblikket anses for 66 Afsluttende skriftlig opgave sandsynligvis korrekt. [1 ] k. Foretag en internetsøgning på firefarve-problemet (på engelsk ‘four color problem’) og computerbeviser (på engelsk ‘computer-assisted proof’) og se hvad der siges om dette og i særdeleshed de filosofiske implikationer som brug af computerbeviser i matematikken måtte have. Eftersom ‘matematiske problemer’, temaet for Hilberts 1900-foredrag, oftest løses netop ved brug af beviser kommer Hilbert også ind på dette i sin tale. l. Find de steder hvor Hilbert taler om beviser i forbindelse med løsningen af matematiske problemer. Hvad siger han om dette? (Angiv numrene på de afsnit hvorfra I tager jeres informationer og brug evt. citater fra teksten.) m. Find de steder hvor Hilbert taler om stringens i matematiske beviser og i forbindelse med løsningen af matematiske problemer. Hvad siger han om dette? (Angiv numrene på de afsnit hvorfra I tager jeres informationer og brug evt. citater fra teksten.) n. Med udgangspunkt i Hilberts udtalelser om beviser og stringens, hvordan tror I så at Hilbert ville forholde sig til problematikken om brug af computerbeviser i matematikken? Argumenter for og begrund jeres svar. 5.3 Essay-opgave 3: Matematik som videnskabsfag Denne sidste essay-opgave omhandler matematikken betragtet som en videnskabelig disciplin og bl.a. hvordan denne som sådan adskiller sig fra andre videnskabelige discipliner (både naturvidenskabelige og ikke). Vi skal igen løbende tage Hilberts syn på sagen som omdrejningspunkt for vores diskussion og undervejs relaterede dette til de to andre historiske cases, som vi har stiftet bekendtskab med i dette materiale. Første del I denne første del skal I forsøge at give en karakteristik af matematikken som fag, de problemstillinger den betragter samt anvendeligheden af eventuelle løsninger til disse. a. Foretag en søgning på internettet med henblik på at finde definitioner af hvad matematik er, dvs. foretag søgninger på ‘matematik’ eller ‘mathematics’, og beskriv eventuelle sammenfald eller forskelle mellem forskellige beskrivelser I måtte finde. (Husk som altid at angive internetadresserne, hvorfra I får jeres informationer.) b. Med udgangspunkt i Hilberts 1900-foredrag og jeres svar til ovenstående spørgsmål forsøg da at pege på nogle karakteristika ved matematiske problemstillinger, tankegange og metoder – eventuelt ved også at pege på forskelle mellem matematik og (andre) naturvidenskabelige fag. (Angiv numrene på de afsnit hvorfra I tager jeres informationer og brug evt. citater fra teksten.) 1 http://www.denstoredanske.dk/It,_teknik_og_naturvidenskab/Matematik_og_ statistik/Regning,_algebra_og_talteori/firefarve-problemet 5.3 Essay-opgave 3: Matematik som videnskabsfag 67 c. Med udgangspunkt i jeres internetsøgninger, jeres svar til de to spørgsmål ovenfor og de observationer I gjorde jer i essay-opgave 1, hvad kan I da sige om hvilken slags resultater matematikken leverer og hvad disse kan anvendes til? (Angiv igen eventuelle afsnitnumre og internetadresser.) Anden del Med udgangspunkt i Hilberts 1900-foredrag og hans 1930-radiotale i Königsberg, diskuter da følgende spørgsmål: d. Hvilke fælles træk og hvilke forskelle ser Hilbert imellem matematikken og de andre videnskaber, herunder naturvidenskaber? (Angiv numrene på de afsnit hvorfra I tager jeres informationer og brug evt. citater fra teksten.) e. Hvad er ifølge Hilbert matematikkens forbindelse til de andre videnskabelige discipliner? (Angiv igen numre på afsnit og brug citater.) f. Er I enige eller uenige med Hilbert i hans synspunkter på ovenstående? Begrund jeres svar og argumentér for jeres egne synspunkter på baggrund af de observationer I har gjort jer i første del af essayopgave 3 og essay-opgaverne 1 og 2. Tredje del Et meget kendt uløst problem i matematikken er den såkaldte Goldbachs formodning, navngivet efter Christian Goldbach (1690-1764). I et brev af 1742 beretter Goldbach sin formodning til Euler: at han mener, at ethvert heltal (større end 2) kan udtrykkes som summen af tre primtal. På dette tidspunkt var det stadig ikke helt afklaret, om det var smartest at regne 1 som et primtal eller ej, og Goldbach regnede således 1 for værende primtal. Euler var dog ikke sen til at indse, at man kunne opstille den stærkere formodning, at ethvert lige tal (større end 2) kan skrives som summen af to primtal (når man ikke regner 1 for at være et primtal).2 g. Forklar med jeres egne ord, hvad det er som Gödels første ufuldstændighedssætning siger. h. Hvis vi nu antager, at Goldbachs formodning rent faktisk er et sådant uafgøreligt udsagn i matematikken som Gödel omtaler (vi ved ikke om det rent faktisk er det!), hvad ville Gödels første sætning så sige om denne? (Redegør for hvad der vil svare til P og ¬P.) i. Find de steder i Hilberts 1900-foredrag og i hans 1930-radiotale hvor han taler om ignorabimus og forklar hvad der menes med ordet. (Angiv numrene på de afsnit hvorfra I tager jeres informationer og brug gerne citater fra teksten.) j. Forklar med jeres egne ord, hvad Hilberts holdning til ignorabimus i matematikken og i naturvidenskaberne generelt er, og hvorfor I tror han havde denne stærke holdning angående dette. k. Forklar hvordan Gödels første ufuldstændighedssætning er i direkte modstrid med Hilberts udsagn om ignorabimus i relation til matematikken. 2 Se f.eks. Jankvist (2008b, s. 59-60, 67-68, 75). 68 Afsluttende skriftlig opgave 5.4 Essay-opgave 4: Jeres mening I denne sidste essay-opgave er der givet plads til jeres egne uforbeholdne, omend saglige og helst velargumenterede, meninger om de læste tekster: Hvilken I bedst kunne lide og hvorfor; hvilken I synes I fik mest ud af og hvorfor netop denne; og andre lignende aspekter som I måtte finde relevante. a. Bortset fra problematikken om ‘ignorabimus’, hvad synes I så om Hilberts 1900-foredrag efter at I har læst og arbejdet med dette? b. Hvad synes I om Dijkstras 1959-note? c. Og endelig, hvad synes I om Eulers 1736-artikel? Litteratur Barnett, J. H. (n.d.). Early writings on graph theory – Euler circuits and the Königsberg bridge problem. http://www.math.nmsu.edu/hist_ projects. Biggs, N. L. (1989). Discrete Mathematics, Revised edn, Oxford Science Publications, Oxford. Biggs, N. L., Lloyd, E. K. & Wilson, R. J. (1976). Graph Theory 1736-1936, Clarendon Press, Oxford. Corry, L. (1998). The influence of David Hilbert and Hermann Minkowski on Einstein’s views over the interrelation between physics and mathematics, Endeavor 22(3): 95–97. Crowe, M. J. (1967). A History of Vector Analysis, Notre Dame University Press, South Bend. Den Store Danske – Gyldendals åbne encyklopaedi (2009). http://www. denstoredanske.dk. Dictionary of Scientific Biography (1970-80). Charles Scribner’s Sons, New York. Udkommet i 18 bind. Dijkstra, E. W. (1959). A note on two problems in connexion with graphs, Numerische Mathematik 1: 269–271. Euler, L. (1770/1972). Vollständige Anleitung zur Algebra, Springer Verlag, Berlin. Engelsk oversættelse Elements of Algebra af John Hewlett fra 1840. Fleischner, H. (1990). Eulerian Graphs and Related Topics, Elsevier Science Publishers B.V., Amsterdam. Hansen, R. B. (1997). David Hilbert, FAMØS – Fagblad for Aktuar, Matematik, -Økonomi og Statistik 10(4). Harrison, J. (1996). Formalized Mathematics, Technical Report from Turku Centre for Computer Science (TUCS) (36): 1–45. Hilbert, D. (1900). Mathematische Probleme – Vortrag, gehalten auf dem internationalen Mathematiker-Kongreß zu Paris 1900, Göttinger Nachrichten –: 253–297. Hilbert, D. (1902). Mathematical problems, Bulletin of the American Mathematical Society 8: 437–479. Jankvist, U. T. (2008a). Den tidlige kodningsteoris historie – et undervisningsforløb til gymnasiet, Tekster fra IMFUFA, nummer 459, IMFUFA, Roskilde. http://milne.ruc.dk/ImfufaTekster/pdf/459.pdf. Jankvist, U. T. (2008b). RSA og den heri anvendte matematiks historie – et undervisningsforløb til gymnasiet, Tekster fra IMFUFA, nummer 460, IMFUFA, Roskilde. http://milne.ruc.dk/ImfufaTekster/pdf/460.pdf. 69 70 Litteratur Jankvist, U. T. (2011). Historisk fremkomst og moderne anvendelse af Boolsk algebra – et matematikfilosofisk undervisningsforløb til gymnasiet, Tekster fra IMFUFA, nummer 487, IMFUFA, Roskilde. http://milne.ruc.dk/ImfufaTekster/pdf/487.pdf. Katz, V. J. (1998). A History of Mathematics – An Introduction, 2 edn, Addision-Wesley Educational Publishers, Inc., Reading, Massachusetts. Kline, M. (1972). Mathematical Thoughts – From Ancient to Modern Times, Oxford University Press, New York. Lützen, J. (1993). Cirklens kvadratur, vinklens tredeling og terningens fordobling – fra oldtidens geometri til moderne algebra, Systime, København. Niss, M. & Jensen, T. H. (eds) (2002). Kompetencer og matematiklæring – Ideer og inspiration til udvikling af matematikundervisning i Danmark, Undervisningsministeriet. Uddannelsesstyrelsens temahæfteserie nr. 18. Przytycki, J. H. (1998). Knot theory and its applications: Expository articles on current research, Chaos, Solitons & Fractals 9(4-5): 531–545. Rosen, K. H. (2003). Discrete Mathematics and Its Applications, fifth edn, McGraw Hill, New York. Schrijver, A. (2003). Combinatorial Optimization – Polyhedra and Efficiency, Springer-Verlag, Berlin Heidelberg. Shanker, S. G. (1988). Gödel’s theorem in focus, Croom Helm Ltd, Provident House, Kent. Toft, B. (1985). Algoritmisk kombinatorik – et datalogisk orienteret emne i matematik, Matematiklærerforeningen. Undervisningsministeriet (2008). Bekendtgørelse af 2008 (læreplan). http: //www.uvm.dk. van Heijenoort, J. (1967). From Frege to Gödel – A Source Book in Mathematical Logic, 1879-1931, Harvard University Press, Cambridge. Wolff, P. (1967). Højdepunkter i matematikken, Steen Hasselbalchs Forlag.