6 Formella språk. Matematik för språkteknologer (5LN445) UPPSALA UNIVERSITET



Relevanta dokument
1. (6p) (a) Använd delmängdskonstruktionen för att tillverka en DFA ekvivalent med nedanstående NFA. (b) Är den resulterande DFA:n minimal? A a b.

AUBER 95 9 jan LÖSNINGAR STEG 1:

FORMELLA SPRÅK, AUTOMATER OCH BERÄKNINGSTEORI ÖVNINGSUPPGIFTER PÅ REGULJÄRA SPRÅK

Associativa lagen för multiplikation: (ab)c = a(bc). Kommutativa lagen för multiplikation: ab = ba.

Trigonometri. 2 Godtyckliga trianglar och enhetscirkeln 2. 3 Triangelsatserna Areasatsen Sinussatsen Kosinussatsen...

PASS 1. RÄKNEOPERATIONER MED DECIMALTAL OCH BRÅKTAL

SF1625 Envariabelanalys

Induktion LCB 2000/2001

TATA42: Föreläsning 4 Generaliserade integraler

Matematik för språkteknologer

TATA42: Föreläsning 4 Generaliserade integraler

SF1625 Envariabelanalys

Finita automater, reguljära uttryck och prefixträd. Upplägg. Finita automater. Finita automater. Olika finita automater.

LINJÄR ALGEBRA II LEKTION 1

Sfärisk trigonometri


Läsanvisningar för MATEMATIK I, ANALYS

Finaltävling den 20 november 2010

Kan det vara möjligt att med endast

Vilken rät linje passar bäst till givna datapunkter?

Sammanfattning, Dag 9

Integraler. 1 Inledning. 2 Beräkningsmetoder. CTH/GU LABORATION 2 MVE /2013 Matematiska vetenskaper

13 Generaliserade dubbelintegraler

Exponentiella förändringar

Integralen. f(x) dx exakt utan man får nöja sig med att beräkna

Matris invers, invers linjär transformation.

9. Vektorrum (linjära rum)

Föreläsning 7: Trigonometri

Grundläggande matematisk statistik

1 e x2. lim. x ln(1 + x) lim. 1 (1 x 2 + O(x 4 )) = lim. x 0 x 2 /2 + O(x 3 ) x 2 + O(x 4 ) = lim. 1 + O(x 2 ) = lim = x = arctan x 1

Ett förspel till Z -transformen Fibonaccitalen

Skriv tydligt! Uppgift 1 (5p)

Lösningsförslag till tentamen i SF1683 och SF1629 (del 1) 23 oktober 2017

Uppsala Universitet Matematiska Institutionen Bo Styf. Sammanfattning av föreläsningarna 5-7.

Kvalificeringstävling den 2 oktober 2007

Uppsala Universitet Matematiska Institutionen Thomas Erlandsson

Byt till den tjocka linsen och bestäm dess brännvidd.

Internetförsäljning av graviditetstester

ORTONORMERAT KOORDINAT SYSTEM. LÄNGDEN AV EN VEKTOR. AVSTÅND MELLEN TVÅ PUNKTER. MITTPUNKT. TYNGDPUNKT. SFÄR OCH KLOT.

============================================================ V1. Intervallet [a,b] är ändligt, dvs gränserna a, b är reella tal och INTE.

Integraler och statistik

V1. Intervallet [a,b] är ändligt, dvs gränserna a, b är reella tal och INTE ±. är begränsad i intervallet [a,b].

Sidor i boken

GEOMETRISKA VEKTORER Vektorer i rummet.

Grundläggande textanalys, VT2012

x = x = x = x=3 x=5 x=6 42 = 10x x + 10 = 15 x = = 20 x = 65 x + 36 = 46

V1. Intervallet [a,b] är ändligt, dvs gränserna a, b är reella tal och INTE ±. är begränsad i intervallet [a,b].

Tillämpning - Ray Tracing och Bézier Ytor. TANA09 Föreläsning 3. Icke-Linjära Ekvationer. Ekvationslösning. Tillämpning.

Listor = generaliserade strängar. Introduktion till programmering SMD180. Föreläsning 8: Listor. Fler listor. Listindexering.

Generaliserade integraler

SERIER OCH GENERALISERADE INTEGRALER

EasyMP Multi PC Projection-bruksanvisning

9. Bestämda integraler

Uppsala Universitet Matematiska Institutionen T Erlandsson

19 Integralkurvor, potentialer och kurvintegraler i R 2 och R 3

GEOMETRISKA VEKTORER Vektorer i rummet.

Preliminär version 2 juni 2014, reservation för fel. Tentamen i matematik. Kurs: MA152G Matematisk Analys MA123G Matematisk analys för ingenjörer

TATA42: Föreläsning 11 Kurvlängd, area och volym

UPPTÄCK OCH DEFINIERA SAMBANDET MELLAN TVÅ OMRÅDEN SOM DELAS AV GRAFEN TILL EN POTENSFUNKTION

Kontrollskrivning 3 till Diskret Matematik SF1610, för CINTE1, vt 2019 Examinator: Armin Halilovic Datum: 2 maj

INLEDNING: Funktioner (=avbildningar). Beteckningar och grundbegrepp

Uppgiftssamling 5B1493, lektionerna 1 6. Lektion 1

Spelteori: En studie av hur pokerproblemet delvis lösts. Mika Gustafsson

Lösningar och kommentarer till uppgifter i 1.2

TMV151/TMV181. Fredrik Lindgren. 19 november 2013

IE1204 Digital Design

Tillämpning av integraler

Volum av rotationskroppar. Båglängd, rotationsytor. Adams 7.1, 7.2, 7.3

Läsanvisningar till kapitel

Kontinuerliga variabler

Mat Grundkurs i matematik 1, del III

Lösningar basuppgifter 6.1 Partikelns kinetik. Historik, grundläggande lagar och begrepp

Operativsystemets uppgifter. Föreläsning 6 Operativsystem. Skydd, allmänt. Operativsystem, historik

NATIONELLT KURSPROV I MATEMATIK KURS C VÅREN Kravgränser 4. Del I, 8 uppgifter utan miniräknare 5. Del II, 9 uppgifter med miniräknare 8

Definition 1 En funktion (eller avbildning ) från en mängd A till en mängd B är en regel som till några element i A ordnar högst ett element i B.

Gör slag i saken! Frank Bach

Föreläsning 3: Strängmatchning

SIGNALER OCH SYSTEM II LEKTION 2 / MATEMATISK LEKTION 1. Fredrik Andréasson. Department of Mathematics, KTH

Mängder i R n. Funktioner från R n till R p

12 frågor om patent RESEARCHA-ÖVNING

Repetition 2. a) Delmängdskonstruktionen ger nedanstående DFA. Till höger med nya tillståndsnamn.

KOMPLETTERANDE MATERIAL TILL KURSEN MATEMATIK II, MATEMATISK ANALYS DEL A VT 2015

Tentamen Programmeringsteknik II Skrivtid: Skriv läsligt! Använd inte rödpenna! Skriv bara på framsidan av varje papper.

4 Signaler och system i frekvensplanet Övningar

Komplexa tal. j 2 = 1

Algebraiska uttryck: Introduktionskurs i matematik. Räknelagar: a = b a. a b. Potenser: 1. = ( n gånger )

14. MINSTAKVADRATMETODEN

Uppsala Universitet Matematiska Institutionen Bo Styf. Genomgånget på föreläsningarna Föreläsning 16-17, 2010:

CHECKLISTA FÖR PERSONALRUM

KTH Teknikvetenskap Fotografi-lab 3

Area([a; b] [c; d])) = (b a)(d c)

Envariabelanalys. Tomas Ekholm. Institutionen för matematik

Analys grundkurs B lab 1. Stefan Gustafsson Per Jönsson Fakulteten för Teknik och Samhälle, 2013

Rationella uttryck. Förlängning och förkortning

Långtidssjukskrivna. diagnos, yrke, partiell sjukskrivning och återgång i arbete. En jämförelse mellan 2002 och 2003 REDOVISAR 2004:7.

Analys o 3D Linjär algebra. Lektion 16.. p.1/53

INNEHALL t.3

0 a. a -Â n 2 p n. beskriver på sedvanligt sätt en a-periodisk utvidgning av f. Nedanför ritas en partialsumma av Fourierserien.

Användande av formler för balk på elastiskt underlag

Guide - Hur du gör din ansökan

Transkript:

UPPSALA UNIVERSITET Mtemtik för språkteknologer (5LN445) Institutionen för lingvistik och filologi VT 2014 Förfttre: Mrco Kuhlmnn 2013 (mindre revision Mts Dhllöf 2014) 6 Formell språk Det mänsklig språket är ett komplext system v komponenter som ljud, skrivtecken, ord, grmmtik, stsmelodi med mer. Instruktionern för en dtor däremot formulers på ett gnsk enkelt språk bestående v ettor och nollor. När vi vill nvänd oss v dtorer för tt behndl mänskligt språk måste vi därför försök hitt något mellnspråk som å en sidn är tillräckligt enkelt för tt kunn översätts till mskinkod, och å ndr sidn tillräckligt komplext för tt fång så mång spekter v nturlig språk som möjligt. Sådn mellnspråk klls formell språk. De är glsklr exempel på mtemtisk modeller enligt den krkteriseringen som vi såg i först föreläsningen: De måste nödvändigtvis vr bstrkt (och kn inte fång in ll komplexitet bkom det mänsklig språket); de måste vr formell (så tt de kn implementers på en dtor); och de bör vr nvändbr i prktisk tillämpningr. I den här delen v kursen kommer vi tt hör om två typer v formell språk som klls reguljär språk och kontextfri språk. Båd typer v språk kn beskrivs på fler olik sätt. I smbnd med reguljär språk kommer vi tt prt om finit utomter och reguljär uttryck. Ett sätt tt se på utomter är tt se dem som mskiner som vgör om ett visst uttryck är korrekt. Reguljär uttryck kn ses som någon form v minigrmmtik som beskriver vilk uttryck är korrekt. Vi kommer tt se tt finit utomter och reguljär uttryck är ekvivlent på det sättet tt ett uttryck ccepters v en finit utomt om och endst om det kn beskrivs genom ett reguljärt uttryck. I viss smmnhng är det mer prktiskt tt nvänd sig v utomter, i ndr smmnhng bör mn föredr reguljär uttryck. Kontextfri språk kn också beskrivs genom (mer vncerde) utomter; men på den här kursen kommer vi tt fokuser på ders beskrivning genom kontextfri grmmtiker. Vi kommer tt se tt dess grmmtiker är mer expressiv än både finit utomter och reguljär uttryck i det vseende tt de kn beskriv ll reguljär språk, men tt det tvärtom finns kontextfri språk som inte kn beskrivs genom vrken utomter eller reguljär uttr Vi börjr med tt lite mer precist definier vd vi menr med ett formellt språk. 1

6.1 Grundläggnde begrepp En sträng är en följd v symboler tgn ur något lfbet. Ett exempel på en sträng är p, som består v 2 symboler ur det svensk lfbetet, en v vilk () förekommer två gånger. Noter tt mn skiljer melln symboler och ders förekomster. När mn skriver kn mn men både som symbol och den sträng som består v en end symbol. Det är inte väsentligt tt lfbetet är kopplt till något nturligt språk. Vi kommer tt prt mycket om strängr där symbolern kommer från mer eller mindre rtificiell lfbet som det binär lfbetet {0, 1}. Ett exempel på en sträng över dett lfbet är 101. Det end som är väsentligt är tt lfbetet är en mängd. Ett viktigt specificlfll på strängr är den tomm strängen, strängen som inte innehåller någr symboler lls. Den tomm strängen skrivs (Grekiskns lmbd; i Eriksson och Gvel) eller ɛ (Grekiskns epsilon; i de flest ndr böckern). Mängden v ll strängr över ett lfbet Σ beteckns med Σ. Ett exempel: {, b} = {,, b,, bb, b, b,... } Vi kommer tt nvänd vribler som u, v, w, x, y, z för strängr. En ny sträng kn bilds genom smmnsättning v två ndr strängr. Smmnsättning v 01 och 001 till exempel ger 01001. Om x och y betecknr strängr, så skriver vi x y eller oftst br x y för tt beteckn smmnsättningen v x och y. Noter tt x y inte nödvändigtvis är smm sk som y x. Längden hos en sträng u skrivs som u. Längden kn definiers rekursivt: u = 0 om u = 1 + v om u är på formen v När mn säger tt u är på formen v menr mn tt u är en sträng som är smmnstt v en end symbol och en nnn sträng v. Ett språk modellers som en mängd v strängr, vilk klls för ord. Ett exempel på ett språk är {Per, Pi, Pål}. Dett språk består v tre strängr över det svensk lfbetet; dess tre strängr är språkens ord. Ett mer komplicert exempel är det så kllde kopispråket: { ww w {, b} } Fråg: Kn du förklr hur orden i dett språk ser ut? Orden i kopispråket består v ll strängr över lfbetet {, b} där den en hlvn är en exkt kopi v den ndr hlvn. 2

När vi nvänder uttrycket språk menr vi oftst tt det finns en grmmtik eller någon nnn specifiktion som nger vilk strängr ingår i språket och vilk inte gör det. 3

7 Reguljär språk 7.1 Finit utomter Det är 1980. Ni jobbr på ett företg som säljer ett ordbehndlingsprogrm vid nmnet SuperWord. En dg kommer chefen in med en lysnde idé för hur mn kn gör den näst versionen v SuperWord ännu mer ttrktiv: Lägg till en stvningskontroll! Den sk gå genom en text som nvändren hr skrivit och för vrje ord i texten ntingen ccepter det eller refuser det som felstvt. Fråg: Hur sk ni gå tillväg för tt implementer stvningskontrollen? Ett sätt tt implementer stvningskontrollen är tt sml ihop en list med ord i svenskn och låt dtorn ccepter ll ord som finns med i listn och refuser ll ndr. Ordformer, närmre sgt, för i svenskn kn ord som substntiv, verb och djektiv böjs enligt viss regler ordet p till exempel hr ått olik former: p, ps, pn, pns, por, pors, porn, porns. Mn kn tänk sig tt listn kommer tt bli väldigt lång. Ett nnt skäl till tt lösningen med en list är otillfredsställnde är tt den inte fångr den mycket systemtisk uppbyggnden v svensk ordformer. Ord som flick, dock och klock följer ju precis smm mönster när det gäller formbildningen. 7.1.1 Terminologi Ett bättre sätt tt implementer en stvningskontroll är tt nvänd finit utomter. En finit utomt för ordformern hos p finns i Figur 1. Figuren visr en riktd grf. Nodern i denn grf klls tillstånd och bågrn klls övergångr. En övergång s 0 s 1 klls -övergång. Det finns ett strttillstånd (tillstånd s 0 i digrmmet) och noll eller fler ccepternde tillstånd (i digrmmet mrkerde genom en extr ring). Automten ccepterr en sträng om denn leder till ett ccepternde tillstånd, givet tt mn börjr i strttillståndet. Automten i digrmmet ccepterr till exempel teckenföljden ps eftersom mn kn börj i tillstånd s 0, t -övergången till s 1, t p-övergången till s 2, t -övergången till s 3 och vslut med s-övergången till s 4 som är ett ccepternde tillstånd. Den ccepterr även p, men däremot inte p. 4

s 3 s n s s 5 p strt s 0 s 1 s 2 s 4 o s 6 s s 8 r s 7 n Figur 1: En finit utomt som beskriver ordformern hos p. Mängden v ll strängr som ccepters v utomten klls för utomtens språk. Om M betecknr en finit utomt skriver mn L(M) för det v M ccepterde språket. Vår utomt till exempel ccepterr språket {p, ps, pn, pns, por, pors, porn, porns} Men på vilket sätt är finit utomter bättre än listor på ordformer? Fråg: Hur måste ni modifier utomten så tt den även ccepterr ll ordformer hos ordet list? Mn måste utvidg utomten så tt teckenföljden list leder en från strttillståndet s 0 till tillståndet s 2 : l i s s 9 s 10 s 11 t s 0 s 2 Resten v utomten kn förbli som den är, eftersom ordformern hos list bilds på precis smm sätt som ordformern hos p. Mn kn se tt om mn lägger till mång ord v smm slg (flick, dock, klock) så ger en finit utomt en mycket mer kompkt beskrivning v ordformern än en explicit list. Vår utomt för p ccepterr ett finit språk, men det finns även utomter som ccepterr oändligt stor språk. 5

p strt s 0 s 1 s 2 o s 3 n s 5 s 6 s r n 7 s 4 s s 8 Figur 2: En nnn finit utomt som beskriver ordformern hos p. Fråg: Kn du konstruer en utomt som ccepterr följnde språk: Här är ett exempel: { b b n 0} n gånger b strt s 0 s 1 s 2 b b 7.1.2 -övergångr I vår utomt för ordformern hos ordet p motsvrr vrje övergång en symbol. Iblnd vill mn också tillåt en nnn form v övergångr som klls för -övergångr. Sådn övergångr får mn t utn tt läs någon symbol i strängen. En lterntiv version v vår utomt för p som hr -övergångr viss i Figur 2. Fråg: Kn du förklr vrför den ny utomten ccepterr strängen p? Strängen leder till det ccepternde tillståndet s 8 : Mn börjr i strttillståndet s 0. Sedn läser mn de först tre symbolern p för tt komm till tillståndet s 3. Nu hr mn läst ll symboler i strängen; men s 3 är inget ccepternde tillståndet. För tt komm till det ccepternde tillståndet s 8 följer mn två -övergångr: från s 3 till s 4 och från s 4 till s 8. 6

I en utomt med -övergångr finns det inte nödvändigtvis en entydig väg från strttillståndet. Dett ser mn i exemplet nedn: s 1 strt s 0 s 3 s 2 Fråg: Vilket språk ccepters v denn utomt? Språket som ccepters är {}, men för strängen finns det två vägr genom grfen: Antingen går mn den övre vägen (s 0 s 1 s 3 ) eller den undre vägen (s 0 s 2 s 3 ). -övergångr gör inte finit utomter mer uttrycksfull på något sätt. För vrje finit utomt med -övergångr kn mn konstruer en ny finit utomt utn -övergångr sådn tt den ny utomten ccepterr smm språk som den gml. 7.2 Reguljär uttryck Från kursen Introduktion till dttektik för språkvetre känner ni igen reguljär uttryck. Dess kn mn nvänd i progrm som grep för tt sök efter ett visst mönster i en textfil. Fråg: Vilket mönster mtchr den följnde regexpen: (1 2 3 4 5 6 7 8 9)(0 1 2 3 4 5 6 7 8 9)* Regexpen mtchr ll strängr över lfbetet {0,..., 9} som representerr positiv nturlig tl. Dess består v en siffr 1 9, följd v godtyckligt mång (knske ing!) siffror 0 9. Noter tt strängen 0 mtchs inte v den här regexpen. I det här vsnittet kommer vi tt behndl reguljär uttryck lite mer formellt. De uttrycken som vi behndlr är en någorlund förenkld version v de regexpr som nvänds i t. ex. grep; dett eftersom vi vill inte h det lltför svårt. De flest reguljär uttryck som nvänds i prktiken kn fås som kombintioner v de enkl reguljär uttryck som vi behndlr här. 7

7.2.1 Syntx för reguljär uttryck Vi börjr med tt definier vd vi menr med ett reguljärt uttryck: 1. Den tomm strängen är ett reguljärt uttryck. 2. Vrje enskild symbol i lfbetet A är ett reguljärt uttryck. 3. Om R 1 och R 2 är reguljär uttryck är även (R 1 + R 2 ) ett reguljärt uttryck. 4. Om R 1 och R 2 är reguljär uttryck är även (R 1 R 2 ) ett reguljärt uttryck. 5. Om R är ett reguljärt uttryck är även R ett reguljärt uttryck. Onödig prenteser kn utelämns. Fråg: Denn definition är ett exempel på en rekursiv definition. Vd är bsfllen? De först två fllen är bsfllen. 7.2.2 Två opertioner på språk Precis som ett uttryck som (2 + 3) 4 står för ett tl står vrje reguljärt uttryck för ett språk, dvs. en mängd v strängr över ett visst lfbet. För tt förklr hur dett fungerr behöver vi två opertioner på språk: smmnsättning v språk och den så kllde Kleenestjärnn. 7.2.3 Smmnsättning v språk Smmnsättningen v två språk L 1 och L 2 består v ll ord som kn bilds genom tt sätt ihop ett ord ur L 1 och ett ord ur L 2. Smmnsättningen v L 1 och L 2 skrivs L 1 L 2 eller iblnd br L 1 L 2. Med hjälp v mängdbyggren kn vi definier: L 1 L 2 = { w 1 w 2 w 1 L 1 och w 2 L 2 } Dett sk uttyds: L 1 L 2 är mängden v ll strängr på formen w 1 w 2 sådn tt w 1 L 1 och w 2 L 2. Fråg: Vd är {uto, flyg} {mt, pilot}? {uto, flyg} {mt, pilot} = {utomt, utopilot, flygmt, flygpilot} 8

7.2.4 Kleenestjärnn Kleenestjärnn v ett språk L, som skrivs L, består v den tomm strängen och ll smmnsättningr på formen w 1 w n, där n 0 och ll delsträngr w i kommer från L. Mer formellt kn Kleenestjärnn definiers enligt följnde. Först definierr mn en följd v språk L n : L n = {} om n = 0 { vw v L n 1, w L} om n > 0 Fråg: Vd är L 1? L 1 = { vw v L 0, w L} = { vw v {}, w L} = { w w L} = L Sedn definierr mn L = L 0 L 1 L 2 Fråg: Vd är {0, 1}? Kn du nge ett språk L så tt L består v ett end element? Mängden {0, 1} är mängden v ll strängr över det binär lfbetet {0, 1}, inklusive den tomm strängen. De end språken L för vilk L består v ett end element är L = och L = {} det senre eftersom {} n = {} för ll n 0. Så fort L innehåller någon sträng utöver är L infinit. 7.2.5 Semntik för reguljär uttryck Nu kn vi säg vilket språk som beskrivs v ett reguljärt uttryck. Givet ett reguljärt uttryck R skriver vi L(R) för det språk som R beskriver. Definitionen v L(R) följer den rekursiv definitionen v R: L() = {} L() = {} L(R 1 + R 2 ) = L(R 1 ) L(R 2 ) L(R 1 R 2 ) = L(R 1 ) L(R 2 ) L(R ) = L(R) 9

Fråg: Vilket språk beskriver det reguljär uttrycket (0 + 1) 1? Räkn! Dett uttryck beskriver ll strängr över det binär lfbetet som slutr på 1: L((0 + 1) 1) = L((0 + 1) ) L(1) = L(0 + 1) {1} = (L(0) L(1)) {1} = ({0} {1}) {1} = {0, 1} {1} 7.3 Reguljär uttryck och finit utomter Reguljär uttryck och finit utomter är två sätt tt krkteriser formell språk. En typisk mtemtisk fråg är då: Finns det språk som br kn krkterisers på det en sättet, men inte på det ndr? Svret på denn fråg är nej : Reguljär uttryck och finit utomter är ekvivlent på det sättet tt vrje språk som kn beskrivs med hjälp v ett reguljärt uttryck kn också beskrivs genom en finit utomt, och vice vers. Reguljär uttryck och finit utomter beskriver lltså exkt smm typ v språk. Dess språk klls för reguljär språk. De hr viktig tillämpningr inom språkteknologin. Vi hr redn sett en tillämpning inom morfologin, men de är också väldigt viktig i smbnd med informtionssökning, question nswering m.fl. I det här vsnittet kommer vi tt bevis tt vrje språk som kn beskrivs med hjälp v ett reguljärt uttryck kn också beskrivs genom en finit utomt. Den ndr riktningen tr vi inte upp här i kursen. Hur kn vi bevis tt vrje språk som kn krkterisers genom ett reguljärt uttryck kn också beskrivs genom en finit utomt? Grundtken är denn: För vrje reguljärt uttryck sk vi bygg en finit utomt som ccepterr precis det språket som uttrycket representerr. Det finns oändligt mång reguljär uttryck men de hr en rekursiv definition! Vårt bevis kommer tt vr en induktionsbevis som följer denn rekursiv definition. När mn ser på den rekursiv definitionen v reguljär uttryck ser mn tt det finns två bsfll och tre rekursiv fll. För bsfllen kommer vi tt bygg väldigt enkl utomter. I de rekursiv fllen kommer vi sedn tt nt tt vi redn byggt utomter för mindre reguljär uttryck och kombinerr dem till en utomt för det komplex uttrycket. Då sätter vi igång! Fll 1: Vi bygger en utomt som ccepterr språket {}. Vi tr: 10

strt Noter tt denn utomt hr precis ett strttillstånd och ett ccepternde tillstånd. I hel det här beviset kommer vi br bygg utomter med denn egenskp. Fråg: Kn du komm på en enklre utomt som ccepterr {}? Mn kn t utomten som består v ett end tillstånd (som smtidigt är strttillstånd och ccepternde tillstånd) och inte hr någr övergångr lls. Fll 2: Vi bygger en utomt som ccepterr språket {}. Vi tr: strt Noter tt även denn utomt hr precis ett strttillstånd och ett ccepternde tillstånd. Fll 2: R 1 + R 2 Vi bygger en utomt som ccepterr språket L(R 1 ) L(R 2 ). Låt oss nt tt vi redn hr byggt en utomt M 1 som ccepterr språket L(R 1 ) och en utomt M 2 som ccepterr språket L(R 2 ). Vår ny utomt bserr på M 1 och M 2. Låt s 10 beteckn strttillståndet i M 1 och låt s 11 beteckn det ccepternde tillståndet i M 1. Låt på smm sätt s 20 och s 21 beteckn strttillståndet och det ccepternde tillståndet i M 2. I den ny utomten kommer ll fyr tillstånd vr helt vnlig tillstånd, dvs. inte strttillstånd eller ccepternde tillstånd. Istället lägger vi till två ny tillstånd s 0 och s 1, vrv s 0 blir det ny strttillståndet och s 1 blir det ny ccepternde tillståndet. Sedn lägger vi till fyr stycken -övergångr: en från s 0 till s 10, en från s 0 till s 20, en från s 11 till s 1 och en från s 21 till s 1. Schemtiskt ser lltså den ny utomten ut så här: M 1 s 10 s 11 strt s 0 s 1 s 20 s 21 M 2 Hur kn vi se tt denn utomt ccepterr språket L(R 1 ) L(R 2 )? För tt utomten sk ccepter en sträng måste det finns en vndring i övergångsgrfen som börjr i 11

strttillståndet och slutr i det ccepternde tillståndet. Det finns två sorters sådn vndringr: de som går genom utomten M 1 och de som går genom utomten M 2. Eftersom vi hr ntgit tt språket som ccepters v M 1 är språket L(R 1 ) vet vi tt vrje vndring som går genom M 1 är en ccepternde vndring för ett ord i L(R 1 ). På smm sätt är vrje vndring som går genom M 2 en ccepternde vndring för ett ord i L(R 2 ). Vi drr slutstsen tt vrje ccepternde vndring genom den ny utomten är en ccepternde vndring för ntingen ett ord ur L(R 1 ) eller ett ord ur L(R 2 ). Alltså är vrje ccepternde vndring genom utomten en ccepternde vndring för ett ord ur L(R 1 ) L(R 2 ). Fll 4: R 1 R 2 Vi bygger en utomt som ccepterr språket L(R 1 ) L(R 2 ). På smm sätt som i förr fllet ntr vi tt vi redn hr byggt en utomt M 1 som ccepterr språket L(R 1 ) och en utomt M 2 som ccepterr språket L(R 2 ). Låt s 10, s 11, s 20 och s 21 vr definierde som i förr fllet, och låt s 0 och s 1 vr ny tillstånd som i förr fllet. Vår ny utomt sk set ut så här: M 1 M 2 strt s 0 s 10 s 11 s 20 s 21 s 1 På smm sätt som i förr fllet kn vi rgumenter tt vrje ccepternde vndring genom den ny utomten är en ccepternde vndring för ett ord i språket L(R 1 ) L(R 2 ) och tt vrje ccepternde vndring för dett språk kn fås. Fll 5: R Vi bygger en utomt som ccepterr språket L(R). Låt oss nt tt vi redn hr byggt en utomt M som ccepterr språket L(R). Vår ny utomt bör se ut så här: M strt s 0 s 1 Med dett kn vi vslut beviset. 7.4 Läsning och övningr Eriksson och Gvel, kpitel 9 förutom 9.2.2. 12

S NP VP NN VB NP studenter älskr JJ NN mtemtisk texter 8 Kontextfri språk Figur 3: Ett frsstrukturträd. Den syntktisk strukturen hos en sts kn beskrivs genom frsstrukturträd. Ett exempel viss i Figur 3. Löven i ett frsstrukturträd representerr ord såsom älskr och texter; lövens föräldrrnoder representerr ordklsser såsom verbl bsform (VB) och substntiv (NN); de övrig nodern representerr frser. I exemplet representerr noden med symbolen S den fullständig stsen Studenter älskr mtemtisk texter. Denn sts består v två delr, en nominlfrs (NP) (som innehåller stsens subjekt Studenter) och en verblfrs (VP). Verblfrsen förgrenr sig ytterligre i en verbl bsform och en nominlfrs (som innehåller stsens objekt mtemtisk texter). Frsstruktur och den underliggnde synen på syntktisk struktur behndls mer utförligt i mer lingvistisk kurser. I den här kursen ligger fokus på de formell spektern v frsstrukturgrmmtiker. 8.1 Kontextfri grmmtiker När mn tr en frsstrukturgrmmtik och sklr bort ll lingvistisk intuitioner och metforer får mn en form v grmmtik som klls för kontextfri grmmtik. 8.1.1 Grundläggnde begrepp Här är ett exempel på hur reglern i en enkel kontextfri grmmtik kn se ut: S S Sb I en kontextfri grmmtik förekommer två sorters symboler (förutom den speciell symbolen som nvänds när mn skriver ner reglern): icketerminl symboler eller icketerminler och 13

terminl symboler eller terminler Icketerminler brukr nges med versler, terminler brukr nges med gemener. I vår exempelgrmmtik finns br en end icketerminl (S), men två terminler ( och b). När mn nvänder kontextfri grmmtiker som frsstrukturgrmmtiker nvänds terminler för tt representer orden i en mening, medn icketerminl symboler nvänds för tt representer ordklsser (såsom verbl bsform och substntiv) frser (såsom nominlfrs och verblfrs). Vrje kontextfri grmmtik innehåller en speciell icketerminl som klls strtsymbol. Det finns en konvention tt lltid beteckn denn strtsymbol med S, och denn konvention följer vi även i den här kursen. Vrje regel i en kontextfri grmmtik är på formen A α, där A är en enskild icketerminl symbol och α är en sträng bestående v icketerminler och terminler. Observer tt strängen α kn också vr den tomm strängen, som i regeln S ovn. Reglern nvänds som omskrivningsregler, på följnde sätt. Mn börjr med grmmtikens strtsymbol. Så länge mn hr en sträng β som innehåller åtminstone en icketerminl symbol A väljer mn en regel som hr A som vänstersid och ersätter någon förekomst v A i β genom den vld regelns högersid. Till slut kommer mn då till en sträng som br innehåller terminl symboler. Mängden v ll strängr som mn kn härled på dett sätt klls för grmmtikens språk. Om G betecknr en kontextfri grmmtik skriver vi L(G) för tt beteckn G:s språk. Det finns två sätt tt se på en kontextfri grmmtik: Mn kn se den som en modell för tt producer ett språk och som en modell för tt beskriv ett språk. Fråg: Vilket språk beskriver exempelgrmmtiken? Språket { n b n n 0}, som består v strängr med jämn längd vrs först hlv består v br :s och vrs ndr hlv består v br b:s. Under föreläsningen hr vi prtt om det så kllde kopispråket { ww w {, b} }. Dett språk består v ll strängr över lfbetet {, b} som kn dels i två delsträngr såsom tt den ndr delsträngen är en exkt kopi på den först delsträngen. Ett språk som tillsynes är gnsk likt kopispråket är det inverterde kopispråket eller plindromspråket { ww R w {, b }}. Nottionen w R står för strängen som mn får genom tt vänd på strängen w (eng. revert). Det inverterde kopispråket består lltså v ll strängr över lfbetet {, b} som kn dels i två delsträngr såsom tt den ndr delsträngen är en omvänd kopi på den först delsträngen. Sådn strängr klls även för plindrom: mn får ut smm sträng om mn läser från vänster eller från höger. 14

Fråg: Kn du nge någr ord som ingår i det inverterde kopispråket? Kn du nge en kontextfri grmmtik som genererr det inverterde kopispråket? Någr exempel är,, bb, bb, bb. En grmmtik som genererr det inverterde kopispråket hr produktionern S, S S, S b S b. Kopispråket och plindromspråket är relevnt när mn modellerr bistser i språk som tysk och holländsk. 8.1.2 Prseträd Ett sätt tt beskriv en härledning i en kontextfri grmmtik är tt rit ett prseträd. Här är tre exempel på prseträd för exempelgrmmtiken: S S S b S S b S b Prseträd är rotde träd vrs noder är mrkerde med icketerminler och terminler. Rotnoden är lltid mrkerd med strtsymbolen. Vrje gång mn i en härledning nvänder en regel på formen A x 1 x m för tt skriv om en icketerminl A till en följd v symboler x 1,..., x m gör mn en förgrening i prseträdet och skriver ner x 1,..., x m som brn till noden som representerr A. I specilfllet där A skrivs om till den tomm strängen får A ett end brn som är mrkerd med. Fråg: Om mn hr ritt ett prseträd för en härledning v en sträng med n symboler, hur mång löv hr då trädet? Trädet hr då åtminstone n löv. Det kn h fler än n löv, eftersom någr v löven kn vr mrkerde med den tomm strängen. 15

8.2 Språkhierrkier Vi sk vrund denn del v kursen med tt titt närmre på reltionen melln reguljär och kontextfri språk. Vi sk se tt ll reguljär språk kn beskrivs med hjälp v kontextfri grmmtiker, men tt det finns kontextfri språk som inte är reguljär, dvs. kn beskrivs vrken med finit utomter eller med reguljär uttryck. 8.2.1 Vrje reguljärt språk är ett kontextfritt språk Vi börjr med tt vis tt vrje reguljärt språk också är ett kontextfritt språk. Ett språk är ju reguljärt om och endst om det ccepters v en finit utomt v det slget som vi sett i vsnitt 3.1. För tt vis tt vrje reguljärt språk är ett kontextfritt språk visr vi hur mn för en godtycklig finit utomt kn konstruer en kontextfri grmmtik som ccepterr exkt smm språk som utomten. Icketerminlern i grmmtiken är utomtens tillstånd. Strtsymbolen är utomtens strttillstånd. Reglern i grmmtiken är enligt följnde: För vrje -övergång från ett tillstånd s till ett tillstånd s i utomten lägger vi till en regel s s till grmmtiken. För vrje ccepternde tillstånd s lägger vi till en regel s. Intuitionen är tt vrje gång tt utomten gör en -övergång från s till s så nvänder grmmtiken regeln s s, och vice vers. Fråg: Hur ser grmmtiken ut för p-utomten från Figur 1? Kn du nge prseträdet för p enligt denn grmmtik? Grmmtiken hr 9 icketerminler, s 0,..., s 8. Strtsymbolen är s 0. Reglern i grmmtiken ser ut så här: s 0 s 1 s 1 ps 2 s 2 s 3 s 2 os 6 s 3 ss 4 s 3 ns 5 s 5 ss 4 s 6 rs 7 s 7 ss 4 s 7 ns 8 s 8 s 5 s 3 s 4 s 5 s 7 Prseträdet för p är: 16

s 0 s 1 p s 2 s 3 8.2.2 Det finns kontextfri språk som inte är reguljär språk Vi sk nu titt på ett språk som är kontextfritt men inte reguljärt. Vi hr redn sett dett språk: { n b n n 0}, det vill säg mängden v ll strängr på formen Låt oss kll dett språk för n b n. b b n ggr n ggr Noter tt vi hde ett gnsk liknnde språk i ett tidigre exempel: { (b) n n 0}, dvs. mängden v ll strängr på formen b b n ggr För dett språk konstruerde vi en finit utomt, men dett är inte möjligt för det ny språket n b n. Hur kn mn bevis dett? 8.2.3 Pumpning Vi kommer tt nvänd en mtemtisk princip som klls Postfcksprincipen: Om mn hr fler brev än postfck, och om mn lägger vrje brev i något v postfcken, kommer något postfck tt innehåll minst två brev. Vi illustrerr denn princip genom ett bevis v följnde påstående. Påstående: Det finns minst två Uppslbor som hr precis lik mång hår på huvudet. Bevis: Det finns lite mer än 200.000 invånre i Uppsl kommun. Vrje människ hr mindre än 200.000 hår på huvudet (enligt Wikipedi). Det finns lltså minst ett möjligt ntl hår som dels v minst två Uppslbor. 17

Fråg: Vd är breven och vd är postfcken i dett exempel? Breven är Uppslborn, postfcken är möjlig ntl hår. Låt oss tänk på hur en finit utomt ccepterr en sträng z. (I det följnde kommer vi tt nt tt utomten inte innehåller någr -övergångr. Om mn hr en utomt med -övergångr måste mn först t bort dem.) Automten börjr i strttillståndet. Vrje gång den läser en symbol i z går den över till något nnt tillstånd. Vi kn skriv ner ll tillstånd som utomten besöker för z. Om z består v n symboler så hr denn tillståndssekvens längd n + 1: Den består v strttillståndet och ett ytterligre tillstånd för vrje symbol i strängen. Nu nvänder vi Postfcksprincipen: Om z består v minst lik mång symboler som det finns tillstånd i utomten kommer något tillstånd tt besöks minst två gånger när utomten processr z. Fråg: Vd innebär dett för utomtens struktur? Om en finit utomt ccepterr en sträng genom en vndring som besöker smm tillstånd minst två gånger så måste det finns en cykel i utomtens grfdigrm. Antg tt z p, där p är ntlet tillstånd i utomten. Då måste det finns en cykel i utomten. Vi kn då del in z i tre delr u, v, w så tt v är den del som utomten processr när den vndrr på cykeln och u och v är de delrn som utomten processr innn och efter den hmnr på cykeln. Schemtiskt ser dett ut så här: v strt u w Noter tt, eftersom utomten inte gör -övergångr måste delsträngen v bestå v minst en symbol. Antg nu tt vi skär bort v från z och därigenom bildr en ny sträng z 0 = uw. Denn sträng kommer också tt ccepters v utomten, eftersom det finns en ccepternde vndring i grfen som ser ut precis som den vi hde för z, br tt den skippr cykeln som processr symbolern i v. Antg nu tt vi klistr in en kopi på v, direkt efter den först förekomsten v v, och därigenom bildr en ny sträng z 2 = uvvw. Mn säger tt mn hr pumpt upp z. 18

Även strängen z 2 kommer tt ccepters v utomten, genom en vndring som går genom cykeln två gånger istället för br en gång. Mer llmänt ser mn då tt vrje sträng z i på formen uv i w där i 0 kommer tt ccepters v utomten. 8.2.4 Tillämpning på språket n b n Hittills hr vi prtt om godtycklig strängr z. Vi hr rgumentert tt, om z ccepters v utomten och br är tillräckligt lång, så kn den dels upp i tre delr u, v, w så tt v och vrje sträng z i = uv i w (i 0) också ccepters v utomten. Låt oss nu nt tt z är v den formen som orden i n b n hr, och tt det finns en utomt M som ccepterr den. Låt p vr ntlet tillstånd i M och låt z = k b k så tt 2k p Som ett konkret exempel kn vi nt tt z = 10 b 10 och tt p = 20: z = 10 ggr 10 ggr b b Eftersom z p ccepters den genom en vndring som följer en cykel. Dett innebär tt vi kn del upp z på det sättet som vi beskrivit: z = uvw. Låt oss funder på hur strängen v kn se ut. Det finns tre fll: 1. Strängen v innehåller br s. Till exempel skulle vi kunn h: z = 2 ggr u 6 ggr v 2. Strängen v innehåller br bs. Till exempel: z = 10 ggr 2 ggr u 2 ggr 10 ggr b b w 6 ggr b b b b v 2 ggr b b w 3. Strängen v innehåller någr s följd v någr bs. Till exempel: z = 6 ggr u 4 ggr 4 ggr v 6 ggr b b b b w Vi hr redn rgumentert tt vi får pump upp strängen z och bildr en ny sträng z 2 = uvvw såsom tt denn sträng också ccepters v M. Vi kn noter det följnde: 19

1. Om v innehåller br s innehåller den ny strängen z 2 fler s än bs. I exemplet hr vi: 2 ggr 6 ggr 6 ggr 2 ggr 10 ggr z = b b u v v w Nu finns det lltså 16 förekomster v, men br 10 förekomster v b. 2. Om v innehåller br bs innehåller den ny strängen z 2 fler bs än bs. I exemplet: z = 10 ggr 2 ggr u 6 ggr b b b b v 6 ggr b b v 2 ggr b b w Nu finns det 10 förekomster v, men 16 förekomster v b. 3. Om v innehåller någr s följd v någr bs innehåller den ny strängen z 2 fler än en -region och fler än en b-region: z = 6 ggr u 4 ggr 4 ggr v 4 ggr 4 ggr 6 ggr b b b b b b v w I vrje fll kn vi dr slutstsen tt den ny strängen z 2 inte är på den formen som strängr i språket n b n hr. Men vi vet tt den ny strängen också ccepters v utomten! Det vill säg: Vrje utomt som ccepterr strängr på den formen som strängrn i språket n b n hr ccepterr också stränger som inte är på den formen. Dett betyder tt det kn inte finns någon utomt som ccepterr precis de strängrn i språket n b n. Alltså är dett språk inte reguljärt. 8.3 Läsning Dett mteril. (Kontextfri språk och pumprgument ts inte upp i boken.) 20