MA3301 Beregnbarhets- og kompleksitetsteori Høsten

Like dokumenter
Viktige begrep i kapittel 1.

LØSNINGSFORSLAG EKSAMEN MNF130 VÅREN 2010 OPPGAVE 1

Notat med oppgaver for MAT1140

MAT1140: Kort sammendrag av grafteorien

INF1080 Logiske metoder for informatikk. 1 Små oppgaver [70 poeng] 1.1 Grunnleggende mengdelære [3 poeng] 1.2 Utsagnslogikk [3 poeng]

INF2820 Datalingvistikk V2012. Jan Tore Lønning

INF2820 Datalingvistikk V2016. Jan Tore Lønning

INF2820 Datalingvistikk V2016. Jan Tore Lønning

Notat 05 for MAT Relasjoner, operasjoner, ringer. 5.1 Relasjoner

UNIVERSITETET I OSLO

Matematikk for IT Eksamen. Løsningsforslag

INF2820 Datalingvistikk V2015. Jan Tore Lønning

MAT1140: Kort sammendrag av grafteorien

LO118D Forelesning 5 (DM)

UNIVERSITETET I OSLO

Repetisjon og mer motivasjon. MAT1030 Diskret matematikk. Repetisjon og mer motivasjon

Eksamensoppgave i MA0301 Elementær diskret matematikk løsningsforslag

MAT1030 Diskret Matematikk

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

Forelesning 29: Kompleksitetsteori

INF1080 Logiske metoder for informatikk. 1 Små oppgaver [70 poeng] 1.1 Grunnleggende mengdelære [3 poeng] 1.2 Utsagnslogikk [3 poeng]

INF2820 Datalingvistikk V2014. Jan Tore Lønning

INF2080 Logikk og beregninger

Dette krever ikke noe nytt aksiom. Hvorfor? Og hvorfor må vi anta at A ikke er tom? Merk at vi har:

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

UNIVERSITETET I OSLO. Det matematisk-naturvitenskapelige fakultet. INF1080 Logiske metoder for informatikk

Løsningsforslag oblig. innlevering 1

Tillegg til kapittel 11: Mer om relasjoner

INF2820 Datalingvistikk V2017 Forelesning 1.2 Jan Tore Lønning

Notat om kardinalitet for MAT1140 (litt uferdig)

Grafteori. MAT1030 Diskret Matematikk. Repetisjon og mer motivasjon. Repetisjon og mer motivasjon. Forelesning 23: Grafteori.

x A e x = x e = x. (2)

LØSNINGSFORSLAG UNIVERSITETET I OSLO. Det matematisk-naturvitenskapelige fakultet. Oppgave 1 Mengdelære (10 poeng)

MAT1030 Forelesning 23

MAT1030 Diskret Matematikk

Forelesning 23. MAT1030 Diskret Matematikk. Repetisjon og mer motivasjon. Repetisjon og mer motivasjon. Forelesning 23: Grafteori.

MAT1030 Forelesning 12

Om forholdet mellom produkt og barysentrisk oppdeling av simplisialkomplekser

MAT1030 Diskret matematikk

UNIVERSITETET I OSLO. Det matematisk-naturvitenskapelige fakultet

Oppgaver fra forelesningene. MAT1030 Diskret matematikk. Oppgave (fra forelesningen 10/3) Definisjon. Plenumsregning 9: Diverse ukeoppgaver

Plenumsregning 12. Diverse oppgaver. Roger Antonsen mai Eksamen 12/6-06 Oppgave 2. Plan

UNIVERSITETET I OSLO

Forelesning 33. Repetisjon. Dag Normann mai Innledning. Kapittel 11

Kapittel 5: Relasjoner

Plenumsregning 9. Diverse ukeoppgaver. Roger Antonsen april Oppgaver fra forelesningene. Oppgave (fra forelesningen 10/3).

Generell rekursjon og induksjon. at(n) + bt(n 1) + ct(n 2) = 0

TMA4140 Diskret Matematikk Høst 2016

MAT1030 Diskret matematikk

Innledning. MAT1030 Diskret matematikk. Kapittel 11. Kapittel 11. Forelesning 33: Repetisjon

LØSNINGSFORSLAG EKSAMEN V06, MA0301

UNIVERSITETET I OSLO

Emnenavn: Matematikk for IT. Eksamenstid: Faglærer: Christian F Heide

Forelesning 13. Funksjoner. Dag Normann februar Opphenting. Opphenting. Opphenting. Opphenting

UNIVERSITETET I OSLO

MAT1030 Forelesning 2

Forelesning 31: Repetisjon

12 Lineære transformasjoner

Kommentarer til Eksamen IM005 - V02

MAT1030 Diskret Matematikk

Forelesning 23. Grafteori. Dag Normann april Oppsummering. Oppsummering. Oppsummering. Digresjon: Firefarveproblemet

Eksamen MAT H Løsninger

MAT1030 Diskret matematikk

Oppsummering. MAT1030 Diskret matematikk. Oppsummering. Oppsummering. Forelesning 23: Grafteori

MAT1030 Diskret matematikk

KONTINUASJONSEKSAMEN I TMA4140 LØSNINGSFORSLAG

INF2220: Time 8 og 9 - Kompleksitet, beregnbarhet og kombinatorisk søk

Anbefalte oppgaver - Løsningsforslag

Forelesning 14. Rekursjon og induksjon. Dag Normann februar Oppsummering. Oppsummering. Beregnbare funksjoner

Notat om Peanos aksiomer for MAT1140

MAT1030 Forelesning 22

Kleene-Kreisels funksjonaler

En repetisjon hrj høst 2009

7 Ordnede ringer, hele tall, induksjon

INF3170 Logikk. Ukeoppgaver oppgavesett 7

FASIT/LF FOR EKSAMEN TMA4140, H07

Semantikk Egenskaper ved predikatlogikk Naturlig deduksjon INF3170 / INF4171. Predikatlogikk: Semantikk og naturlig deduksjon.

Introduksjon. MAT1030 Diskret Matematikk. Introduksjon. En graf. Forelesning 22: Grafteori. Roger Antonsen

Introduksjon. MAT1030 Diskret matematikk. Søkealgoritmer for grafer. En graf

MAT1030 Diskret matematikk

MAT1030 Forelesning 22

Kombinatorikk. MAT1030 Diskret Matematikk. Oppsummering av regneprinsipper

MAT1030 Diskret Matematikk

Løsningsforslag Øving 9 TMA4140 Diskret matematikk Høsten i for i = 0, 1, 2, 3, 4, og så er W 4 svaret

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

INF2820 Datalingvistikk V2015. Jan Tore Lønning

Aksiom 3.1 (Likhet av mengder). La A og B være mengder. Da er A og B like hvis og bare hvis de har akkurat de samme elementene.

{(1,0), (2,0), (2,1), (3,0), (3,1), (3,2), (4,0), (4,1), (4,2), (4,3) } {(1,0), (1,1), (1,2), (1,3), (2,0), (2,2), (3,0), (3,3), (4,0)}

Prøveeksamen 2016 (med løsningsforslag)

Litt topologi. Harald Hanche-Olsen

MAT1140: Notat om grafteori

MAT1030 Forelesning 19

MAT1030 Diskret matematikk

Hvis formlene i Γ og er lukkede, vil sannhetsverdiene til formlene under M være uavhengig av variabeltilordning.

Forelesning 31. Dag Normann mai Informasjon. Kompleksitetsteori

Generell induksjon og rekursjon. MAT1030 Diskret matematikk. Generell induksjon og rekursjon. Generell induksjon og rekursjon.

Hint til oppgavene. Uke 34. Uke 35. Fullstendige løsningsforslag finnes på emnesidene for 2017.

En relasjon på en mengde A er en delmengde R A A = A 2. Vi har satt navn på visse egenskaper relasjoner som oppstår i anvendelser ofte kan ha.

Transkript:

MA3301 Beregnbarhets- og kompleksitetsteori Høsten 2012 1 Notat 2 Om den kanoniske automaten til et språk og minimalisering. Vi vil si at en automat M = Q, Σ, q 0, A, δ er redusert enhver tilstand q Q er oppnåelig, hvilket betyr at q = δq 0, x) for minst en x Σ. For enhver automat M finnes det en redusert automat M red med samme språk som M. Vi finner M red ved rett og slett og fjerne alle uoppnåelige tilstander og alle piler ut fra disse. Av denne grunn skal vi anta at alle automater som forekommer i dette notatet er reduserte. Vi fikserer også et alfabet Σ. Definisjon 1 Derivasjonen D er funksjonen D : P Σ ) Σ P Σ ) gitt ved at D, x) = x = {y xy } Språket x kalles det deriverte språket til m.h.p. strengen x. Eksempel 1 a Σ = {a, b} og la våre alle strenger som slutter på a. Da er x = for alle strenger x og x = {Λ} dersom x. Definisjon 2 5-tuppelet M) = Q), Σ, q 0 ), A), δ) der Q) = { x x Σ } q 0 ) = A) = { Q) Λ } = { x x } δ x, y) = xy kalles Den kanoniske automaten til språket. Teorem 1 For ethvert språk, dersom M = M) er den kanoniske automaten til språket, så er M) =. At x M) betyr at δ q 0 ), x) A), som igjen betyr at xλ = x. Eksempel 2 b b > a a Her er den kanoniske automaten til språket i eksempel 1. Eksempel 3 > ) Her er den ),) kanoniske automaten til språket som består av alle balanserte parantesuttrykk.

MA3301 Beregnbarhets- og kompleksitetsteori Høsten 2012 2 Definisjon 3 Vi vil si at strengene x og y er skillbare av språket dersom x y, hvilket vil si at det finnes en streng z slik at xz yz. Vi vil si at z er en skillestreng for paret x, y. Dersom strengene x og y ikke er skillbare av språket vil vi si at de er uskillbare og vi skriver x y. Uskillbarhet av er en ekvivalensrelasjon på Σ. Ekvivalensklassen til en streng x skrives [x]. En alternativ definisjon av den kanoniske automaten til et språk er følgende. Definisjon 4 Følgende 5-tuppel definere den kanoniske automaten til på en annen men ekvivalent måte Q) = Σ / kvotientmengden q 0 ) = [Λ] A) = {[x] x } δ [x], y) = [xy] eseren kan overbevise seg selv om at den eneste forskjellen på denne automaten og den i Definisjon 2 er navnene til tilstandene. For å sammenligne automater litt mer generelt har vi begrepet morfisme mellom automater. Definisjon 5 En morfisme f fra en automat M = Q, Σ, q 0, A, δ til en automat M = Q, Σ, q 0, A, δ er en funksjon f : Q Q som tilfredsstiller 1) fq 0 ) = q 0 2) fq) A q A 3) fδq, σ)) = δ fq), σ) for enhver q Q og ethvert symbol σ Σ. Ved strukturell induksjon fålger det at vi har fδ q, x)) = δ fq), x) for enhver tilstand q Q og enhver streng x Σ. En vanlig måte å uttrykke disse relasjonene på er ved å si at diagrammene under kommuterer Q Σ δ Q Q Σ δ Q f 1 Σ Q Σ f δ Q f 1 Σ Q Σ δ Q f Proposisjon 1 Dersom f : M M er en morphisme, så har automatene M og M samme språk. Vi har x M) hvis og bare hvis δ q 0, x) A. Fra 2) gjelder dette hvis og bare hvis fδ q 0, x)) A, som igjen av 3) og 1) og strukturell induksjon viser at dette gjelder hvis og bare hvis δ q 0, x) A, og dette er definisjonen på at x M ).

MA3301 Beregnbarhets- og kompleksitetsteori Høsten 2012 3 Proposisjon 2 Dersom f : M M er en morphisme mellom reduserte) automater, så er funksjonen f : QM) QM ) = Q surjektiv. Enhver q Q er av formen δ q 0, x) = δ fq 0 ), x) = fδ q 0, x)). Vi skal nå se at vi for enhver endelig automat M med språk = M) finnes en kanonisk morphisme M M), der M) er den kanoniske automaten til språket. Vi betrakter en endelig automat M = Q, Σ, q 0, A, δ, med språk = M). Definisjon 6 For en vilkårlig q Q kan vi danne oss automaten M q = Q, Σ, q, A, δ, med språk R q = M q ). Vi sier at tilstander q og q er -ekvivalente og skriver q q, dersom R q = R q. Merk at i boka på side 73 innføres notasjonen q = {x x Σ, δ q 0, x) = q}. eseren bør overbevise seg om at konkatineringen q R q. Proposisjon 3 Dersom x er en streng og δ q 0, x) = q, så er R q = x. Dette beviset overlates til leseren. Korollar 1 Dersom x og y er strenger og δ q 0, x) = δ q 0, y), så er x y. Dersom q q er -ekvivalente, så er δq, σ) δq, σ), for ethvert sym- Proposisjon 4 bol σ Σ. Også dette beviset overlates til leseren. Definisjon 7 Vi definerer M min = Q min, Σ, q 0min, A min, δ min Q min = Q/ q 0min = [q 0 ] A min = {[q] q A} δ min [q], σ) = [δq, σ)] Den er veldefinert i følge Proposisjon 4. Korollar 2 Den kanoniske funksjonen [ ] : Q Q min er en morfisme fra M til M min. Den endelige automaten M min er minimal og isomorf med den kanoniske automaten M). Definisjon 8 Vi definerer funksjonen n : Q Q N som følger { nq, q 0 dersom q ) = q min{ x + 1 δ q, x) A δ q, x) A} dersom q q. Merk at dersom q q, så er mengden {x δ q, x) A δ q, x) A} ikke tom.

MA3301 Beregnbarhets- og kompleksitetsteori Høsten 2012 4 Korollar 3 Funksjonen n har egenskapen nq, q ) = 0 hvis og bare hvis q q. Minimaliseringsalgoritmen denne algoritmen er nok bedre egnet for maskiner enn for mennesker. En enklere algoritme kommer på side 6.) Det er gitt en endelig automat M = Q, Σ, q 0, A, δ, med språk = M). Vi antar at Q = {0, 1, 2,..., N}, Σ = {1, 2,..., M}, A Q og δ : Q Σ Q. Algoritmen beregner en funksjon n : T N, der T = {i, j) i, j Q, i j}. Funksjonen n vil ha egenskapen i j ni, j) = 0 i j) i > j nj, i) = 0 i j) For å få plass til flytdiagrammet var det nødvendig å forkorte innholdet i boksene. Her kommer forklaringen på forkortelsene. Algoritmen er tegnet på neste side. Variablene som inngår er i, j Q, k Σ, n N og c {0, 1}. p er forkortelse for p 1, p 2 ) = i, j). q er forkortelse for q 1, q 2 ) = i, j). F k) er forkortelse for k := 1. F 0 p) er forkortelse for i := 0, j := 0. F 1 p) er forkortelse for i := 0, j := 1. Nk) er forkortelse for k := k + 1. N 0 p) er forkortelse for if i = j, j := j + 1 else i := i + 1. N 1 p) er forkortelse for if i + 1 = j, j := j + 1 else i := i + 1. k) er forkortelse for k = M. 0 p) er forkortelse for i = N, j = N. 1 p) er forkortelse for i = N 1, j = N. N 0 p) er forkortelse for if i = j, j := j + 1 else i := i + 1. p 0 er forkortelse for i A j A. q := pσ er forkortelse for if δp 1, k) δp 2, k) then q := δp 1, k), δp 2, k)) else q := δp 2, k), δp 1, k)). I første del av agoritmen defineres ni, j) som 1 eller 0 ettersom begge tilstandene er i A eller ikke for alle i j. I andre del løper vi inn i en while-løkke, som slutter når ingen nye verdier av n ble registrert. I denne delen ser vi bare på tilstander slik at i < j.

MA3301 Beregnbarhets- og kompleksitetsteori Høsten 2012 5 Start F k), F 0 p), n := 1 np) := 0 p 0 nei np) := 1, c := 1 N 0 p) 0 p) nei c = 0 nei c := 0, F 1 p), n := n + 1 Stopp N 1 p) np) = 0 nei q := pσ nq) = 0 nei np) := n, c := 1 Nk) nei k) nei 1 p) F k)

MA3301 Beregnbarhets- og kompleksitetsteori Høsten 2012 6 Her kommer den mer studentvennlige minimeringsalgoritmen. Den går ut på å finne en sekvens P 0, P 1, P 2,..., P n,... av partisjoner av tilstandsmengden Q. For hver n er P n+1 en forfining av P n. Etter en stund vil vi ha at P n+1 = P n. Da stopper algoritmen og de -ekvivalente tilstandene er nøyaktig de som ligger i samme P n -klasse. Vi tenker oss P n som en surjektiv funksjon P n : Q {A 1, A 2, A 3,..., A k, B 1, B 2, B 3,..., B k }. Den første partisjonen er gitt ved funksjonen P 0 : Q {A, B} gitt ved at P 0 q) = A for alle q A og P 0 q) = B for alle q Q A. Det er mer illustrativt å vise hvordan vi kommer fra P k til P k+1 ved hjelp av et eksempel. Hovedsaken er at dersom q go q er to tilstander med P k q) = P k q ), så er P k+1 q) P k+1 q ) hvis og bare hvis det er minst et symbol σ Σ slik at P k δq, σ) P k δq, σ). Eksempel 4 I dette eksemplet får vi P 2 = P 3. Standardautomaten for det samme språket har 5 tilstander. Tabellen for denne sees helt til høyre. a b P 0 P 1 P 2 P 3 q 0 q 2 q 1 B B B B 1 B 1 B 1 B 1 B 1 B 2 B 1 q 1 q 2 q 1 B B B B 1 B 1 B 1 B 1 B 1 B 2 B 1 q 2 q 3 q 4 B B B B 1 B 2 B 1 B 2 B 3 B 2 B 2 q 3 q 7 q 3 B A B B 2 A 1 B 2 B 3 A 1 B 3 B 3 q 4 q 3 q 8 B B B B 1 B 2 B 1 B 2 B 3 B 2 B 2 q 5 q 6 q 7 A B A A 1 B 1 A 1 A 1 B 4 A 1 A 1 q 6 q 2 q 3 B B B B 1 B 1 B 2 B 4 B 2 B 3 B 4 q 7 q 6 q 5 A B A A 1 B 1 A 1 A 1 B 4 A 1 A 1 q 8 q 3 q 8 B B B B 1 B 2 B 1 B 2 B 3 B 2 B 2 a b q 0 q 1 q 0 q 1 q 2 q 1 q 2 q 3 q 2 q 3 q 4 q 3 q 4 q 1 q 2 Eksempel 5 a b P 0 P 1 P 2 q 0 q 0 q 3 B B B B 3 B 3 B 1 B 1 B 1 B 3 q 1 q 2 q 3 B A B B 1 A 2 B 1 B 2 A 1 B 3 q 2 q 7 q 6 A B B A 2 B 2 B 2 A 1 B 6 B 5 q 3 q 5 q 1 B A B B 1 A 1 B 1 B 3 A 2 B 2 q 4 q 3 q 4 B B B B 3 B 1 B 3 B 4 B 3 B 4 q 5 q 7 q 2 A B A A 1 B 2 A 2 A 2 B 6 A 1 q 6 q 1 q 8 B B A B 2 B 1 A 2 B 5 B 2 A 3 q 7 q 3 q 5 B B A B 2 B 1 A 1 B 6 B 3 A 2 q 8 q 4 q 9 A B B A 2 B 3 B 3 A 3 B 4 B 7 q 9 q 9 q 9 B B B B 3 B 3 B 3 B 7 B 7 B 7 Relasjonen tilhørende partisjonen P 2 er likhetsrelasjonen, så denne automaten er minimal. Merk at det er uvesentlig hva man kaller verdiene til funksjonene P 1, P 2, P 3,...