Zobrazit předchozí téma :: Zobrazit následující téma |
Autor |
Zpráva |
Witiko

Založen: 05. 06. 2009 Příspěvky: 20
|
Zaslal: 18. březen 2011, 07:10:37 Předmět: |
|
|
Weny Sky napsal: |
A nestacilo by u slepych ulicek testovat jestli se z daneho stavu dokaze had dostat ke svemu ocasu? Protoze kdyz to dokaze, tak muze minimalne krouzit v nekonecne smycce. |
Ona je tu ještě taková past. Při snědení jídla, které přidává více políček hada, zůstává ocas na místě po tolik tahů, dokud se had dostatečně neprodlouží. Pakliže bychom při testu "bezpečnosti" daného stavu nalezli cestu k ocasu ještě ve chvíli, kdy dochází k jeho prodlužování (hloubka hledání < skutečná délka hada - viditelná délka hada), stal by se test neprůkazným, protože had by stále mohl být svým vlastním ocasem zablokován.  |
|
Návrat nahoru |
|
 |
Weny Sky

Založen: 28. 07. 2007 Příspěvky: 241
|
Zaslal: 18. březen 2011, 08:46:03 Předmět: |
|
|
A kde je problem, vsak bud vis, o kolik se presne po danem jidle prodlouzi, takze neni problem to do toho algoritmu zapocitat, a nebo to nevis a vemes budto moznou stredni hodnotu delky o kterou by mohl rust. To by vsak nekdy vedlo k spatnemu vyhodnoceni. Pak je moznost vzit v potaz nejhorsi moznou hodnotu o kterou se muze prodlouzit a s tou operovat.
Nikde nevidim sebemensi problem |
|
Návrat nahoru |
|
 |
Witiko

Založen: 05. 06. 2009 Příspěvky: 20
|
Zaslal: 18. březen 2011, 23:07:37 Předmět: |
|
|
Weny Sky napsal: |
A kde je problem, vsak bud vis, o kolik se presne po danem jidle prodlouzi, takze neni problem to do toho algoritmu zapocitat, a nebo to nevis a vemes budto moznou stredni hodnotu delky o kterou by mohl rust. To by vsak nekdy vedlo k spatnemu vyhodnoceni. Pak je moznost vzit v potaz nejhorsi moznou hodnotu o kterou se muze prodlouzit a s tou operovat.
Nikde nevidim sebemensi problem |
Problém tu je, i když možná si ho dělám sám? Samotný proces hledání cesty je rozdělen do těchto kroků:
1) Pomocí A* se oboduje herní pole.
2) Od cílového bodu je zpětně nalezena cesta.
3) Data se pozmění tak, aby se simuloval stav po přijetí hada na konec cesty.
4) Provede se opětovné obodování herního pole při tomto stavu, při nalezení cesty k poli, na kterém se na počátku tohoto stavu nacházel hadův ocas, je pole považováno za bezpečné.
Data viditelné délky / skutečné délky mám přístupná, problém je v tom, že v tomto případě trochu nevím co s nimi. Pakliže ve 4. výše popsaném bodě naleznu cestu k hadovu ocasu, ale ten se stále prodlužuje, pak by do něj had naboural a daný bod tedy vůbec nemusí být bezpečný. Problémem pak je, že A* hledá nejkratší cestu, takže i pokud A* nalezne cestu k ocasu ve chvíli, když se ještě prodlužuje, může zde být delší cesta, při které bude umožněn volný průchod.
Aby nedošlo k omylu - nejde o problém ve hledání cesty, tam mám takovýto případ již od počátku ošetřený. Jedná se nyní o problém finálního vyhodnocení (4. výše popsaný bod), jestli se přijetím na dané pole had dostane do slepé uličky, tedy jestli je bezpečné. |
|
Návrat nahoru |
|
 |
Witiko

Založen: 05. 06. 2009 Příspěvky: 20
|
Zaslal: 20. březen 2011, 21:53:38 Předmět: |
|
|
Ok, pravděpodobně by to šlo řešit následovně:
1) Pakliže se ocas neprodlužuje a lze k němu nalézt cestu, je dané pole bezpečné.
2) Pakliže se ocas prodlužuje a nejkratší cesta k němu je delší nebo rovna rozdílu skutečné a viditelné délky ocasu, je dané pole bezpečné.
3) Pakliže se ocas prodlužuje a nejkratší cesta k němu je kratší nežli rozdíl skutečné a viditelné délky ocasu, začne hledání nejdelší cesty. Cyklus hledání je přerušen jakmile je délka této nejdelší cesty delší nebo rovna rozdílu skutečné a viditelné délky ocasu a pole je považováno za bezpečné. (Tímto je eliminován problém NP-complete časové složitosti. Jen musím najít nějaký algoritmus na hledání nejdelší cesty v grafu)
Ačkoliv mi to pořád přijde jako jít s kanónem na vrabce jen za účelem zjištění, je-li přesun na dané pole vjezdem do slepé uličky.  |
|
Návrat nahoru |
|
 |
Witiko

Založen: 05. 06. 2009 Příspěvky: 20
|
Zaslal: 23. březen 2011, 18:34:37 Předmět: |
|
|
Houp:
Tak jsem kontaktoval toho člověka a zjistil jsem tak jiný pohled na problematiku. Bylo mi řečeno, že dané ai nehledá trasu, pouze vybírá nejvhodnější směr na konci každého kola. Každý směr je ohodnocený záporně podle zahuštění překážkami v daném směru a kladně podle toho v jakém směru je hledané jídlo, přičemž vliv klesá se vzdáleností. O konkrétní kód se nepodělil, jelikož se jedná o projekt v rámci bakalářské práce a je stále ve vývoji.  |
|
Návrat nahoru |
|
 |
|