Hvem er jeg? Britta Anker Bak, 23 år Skolegang på Mors og Thylands Ungdomsskole. Markovkæder og kodesprog Matematisk student fra Morsø Gymnasium i år 2007. Britta Anker Bak Fandt i 3. g ud af, jeg ville være statistiker. Flytttede derfor til Århus efter gymnasiet og begyndte på matematikstudiet. Læser nu på 4. år, på kandidatuddannelsen i statistik. Bor på kollegium, strikker og er politisk aktiv. (statistik) 1 / 120 Opbygningen af studiet (statistik) 2 / 120 Kommentarer Sammenhængen mellem matematik- og statistikstudiet. Jobmuligheder indenfor matematik. (statistik) 3 / 120 En uge på studiet (statistik) 4 / 120 Kommentarer (statistik) 5 / 120 Hvor får man arbejde som statistiker? (statistik) 6 / 120 Kommentarer Det private erhvervsliv - et hav af muligheder: Handel Banker Konsulent- og rådgivningsvirksomhed Medicinalindustri Sundhed Forskning: Universiteter Interesseorganisationer Private virksomheder Undervisning: Gymnasier Handelsskoler Seminarer Ikke Gallup! (statistik) 7 / 120 (statistik) 8 / 120 Hvorfor er statistik og sandsynlighedsteori interessant? Kommentarer Kan ’forudsige’ fremtiden Kan bruges som beslutningsgrundlag: Politik Aktiekurser Medicinske forsøg Risikovurdering Spilteori (statistik) Anvendes inden for forskning på nærmest alle områder. 9 / 120 Resultater af statistik... (statistik) 10 / 120 Kommentarer I perioden 1960-1970 faldt antallet af fødsler, samtidig med at antallet af storkepar i Danmark faldt. Drukneulykker og issalg hænger sammen: Når der sælges mange is, er der mange der drukner! Bør der investeres mere i rynkecreme? Der er en overdødelighed blandt folk med rynker! (statistik) 11 / 120 Lidt historie (statistik) 12 / 120 Kommentarer I 1600-tallet blev sandsynlighedsregningen opfundet for at beregne sandsynligheder i spil. I løbet af 1900-tallet blev sandsynlighedsteorien væsentlig udvidet til en avanceret integralteori, især gennem Andrey Kolmogorovs arbejde. De tidlige ’skabere’ af ssteorien var: Gerolamo Cardano, Pierre de Fermat and Blaise Pascal, Christiaan Huygens. Integralteorien gør det muligt at se på fordelinger, der ikke bare har sandsynlighed i et antal punkter - I kender måske normalfordelingen? I forbindelse med udviklingen af computere er det blevet muligt at udføre statistiske undersøgelser gennem store simulationer. (statistik) 13 / 120 Ideen bag simulationer (statistik) 14 / 120 Kommentarer Opstil model for virkeligheden ⇒ Simuler fra denne model. ⇒ Se om modellen passer med virkeligheden. Nej ⇒ Find en anden model. Ja ⇒ Prøv om du kan finde en model der er endnu bedre! (statistik) 15 / 120 (statistik) 16 / 120 Problem: En tekst i kodesprog Kommentarer I et britisk fængsel blev fundet tekst i kodesprog: Dette er blot et uddrag af teksten. Fængselspersonalet var interesseret i, hvad teksten betød. (statistik) 17 / 120 (statistik) 18 / 120 Kommentarer De gik ud fra, hvert symbol svarede til et tegn i det almindelige engelske alfabet (bogstaver, tal, tegnsætning mm). Hvis blot de 26 bogstaver, punktum og mellemrum er med, vil antallet af muligheder være: 28! = 28 · 27 · 26 · · · 2 · 1 = 304.888.344.611.713.860.501.504.000.000 Kan det løses? Kan det gøres hurtigt? (statistik) 19 / 120 Problem: En tekst i kodesprog (statistik) 20 / 120 Kommentarer Løsningsmetode 1 Ansæt kinesere til at forsøge alle muligheder. (statistik) 21 / 120 (statistik) 22 / 120 Kommentarer Problem 1: Der er ca. 1.3 mia kinesere i verden. ⇒ De skal tjekke over 100.000.000.000 mia. hver! Problem 2: Vi kommer til at mangle plastikvarer, teknik, møbler osv. (statistik) 23 / 120 (statistik) 24 / 120 Problem: En tekst i kodesprog Kommentarer Løsningsmetode 2 1 Tæl antallet af hvert tegn i teksten. 2 Stil i rækkefølge efter hyppighed. 3 4 Oversæt det hyppigste tegn til det mest anvendte engelske bogstav, det næsthyppigste tegn til det næstmest anvendte bogstav osv. Giver det ikke en læselig tekst, byttes lidt rundt. Problem: Der er fortsat mange muligheder, kræver MEGET held! (statistik) 25 / 120 Problem: En tekst i kodesprog (statistik) 26 / 120 Kommentarer Løsningsmetode 3 Snak med en statistiker! Fængselspersonalet kontaktede statistikeren Marc Coram på Stanford University. Før vi hører om hans løsning, må vi have styr på nogle matematiske og sandsynlighedsteoretiske begreber. (statistik) 27 / 120 Vektorer (statistik) 28 / 120 Kommentarer I kender vektorer: ~x = x1 x2 Denne vektor vil ligge i det to-dimensionale rum R2 , også kaldet planen. Den kan tegnes den på et stykke papir. Der er også forestille sig en vektor i det tre dimensionale rum R3 : x1 ~x = x2 x3 Ved oplæg for et statistik-C hold, kan der dog være tilhørere, der kun har matematik B og dermed ikke kender vektorer. Hvis der er en tavle til rådighed, tegnes nogle taleksempler på vektorer i R2 . Tilsvarende er vektorer i det n-dimensionale rum Rn : x1 x2 ~x = .. . xn (statistik) 29 / 120 Vektorer (statistik) 30 / 120 Kommentarer Prikproduktet ganger to vektorer af samme dimension sammen: 2 ~a = 3 0 4 ~b = 1 7 ⇒ ~a · ~b = 2 · 4 + 3 · 1 + 0 · 7 = 11 (statistik) 31 / 120 (statistik) 32 / 120 Matricer Kommentarer En matrix er flere vektorer sat op ved siden af hinanden, fx: 2 3 5 A= 1 7 2 A er en 2×3-matrix (antal rækker × antal søjler). (statistik) 33 / 120 Matricer (statistik) 34 / 120 Kommentarer To matricer kan ganges sammen, hvis antallet af søjler i den første matrix er det samme som antallet af rækker i den anden. Fx: 2 0 2 3 5 A= B = 1 −1 1 7 2 0 −3 2 · 2 + 3 · 1 + 5 · 0 2 · 0 + 3 · (−1) + 5 · (−3) ⇒ A·B = 1 · 2 + 7 · 1 + 2 · 0 1 · 0 + 7 · (−1) + 2 · (−3) 7 −18 = 9 −13 Regn evt på tavle i stedet. 4 6 10 −4 3 B ·A = 1 −3 −21 −6 (statistik) 35 / 120 Matricer (statistik) 36 / 120 Kommentarer Lad nu: C = 2 4 1 Da er 2 0 C · B = 2 4 1 · 1 −1 = 8 −1 0 −3 C · A, A · C og B · C eksisterer ikke. (statistik) 37 / 120 Matricer (statistik) 38 / 120 Kommentarer Hvis A er en kvadratisk matrix, kan den ganges med sig gange man ønsker det: 2 1 A= 1 −1 2 1 2 1 5 A2 = A · A = · = 1 3 1 3 1 2 1 5 1 11 3 2 A = A·A = · = 1 −1 1 2 4 selv - så mange 1 2 4 −1 An = A | · A{z· · · A} n gange (statistik) 39 / 120 (statistik) 40 / 120 Opgaver Kommentarer Afgør hvilke af følgende matricer der kan ganges sammen. Regn hvor det er muligt. 2 1 3 5 1 a) · 1 3 −2 0 2 4 1 4 −2 b ) 6 −4 · 1 2 3 8 −6 1 4 3 3 2 c ) 0 1 4 · 1 1 0 0 2 4 5 4 6 3 1 5 d) · 2 1 4 1 6 (statistik) Regnes af tilhørerne på papir. 41 / 120 Resultater (statistik) 42 / 120 Kommentarer a) 15 19 4 0 b ) Ikke mulig 19 21 c ) 17 21 8 10 36 10 56 d) 10 3 16 (statistik) 43 / 120 Markovkæder (statistik) 44 / 120 Kommentarer En sandsynlighedsvektor har alle indgange ≥ 0 og summen af dem er 1, fx: 1/6 1/6 0.2 1/6 ~x = 0.4 ~y = 1/6 0.4 1/6 1/6 ~y kan anses for at være sandsynligheder for terningekast. En matrix hvor alle rækker er sandsynlighedsvektorer, kaldes en stokastisk matrix. (statistik) 45 / 120 Markovkæder (statistik) 46 / 120 Kommentarer En markovkæde er en proces, hvor sandsynlighederne for at bevæge sig imellem de mulige tilstande er givet ved en stokastisk matrix M. En markovkæde er glemsom - hvor man vil befinde sig i fremtiden afhænger ikke af fortiden, men kun hvor man er nu. Antag der er k forskellige tilstande, kaldet y1 , y2 , y3 , . . . , yk −1 , yk . M kaldes matricen af overgangssandsynligheder og er en k × k-matrix. Hvis man befinder sig i tilstand yi , angiver M (i, j ), den j’te plads i i’te række af M, sandsynligheden for at gå til tilstanden yj i næste trin: P (X1 = yj |X0 = yi ) = M (i, j ) (statistik) 47 / 120 (statistik) 48 / 120 Markovkæder Kommentarer P (X2 = yj |X0 = yi ) = P (X2 = yj |X1 = y1 , X0 = yi ) · P (X1 = y1 |X0 = yi ) + P (X2 = yj |X1 = y2 , X0 = yi ) · P (X1 = y2 |X0 = yi ) +··· + P (X2 = yj |X1 = yk , X0 = yi ) · P (X1 = yk |X0 = yi ) = P (X2 = yj |X1 = y1 ) · P (X1 = y1 |X0 = yi ) + P (X2 = yj |X1 = y2 ) · P (X1 = y2 |X0 = yi ) +··· + P (X2 = yj |X1 = yk ) · P (X1 = yk |X0 = yi ) = M (1, j ) · M (i, 1) + M (2, j ) · M (i, 2) + · · · + M (k, j ) · M (k, 1) = M (i, 1) · M (1, j ) + M (i, 2) · M (2, j ) + · · · + M (i, k ) · M (k, j ) Ved anden lighed er udnyttet, at processen er uafhængig af fortiden givet nutiden. = M 2 (i, j ) (statistik) 49 / 120 Markovkæder (statistik) 50 / 120 Kommentarer Tilsvarende fås sandsynligheden for at befinde sig i tilstand j efter n trin: P (Xn = yj |X0 = yi ) = M n (i, j ) (statistik) 51 / 120 Eksempel: Kaninhop (statistik) 52 / 120 Kommentarer Forestil dig en kanin, der hopper rundt mellem tallene {1, 2, 3, 4, 5, 6, 7, 8}. Jørgen Hoffmans berømte eksempel fra modellering 2, reduceret til en endelig situation, for at kunne opskrive en konkret matrix. Kaninen har intet ur eller hukommelse. Den slår plat og krone før hvert hop. Slår den krone, hopper den et tal frem. Slår den plat, hopper den et tal tilbage. Kan den ikke kan hoppe længere, bliver den hvor den er. (statistik) 53 / 120 Eksempel: Kaninhop (statistik) 54 / 120 Kommentarer Sandsynlighederne for at komme fra et tal til et andet er: 1 2 3 4 5 6 7 8 1 1/2 1/2 0 0 0 0 0 0 2 1/2 0 1/2 0 0 0 0 0 3 0 1/2 0 1/2 0 0 0 0 4 0 0 1/2 0 1/2 0 0 0 5 0 0 0 1/2 0 1/2 0 0 6 0 0 0 0 1/2 0 1/2 0 7 0 0 0 0 0 1/2 0 1/2 8 0 0 0 0 0 0 1/2 1/2 Det er naturligvis kun det indre af tabellen, der er overgangsmatricen. Tabellen kan ses som en 8×8-matrix, der er stokastisk. (statistik) 55 / 120 (statistik) 56 / 120 Kaninhop - øvelse Kommentarer Start i 1 og slå 10 gange med en mønt. Hvor ender du? Øvelsen tænkes gennemført af tilhørerne. Matricen M er tabellen fra foregående slide. Sandsynligheden for at ende i fx 5 er: P (X10 = 5|X0 = 1) = M 10 (1, 5) (statistik) 57 / 120 Eksempel: Befolkning i storbyer 58 / 120 Kommentarer Forestil dig en storby med 1.000.000 indbyggere. 30% bor i centrum, de resterende 70% i forstæderne. Hvert år vil 6% af indbyggerne i centrum flytte til forstæderne, mens 2% af indbyggerne i forstæder flytter til centrum. 0.94 0.06 A= x 0 = 0.30 0.70 0.02 0.98 Fordelingen af indbyggere efter et år vil være: x 1 = x 0 · A = 0.296 0.704 (statistik) Tilsvarende fås: Eksemplet er taget fra lineær algebrabogen: Steven Lyon, ’Linear Algebra’ s. 153-154. Regn gerne de første multiplikationer på tavle. Bemærk pilen er forsvundet over vektorer, og vil være det gennem resten af oplægget. x 2 = x 1 · A = x 0 · A · A = x 0 · A2 og x n = x 0 · An På denne måde beregnes: x 10 = 0.27 0.73 x 30 = 0.25 0.75 x 50 = 0.25 0.75 (statistik) 59 / 120 Stationære fordelinger (statistik) 60 / 120 Kommentarer Det ser ud til, fordelingen af indbyggere på et tidspunkt holder op med at forandre sig. Denne fordeling vil kaldes markovprocessens stationære fordeling, og vil ikke afhænge af start-fordelingen x 0 . Bemærk: 0.94 0.06 0.25 0.75 · = 0.25 0.75 0.02 0.98 Dette vil altid gælde for en stationær fordeling. Kaldes den stationære fordeling π = (π1 , π2 , . . . , πn ) kan dette skrives: π·A = π (statistik) 61 / 120 Eksempel: Blaffetur (statistik) 62 / 120 Kommentarer Du vil blaffe rundt i din ferie. Næste destination bestemmes ved terningekast. Paris, hvis der slås et eller seks. Ringkøbing, hvis der slås to. Prag, hvis der slås tre. Warszawa, hvis der slås fire eller fem. Skal du hen, hvor du allerede er, tager du i stedet hjem og bliver der. (statistik) 63 / 120 (statistik) 64 / 120 Eksempel: Blaffetur Kommentarer Matricen af overgangssandsynligheder: Paris Ringk. Prag War Hjem Paris 0 2/6 2/6 2/6 0 Ringk. 1/6 0 1/6 1/6 0 Prag 1/6 1/6 0 1/6 0 War 2/6 2/6 2/6 0 0 Hjem 2/6 1/6 1/6 2/6 1 Da den stationære fordeling ikke afhænger af startfordeling, kan du altså regne med at komme hjem, uanset hvor du starter. Evt kan man som i kanineksemplet lade tilhørerne slå 10 gange med en terning. Startes i Paris, dvs på vektorform: x0 = 1 0 0 0 0 og kaldes overgangsmatricen A vil: x0 · A10 = 0.012 0.007 0.007 0.012 0.961 Altså er man næsten sikker på at være hjemme efter 10 terningeslag. (statistik) 65 / 120 Problem: En tekst i kodesprog (statistik) 66 / 120 Kommentarer Jeg vender tilbage til problemet med den krypterede tekst. Statistikeren Marc fra Stanford University betragter oversættelsen fra kodesprog til almindeligt alfabet som en funktion: De her opskrevne symboler stammer ikke rent faktisk fra kodeteksten, men var blot nogle mærkelige symboler jeg fandt i latex. f : {kodesprog} → {britisk alfabet} så der fx. kan gælde: f (+) = c f (Z) = e f (∠) = m (statistik) 67 / 120 Problem: En tekst i kodesprog (statistik) 68 / 120 Kommentarer Som tidligere nævnt er der over 3 · 1029 forskellige muligheder for f . Antallet for f kommer fra slide 11. Marc ønsker at finde den mest sandsynlige f . (statistik) 69 / 120 Problem: En tekst i kodesprog (statistik) 70 / 120 Kommentarer Derfor downloader han bogen ’Krig og fred’. (statistik) 71 / 120 (statistik) 72 / 120 Problem: En tekst i kodesprog Kommentarer Heri får han en computer til at tælle antallet af hver kombination af to på hinanden følgende bogstaver og tegn. Betragt teksten: Der ligger et hus. Gennemfør gerne (noget af) denne optælling på tavle. Skrives mellemrum med _ er i det ovenstående følgende kombinationer: de; er (2 gange), et; ge; gg; hu; ig; li; r_ (2 gange); s.; t_; _e; _h; _l (statistik) 73 / 120 Problem: En tekst i kodesprog (statistik) 74 / 120 Kommentarer Dernæst betragtes alle a’er i bogen (medmindre det er bogens allersidste tegn). Marc finder: #aa antal a’er der efterfølges af a = antal a’er i alt #a antal a’er der efterfølges af b #ab = antal a’er i alt #a ... Husk tilhørerne næppe kender notationen #. At det er en sandsynlighedsvektor skyldes, at alle a’er (der ikke er bogens absolut sidste tegn) må efterfølges af et eller andet, så den samlede andel bliver 1. Disse sættes ind i en lang vektor: #aa #ab #ac #a_ #a, #a. , , ,..., , , #a #a #a #a #a #a Dette er en sandsynlighedsvektor. (statistik) 75 / 120 Problem: En tekst i kodesprog (statistik) 76 / 120 Kommentarer Tilsvarende findes vektorerne: #ba #bb #bc #b_ #b, #b. , , ,..., , , #b #b #b #b #b #b .. . #.a #.b #.c #._ #., #.. , , ,..., , , . #. #. #. #. #. #. (statistik) 77 / 120 Problem: En tekst i kodesprog Vektorerne sættes op i en stor, kvadratisk matrix: #aa #ab #ac #a_ . . . , #a #a #a #a #ba #bb #bc #b_ #b . . . , #b #b #b M= .. . #._ #.a #.b #.c . . . , #. #. #. #. (statistik) 78 / 120 Kommentarer #a, #a #b, #b #a. #a #b. #b #., #. #.. #. Angående problemet med markovantagelsen: På dansk vil e fx ofte efterfølges af r, hvis der er d foran. (Uden jeg dog har undersøgt om det vil forekomme relativt oftere). Dette er en stokastisk matrix ⇒ skift fra et bogstav til det næste er en markovkæde. Marc kan dog ikke være sikker på, at sandsynlighederne for det næste bogstav, ikke afhænger af de foregående. Han vælger at ignorere dette. (statistik) 79 / 120 (statistik) 80 / 120 Problem: En tekst i kodesprog Kommentarer Marc sætter: symboli = Det i’te symbol i kodebeskeden nkode = Antal symboler i kodebeskeden Nu betragter Marc mængden: Bemærk nkode er det samlede antal symboler i koden - ikke antallet af forskellige symboler. f : {kodesprog} → {britisk alfabet} og vælger en tilfældig f herfra. Med denne oversættes koden til det almindelige alfabet. På denne måde fås en (sandsynligvis meningsløs) tekst med almindelige bogstaver: f (symbol1 )f (symbol2 ), f (symbol3 ) . . . f (symbolnkode −1 )f (symbolnkode ) (statistik) 81 / 120 Problem: En tekst i kodesprog (statistik) 82 / 120 Kommentarer I M aflæses sandsynligheden for, at de første to bogstaver vil følge efter hinanden ved at kigge på M (f (symbol1 ), f (symbol2 )) og tilsvarende gennem resten af teksten. Dette kan anses som en sandsynlighed for hver bogstavkombination. Disse ganges sammen: P (f ) = M (f (symbol1 ), f (symbol2 )) · M (f (symbol2 ), f (symbol3 )) · · · · · · M (f (symbolnkode −1 ), f (symbolnkode )) (statistik) 83 / 120 Problem: En tekst i kodesprog (statistik) 84 / 120 Kommentarer Hvis f (+) = s f (Z) = e f (∠) = h f (∇) = t vil + Z∇ Z ∠ blive til seteh og P (f ) = M (s, e ) · M (e, t ) · (M (t, e ) · M (e, h ) Marc er interesseret i at finde det f med den største sandsynlighed. (statistik) 85 / 120 Opgave (statistik) 86 / 120 Kommentarer Oversæt ∠Z + ∇ Svaret er hest. med f (+) = s (statistik) f (Z) = e f (∠) = h f (∇) = t 87 / 120 (statistik) 88 / 120 Problem: En tekst i kodesprog Kommentarer Marc opbygger en algoritme, bygget over metropolis-algoritmen. 1 2 3 Start med en tilfældig f . Lav en ny oversættelsesfunktion f ∗ ved at ændre på betydningen af to symboler i f . Oversæt symbolteksten vha. f ∗ og beregn P (f ∗ ). ∗ ∗ 1 Hvis P (f ) > P (f ) startes fra trin 2 med f = f . ∗ ∗ skal bruges. 2 Hvis P (f ) ≤ P (f ) slås plat og krone om f eller f Hernæst gås til trin 2. Hvis sandsynligheden af f ∗ er større, vil den accepteres. Hvis sandsynligheden er mindre, vil den måske accepteres alligevel. Derved undgås at blive fanget i lokale maksimum. Dette kunne umuliggøre at finde det globale maksimum. (statistik) 89 / 120 Problem: En tekst i kodesprog (statistik) 90 / 120 Kommentarer f fra før kan fx ændres til f (+) = s f (Z) = a f (∠) = h f (∇) = r . Her er netop ændret på betydningen af de to symboler Z og ∠. Så vil + Z∇ Z ∠ blive til sarah. (statistik) 91 / 120 Problem: En tekst i kodesprog (statistik) 92 / 120 Kommentarer Interessante spørgsmål: Virker algoritmen? Hvis ja, hvornår skal den stoppes? I eksemplet med Hamlet består kodesproget altså af det almindelige alfabet, blot med bogstavernes betydning ombyttet tilfældigt. For at undersøge dette, programmerer Marc algoritmen på en computer. Efterfølgende tester han den på en kendt tekst, et uddrag af Shakespeares Hamlet. Her byttes tilfældigt om på bogstavernes betydning. Algoritmen anvendes på denne ombytning. (statistik) 93 / 120 Problem: En tekst i kodesprog (statistik) 94 / 120 Kommentarer Tallene i venstre side angiver, antallet af gange algoritmen er forløbet. (statistik) 95 / 120 (statistik) 96 / 120 Problem: En tekst i kodesprog Kommentarer Metoden ser ud til at virke - endda ret hurtigt! Marc anvender efterfølgende computerprogrammet på fængselsteksten. (statistik) 97 / 120 Problem: En tekst i kodesprog (statistik) 99 / 120 (statistik) 100 / 120 Kommentarer Denne tekst giver mening og foregår i et fængsel. Den må være korrekt! Algoritmen var bygget på bogstavfrekvenser i ’War and Peace’ ⇒ Overraskende den virker på teksten, der viser sig at være en blanding af engelsk, spansk og fængsels-slang. 101 / 120 Problem: En tekst i kodesprog (statistik) 98 / 120 Kommentarer Problem: En tekst i kodesprog (statistik) (statistik) Denne tekst giver mening og foregår i et fængsel. Den må være korrekt! Algoritmen var bygget på bogstavfrekvenser i ’War and Peace’, derfor overraskende den virker på teksten, der viser sig at være en blanding af engelsk, spansk og fængsels-slang. Det viser det sig, der ikke var nogen problemer i at antage uafhængighed af foregående bogstaver på slide 38. Ifølge Diaconis har mennesker dog lavet en lille smule korrektur på teksten efterfølgende. (statistik) 102 / 120 Kommentarer 103 / 120 (statistik) 104 / 120 Metropolis-algoritmen Kommentarer Jeg vil nu kigge nærmere på metropolis-algoritmen, der anvendtes til at finde den bedste oversættelses-funktion f . Den blev første gang publiceret i 1953, og har siden fundet anvendelse i mange matematiske, kemiske og fysiske sammenhænge. (statistik) 105 / 120 Metropolis-algoritmen Er der tidsnød, er det dette afsnit der skal skæres fra, da det nok er de færreste der vil forstå ret meget af det. (statistik) 106 / 120 Kommentarer Antag der er nkode forskellige symboler i kodesproget og nalfabet forskellige tegn i alfabetet og de øvrige tegn (tal, mellemrum, punktum osv.) i det virkelige sprog. Antag nkode ≤ nalfabet . Betragt rummet: F = f : {kodesprog} → {britisk alfabet} Antallet af funktioner i rummet vil være: Angående beregningen af nfunktion : Det første symbol kan vælges mellem nalfabet forskellige tegn, det andet symbol mellem nalfabet − 1, osv. idet det antages, to symboler ikke kan betyde det samme tegn. nfunktion = nalfabet · (nalfabet − 1)(nalfabet − 2) · · · (nalfabet − (nkode − 1)) = nalfabet · (nalfabet − 1)(nalfabet − 2) · · · (nalfabet − nkode + 1) (statistik) 107 / 120 (statistik) 108 / 120 Metropolis-algoritmen Kommentarer Vælges tilfældigt f i F vil antallet af funktioner, der højst afviger fra f på to symboler være: nkode · (nalfabet − (nkode − 2)) · (nalfabet − (nkode − 1)) 2 nkode ! = (n − nkode + 2)(nalfabet − nkode + 1) (nkode − 2)!2! alfabet n · (nkode − 1) · (nkode − 2) · · · 2 · 1 = kode ((nkode − 2)(nkode − 1) · · · 2 · 1) · 2 · (nalfabet − nkode + 2)(nalfabet − nkode + 1) 1 = · nkode · (nkode − 1) · (nalfabet − nkode + 2)(nalfabet − nkode + 1) 2 (nkode 2 ) er antallet af kombinationer af to symboler, der kan ændres. nalfabet − (nkode − 2) er antallet af ledige tegn i alfabetet, det første symbol kan ændres til. (Bemærk det kan ændres tilbage til sin forhenværende værdi – dermed kan f ∗ godt afvige fra f på mindre end to pladser.) nalfabet − (nkode − 1) er antallet af ledige tegn i alfabetet det andet symbol kan ændres til. I Diaconis går 12 ud. Jeg kan ikke se hvorfor, derfor har jeg valgt at beholde det. (statistik) 109 / 120 Metropolis-algoritmen 1 2 1 · nkode · (nkode − 1) · (nalfabet − nkode + 2)(nalfabet − nkode + 1) Ellers er J (f , f ∗ ) = 0. Der gælder: J (f , f ∗ ) > 0 (statistik) 110 / 120 Kommentarer At vælge f ∗ ud fra f vil være en Markovkæde. Kald matricen af overgangsssandsynligheder J. Hvis f og f ∗ højst er forskellige på to symboler er: J (f , f ∗ ) = (statistik) ⇔ At det er en markovkæde skyldes, at man kan opskrive en stokastisk matix med overgangssandsynlighederne, og fremtiden er åbenlyst uafhængig af fortiden, blot nutiden kendes. Det første J (f , f ∗ ) er blot en uniform sandsynlighed på de mulige f ∗ , der opnås ved at dividere med det netop udledte antal af disse. J (f ∗ , f ) > 0 111 / 120 (statistik) 112 / 120 Metropolis-algoritmen Kommentarer Der ønskes i stedet en Markovkæde, der har en stationær fordeling proportionel med sandsynligheden for den pågældende f , defineret ud fra optællingen af bogstavskombinationer i ’War and Peace’. Dette vil betyde at efter mange trin er der størst sandsynlighed for at have en oversættelsesfunktion, der svarer til hvordan bogstaver sædvanligt er kombineret i det engelske sprog. Husk: P (f ) = M (f (symbol1 ), f (symbol2 )) · M (f (symbol2 ), f (symbol3 )) · · · · · · M (f (symbolnkode −1 ), f (symbolnkode )) Det tal, der er den stationære sandsynlighed netop for f kaldes π (f ). Der gælder: π (f ) = P (f ) · konstant hvor konstanten er valgt så π bliver en sandsynlighedsvektor. (statistik) 113 / 120 Metropolis-algoritmen (statistik) 114 / 120 Kommentarer Hvor J (f , f ∗ ) 6= 0 sættes: A(f , f ∗ ) = π (f ∗ ) · J (f ∗ , f ) π (f ) · J (f , f ∗ ) Sæt: Når A(f , f ∗ ) kommer i spil, bliver det altså til en Monte-Carlo simulation. J (f , f ∗ ) hvis f 6= f ∗ , A(f , f ∗ ) ≥ 1 eller J (f , f ∗ ) = 0 K (f , f ∗ ) = J (f , f ∗ ) · A(f , f ∗ ) hvis f 6= f ∗ , A(f , f ∗ ) < 1 K (f , f ) fastsættes, så rækkerne i K bliver sandsynlighedsvektorer. A(f , f ∗ ) kan betragtes som andelen af foreslåede skridt fra f til f ∗ , der accepteres. Hvor A(f , f ∗ ) ≥ 1 vil denne andel være 1. (statistik) 115 / 120 Metropolis-algoritmen (statistik) 116 / 120 Kommentarer Hvis A(f , f ∗ ) < 1 vil A(f ∗ , f ) ≥ 1 og dermed: J (f , f ∗ ) · π (f ∗ ) · J (f ∗ , f ) π (f ) · J (f , f ∗ ) π (f ∗ ) · J (f ∗ , f ) π (f ∗ ) · K (f ∗ , f ) = = π (f ) π (f ) ∗ ∗ ⇒ π (f ) · K (f , f ) = π (f ) · K (f , f ∗ ) K (f , f ∗ ) = J (f , f ∗ )A(f , f ∗ ) = π (f ∗ ) · K (f ∗ , f ) = π (f ) · K (f , f ∗ ) er en anden måde at definere en stationær fordeling. Dette gælder også i de øvrige tilfælde. Det vil svare til: π·K = π Altså vil markovkæden defineret ved K have stationær fordeling π som ønsket. (statistik) 117 / 120 Metropolis-algoritmen (statistik) 118 / 120 Kommentarer Det betyder, at efter mange trin vil algoritmen med stor sandsynlighed befinde sig i en oversættelsesfunktion f , der giver teksten en høj grad af mening (hvis en sådan eksisterer). Giver algoritmen ikke noget meningsgivende, kan det skyldes, kodningen har en mere kompliceret opbygning. (statistik) 119 / 120 (statistik) 120 / 120 Tak for i dag Kommentarer Spørgsmål? (statistik) 121 / 120 (statistik) 122 / 120
© Copyright 2024