|
Formális nyelvek gyakorlat (2)
2001. február 20., kedd
1. Nézzük a következő véges automatát, melynek input ábécéje :
(a) Mi történik az automatában az , és szavak hatására?
(b) Mi az automata által elfogadott nyelv?
(c)
Alakítsd át az automatát teljesen specifikált automatává (minden állapotban
legyen minden karakterre legalább egy kivezető nyíl)
(d) Alakítsd át úgy az automatát, hogy csak egy végállapota legyen és ebből
az egy végállapotból ne vezessen nyíl sehova
Természetesen a (c) és (d)-beli átalakításkor az elfogadott nyelv
nem változhat.
2. Hogyan kell általában úgy átalakítani egy véges automatát, hogy az új
automata
(a) teljesen specifikált legyen?
(b) csak egy végállapotot tartalmazzon és abból ne vezessen sehova se nyíl?
3. Mutasd meg, hogy egy ``elfuserált'' véges automatát, aminek több
kezdőállapota van, mindig át lehet alakítani egy olyanná, aminek csak egy van és
abba se vezet be nyíl.
3. Adjunk (lehetőleg determinisztikus) véges automatát az alábbi nyelvhez:
osztható hárommal,
osztható kettővel.
4. Adjunk (lehetőleg determinisztikus) véges automatát ahhoz az
feletti nyelvhez, melybe azon szavak tartoznak, amelyekben
minden teljes homogén -sorozat hossza osztható 3-mal és minden teljes homogén b-sorozat hossza osztható 2-vel.
5. Adjunk véges automatát
(a) az üres nyelvre, azaz ,
(b) a csak az -t tartalmazó nyelvre, azaz
.
6. Legyen
. A nyelv szavaira a következő két dolog igaz:
összesen páratlan sok karakter van bennük
után közvetlenül nem jöhet , után , után .
Véges (lehetőleg determinisztikus) automata kell erre a nyelvre.
7. Legyen
. A jelsorozatokat tekintsük mint bináris számokat.
Adjunk automatát, amely pont a hárommal osztható számokat fogadja el!
Vegyük figyelembe, hogy szám 0-val nem kezdődik, kivéve ha az maga a 0.
|