10.02.2019 Views

opora

Create successful ePaper yourself

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

KAPITOLA 3. REGULÁRNÍ JAZYKY 41<br />

5. Dosazením do (6) dostaneme:<br />

(9) X 1 = (0 + 1) ∗ ((1 + 00)(0 + 1) ∗ ) ∗ (00 + 11) = (0 + 1) ∗ (00 + 11)<br />

6. Dosazením do (3) dostaneme:<br />

(10) X 3 = ε + (0 + 1) ∗ (00 + 11) + ((1 + 00)(0 + 1) ∗ ) ∗ (00 + 11) =<br />

= ε + ((0 + 1) ∗ + ((1 + 00)(0 + 1) ∗ ) ∗ )(00 + 11) =<br />

= ε + (0 + 1) ∗ (00 + 11)<br />

Věta 3.16 Každý jazyk generovaný gramatikou typu 3 je regulární množinou:<br />

L 3 ⊆ L R<br />

Důkaz:<br />

1. Nechť L ∈ L 3 je libovolný jazyk typu 3. Již víme, že ho můžeme popsat<br />

konečným automatem M = (Q, Σ, δ, q 0 , F ). Nechť Q = {q 0 , q 1 , ..., q n }.<br />

2. Vytvoříme soustavu rovnic na regulární výrazy s proměnnými X 0 , X 1 , ..., X n<br />

ve standardním tvaru. Rovnice pro X i popisuje množinu řetězců přijímaných<br />

ze stavu Q i .<br />

3. Řešením této soustavy získáme regulární výraz pro proměnnou X 0 , který<br />

reprezentuje jazyk L.<br />

Příklad 3.22 Jazyk L popisuje regulární výraz, který je řešením této soustavy<br />

pro proměnnou X 1 .<br />

✷<br />

a<br />

a<br />

1<br />

a<br />

b<br />

b a<br />

2<br />

3<br />

a<br />

X 1 = ε + aX 1 + aX 2 + bX 3<br />

X 2 = bX 1 + aX 3<br />

X 3 = ε + aX 2 + aX 3<br />

Poznámka 3.4 Jiný převod KA na RV<br />

Regulární přechodový graf je zobecnění konečného automatu, které umožňuje<br />

množinu počátečních stavů a regulární výrazy na hranách.<br />

Každý regulární přechodový graf je možné převést na regulární přechodový graf<br />

s jediným přechodem, ze kterého odečteme hledaný regulární výraz. Zavedeme<br />

nový počáteční a koncový stav, které propojíme s původními počátečními a koncovými<br />

stavy ɛ přechody. Pak postupně odstraňujeme všechny původní stavy<br />

následujícím způsobem:<br />

S 1<br />

R 1<br />

R 2<br />

S 2<br />

T 1<br />

T 2<br />

R 1<br />

(S 1<br />

+S 2<br />

+ε)*T 1<br />

R 2<br />

(S 1<br />

+S 2<br />

+ε)*T 1<br />

R 1<br />

(S 1<br />

+S 2<br />

+ε)*T 2<br />

R 2<br />

(S 1<br />

+S 2<br />

+ε)*T 2

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

Saved successfully!

Ooh no, something went wrong!