A+ba+b q0q0 q1q1 q4q4 q2q2 q3q3  abb Motsvarande RE = ( a+b )* abb.

Slides:



Advertisements
Liknande presentationer
Mångfaldsarbete på Volvo Personvagnar
Advertisements

En större tillämpning: tolk för Turingmaskiner
Heart to Change – att leda förändringsarbete
Transformationscenter
Tanken Verkligheten Medvetet Databank Output Beteende INPUT Omedvetet
Hej på er alla! ETT STORT TACK för den fina blomman med tillbehör. Jag ska njuta av den en vacker sommarkväll i min trädgård.
Långtidsarbetslöshet och arbetslöshetstider i ett konjunkturperspektiv
Box | Stockholm | S:t Göransgatan 66 | Sweden Tel | Fax | ipsos.se © 2008 Ipsos All rights reserved. Contains.
void hittaMax(int tal[], int antal, int *pmax) { int i; ??=tal[0]; for(i=1;i??) ??=tal[i]; } int main() { int v[]={1,2,3,4,2}; int.
Digitalteknik, fortsättningskurs 2012 Föreläsning 16 Inför tentan
Ljud – spridning.
Några viktiga begrepp Marknad Efterfrågan Utbud Jämviktspris
Nya typer Konstruerare, selektorer och predikat Rekursiva datatyper
Ing-form På engelska använder man -ing-form:
Vilken/vilka av följande satser ger syntaxfel:
Ett ödesdigert misstag…
EDA Digital och Datorteknik
1 CD5560 FABER Formal Languages, Automata and Models of Computation Exercise 2 Mälardalen University 2007.
Programmeringsteknik för K och Media
Föreläsning 2 Datalogi för E1 2D1343
K ALLE K ARLSSON IUP vt J AG GÅR I SKOLAN FÖR ATT …
Undersökningsmetodik och statistisk dataanalys, grundnivå, 15 p VT 2008.
Växjö 15 april -04Språk & logik: Reguljära uttryck1 DAB760: Språk och logik 15/4: Finita automater och 13-15reguljära uttryck Leif Grönqvist
DAV B04 - Databasteknik Indexering (kap 14).
JoME-tenta Kortfattade svarsförslag (För full poäng krävs i regel mer utförliga svar!)
Programmeringsbegrepp
Samverkanssäkrade utbildningsprogram
NORSTAT SVERIGE Frimis, 22/ Henrik Kronberg.
Deklarera en struct som kan användas för att representera en rät linje Använd den I main för att deklarera en variabel som du initierar så att den representerar.
Pär Svärd Dirk Lammering John Hugosson Espen Johannesen Laeng Välkommen! AMP Workshop – Försäljningsteknik.
Planering – Bild 1 Planering Sökning jämfört med planering STRIPS operatorer Icke-linjär planering.
Programspråk Två olika typer av program omvandlar högnivå till lågnivå program: Interpreterande program och kompilerande program. Python är ett interpreterande.
1 Föreläsning 3 programmeringsteknik och Matlab 2D1312/ 2D1305 Matlab fortsättning Funkioner, styrstrukturer, manipulering av matriser.
Problemlösning Veckodagsproblemet Gissa talet Siffersumman.
Blanketter De gamla blanketterna i SÄO, S1 – S16 samt order och uppgift till förare slopas. Nya blanketter redovisas i JTF bilaga 5 Blanketter. De finns.
Are idioms difficult to learn? After this program it will ’be a piece of cake’
Algoritmer. Ordet kommer från en persisk författare som kom från al’Khowârizmi (engelskans algorithm). Han skrev boken ’Kitab al jabr w’al-muqabala’.
Träning 13 Makroprogrammering
Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition, Kapitel 6: Process- synkronisering.
DEFINIERING AV SKANNERN
Pilotstyrt eller förarlöst flygplan – Vad väljer du?
Namnrum, räckvidd och rekursion Linda Mannila
Föreläsning 10 Stränghantering.
1 Programmera med strängar nr 9 Tal till sträng Sträng till tal Grep Sträng till lista av ord.
Programmering i C# 9. Pekare och osäker kod.
RFC & RM Picsara PIA Beslutsväg Registrera i SP Support klassificerar BUG/RFC Deadline 1 Excel från Mawell PIA 1 Excel till Mawell Förslag.
Organisationers formella drag, forts.
1 CD5560 FABER Formal Languages, Automata and Models of Computation Lecture 6 Mälardalen University 2006.
Föreläsning 5 • Den grundläggande konkurrensmodellen (en gång till!)
System arbetssystem informationssystem
N V M DIAGRAM Samband mellan q V och M
Föreläsning 3: Företagets teknologi och kostnader (PR kap 6-7)
1 Mönstermatchning och rekursion Nr 4. 2 Förenklad notation val fnname = fn name => expression Förenklas till fun fnname name = expression Exempel fun.
OOP F13:1 Marie Olsson OOP Objekt-orienterad programmering Föreläsning 13 Repetition variabler, selektion och iteration.
OOP F2:1 Stefan Möller OOP Objekt-orienterad programmering Föreläsning 2 Deklaration och tilldelning Programsatser Tilldelning Input/Output Selektion.
Föreläsning 14 Logik med tillämpningar Innehåll u Cuts och negation u Input/output u Extralogiska predikat u Interaktiva program, failure-drivna.
Det är tisdag och Björn ska på sin första ishockeyträning. Han skakar i hela kroppen av nervositet. Han har aldrig stått på några skridskor förut. När.
© Anders Broberg, Lena Kallin Westin, 2007 Datastrukturer och algoritmer Föreläsning 14.
Växjö 14 april -04Språk & logik: Finita automater1 DAB760: Språk och logik 14/4:Finita automater Leif Grönqvist Växjö Universitet.
På säker grund för hållbar utveckling FoU-seminarium 2015 LOMP Lakning av organiska ämnen – modeller och processförståelse Hösten tkr FoU-sekr/Metodutveckling.
CHI-TSONG CHEN KAPITEL 2- Systems Kortfattade läsanvisningar Läs hela kapitlet utom 2.9 och 2.10.
Why you should consider hiring a real estate attorney!
KPP053, HT2015 MATLAB, Föreläsning 4
Insatshanteringsprocessen
Motsvarande RE = ( a+b )* abb
Formal Languages, Automata and Models of Computation
Florida The Sunshine State. The history of Florida.
Y 4.4 Multiplikation av parenteser
Y 4.5 Uttryck med potenser 3 ∙ 3 ∙ 3 ∙ 3 ∙ 3 = 35 x ∙ x ∙ x ∙ x = x4
Y 4.3 Uttryck med parenteser
Presentationens avskrift:

a+ba+b q0q0 q1q1 q4q4 q2q2 q3q3  abb Motsvarande RE = ( a+b )* abb

DFA för ( a + b ) * abb s0s0 a s1s1 b s3s3 b s4s4 s2s2 a b b a a a b

Minimering av DFA s0s0 a s1s1 b s3s3 b s4s4 s2s2 a b b a a a b s 0, s 2 a s1s1 b s3s3 b s4s4 b a a a b sluttillstån d

DFA Minimization a ( b + c )* The subset construction  q0q0 q1q1 a  q4q4 q5q5 b q6q6 q7q7 c q3q3 q8q8 q2q2 q9q9     s3s3 s2s2 s0s0 s1s1 c b a b b c c Final states

Then, apply the minimization algorithm to produce the minimal DFA s3s3 s2s2 s0s0 s1s1 c b a b b c c s0s0 s1s1 a b + c final states

AB C D E

0 q

q0q0 q2q2 q1q1 a a b b b a

q0q0 q2q2 q1q1 a a b b b a

123456

Ratio(x,2)

Greater?

Sipser 2.10 p. 105

AB C D E

AB C D E

0 q

q0q0 q2q2 q1q1 a a b b b a

q0q0 q2q2 q1q1 a a b b b a

123456

Ratio(x,2)

Greater?

AB C D E

0 q

q0q0 q2q2 q1q1 a a b b b a

q0q0 q2q2 q1q1 a a b b b a

123456

Ratio(x,2)

Greater?

Sipser 2.10 p. 105

q0q0 q1q1 q2q2 q3q3 q4q4 b/x,R #,R #/b,R x/#,R a,L b,L #,L a,R b,R a,R b,R a,R #,R Q = {q 0, q 1, q 2, q 3, q 4 }  = {a, b, x, #} B = #  = {a, b} q 0 is the start state F = {q 4 } baabab###….. Accepted? Input:

Turingmaskin 1 – vad gör den? q0q0 q1q1 q2q2 q3q3 q4q4 b/x,R #,R #/b,R x/#,R a,L b,L #,L a,R b,R a,R b,R a,R #,R Q = {q 0, q 1, q 2, q 3, q 4 }  = {a, b, x, #} B = #  = {a, b} q 0 is the start state F = {q 4 } baabab###….. Accepteras? Input:

Turingmaskin 1 Initialt har den tapepekaren på första tecknet i inputsträngen. Strängen baabab är input och den strängen accepteras. Vid acceptans har tapen utseendet #aa#a##bbb och tapepekaren pekar på första b:et efter ##. Det maskinen gör är ersätta alla b:n med #:n i orginalsträngen och ge alla b:n som output sist. (Jag tror att q2->q2 genom a,R skulle kunna tas bort samt att q2->q2 #,b/R skulle kunna ersättas med q2->q2 #,b/L. Men jag är inte 100% säker och maskinen fungerar ju fint som den är. )

q0q0 q1q1 q2q2 q3q3 q4q4 q5q5 q6q6 #,R a,R #,R c,R z,R a,R y,R a/x,Rb/y,R b,R z,R c/z,L a,L b,L c,L x,L y,L z,L x,R #,R y,R z,R b,R c,R #,R b,R c,R #,R Q = {q 0,...,q 6 }  = {a,b,c,x,y,z,#} B = #  = {a,b,c} start state = q 0 F = {q 6 } aabbcc###….. Accepteras? Turingmaskin 2 – vad gör den? Input:

q0q0 q1q1 q2q2 q3q3 q4q4 q5q5 q6q6 #,R a,R #,R c,R z,R a,R y,R a/x,Rb/y,R b,R z,R c/z,L a,L b,L c,L x,L y,L z,L x,R #,R y,R z,R b,R c,R #,R b,R c,R #,R Q = {q 0,...,q 6 }  = {a,b,c,x,y,z,#} B = #  = {a,b,c} start state = q 0 F = {q 6 } aabbcc###….. Accepteras? Turingmaskin – vad gör den? Input:

Turingmaskin 2 Initialt har maskinen tapepekaren på första tecknet i inputsträngen. Strängen aabbcc är input. Den accepteras och då har tapen utseendet xxyyzz## och tapepekaren pekar på andra #:et på högersidan. Den har matchat uttrycket a n b n c n där n  1.

Q = {q 0,...,q 9 }  = {a,1,#} B = #  = {1} start state = q 0 F = {q 9 } Turingmaskin 3 – vad gör den? q0q0 q1q1 q2q2 q3q3 1/a,R #,R 1/a,R 1,R q4q4 #,R #/1,L 1,L #,L q5q5 a/1,R#,L 1,L #,L q6q6 a/1,R q7q7 1 x #1 y ## q8q8 q9q9 1,R #,R 1,R Input: Output?

Turingmaskin 3 Initialt har maskinen tapepekaren på första tecknet i inputsträngen. Turingmaskinen tar in två tal på unär form x och y. Den beräknar funktionen F(x,y) = x  y och skriver sin output sist så att tapen efter körd funktion har utseendet 1 x #1 y #o där 1 x #1 y är orginalinput och o output. Vid färdig körning pekar tapepekaren på första 1:an i outputen.

Aug tenta