Jak sestrojit konecny automat pro jazyk? – Offtopic – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Jak sestrojit konecny automat pro jazyk? – Offtopic – Fórum – Programujte.comJak sestrojit konecny automat pro jazyk? – Offtopic – Fórum – Programujte.com

 

Ales
~ Anonymní uživatel
102 příspěvků
16. 4. 2013   #1
-
0
-

Ahojte,

cele odpoledne valcim se sestavenim konecneho automatu pro jazyk L=[(a+ba*)*(b+c)*(cc)*], ale nemuzu se pohnout s mista, jak to poskladat dohromady.

Nenasel by se nekdo, kdo by mi s timhle pomohl?
Dekuji

Nahlásit jako SPAM
IP: 94.195.209.–
crazy
~ Moderátor
+10
Grafoman
16. 4. 2013   #2
-
0
-

#1 Ales
můžeš použít metodu sousedů (je jednoduchá, ale trochu pracnější)

Nahlásit jako SPAM
IP: 147.32.31.–
All you need is vision and time.
Ales
~ Anonymní uživatel
102 příspěvků
16. 4. 2013   #3
-
0
-

#2 crazy
Metodu sousedu? Muzes prosimte naznacit, jak funguje?

Nahlásit jako SPAM
IP: 94.195.209.–
BigBear0
Stálý člen
2. 7. 2013   #4
-
0
-

Už je asi pozdě, ale já bych to pravděpodobně udělal jednoduchým postupem, který zahrnuje více kroků. Já bych regulární výraz definující jazyk L=[(a+ba*)*(b+c)*(cc)*] rozdělil na tři části a pak zřetězil (nebo na více částí a sjednocoval, řetězil atd.). Konkrétně bych udělal KA pro (a+ba*)*, pro (b+c)*, a pro (cc)*, pak bych je přes epsilonové hrany zřetězil a mám požadovaný KA. V případě potřeby bych jej pak samozřejmě převedl na deterministický, úplný, minimalizovaný atd., ale na to už jsou "jednoduché" algoritmy - tzn. nemusíš přemýšlet :-D (téměř ;-) ).

Není to dokonalé, ale je to relativně jednoduché, jasné a funguje to. To by byl asi první postup, který by mě napadl, a který bych udělal. Pokud bych se tím chtěl více zabývat, hledal bych algoritmy a postupy, kterými se to dělá optimálně, ale jelikož se problematikou formálních jazyků zabývám jen v rámci studia (a zatím dál nemířím, přestože je to zajímavý obor), a předpokládám, že ty taktéž, tak tohle je, myslím, dostačující postup, který funguje a je relativně jednoduchý (i přestože zahrnuje více kroků).

Nahlásit jako SPAM
IP: 78.80.88.–
NECIN DRUHYM TO, CO NECHCES, ABY ONI CINILI TOBE!
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 35 hostů

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý