INF2820 Datalingvistikk V2012. Jan Tore Lønning

Like dokumenter
INF2820 Datalingvistikk V2014. Jan Tore Lønning

INF2820 Datalingvistikk V2015. Jan Tore Lønning

INF2820 Datalingvistikk V2017 Forelesning 2, 23.1 Jan Tore Lønning

INF2820 Datalingvistikk V2016. Jan Tore Lønning

INF2820 Datalingvistikk V2016. Jan Tore Lønning

INF2820 Datalingvistikk V2015. Jan Tore Lønning

INF2820 Datalingvistikk V2011. Jan Tore Lønning & Stephan Oepen

INF2820 Datalingvistikk V2011. Jan Tore Lønning & Stephan Oepen

1/31/2011 SAMMENHENGER FSA OG REGULÆRE UTTRYKK. Regulære språk. Fra FSA til RE. Fra regulært uttrykk til NFA REGULÆRE UTTRYKK I DATALINGVISTIKK DEL 2

INF2820 Datalingvistikk V2015. Jan Tore Lønning

INF2820 Datalingvistikk V2016. Jan Tore Lønning

INF2820 Datalingvistikk V2012. Jan Tore Lønning

INF2820 Datalingvistikk V gang, Jan Tore Lønning

2/6/2012. Begrensninger ved regulære språk. INF2820 Datalingvistikk V2012. Formelle språk som ikke er regulære KONTEKSTFRIE GRAMMATIKKER.

INF2820 Datalingvistikk V2017 Forelesning 1.2 Jan Tore Lønning

INF2820 Datalingvistikk V2012. Jan Tore Lønning & Stephan Oepen

INF2820 Datalingvistikk V2014. Jan Tore Lønning

INF2820 Datalingvistikk V2015. Forelesning 4, 9.2 Jan Tore Lønning

INF2820 Datalingvistikk V2014. Forelesning 4, 6.2 Jan Tore Lønning

INF2820 Datalingvistikk V2016. Forelesning 4, 10.2 Jan Tore Lønning

INF2820 Datalingvistikk V2017 Forelesning 3, 30.1 Jan Tore Lønning

INF2820 Datalingvistikk V2011. Jan Tore Lønning & Stephan Oepen

INF 2820 V2016: Obligatorisk innleverinsoppgave 1

INF2820 Datalingvistikk V2016. Forelesning 4, 10.2 Jan Tore Lønning

INF1820: Introduksjon til språk-og kommunikasjonsteknologi

INF1820: Introduksjon til språk-og kommunikasjonsteknologi

IN2080. Oppgave 1. Oppgave 2. Eksamen. Vår Den nondeterministiske endelige automaten A er gitt ved (Q, Σ, δ, q 0, F ) der

1/26/2012 LITT PYTHON. INF2820 Datalingvistikk V2012. Hvorfor Pyhton. Python syntaks. Python er objektorientert. Python datatyper.

INF2820 Datalingvistikk V2012. Jan Tore Lønning

Oppgave 1. Spørsmål 1.1 (10%) Gitt det regulære uttrykket: a((bcd)+(cd))*cd

Følger Sipsers bok tett både i stoff og oppgaver.

Skanning del I INF /01/15 1

INF2820 Datalingvistikk V2011. Jan Tore Lønning & Stephan Oepen

INF2820 Datalingvistikk V Gang Jan Tore Lønning

INF2820 Datalingvistikk V forelesning, 30.1 Jan Tore Lønning

Skanning del I. Kapittel 2 INF 3110/ INF

INF2080 Logikk og beregninger

INF2820 Datalingvistikk V2018 Forelesning 3, 29. jan. Jan Tore Lønning

Typisk: Kan det være både nøkkelord og navn, så skal det ansees som nøkkelord

INF2820 Datalingvistikk V2012. Jan Tore Lønning

2/22/2011. Høyre- og venstreavledninger. I dag. Chomsky-normalform (CNF) Chomsky-normalform (CNF) PARSING. Jan Tore Lønning & Stephan Oepen

Typisk: Kan det være både nøkkelord og navn, så skal det ansees som nøkkelord

INF2820 Datalingvistikk V Gang Jan Tore Lønning

INF2820 Datalingvistikk V Gang 26.2 Jan Tore Lønning

INF2820 Datalingvistikk V2011. Jan Tore Lønning & Stephan Oepen

2/24/2012. Context-Free Grammars. I dag. Avledning. Eksempel: grammar1 PARSING. Jan Tore Lønning

MA3301 Beregnbarhets- og kompleksitetsteori Høsten

INF2820 Datalingvistikk V Gang 6.3 Jan Tore Lønning

INF2820 Datalingvistikk V2012

Scanning - I Kap. 2. Hva scanneren gjør

INF INF1820. Arne Skjærholt. Terza lezione INF1820. Arne Skjærholt. Terza lezione

INF2820 Datalingvistikk V2012. Jan Tore Lønning

INF2820 Datalingvistikk V gang, 27.2 Jan Tore Lønning

INF2820 Datalingvistikk V gang, Jan Tore Lønning

INF2820 Datalingvistikk V Gang 27.2 Jan Tore Lønning

INF2820 Datalingvistikk V Gang 4.5 Jan Tore Lønning

Syntax/semantics - I INF 3110/ /29/2005 1

INF2820 V2017 Oppgavesett 6 Gruppe 7.3

INF2820 Datalingvistikk V Gang Jan Tore Lønning

INF2820 Datalingvistikk V Gang 2.3 Jan Tore Lønning

INF2820 Datalingvistikk V Gang 9.3 Jan Tore Lønning

INF2820 Datalingvistikk V Gang Jan Tore Lønning

UNIVERSITETET I OSLO

Anatomien til en kompilator - I

INF2820 Datalingvistikk V Gang 19.3 del 1 Jan Tore Lønning

INF2820 Datalingvistikk V Gang 13.3 Jan Tore Lønning

TMA4140 Diskret Matematikk Høst 2016

INF2820 Datalingvistikk V Gang 9.3 Jan Tore Lønning

Dagens tema: Regulære språk og uttrykk

INF2820 Datalingvistikk V Gang 2.3 Jan Tore Lønning

INF1820: Introduksjon til språk-og kommunikasjonsteknologi

Anatomien til en kompilator - I

INF2820 Datalingvistikk V Gang 2.3 Jan Tore Lønning

INF2820 Datalingvistikk V Gang Jan Tore Lønning

UNIVERSITETET I OSLO

3/5/2012. Chart alternativ datastruktur. Fundamentalregelen. Chart-parsing. Bottom-up FORMELL SPRÅKTEORI. Jan Tore Lønning

INF3110 Programmeringsspråk

Oppgave 2. Eksamen INF2820, 2015, oppgave 2. La gramatikk G være:

1/18/2011. Forelesninger. I dag: Obligatoriske oppgaver. Gruppeundervisning. Jan Tore Lønning & Stephan Oepen

INF2820 Datalingvistikk V2012. Jan Tore Lønning

INF 2820 V2016: Obligatorisk innleveringsoppgave 3

Kap. 5, Del 3: INF5110, fra 1/3-2011

INF2820 Datalingvistikk V Gang Jan Tore Lønning

Eksamen INF2820 Datalingvistikk, H2018, Løsningsforslag

INF2820 V2017 Oppgavesett 5 Gruppe 21.2

3/8/2011. I dag. Dynamic Programming. Example. Example FORMELLE EGENSKAPER VED SPRÅK (KAP. 16) Jan Tore Lønning & Stephan Oepen

Spørsmål 1.1 (10%) Lag en ikke-deterministisk endelig tilstandsautomat (NFA) som beskriver dette språket.

Løsningsforslag til obligatorisk oppgave 3 INF1800 Logikk og beregnbarhet, høsten 2009

INF2820 Datalingvistikk V2011. Jan Tore Lønning & Stephan Oepen

Repetisjon. 1 binærtall. INF3110 Programmeringsspråk. Sist så vi ulike notasjoner for syntaks: Jernbanediagrammer. BNF-grammatikker.

Kap.4, del 2: Top Down Parsering Kap. 5, del 1: Bottom Up Parsing INF5110, 7/ Legger ut en oppgave til kap. 4 (se beskjed).

Turingmaskiner en kortfattet introduksjon. Christian F Heide

INF2820 Datalingvistikk V Gang Jan Tore Lønning

INF 2820 V2018: Innleveringsoppgave 1

Dagens tema Grundig repetisjon og utdyping: Syntaks kontra semantikk

2/24/2012. Dynamic Programming. I dag. Example. Example PARSING. Jan Tore Lønning

INF / Kap. 5, Del 2 Stein Krogdahl, Ifi, UiO

UNIVERSITETET I OSLO. Det matematisk-naturvitenskapelige fakultet

Oppgave 1. La G1 være grammatikken med hovedsymbol S og følgende regler:

Kap. 5 del 2: LR(1)- og LALR(1)-grammatikker INF5110 V2005. Stein Krogdahl, Ifi, UiO

Transkript:

INF2820 Datalingvistikk V2012 Jan Tore Lønning

ENDELIGE TILSTANDSTEKNIKKER OG REGULÆRE UTTRYKK I DATALINGVISTIKK DEL 2 20. januar 2012 2

Non-Determinism Speech and Language Processing - Jurafsky and Martin 3

Ikke-determinisme er nyttig Kari elsket sin hund. Kari elsket sin hund og venn. Kari elsket sin hund og beundret en venn. Kari elsket sin hund og Ola beundret en venn. Kari elsket sin hund og venn og beundret en venn og Ola beundret en hund og elsket sin venn. 4

Non-Determinism cont. Yet another technique Epsilon transitions Key point: these transitions do not examine or advance the tape during recognition Speech and Language Processing - Jurafsky and Martin 5

Yet Another View The guts of FSAs can ultimately be represented as tables If you re in state 1 and you re looking at an a, go to state 2 b a! e 0 1 1 2 2 2,3 3 4 4 Speech and Language Processing - Jurafsky and Martin 6

NFA ikkedeterministisk endelig maskin Q = {q0, q1, q2,, qn-1} δ er en funksjon som til hver tilstand q Q og symbol s Σ {ε} gir en delmengde δ(q,s) av Q. Alternativ formulering som gir samme resultat: D er en relasjon på Q Σ {ε} Q Sammenheng: D(q1, s, q2) hvis og bare hvis q2 δ(q1, s)

NFA en litt annen definisjon Def. 1 (forrige side) δ er en funksjon som til hver tilstand q Q og symbol s Σ {ε} gir en delmengde δ(q,s) av Q. Def. 2 (alternativ) δ er en funksjon som til hver tilstand q Q og symbolsekvens s Σ* gir en delmengde δ(q,s) av Q. Alternativt D er en relasjon på Q Σ* Q Vi vil bruke forrige definisjon: -i det formelle -I Python impl. JFLAP bruker denne defisjonen. Strengt tatt gir def. 2 en større klasse av automater, men lett å vise at for ethvert språk definert av automat av def.2 finnes en automat av def. 1 (oppgave)

NFA ikkedeterministisk endelig maskin Enhver DFA er også en NFA! forvirrende? Kanskje burde NFA hett FA? Men DFA (=FA) kom først Det finnes NFA-er som ikke er DFA-er Men hvis et språk kan beskrives av en NFA, så fins det også en DFA som beskriver språket. Ikke opplagt Trenger å bevises NFA DFA

Fra NFA til DFA uten ε-kanter Gitt en NFA uten ε-kanter: N= Q, q0, Σ, F, δ Definer en DFA, D= Q D, Q 0D, Σ D, F D, δ D ved: Q D = Pow(Q) = {Ø, {q0}, {q1}, {q0, q1}, } Q 0D = {q0} Σ D = Σ F D = { Qi Q Qi F } For en tilstand Qi={q1, q2, qk}, og symbol s Σ: δ D (Qi,s) = δ(q1,s) δ(q2,s) δ(qk,s) (Hvis det ikke finnes noen sti fra Q 0D til Q i, kan vi fjerne Q i ). Observasjon: For et ord w=x 1 x 2 x m, vil D være i en (eller annen) tilstand Qi For samme w vil N kunne være i en tilstand q hvis og bare hvis q Qi Altså vil D og N anerkjenne de samme ordene. 10

ε-transisjoner og epsilontillukning For enhver tilstand q er epsilontillukningen, E(q), mengden av tilstander som nås fra s med ε-transisjoner. Formelt er E(s) minste mengde s.a.: s E(s) Hvis t E(s) og u δ(t,ε) så er u E(s) Dette generaliserer til mengder av tilstander: E({q1, q2,, qi}) = E(q1) E(q2) E(qi) 11

Fra NFA til DFA generelt Gitt en NFA uten ε-kanter: N= Q, q0, Σ, F, δ Definer en DFA, D= Q D, Q0 D, Σ D, F D, δ D ved: Q D = Pow(Q) = {Ø, {q0}, {q1}, {q0, q1}, } Q0 D = E( {q0}) Σ D = Σ F D = { Qi Q E(Qi) F } For en tilstand Qi={q1, q2, qk}, og symbol s Σ: δ D (Qi,s) = E(δ(q1,s) δ(q2,s) δ(qk,s)) (Hvis det ikke finnes noen sti fra Q 0D til Q i, kan vi fjerne Q i ). Observasjon: For et ord w=x 1 x 2 x m, vil D være i en (eller annen) tilstand Qi For samme w vil N kunne være i en tilstand q hvis og bare hvis q Qi Altså vil D og N anerkjenne de samme ordene. 12

SAMMENHENGER FSA OG REGULÆRE UTTRYKK 20. januar 2012 13

Regulære språk Følgende er ekvivalente: a) L kan beskrives med et regulært uttrykk. b) Det fins en NFA som anerkjenner L. c) Det fins en DFA som anerkjenner L. Gjort ekvivalensen av (b) og (c). Fra (a) til (b) forholdsvis greit å se. Fra (b/c) til (a) er litt vanskeligere å vise Litt notasjon: Hvis R er et regulært uttrykk, er L(R) språket beskrevet av R. Hvis M er en FSA, så er L(M) språket anerkjent av M. 14

Fra regulært uttrykk til NFA til til til JFLAP-algoritme litt annerledes: legger til flere ε-kanter 20. januar 2012 15

Fra regulært uttrykk til NFA Gitt et regulært uttrykk r Lag en automat N med to tilstander: starttilstand og en sluttilstand en kant fra start til slutt merket med r Omform kantene trinn for trinn som vist på forrige side Da vil L(N)=L(r) Observasjon: N vil være ikke-deterministisk med ε-kanter 20. januar 2012 16

Fra FSA til RE Hvorfor ikke bare reversere forrige algoritme? Kryssende løkker! 17

Legg til ny start og sluttilstand Fjern 1 og 1 tilstand 18

Ved fjerning av tilstand k: For alle tilstander i og j: new(i,j) := old(i,j) + old(i,k) old(k,k)*old(k,j) 19

Fra DFA til RE: 1. Lag: 1. Ny begynnertilstand med ε-kant til original begynnertilstand 2. Ny sluttilstand med ε-kant fra alle originale sluttilstander. (Dette er eneste sluttilstand.) 2. Omform alle til 3. Fjern i tur og orden alle indre tilstander. Ved fjerning av tilstand k: For alle gjenværende tilstander i og j: new(i,j) := old(i,j) + old(i,k) old(k,k)* old(k,j) Ikke nødvendig å kunne konstruksjonen. Men vite at det er mulig! 20

EGENSKAPER VED REGULÆRE SPRÅK 21

Konsekvenser Hvis L er regulært, så er A*-L regulært. 1. Lag DFA for L 2. Legg til trap state. 3. Reverser aksepterende tilstander Hvis L og M er regulære, så er L M regulært. L M = A*-((A*-L) (A*-M)) 22

Språk som ikke er regulære Notasjon: w = n er antall symboler i strengen w. Gitt en DFA over alfabetet A, kalt M. Anta at L(M) er uendelig. M har et visst antall tilstander n. La w L(M) og w >n. Når M leser w, må det finnes en tilstand s som w er innom to forskjellige steder i w. ( pigeon hole principle ), mao: w kan skrives på formen xyz der y >0 og M er i samme tilstand etter xy som etter x (og etter xyy ) Da må xy n z L(M) for alle n. (Pumpelemmaet for regulære språk). 23

Eksempler, A={a,b,c} Regulære L = {w w > 10 000 000} L = {w w inneholder sekvensen abc} L = {w w inneholder 118 a-er} Ikke-regulære L={w w w A*} L={w w R w A*} L={a n b n } 20. januar 2012 24

Er naturlige språk regulære som Et Kari kjente en mann så løp barn by fra Kan vi beskrive syntaksen til setninger i naturlige språk med regulære uttrykk/fsa? Antatt ikke pga center embedding (Chomsky, Syntactic structures, 1957)

Center embedding Regulært Barnet smilte. Barnet, som eide hunden, smilte. Barnet, som eide hunden, som elsket katta, smilte. Barnet, som eide hunden, som elsket katta, smilte. Barnet, som eide hunden, som elsket katta, som jagde musa, smilte. NP (, som TV NP,)* VP Ikke regulært Musa rømte. Musa, som katta jagde, rømte. Musa, som katta, som hunden elsket, jagde, rømte. Musa, som katta, som hunden, som barnet eide, elsket, jagde, rømte. NP (, som NP,) n (TV,) n VP Kan dette gjentas for alle n? 26

Chomsky&Miller (1963): 27