29.08.2013 Views

Hoofdstuk 4 Talen en Automaten - Liacs

Hoofdstuk 4 Talen en Automaten - Liacs

Hoofdstuk 4 Talen en Automaten - Liacs

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

40 HOOFDSTUK 4. TALEN EN AUTOMATEN<br />

We bepal<strong>en</strong> e<strong>en</strong> automaat voor de taal { x ∈ {0,1} ∗ | val(x) = 0 (mod 3) }.<br />

De toestand<strong>en</strong> van de automaat zijn de restklass<strong>en</strong> 0,1,2. E<strong>en</strong> langs e<strong>en</strong> wandeling<br />

gelez<strong>en</strong> woord eindigt in de juiste restklasse. Dat kan door te zorg<strong>en</strong> dat elke tak<br />

de juiste berek<strong>en</strong>ing volgt, nl. (i,0,2i) <strong>en</strong> (i,1,2i + 1)<br />

4.2.4 Determinisme<br />

0<br />

1<br />

0 1 2<br />

1 0<br />

E<strong>en</strong> eindige automaat bepaalt e<strong>en</strong> algoritme dat voor e<strong>en</strong> woord na gaat of dit tot<br />

de taal behoort als er vanuit elke toestand voor elke letter precies één uitgaande<br />

tak met die letter is. We kunn<strong>en</strong> dan de unieke wandeling bij het woord volg<strong>en</strong><br />

om zo aan de laatste toestand het antwoord af te lez<strong>en</strong>.<br />

We formaliser<strong>en</strong> dat als volgt.<br />

4.18 Definitie. E<strong>en</strong> eindige automaat A = (Q,Σ,E,qin,F) heet (totaal) deterministisch<br />

als E e<strong>en</strong> functie van Q × Σ naar Q is. <br />

Als voorhe<strong>en</strong> kunn<strong>en</strong> we E uitbreid<strong>en</strong> tot e<strong>en</strong> relatie E ∗ in Q × Σ ∗ × Q. Bij<br />

e<strong>en</strong> deterministische automaat is dit e<strong>en</strong> functie (van Q × Σ ∗ naar Q). Voor elke<br />

(q,w) ∈ Q × Σ ∗ geeft E ∗ (q,w) de eindtoestand van de unieke wandeling met<br />

label w beginn<strong>en</strong>d in q. De taal van de automaat kunn<strong>en</strong> we nu schrijv<strong>en</strong> als<br />

{ w ∈ Σ ∗ | E ∗ (qin,w) ∈ F }.<br />

4.19 Voorbeeld. De rechter automaat uit Voorbeeld 4.13 is deterministisch. Als<br />

functie geschrev<strong>en</strong> hebb<strong>en</strong> we de volg<strong>en</strong>de takk<strong>en</strong>: E(i j,k) = jk voor alle i j ∈ Q<br />

<strong>en</strong> alle k ∈ Σ. In tabelvorm vind<strong>en</strong> we bij elke toestand i j <strong>en</strong> elke letter k e<strong>en</strong><br />

uitgaande tak naar de toestand volg<strong>en</strong>s:<br />

1<br />

i j : 11 10 01 00<br />

k : 0 10 00 10 00<br />

1 11 01 11 01<br />

Correctheid. E<strong>en</strong> automaat legt e<strong>en</strong> taal vast. Wanneer we bij e<strong>en</strong> gegev<strong>en</strong> taal<br />

e<strong>en</strong> automaat construer<strong>en</strong>, moet<strong>en</strong> we er ons van vergewiss<strong>en</strong> dat deze automaat<br />

1

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!