Nevíte-li si rady s jakýmkoliv matematickým problémem, toto místo je pro vás jako dělané.
Nástěnka
❗22. 8. 2021 (L) Přecházíme zpět na doménu forum.matweb.cz!
❗04.11.2016 (Jel.) Čtete, prosím, před vložení dotazu, děkuji!
❗23.10.2013 (Jel.) Zkuste před zadáním dotazu použít některý z online-nástrojů, konzultovat použití můžete v sekci CAS.
Nejste přihlášen(a). Přihlásit
Stránky: 1
Zdravim vsechny, chtel bych poprosit o vyreseni tohoto prikladu. Dekuji.
===============================================
Navrhněte a detailně popište algoritmus řešící následující problém:
Vstup: Deterministický konečný automat A a regulární výraz γ.
Otázka: Jsou A a γ ekvivalentní, tj. platí L(A) = [γ] ?
Offline

Je znám algoritmus, který pro γ sestaví konečný automat B. To náš algoritmus provede, následně automaty A, B optimalizuje na kanonický tvar a porovná. Pokud jsou stejné, odpoví "Ano", jinak odpoví "Ne".
Offline

V tom případě bych začal tím, co jsem psal. Tedy že algoritmus nejprve k danému regulárnímu výrazu sestaví automat, pak oba automaty optimalizuje, převede do kanonického tvaru a porovná. Ve zbytku práce bych popsal každou z těchto částí.
Ty jsou všechny velmi pěkně popsané zde: http://is.muni.cz/elportal/estud/fi/js0 … maty_I.pdf
Zkus to nastudovat a pak se sem vrátit spíš s konkrétním dotazem.
Offline
↑ andrééé:
Chtel bych se zeptat, co obnasi optimalizace automatu?dik
Offline

↑ andrééé:Nejprve se přechodová funkce doplní tak, aby byla totální. Pak se automat redukuje. Teorie k tomu začíná definicí 2.34, pěkně je to pak vidět na příkladě 2.40 v odkazvaných skriptech. Jde o to, že se snažíme postupně co nejjemněji rozlišit, které stavy jsou různé. Na začátku je rozdělíme na přijímající a ostatní, to budou skupiny I a II. Pak každou skupinu rozdělíme podle toho, do jaké skupiny stavů z ní vedou přechodové funkce. S dělením skončíme v okamžiku, kdy pro každý symbol v každé skupině každé dva stavy mají stejnou hodnotu přechodové funkce (hodnotu teď bereme z hlediska skupin, ne konkrétních stavů). Z toho příkladu ve skriptech je to fakt vidět, popsat to teoreticky a přitom neformálně mi nějak nejde.
Offline

↑ andrééé:Použijeme rekurzivní proceduru AUTOMAT, která pro regexp R udělá toto:
1) je li R tvaru G*, kde G je regexp a * značí iteraci, pak zavolá proceduru AUTOMAT na G, z výsledného automatu pak vyrobí automat přijímající G*
2) je-li R tvaru G+H, kde G,H jou regexpy, zavolá proceduru AUTOMAT na G, následně na H a z výsledných automatů vyrobí automat pro sjednocení
3) je-li R tvaru G.H, kde . značí zřetězení, zavolá proceduru AUTOMAT na G, následně na H a z výsledných automatů vyrobí automat pro zřetězení
4) není-li R ani v jednom z předchozích tvarů, pak je R buď prázdné nebo jednoznakové slovo a automat pro něj sestavíme snadno.
Poněkud vágně jsem použil slovo "vyrobí". Jak je to myšleno přesně se dočteš v těch skriptech ve větách 2.49, 2.52 a 2.53.
Offline
↑ Kondr:
Dik za rady.Mam jeste par dotazu. Jak se přechodová funkce doplní,aby byla totální a jeste mam dotaz, zda kanonický je synonymum ke slovu normalizovaný?Omlouvám se, za dotazy,ale ty skripta mi prisla moc slozita (moc informaci) a tento predmet nepatri zrovna mezi moje oblibene, takze ti moc dekuji za jakoukoliv radu.
Offline

"Kanonický" znamená, že vstupní stav má číslo 1, stav, do kterého se z něj dostaneme prvním symbolem abecedy má číslo 2, druhým do stavu číslo 3, .... asi je to to samé, jako normalizovaný.
Totální přechodová funkce znamená, že pro všechny stavy a pro všechny symboly je určeno, do jakého stavu má automat přejít. Tedy pokud to pro nějaký symbol definováno nebylo, doplníme stav "peklo" a všechny nedefinované přechody namíříme do pekla. Pochopitelně z pekla se všemi symboly dostaneme zase do pekla.
Offline
↑ Kondr:
Takže jestli tomu rozumim dobre, nejprve podle vyse popsaneho algoritmu sestavim automat pro regulární výraz, potom oba dva automaty optimalizuji-tzn. doplním přechodové funkce, tak aby byli totální, pak automaty zredukuji a nakonec je prevedu na kanonicky tvar a porovnam.Je tak? Jeste bych te poprosil o podrobny popis algoritmu na doplneni prechodove funkce.Jsem z toho jelen!:-(dekuji.
Offline

↑ andrééé:Ano, rozumíš tomu dobře. Doplnění přechodové funkce na totální to je to vytvoření "pekla", jak jsem psal výše.
Offline
↑ Kondr:
Jeste dotaz, http://iris.uhk.cz/tein/teorie/postupMinimalizace.html je toto popis redukce automatu?minimalizace=redukce?
Offline

Z Tvého odkazu plyne, že redukce je součástí minimalizace. Tak, jak je v odkazovaném materiálu minimalizace popsaná, je v ní i normalizace. Stačilo proto říct, že vytvoříme automat pro regulární výraz, oba automaty zminimalizujeme a porovnáme. Já jsem to ale rozepsal do dvou kroků, které jsem označil jako "optimalizaci" a "převod na kanonický tvar". Měl jsem na mysli redukci a normalizaci podle odkazované terminologie. Zapomněl jsem ale zmínit odstranění nedosažitelných stavů, to je také důležité. Odstranit nadbytečné stavy zvládne redukce.
Offline
Stránky: 1