Markovkæder og kodesprog

Relaterede dokumenter
Hvem er jeg? Markovkæder og kodesprog. Kommentarer. Opbygningen af studiet. En uge på studiet. Kommentarer. Hvor får man arbejde som statistiker?

Maja Tarp AARHUS UNIVERSITET

Plan. Markovkæder Matematisk modelling af kølængde, yatzy, smittespredning og partikelbevægelser. Materiale mm.

Fig. 1 Billede af de 60 terninger på mit skrivebord

Matricer og Matrixalgebra

Selvstudium 1, Diskret matematik

Statistik og sandsynlighed

Produkt og marked - matematiske og statistiske metoder

Kursusgang 3 Matrixalgebra Repetition

Produkt og marked - matematiske og statistiske metoder

Lidt historisk om chancelære i grundskolen

Kapitlet indledes med en beskrivelse af - og opgaver med - de tre former for sandsynlighed, som er omtalt i læseplanen for

Landmålingens fejlteori - Sandsynlighedsregning - Lektion 1

Fejlkorligerende køder Fejlkorrigerende koder

Matematikken i kunstig intelligens Opgaver om koordinerende robotter

Kursusindhold: Produkt og marked - matematiske og statistiske metoder. Monte Carlo

Matematikken i kunstig intelligens Opgaver om koordinerende robotter LØSNINGER

Kursusindhold: Produkt og marked - matematiske og statistiske metoder. Monte Carlo

Hvad skal vi lave i dag?

Note om Monte Carlo metoden

Lad os som eksempel se på samtidigt kast med en terning og en mønt:

Lineære normale modeller (1) udkast. 1 Flerdimensionale stokastiske variable

Affine - et krypteringssystem

Fejlkorligerende køder Fejlkorrigerende koder

Sandsynlighedsregning 10. forelæsning Bo Friis Nielsen

Kursusindhold: X i : tilfældig værdi af ite eksperiment. Antag X i kun antager værdierne 1, 2,..., M.

Sandsynlighedsregning 10. forelæsning Bo Friis Nielsen

Simulering af stokastiske fænomener med Excel

Binomialfordelingen. Binomialfordelingen. Binomialfordelingen

Sandsynlighedsregning 10. forelæsning Bo Friis Nielsen

Repetition. Diskrete stokastiske variable. Kontinuerte stokastiske variable

Kursusindhold: X i : tilfældig værdi af ite eksperiment. Antag X i kun antager værdierne 1, 2,..., M.

Sandsynlighedsregning

Sandsynlighedsregning

Ligningssystemer - nogle konklusioner efter miniprojektet

Lineær Algebra F08, MØ

Oversigt [LA] 1, 2, 3, [S] 9.1-3

Matematik for økonomer 3. semester

Tue Tjur: Hvad er tilfældighed?

Matematik A. Studentereksamen. Forberedelsesmateriale. Digital eksamensopgave med adgang til internettet

13 Markovprocesser med transitionssemigruppe

ØKONOMI AKADEMIET FOR TALENTFULDE UNGE. Carsten Paysen T. Rosenskjold. d. 24 marts. Department of Economics and Business, Aarhus University

Besvarelser til Lineær Algebra Ordinær Eksamen Juni 2018

Matematik og Form: Matrixmultiplikation. Regulære og singu

Guide til lektielæsning

Kønsproportion og familiemønstre.

Markovkæder med endeligt tilstandsrum

Statistiske modeller

Simulering af stokastiske fænomener med Excel

Program. Statistik og Sandsynlighedsregning. Eksempler. Sandsynlighedstæthed og sandsynlighedsmål

DesignMat Kvadratiske matricer, invers matrix, determinant

Maple 11 - Chi-i-anden test

MATEMATIK ( 5 h ) DATO: 5. juni 2008 (formiddag) Lommeregner hverken grafisk eller programmerbar

Kvadratiske matricer. enote Kvadratiske matricer

{ } { } {( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( )}

Kryptologi og RSA. Jonas Lindstrøm Jensen

9.1 Egenværdier og egenvektorer

Tip til 1. runde af Georg Mohr-Konkurrencen Kombinatorik

Definition multiplikation En m n-matrix og en n p-matrix kan multipliceres (ganges sammen) til en m p-matrix.

Nøgleord og begreber. Definition multiplikation En m n-matrix og en n p-matrix kan multipliceres (ganges sammen) til en m p-matrix.

Kursusgang 3 Matrixalgebra Repetition

Mattip om. Statistik 2. Tilhørende kopier: Statistik 3, 4 og 5. Du skal lære om: Faglig læsning. Chance og risiko. Sandsynlighed

Teori og opgaver med udgangspunkt i udvalgte områder i Køge Bugt regionen

CMU PROJEKT HYPOTESETEST OG SIMULERING MICHAEL AGERMOSE JENSEN CHRISTIANSHAVNS GYMNASIUM

Statistik II 1. Lektion. Analyse af kontingenstabeller

2010 Matematik 2A hold 4 : Prøveeksamen juni 2010

Kursusgang 3 Matrixalgebra fortsat

Oversigt [LA] 3, 4, 5

statistik og sandsynlighed

Allan C. Malmberg. Terningkast

fortsætte høj retning mellem mindre over større

Sandsynlighed og kombinatorik

Som der blev orienteret om ved forældremødet, begynder vi nu på det nye undervisningsprogram, som hedder Trin for Trin.

Billedbehandling og mønstergenkendelse: Lidt elementær statistik (version 1)

Lineær algebra 1. kursusgang

Lineær algebra: Matrixmultiplikation. Regulære og singulære

Fortroligt dokument. Matematisk projekt

Kombinatorik. Eksempel 2: En mand har 7 par bukser og 10 skjorter. Skal han både vælge en skjorte og et par bukser, så har han 10. 7=70 mulige valg.

Hypotesetest. Altså vores formodning eller påstand om tingens tilstand. Alternativ hypotese (hvis vores påstand er forkert) H a : 0

Tidligere Eksamensopgaver MM505 Lineær Algebra

Simulering af chancer. Aktivitet Emne Klassetrin Side. Vejledning til Simulering af chancer 2-11

DM13-1. Obligatoriske Opgave - Kredsløbs design

DM517:Supplerende noter om uafgørlighedsbeviser:

Oversigt [LA] 1, 2, 3, [S] 9.1-3

Du skal lære. o o o o o. Om filmen. Filmen er en animationsfilm. Animation betyder at gøre noget levende.

LinAlgDat 2014/2015 Google s page rank

Kapitel 8 Chi-i-anden (χ 2 ) prøven

Lineær Algebra. Lars Hesselholt og Nathalie Wahl

Effekter af studiejob, udveksling og projektorienterede forløb

Uge 10 Teoretisk Statistik 1. marts 2004

Talforståelse. Du skal veksle mønterne. Vis, hvor mange måder du kan gøre det på. Kopi opgave. Navn:


Æstetik og reduktioner Matematisk takt og tone. Mikkel Findinge

9 Statistik og sandsynlighed

25 TIPS TIL DIT CV. Husk at du markedsfører dig selv

Forslag til program: Statistiske undersøgelser på kirkegården 3. kl.

Matrx-vektor produkt Mikkel H. Brynildsen Lineær Algebra

Opgaver i sandsynlighedsregning

Statistik Lektion 2. Betinget sandsynlighed Bayes regel Diskrete stokastiske variable Middelværdi og varians for diskret SV Binomialfordelingen

Transkript:

Markovkæder og kodesprog Britta Anker Bak (statistik) 1 / 61

Hvem er jeg? Britta Anker Bak, 23 år Skolegang på Mors og Thylands Ungdomsskole. Matematisk student fra Morsø Gymnasium i år 2007. 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) 2 / 61

Opbygningen af studiet (statistik) 3 / 61

En uge på studiet (statistik) 4 / 61

Hvor får man arbejde som statistiker? 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) 5 / 61

Hvorfor er statistik og sandsynlighedsteori interessant? Kan forudsige fremtiden Kan bruges som beslutningsgrundlag: Politik Aktiekurser Medicinske forsøg Risikovurdering Spilteori (statistik) 6 / 61

Resultater af statistik... 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) 7 / 61

Lidt historie 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. I forbindelse med udviklingen af computere er det blevet muligt at udføre statistiske undersøgelser gennem store simulationer. (statistik) 8 / 61

Ideen bag simulationer 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) 9 / 61

Problem: En tekst i kodesprog I et britisk fængsel blev fundet tekst i kodesprog: Fængselspersonalet var interesseret i, hvad teksten betød. (statistik) 10 / 61

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) 11 / 61

Problem: En tekst i kodesprog Løsningsmetode 1 Ansæt kinesere til at forsøge alle muligheder. (statistik) 12 / 61

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) 13 / 61

Problem: En tekst i kodesprog Løsningsmetode 2 1 Tæl antallet af hvert tegn i teksten. 2 Stil i rækkefølge efter hyppighed. 3 Oversæt det hyppigste tegn til det mest anvendte engelske bogstav, det næsthyppigste tegn til det næstmest anvendte bogstav osv. 4 Giver det ikke en læselig tekst, byttes lidt rundt. Problem: Der er fortsat mange muligheder, kræver MEGET held! (statistik) 14 / 61

Problem: En tekst i kodesprog 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) 15 / 61

Vektorer I kender vektorer: x = ( x1 Denne vektor vil ligge i det to-dimensionale rum R 2, også kaldet planen. Den kan tegnes den på et stykke papir. Der er også forestille sig en vektor i det tre dimensionale rum R 3 : x 2 x 1 ) x = x 2 x 3 Tilsvarende er vektorer i det n-dimensionale rum R n : x 1 x 2 x =. x n (statistik) 16 / 61

Vektorer 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) 17 / 61

Matricer 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) 18 / 61

Matricer 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 4 6 10 B A = 1 4 3 3 21 6 (statistik) 19 / 61

Matricer Lad nu: Da er C = ( 2 4 1 ) C B = ( 2 4 1 ) 2 0 1 1 = ( 8 1 ) 0 3 C A, A C og B C eksisterer ikke. (statistik) 20 / 61

Matricer Hvis A er en kvadratisk matrix, kan den ganges med sig selv - så mange gange man ønsker det: ( ) 2 1 A = 1 1 ( ) ( ) ( ) A 2 2 1 2 1 5 1 = A A = = 1 3 1 3 1 2 ( ) ( ) ( ) A 3 = A A 2 2 1 5 1 11 4 = = 1 1 1 2 4 1 A n = A A A }{{} n gange (statistik) 21 / 61

Opgaver 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) 22 / 61

Resultater a) ( ) 15 19 4 0 b) Ikke mulig 19 21 c) 17 21 8 10 ( ) 36 10 56 d) 10 3 16 (statistik) 23 / 61

Markovkæder En sandsynlighedsvektor har alle indgange 0 og summen af dem er 1, fx: 1/6 0.2 1/6 x = 0.4 y = 1/6 0.4 1/6 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) 24 / 61

Markovkæder 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 y 1, y 2, y 3,..., y k 1, y k. M kaldes matricen af overgangssandsynligheder og er en k k-matrix. Hvis man befinder sig i tilstand y i, angiver M(i, j), den j te plads i i te række af M, sandsynligheden for at gå til tilstanden y j i næste trin: P(X 1 = y j X 0 = y i ) = M(i, j) (statistik) 25 / 61

Markovkæder P(X 2 = y j X 0 = y i ) = P(X 2 = y j X 1 = y 1, X 0 = y i ) P(X 1 = y 1 X 0 = y i ) + P(X 2 = y j X 1 = y 2, X 0 = y i ) P(X 1 = y 2 X 0 = y i ) + + P(X 2 = y j X 1 = y k, X 0 = y i ) P(X 1 = y k X 0 = y i ) = P(X 2 = y j X 1 = y 1 ) P(X 1 = y 1 X 0 = y i ) + P(X 2 = y j X 1 = y 2 ) P(X 1 = y 2 X 0 = y i ) + + P(X 2 = y j X 1 = y k ) P(X 1 = y k X 0 = y i ) = 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) = M 2 (i, j) (statistik) 26 / 61

Markovkæder Tilsvarende fås sandsynligheden for at befinde sig i tilstand j efter n trin: P(X n = y j X 0 = y i ) = M n (i, j) (statistik) 27 / 61

Eksempel: Kaninhop Forestil dig en kanin, der hopper rundt mellem tallene {1, 2, 3, 4, 5, 6, 7, 8}. 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) 28 / 61

Eksempel: Kaninhop 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 Tabellen kan ses som en 8 8-matrix, der er stokastisk. (statistik) 29 / 61

Kaninhop - øvelse Start i 1 og slå 10 gange med en mønt. Hvor ender du? Sandsynligheden for at ende i fx 5 er: P(X 10 = 5 X 0 = 1) = M 10 (1, 5) (statistik) 30 / 61

Eksempel: Befolkning i storbyer 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.02 0.98 0 = ( 0.30 0.70 ) Fordelingen af indbyggere efter et år vil være: x 1 = x 0 A = ( 0.296 0.704 ) Tilsvarende fås: og På denne måde beregnes: x 2 = x 1 A = x 0 A A = x 0 A 2 x n = x 0 A n x 10 = ( 0.27 0.73 ) x 30 = ( 0.25 0.75 ) x 50 = ( 0.25 0.75 ) (statistik) 31 / 61

Stationære fordelinger 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) 32 / 61

Eksempel: Blaffetur 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) 33 / 61

Eksempel: Blaffetur Matricen af overgangssandsynligheder: Paris Ringk. Prag War Hjem Paris 0 1/6 1/6 2/6 2/6 Ringk. 2/6 0 1/6 2/6 1/6 Prag 2/6 1/6 0 2/6 1/6 War 2/6 1/6 1/6 0 2/6 Hjem 0 0 0 0 1 Startes i Paris, dvs på vektorform: og kaldes overgangsmatricen A vil: x 0 = ( 1 0 0 0 0 ) x 0 A 10 = ( 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) 34 / 61

Problem: En tekst i kodesprog 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: så der fx. kan gælde: f : {kodesprog} {britisk alfabet} f ( ) = c f ( ) = e f ( ) = m (statistik) 35 / 61

Problem: En tekst i kodesprog Som tidligere nævnt er der over 3 10 29 forskellige muligheder for f. Marc ønsker at finde den mest sandsynlige f. (statistik) 36 / 61

Problem: En tekst i kodesprog Derfor downloader han bogen Krig og fred. (statistik) 37 / 61

Problem: En tekst i kodesprog 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. 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) 38 / 61

Problem: En tekst i kodesprog Dernæst betragtes alle a er i bogen (medmindre det er bogens allersidste tegn). Marc finder: antal a er der efterfølges af a antal a er i alt antal a er der efterfølges af b antal a er i alt = #aa #a = #ab #a Disse sættes ind i en lang vektor: Dette er en sandsynlighedsvektor. ( #aa #a, #ab #a, #ac #a,..., #a_ #a, #a, #a, #a. ) #a. (statistik) 39 / 61

Problem: En tekst i kodesprog Tilsvarende findes vektorerne: ( #ba #b, #bb #b, #bc #b,..., #b_ #b, #b, #b, #b. ) #b. ( #.a #., #.b #., #.c #.,..., #._ #., #., #., #.. ). #. (statistik) 40 / 61

Problem: En tekst i kodesprog Vektorerne sættes op i en stor, kvadratisk matrix: M = #aa #a #ba #b. #.a #. Dette er en stokastisk matrix #ab #a #bb #b #.b #. #ac #a..., #a_ #a #bc #b..., #b_ #b #.c #...., #._ #. #a, #a #b, #b #., #. #a. #a #b. #b #.. #. 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) 41 / 61

Problem: En tekst i kodesprog Marc sætter: Nu betragter Marc mængden: symbol i = Det i te symbol i kodebeskeden n kode = Antal symboler i kodebeskeden 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 (symbol 1 )f (symbol 2 ), f (symbol 3 )... f (symbol nkode 1)f (symbol nkode ) (statistik) 42 / 61

Problem: En tekst i kodesprog I M aflæses sandsynligheden for, at de første to bogstaver vil følge efter hinanden ved at kigge på M(f (symbol 1 ), f (symbol 2 )) og tilsvarende gennem resten af teksten. Dette kan anses som en sandsynlighed for hver bogstavkombination. Disse ganges sammen: P(f ) = M(f (symbol 1 ), f (symbol 2 )) M(f (symbol 2 ), f (symbol 3 )) M(f (symbol nkode 1), f (symbol nkode )) (statistik) 43 / 61

Problem: En tekst i kodesprog Hvis vil blive til f ( ) = s f ( ) = e f ( ) = h f ( ) = t 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) 44 / 61

Opgave Oversæt med f ( ) = s f ( ) = e f ( ) = h f ( ) = t (statistik) 45 / 61

Problem: En tekst i kodesprog Marc opbygger en algoritme, bygget over metropolis-algoritmen. 1 Start med en tilfældig f. 2 Lav en ny oversættelsesfunktion f ved at ændre på betydningen af to symboler i f. 3 Oversæt symbolteksten vha. f og beregn P(f ). 1 Hvis P(f ) > P(f ) startes fra trin 2 med f = f. 2 Hvis P(f ) P(f ) slås plat og krone om f eller f skal bruges. 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) 46 / 61

Problem: En tekst i kodesprog f fra før kan fx ændres til f ( ) = s f ( ) = a f ( ) = h f ( ) = r. Så vil blive til sarah. (statistik) 47 / 61

Problem: En tekst i kodesprog Interessante spørgsmål: Virker algoritmen? Hvis ja, hvornår skal den stoppes? 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) 48 / 61

Problem: En tekst i kodesprog (statistik) 49 / 61

Problem: En tekst i kodesprog Metoden ser ud til at virke - endda ret hurtigt! Marc anvender efterfølgende computerprogrammet på fængselsteksten. (statistik) 50 / 61

Problem: En tekst i kodesprog (statistik) 51 / 61

Problem: En tekst i kodesprog (statistik) 52 / 61

Metropolis-algoritmen 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) 53 / 61

Metropolis-algoritmen Antag der er n kode forskellige symboler i kodesproget og n alfabet forskellige tegn i alfabetet og de øvrige tegn (tal, mellemrum, punktum osv.) i det virkelige sprog. Antag n kode n alfabet. Betragt rummet: F = { f : {kodesprog} {britisk alfabet} } Antallet af funktioner i rummet vil være: n funktion = n alfabet (n alfabet 1)(n alfabet 2) (n alfabet (n kode 1)) = n alfabet (n alfabet 1)(n alfabet 2) (n alfabet n kode + 1) (statistik) 54 / 61

Metropolis-algoritmen Vælges tilfældigt f i F vil antallet af funktioner, der højst afviger fra f på to symboler være: ( ) nkode (n alfabet (n kode 2)) (n alfabet (n kode 1)) 2 n = kode! (n kode 2)!2! (n alfabet n kode + 2)(n alfabet n kode + 1) = n kode (n kode 1) (n kode 2) 2 1 ((n kode 2)(n kode 1) 2 1) 2 (n alfabet n kode + 2)(n alfabet n kode + 1) = 1 2 n kode (n kode 1) (n alfabet n kode + 2)(n alfabet n kode + 1) (statistik) 55 / 61

Metropolis-algoritmen 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 1 ) = 1 2 n kode (n kode 1) (n alfabet n kode + 2)(n alfabet n kode + 1) Ellers er J(f, f ) = 0. Der gælder: J(f, f ) > 0 J(f, f ) > 0 (statistik) 56 / 61

Metropolis-algoritmen 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 (symbol 1 ), f (symbol 2 )) M(f (symbol 2 ), f (symbol 3 )) M(f (symbol nkode 1), f (symbol nkode )) 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) 57 / 61

Metropolis-algoritmen Hvor J(f, f ) = 0 sættes: A(f, f ) = π(f ) J(f, f ) π(f ) J(f, f ) Sæt: J(f, f ) hvis f = f, A(f, f ) 1 K (f, f ) = eller J(f, f ) = 0 J(f, f ) A(f, f ) hvis f = 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) 58 / 61

Metropolis-algoritmen Hvis A(f, f ) < 1 vil A(f, f ) 1 og dermed: K (f, f ) = J(f, f )A(f, f ) = J(f, f ) π(f ) J(f, f ) π(f ) J(f, f ) = π(f ) J(f, f ) π(f ) = π(f ) K (f, f ) π(f ) π(f ) K (f, f ) = π(f ) K (f, f ) 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) 59 / 61

Metropolis-algoritmen 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) 60 / 61

Tak for i dag Spørgsmål? (statistik) 61 / 61