Automater. Matematik för språkteknologer. Mattias Nilsson



Relevanta dokument
DAB760: Språk och logik

Idag: Reguljära språk Beskrivs av Reguljära uttryck DFA Grammatik

TDDD02 Föreläsning 2 HT Reguljära uttryck och reguljära språk Lars Ahrenberg

Turingmaskiner och oavgörbarhet. Turingmaskinen. Den maximalt förenklade modell för beräkning vi kommer använda är turingmaskinen.

MÄLARDALENS HÖGSKOLA. CD5560 Formella språk, automater och beräkningsteori. Användarmanual. för simulatorn JFLAP

Föreläsning 9: Turingmaskiner och oavgörbarhet. Turingmaskinen. Den maximalt förenklade modell för beräkning vi kommer använda är turingmaskinen.

Föreläsning 2 5/6/08. Reguljära uttryck 1. Reguljära uttryck. Konkatenering och Kleene star. Några operationer på språk

F5 Introduktion till digitalteknik

9. Beräkna volymen av det område som begränsas av planet z = 1 och paraboloiden z = 5 x 2 y 2.

FÖRELÄSNING 1 ANALYS MN1 DISTANS HT06

Flera kvantifierare Bevis Direkt bevis Motsägelse bevis Kontrapositivt bevis Fall bevis Induktionsprincipen. x y (x > 0) (y > 0) xy > 0 Domän D = R

AGENTBASERAD MODELLERING

7, Diskreta strukturer

Problem: BOW Bowling. Regler för Bowling. swedish. BOI 2015, dag 1. Tillgängligt minne: 256 MB

9-1 Koordinatsystem och funktioner. Namn:

UPPGIFT 1 KANINER. Håkan Strömberg 1 Pär Söderhjelm

Föreläsning 8: Intro till Komplexitetsteori

Introduktion. Exempel Övningar Lösningar 1 Lösningar 2 Översikt

RödGrön-spelet Av: Jonas Hall. Högstadiet. Tid: minuter beroende på variant Material: TI-82/83/84 samt tärningar

Skrivstöd. Joakim Nivre. Introduktion till språkteknologi. Skrivstöd. Inledning. Orsaker till stavfel. Detektering av icke-ord

Textsträngar från/till skärm eller fil

Svar och arbeta vidare med Student 2008

1 Skapa Tabell Skapa Relationer Redigera Relationer Redigera Fält i Tabell Lägga till Poster i Tabell...

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

varandra. Vi börjar med att behandla en linjes ekvation med hjälp av figur 7 och dess bildtext.

1. Skriv = eller i den tomma rutan, så att det stämmer. Motivera ditt val av tecken.

Clicker 5. Lathund kring de vanligaste och mest grundläggande funktionerna för att komma igång med Clicker. Habilitering & Hjälpmedel

MATEMATIKENS SPRÅK. Syftet med denna övning är att med hjälp av logik lära oss att uttrycka matematik mer exakt,

Programmering för språkteknologer II. OH-serie: Ändliga automater. reguljära uttryck i Java. Deterministiska ändliga automater

Tentamen i Sannolikhetslära och statistik (lärarprogrammet) 12 februari 2011

B = Bokad tid. T = Tillfälligt bokad tid. L = Ledig tid. X = Spärrad tid

Automatateori (2) Idag: Sammanhangsfria språk. Dessa kan uttryckas med Grammatik PDA

Wienerprocesser. Finansiell statistik, vt-05. Enkel slumpvandring. Enkel slumpvandring. Varför: model för aktiekurs (dock med aber...

Föreläsning 11. Giriga algoritmer

a), c), e) och g) är olikheter. Av dem har c) och g) sanningsvärdet 1.

1. a) (2p) Vilket aritmetiskt uttryck beskrivs av det binära trädet

Föreläsning 7: Syntaxanalys

75059 Stort sorteringsset

NMCC Sigma 8. Täby Friskola 8 Spets

Instruktion arbeta med rapportmallen

Hands-On Math. Matematikverkstad. Förskolans nya läroplan 1 juli Matematik är en abstrakt och generell vetenskap

TATA42: Föreläsning 10 Serier ( generaliserade summor )

Tentamen: Programutveckling ht 2015

Repetitionsuppgifter i Matematik inför Basår. Matematiska institutionen Linköpings universitet 2014

Just nu pågår flera satsningar för att förbättra svenska elevers måluppfyllelse

Programmeringsuppgifter 1

Fortsättningskurs i programmering F 2. Algoritmer i Programutveckling Hugo Quisbert Problemexempel 1

1 Aylas bil har gått kilometer. Hur långt har den (2) gått när hon har kört en kilometer till?

Reglerteori, TSRT09. Föreläsning 4: Kalmanfiltret & det slutna systemet. Torkel Glad. Reglerteknik, ISY, Linköpings Universitet

2. Komma igång Skapa grupper och elever Skriv också ut sidan 13 så att eleverna har en snabbguide till programmet.

MATEMATIK Datum: Tid: förmiddag Hjälpmedel: inga. Mobiltelefoner är förbjudna. A.Heintz Telefonvakt: Christo er Standar, Tel.

Mälardalens högskola Akademin för utbildning, kultur och kommunikation

Sidor i boken , , 3, 5, 7, 11,13,17 19, 23. Ett andragradspolynom Ett tiogradspolynom Ett tredjegradspolynom

Trycket beror på ytan

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

Krypteringsprogrammet Kryptogamen

Parsning = analys. Parsningsalgoritmer. Användningsområden. L1: Introduktion

Likabehandlingsplanen

Matematik 2 Digitala övningar med TI-82 Stats, TI-84 Plus och TI-Nspire CAS

MATEMATIK 5 veckotimmar

TAOP88/TEN 1 OPTIMERING FÖR INGENJÖRER

Begrepp Värde (mätvärde), medelvärde, median, lista, tabell, rad, kolumn, spridningsdiagram (punktdiagram)

Aditro HR Portalen - logga in och byta lösenord

En guide som demonstrerar användandet av webbtidboken för optiker. Steg-för-steg och alla funktioner som finns tillgängliga för kunden.

Generell Analys. 3. Det är viktigt att du väljer ett svar i vart och ett av de åttio blocken.

Lärarguide vid grupparbete

Diskret matematik: Övningstentamen 4

Steg 4. Lika arbeten. 10 Diskrimineringslagen

Abstrakt algebra för gymnasister

Laboration: Att inhägna ett rektangulärt område

Senaste revideringen av kapitlet gjordes , efter att ett fel upptäckts.

DATORER OCH PROGRAM. Datorn är en symbolmaskin

TDDC30. Objektorienterad programmering i Java, datastrukturer och algoritmer. Föreläsning 8 Jonas Lindgren, Institutionen för Datavetenskap, LiU

Ickelinjära ekvationer

Den matematiska analysens grunder

Tentamensinstruktioner. När Du löser uppgifterna

Att arbeta med öppna uppgifter

Migrera till Word 2010

Matematik 5 Kap 3 Derivator och Integraler

Javisst! Uttrycken kan bli komplicerade, och för att få lite överblick över det hela så gör vi det så enkelt som möjligt för oss.

CSN-rapportering, gymnasiet

Träning i bevisföring

Excelfiler läggs till i ArcMap på samma sätt som annan data, genom Lägg till Data-knappen.

Elisabeth Bejefalk IT-Assistent Avesta kommun

En ideal op-förstärkare har oändlig inimedans, noll utimpedans och oändlig förstärkning.

Muffinsmysteriet. Avsnittet innehåller: problemlösning, matematiska relationer, taluppfattning, multiplikation och systematisering.

INDUKTION OCH DEDUKTION

Storräkneövning: Sannolikhetslära

SÄKERHETSVISAREN 1. LEDNING OCH PRIORITERINGAR

Enkäten inleds med några frågor om demografiska data. Totalt omfattar enkäten 85 frågor år år år. > 60 år år.

DATORER OCH PROGRAM. Programmerade maskiner Program beteendeplan och beteendegenerator Generalitet och portabilitet Datorn är en symbolmaskin

Tentamen i TTIT07 Diskreta Strukturer

OBS - ranking NYTT RANKINGSYSTEM. Jan-Erik Thomasson INNEHÅLL

TAOP86/TEN 1 KOMBINATORISK OPTIMERING MED

Användarmanual Pagero Connect 2.0

Problemlösning som metod

Dynamisk programvara, ett didaktiskt verktyg?

Bokstäver. Myrstackens kvalitetsarbete. Hällevadsholms förskola

Uppgift 2 Betrakta vädret under en följd av dagar som en Markovkedja med de enda möjliga tillstånden. 0 = solig dag och 1 = regnig dag

DE FYRA RÄKNESÄTTEN (SID. 11) MA1C: AVRUNDNING

Transkript:

Automater Matematik för språkteknologer Mattias Nilsson

Automater Beräkningsmodeller Beräkning - (eng) Computation Inom automatateorin studeras flera olika beräkningsmodeller med olika egenskaper och olika beräkningsförmåga Finita automater är en typ av beräkningsmodell som ligger till grund för många, mer avancerade, beräkningsmodeller som t.ex. stackautomater eller pushdown-automater, och Turingmaskiner.

Tillämpning av automatateori Viktigt hjälpmedel för design, implementation, och modellering av många typer av system. Mönsterigenkänning: Textsökning (t.ex. grep) Stavnings- och grammatikkontroll Kompilatorteknik Optisk teckenigenkänning (OCR)

Inledande språktekniska begrepp Alfabet Strängar Språk

Inledande språktekniska begrepp Alfabet: Σ En ändlig mängd av ett eller flera tecken (symboler) Exempel Det binära alfabetet: Σ = {0, 1} Det svenska alfabetet: Σ = {a,...,ö,a,...,ö} Mängden av små boktäver (Latin): Σ = {a,b,...,z} Mängden av ASCII-tecken

Inledande språktekniska begrepp Strängar En sträng w över ett alfabet är en ändlig sekvens av noll eller flera tecken från alfabetet. Σ1 = {0, 1} w 1 = 01101 Σ2 = {a, b, c} w 2 = babca Den tomma strängen: ǫ En sträng utan realiserade tecken (dvs. som består av noll tecken) Längden av en sträng w: w w 1 = 5 w 2 = 5 ǫ = 0

Inledande språktekniska begrepp Sammansättning av strängar (strängkonkatenering) Σ = {a,b,...,z} w 1 = king w 2 = kong w 1 w 2 = kingkong w 2 w 1 = kongking w 1 ǫ = king Σ = {0,1} x = 01101 y = 110 xy = 01101110 yx = 11001101 ǫy = 110 wǫ = ǫw = w

Inledande språktekniska begrepp Språk: L Ett språk L är en mängd av strängar Kleenstjärna: Σ Mängden av alla strängar över ett alfabet Σ {0,1} = {ǫ,0,1,00,01,10,11,000,...} {a,b} = {ǫ,a,b,aa,bb,ab,ba,aab,...}

Finita automater Vad är finita automater? En abstrakt (idealiserad) beräkningsmodell Ett system som har ett ändligt antal möjliga tillstånd och vars beteende kan beskrivas med enkla transitionsregler, t.ex. om systemet är i tillstånd p och det får input a då går det till tillstånd q. En automat läser en given indatasträng från vänster till höger, en symbol i taget. Beroende på vilket tillstånd automaten befinner sig i när hela strängen är läst, accepteras eller avvisas strängen, så varje automat definierar en mängd av godkända strängar - automatens språk.

Finita automater Deterministisk finit automata (definition) En deterministisk finit automat (DFA) är en fem-tupel (Q,Σ,δ,q 0,F), där Q är en ändlig mängd tillstånd, Σ är en ändlig mängd symboler - ett alfabet, δ : Q Σ Q är en transitionsfunktion, q 0 är det initiala tillståndet (starttillstånd), F är en delmängd av Q; mängden accepterande tillstånd.

Determinism Deterministisk finit automata (DFA) Givet ett tillstånd och en inputsymbol finns det exakt ett möjligt måltillstånd (exakt en tillämpbar transition). Ickedeterministisk finit automata (NFA) Givet ett tillstånd och en inputsymbol kan det finnas flera möjliga måltillstånd (mer än en tillämpbar transition). För varje NFA finns det en ekvivalent DFA. En ickedeterministisk finit automat kan således alltid determiniseras, dvs. konverteras till en determinitisk finit automat.

Finita automater som grafer a s a 1 s b 2 s 3 Finita automater representeras ofta som grafer (tillståndsdiagram): noder = tillstånd riktade bågar (pilar) med symboler = transitioner inkommande pil utan avsändare = starttillstånd dubbla cirklar = accepterande tillstånd

Finita automater som grafer a s a 1 s b 2 s 3 Automaten ovan definieras formellt: Q = {s 1,s 2,s 3 } Σ = {a,b} q 0 = s 1 δ = {< s 1,a >= s 2,< s 2,a >= s 2,< s 2,b >= s 3 } F = {s 3 }

Övning Hur definieras automaten nedan formellt? Vilket språk accepterar den? b b s a 1 s 2

Övning Hur ser tillståndsdiagrammet ut för automaten M = (Q,Σ,δ,q 0,F), där Q = {s 1,s 2 },Σ = {1,0},q 0 = s 1,F = {s 1 }, och δ ges av tabellen nedan? Vilket språk accepterar M? 0 1 s 1 s 1 s 2 s 2 s 2 s 1

Accepterande automater Accepterande automater kan användas för att avgöra om en viss sträng ingår i automatens språk: 1. Starta i starttillståndet 2. Läs nästa symbol i strängen Om strängen inte innehåller fler symboler: Acceptera strängen om tillståndet är ett accepterande tillstånd Annars: avvisa strängen 3. Följ bågen markerad med inläst symbol Om ingen sådan finns avvisas strängen 4. Gå till steg 2.

Övning a a b s 1 s 2 b Vilka av följande strängar känns igen (accepteras) av automaten ovan? w 1 = bababa; w 2 = ababab; w 3 = aabbaa; w 4 = bbaabb; w 5 = bbbaaa; w 6 = aaabbb; Vilket språk accepterar automaten ovan? Definera en sträng w, där w = 8, som känns igen av automaten

Övning Vilket språk accepterar automaten? a a a a b b b s 1 s 2 s 3 s 4 b

Övning Konstruera en automat som känner igen språket av alla binära strängar som slutar på 1. Konstruera en automat som känner igen språket av alla binära strängar som innehåller noll eller fler förekomster av 0 följt av noll eller fler förekomster av 1. Konstuera en automat som känner igen språket av alla binära strängar som innehåller exakt tre ettor.

Automater med utmatning Mealyautomater En deterministisk finit automat (DFA) kompletterad med en funktion som lämnar utdata vid varje tillståndsövergång. Mooreautomater En deterministisk finit automat (DFA) som lämnar utdata vid varje tillståndsbesök (även i starttillståndet).

Reguljära språk Varje språk som accepteras av en finit automat är ett reguljärt språk Reguljära språk är en klass av formella språk Alla språk är alltså inte reguljära Är naturliga språk reguljära?

Reguljära operationer Låt A och B vara (reguljära) språk. De reguljära operationerna union, konkatenering och Kleenstjärna definieras som följer: Union: A B = {x x A eller x B} Konkatenering: A B = {xy x A och y B} Kleenstjärna: A = {x 1 x 2...x k k 0 och x i A}

Reguljära operationer: exempel Låt L 1 = {001,10,111} och L 2 = {ǫ,001} L 1 L 2 = {ǫ,001,10,111} L 1 L 2 = {001,10,111,001001,10001,111001} L 2 = {ǫ,001,001001,001001001,...}

Reguljära uttryck Matematiskt uttryckssätt för att beskriva klassen av reguljära språk Varje språk som accepteras av en finit automat är ett reguljärt språk Går att översätta mellan reguljära uttryck och finita automater Reguljära uttryck och finita automater är två olika beräkningsmodeller som båda beskriver klassen av reguljära språk

Övning Konstruera automater som känner igen följande reguljära språk ab ab+ a b ab* (ab)*

Övning Formulera ett reguljärt uttryck för det språk som känns igen av följande automat: b a a s 1 s 2 b

Övningar (Eriksson & Gavel) Sektion 9.1 Övning 9.1-9.7 Sektion 9.2 Övning 9.9, 9.16, 9.19, 9.20 Sektion 9.3 Övning 9.32-9.33