Matematické Fórum

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

#1 27. 04. 2010 17:16

Zdenek01
Příspěvky: 31
Reputace:   
 

Logika ZNKA

Ahoj prosím o pomoc mám zadání:
Detailně popište postup, jak k danemu ZNKA A zkonstruovat ekvivalentni NKA A´ se stejnou množinou stavu.

Potřebuju, kdyby mi to někdo dokázal vysvětlit svými slovy. Všude se to vysvětluje pomocí množin atd, jenomže já to takto nepochopím )nemám takovou představivost). Nikde jsem ani nenašel nějaký řešený příklad kde bych to mohl vidět názorně. Prosím nebyl by někdo tak laskav  a vysvětlil mi krok po kroku jak převést ZNKA na NKA popřípadě to vysvětloval na nějakém konkrétním příkladě? Děkuji moc všem za pomoc

Offline

 

#2 29. 04. 2010 18:17

check_drummer
Příspěvky: 5503
Reputace:   106 
 

Re: Logika ZNKA

Co je to (Z)NKA?


"Máte úhel beta." "No to nemám."

Offline

 

#3 29. 04. 2010 18:42

Kondr
Veterán
Místo: Linz, Österreich
Příspěvky: 4247
Škola: FI MU 2013
Pozice: Vývojář, JKU
Reputace:   38 
 

Re: Logika ZNKA

A = automat
KA = konečný A
NKA = nedeterministický KA
ZNKA = zobecněný NKA (= NKA s epsilon kroky).

Řešení viz důkaz věty 2.48 zde: http://is.muni.cz/elportal/estud/fi/js0 … maty_I.pdf


BRKOS - matematický korespondenční seminář pro střední školy

Offline

 

#4 01. 05. 2010 21:24

Zdenek01
Příspěvky: 31
Reputace:   
 

Re: Logika ZNKA

↑ Kondr:Díky za ten materíál, ale jak jsem říkal neorientuji se moc dobře v těch značeních a množinách (pomocí čehož to tam zas vysvětlují). Nicméně se chci jen ujistit zda jsem ten převod ZNKA na NKA dobře pochopil. V těch materiálech je tento ZNKA:
http://forum.matweb.cz/upload/1272740946-ZNKA.png
A pokud to dobře chápu tak NKA dostanu tak, že se zbavím těch epsilon přechodů. Přičemž stačí vytvořit vždy nový přechod nad určitým symbolem. Tak že např. ze stavu q1 jdu přes 1 do q2 a zároveň jdu z q2 přes epsilon do q1 nebo q0, pak bych měl tedy vytvořit nové přechody pro symbol 1 z q1 zpět do q1 a dále z q1 do q0. Teď můžu epsilon přechody smazat a měl bych mít ekvivalentní NKA. Čili by to mělo vypadat nějak takto:
http://forum.matweb.cz/upload/1272741699-NKA.png

Ale v tom materiálu co tu je ten NKA vypadá jinak, tak včem dělám chybu. Může mi to teda někdo vysvětlit normalně laicky a polopatě aniž by při tom používal ty množinové zápisy atd. Děkuji za vysvětlení

Offline

 

#5 02. 05. 2010 22:05

Zdenek01
Příspěvky: 31
Reputace:   
 

Re: Logika ZNKA

Lidi je to správne řešení nebo se to řeší úplně jinak? Potřebuju si tím být jistý. Díky za radu

Offline

 

#6 02. 05. 2010 22:13 — Editoval Kondr (04. 05. 2010 00:11)

Kondr
Veterán
Místo: Linz, Österreich
Příspěvky: 4247
Škola: FI MU 2013
Pozice: Vývojář, JKU
Reputace:   38 
 

Re: Logika ZNKA

↑ Zdenek01: Podstatu chápeš dobře. Ještě je potřeba si uvědomit, že původní automat umožňuje jít z q2 přes epsilon a jedničku zpět do q2 a přesepsilon a nulu do q0. Proto je potřeba přidat z q2 přechody pod nulou do q1 a pod jedničkou do q2. A taky se dá jít z q2 přes epsilon,1,epsilon do q0 a do q1, proto je potřeba přidat z q2 přechody pod jedničkou do q0 i q1.

Je proto pohodlnější eliminovat ty přechody po jednom a vždy si nakreslit, jak vypadá automat po odstsranění daného přechodu.


BRKOS - matematický korespondenční seminář pro střední školy

Offline

 

#7 03. 05. 2010 11:27

Zdenek01
Příspěvky: 31
Reputace:   
 

Re: Logika ZNKA

↑ Kondr: No jo, ale tak jak jste to napsal (když si to sestrojím) tak to taky neodpovídá tomu výsledku co je v těch materiálech. Problém je, ale i v tom, že jsem našel i jiné materiály kde vysvětlují tvorbu NKA z ZNKA přičemž to tam maji vysvětlené více méně stejným způsobem jak jsem tu popsal (ale jak je vidět pak to také neodpovídá výsledku). Pane Kondr jestli Vás mohu poprosit (Vy se určitě orientujete v těch značeních a množinových zápisech) jestli by jste mi ten postup převodu na NKA nevysvětlil svými slovy. Děkuji

Offline

 

#8 03. 05. 2010 19:35 — Editoval Zdenek01 (03. 05. 2010 19:57)

Zdenek01
Příspěvky: 31
Reputace:   
 

Re: Logika ZNKA

Tak jo zkusil jsem teda ještě jeden příklad, podle Vaší rady viz. obr (v levo ZNKA) v pravo je pak výsledný NKA (ty špatně viditelné hrany jso symboly a a stav 3 má být i výstupní). Potřeboval bych to zkontrolovat
http://forum.matweb.cz/upload/1272907973-priklad.png

Jinak někde ve skriptech jsem vyhrabal i takovýto postup (nic víc ktomu psané nebylo):
Pokud vede nějaký stav 1 epsilonem do dalšího stavu 2, podíváme se na všechny stavy, které vedou do toho stavu 1 a všechny přechody, které tam vedou přesměruji na stav 2, na který vede náš aktuální epsilon přechod. Pokud je stav stavem vstupním, potom stav, na který vede epsilon přechod se stane také vstupním. Následně se ještě u výsledného NKA zruší nedosažitelné stavy.

Více méně je to ten samý způsob co jsem zde už popisoval.

Offline

 

#9 04. 05. 2010 00:10

Kondr
Veterán
Místo: Linz, Österreich
Příspěvky: 4247
Škola: FI MU 2013
Pozice: Vývojář, JKU
Reputace:   38 
 

Re: Logika ZNKA

↑ Zdenek01: Omlouvám se, že jsem si dřív nenašel čas. Myslím, že nové přechody je potřeba vyrábět obecněji: pokud se ze stavu q1 umím několika epsilon přechody dostat do q2, odtud symbolem S do q3 a odtud několika epsilon přechody  do q4, pak musím přidat přechod z q1 do q4 pod S. Tímto algoritmem dojdeme přesně k obrázku ve skriptech. Snad se mi povedlo upravit svůj předchozí příspěvek, aby odpovídal skriptům.

Ten druhý diagram (trojúhelník) je  dobře, jen obecně je potřeba ještě stavy, do kterých vede epsilon přechod z počátečního, označit také za počáteční (zde to vyjde na stejno).


BRKOS - matematický korespondenční seminář pro střední školy

Offline

 

#10 04. 05. 2010 06:17

Zdenek01
Příspěvky: 31
Reputace:   
 

Re: Logika ZNKA

↑ Kondr: Děkuji za vysvětlení už jsem to asi pochopil, prostě mě jen zmátlo, že jsem to vysvětlení našel ještě ve dvou jiných zdrojích a to bylo v obou případech vysvětleno tak jak jsem to tu už popisoval, proto jsem z toho byl zmaten. Jinak po opravě NKA sedí s tím výsledkem z toho pdf materiálu. Ještě jednou děkuji.

Jinak potřeboval bych vysvětlit ještě jeden příklad viz. http://forum.matweb.cz/viewtopic.php?pid=112323#p112323  Mohl by jste se na něj prosím podívat a zkusil mi nějak vysvětlit řešení? (já v tomto předmětu docela plavu a potřebuji záchranný kruh). Kdyby jste se na ten příklad mrknul, budu vděčný. Děkuju

Offline

 

#11 04. 05. 2010 15:06

Zdenek01
Příspěvky: 31
Reputace:   
 

Re: Logika ZNKA

A ještě jeden, možna už hloupý dotaz. V zadání je podmínka, že ten NKA musí mít stejnou množinu stavů. Je mi jasné, že počet stavů je stejný, ale co množiny vstupních stavů? Na ty se asi ta podmínka nevztahuje, že?

Offline

 

#12 04. 05. 2010 20:50

Zdenek01
Příspěvky: 31
Reputace:   
 

Re: Logika ZNKA

No když se nato teď tak dívám, tak se mě zdá, že se to dá řešit oběma způsoby (tak jak jsem to popsal já a i tak jak popsal Kondr). V obou případech bude ten NKA ekvivalentní k ZNKA jen jeden z nich bude mít víc přechodů (které jsou tam podle mě zbytečné). Můžete mi to potvrdit?

Offline

 

#13 05. 05. 2010 06:49 — Editoval Zdenek01 (05. 05. 2010 08:30)

Zdenek01
Příspěvky: 31
Reputace:   
 

Re: Logika ZNKA

Prosím odpovězte mi ještě na ty dva dotazy a pak už můžem toto téma uzavřít.

Když si zkusím vypsat nějaké slovo co příjmá třeba ten ZNKA (např.011), tak ten NKA udělaný podle postupu co tu dal Kondr, tohle slovo nepříjme (příjmá až 0111). To je nějaké divné. Ja myslel, že pokud se jedná o ekvivalentní automat tak by měl umožňovat příjmat všechný slova, která příjmá i původní automat. Stále víc si myslím, že opravdu stačí přidat u stavu q1 jen ty dva přechody.

Offline

 

#14 05. 05. 2010 09:57

Kondr
Veterán
Místo: Linz, Österreich
Příspěvky: 4247
Škola: FI MU 2013
Pozice: Vývojář, JKU
Reputace:   38 
 

Re: Logika ZNKA

↑ Zdenek01: Ano, oba výsledné automaty rozpoznávají stejný jazyk. Shoda množin se na množiny vstupních stavů nevztahuje. Jinak mi přijde, že oba automaty slovo 011 přijímají (z q0 do q1, znovu do q1 a nakonec do q2). Nebo něco přehlížím?


BRKOS - matematický korespondenční seminář pro střední školy

Offline

 

#15 05. 05. 2010 10:36

Zdenek01
Příspěvky: 31
Reputace:   
 

Re: Logika ZNKA

↑ Kondr: Ano tak jak to říkáte je samozřejmě pravda, ale pak mi příjde úplně divné naco je v tom automatu ještě přechod z q2 do q1 (přes 0 a 1) a taky ten přechod z q2 do q0 (přes 1), vždyť tyto přechody jsou tam zbytečné nebo se pletu? Já mám dojem že pokud se jedná o NKA tak mu stačí pro odstranění těch epsilon přechodů doplnit jen tu smyčku u q1 (symbol 1) a přechod z q1 do q0 (opět 1), pak je také schopen příjmat všechny slova co původní ZNKA. Tak, proto se ptám proč tam ještě navíc dělat ty další přechody.
Ne že bych byl takový puntíčkář, ale jedná se mi o to, že tento příklad musím mít na 100% vyřešen správně a tudíž tomu chci také na 100% rozumět proč to řešení je takové jaké je. Když říkáte, že oba výsledné automaty příjmají stejné slova tak proč se to neřeší jen doplnění těch dvou potřebných přechodů? Jinými slovy můžu do toho svého projektu napsat bez výčitek svědomí oba způsoby řešení, nebo se v tom úplně pletu? Děkuji za vysvětlení

Offline

 

#16 05. 05. 2010 10:57

Kondr
Veterán
Místo: Linz, Österreich
Příspěvky: 4247
Škola: FI MU 2013
Pozice: Vývojář, JKU
Reputace:   38 
 

Re: Logika ZNKA

↑ Zdenek01: Tak jak je to v odkazovaných skriptech, zůstane zachováno že "ze stavu A do stavu B pod symbolem s se dostanu v NKA, právě když se taam dostanu v ZNKA". Pokud přidáme jen některé přechody (např. algoritmem viz ↑ Zdenek01:), bude toto zachováno jen pokud je stav A vstupní. Pravdou je, že to nám stačí.


BRKOS - matematický korespondenční seminář pro střední školy

Offline

 

#17 05. 05. 2010 12:01

Zdenek01
Příspěvky: 31
Reputace:   
 

Re: Logika ZNKA

↑ Kondr: Takže ať to už uzavřem, řešení viz.Kondr je 100% správné??? A u tohoto řešení má teda platit i podmínka že pokud se mohu dostat z některého vstupního stavu přes epsilon přechod do jiného stavu (např. S1) pak i tento stav S1 bude ve výsledném NKA vstupní??? Je to tak? Děkuji

Offline

 

#18 07. 05. 2010 01:27

Kondr
Veterán
Místo: Linz, Österreich
Příspěvky: 4247
Škola: FI MU 2013
Pozice: Vývojář, JKU
Reputace:   38 
 

Re: Logika ZNKA

↑ Zdenek01: Na 100% věřím řešení ve sriptech a doufám, že je to to samé, co jsem napsal výše. A ten stav vstupní být musí. Uvažme jednoduchý automat, který má stavy p a q. Ze stavu p jde pod nulou zpět do p a pod epsilonem do q, z q jde pod jedničkou do q, q je akceptující. Takový automat přijímá slova, která začínají nulami a pokračují jedničkami, od každého může být nulový počet. Kdybychom q nepřidali do vstupních stavů, přestal by přijímat prázdné slovo a také slovo 11..1.


BRKOS - matematický korespondenční seminář pro střední školy

Offline

 

Zápatí

Powered by PunBB
© Copyright 2002–2005 Rickard Andersson