Re: Path searching

From: Michal Bilcik (krutohlav@host.sk)
Date: 15. 06. 2002, 10:24 CEST


Nazdar,
Paco napisal:

> Psal '...nebo se nevracel na místa, kde uµ byl,...' cimz jsem ja rozumel
> to, aby se objekt nevracel do _slepych mist_, kde uz byl a do pasazi,
> jejichz cely strom uz jednou skoncil neuspechem. A tady by IMHO dost
> pomohla prave ta empirie a par autoadaptivnich prvku z AI, ktere by asi
> tu - jinak celkem tupou - Ariadnu podstatne vylepsily.

Ariadna neni tupa. Praveze ona robi tie vylepsenia ktore spominas
ty, ale to niesu ziadne "empirie" ani "autoadaptivne prvky z AI" ale
obycajne pravidla, ktorymi sa riadi.

Ariadna si chodby ktorymi prechadza CISLUJE a ZNACKUJE. Kazdu chodbu
ktoru prejde ocisluje cislom i. Dalsi ocisluje i+1. V kazdej sieni sa
rozhoduje ktorou chodbou ma ist. Vyberie tu ktora nieje ocislovana
(teda tade este nikdy nesla). Ak sa dostane do siene skade vedu iba
ocislovane chodby, prejde chodbou s najvacsim cislom a neoznacenou (teda vlastne
naspet tou ktorou prisla) a oznaci ju. Tieto pravidla ju spolahlivo
dovedu co ciela.

Z toho vypliva ze kazdou chodbou moze prejst maximalne 2 krat (1 krat
ked je neocislovana (a teda aj neoznacena) a druhy krat ked je
ocislovana ale neoznacena). Nikdy uz nepojde
oznacenou chodbou.

Neviem si predstavit lepsi algoritmus na prechadzanie bludiskom. Tam
ti ziadne AI nepomoze pretoze nevies kam dana chodba vedie, takze ju
musis preskumat a potom tu uz iba staci zabezpecit aby tade nesla
viackrat a na to ti stacia tieto obycajne pravidla.

> S tim plne souhlasim, osobne bych tady dokonce pouzil spise nektery
> z neproceduralnich jazyku s prilepenymi proc. moduly v C++.

Staci pascal. ( Pokial to nepotrebuje na vojenske ucely, alebo na
grafoch s miliardami uzlov)


> Jenze to jsme mu asi zase moc neporadili, zejo?... ;-)

No aspom sme mu poradili ze v JavaScripte to nema robit.



S pozdravom,
 Michal Bilcik (ICQ# 156366308)

--
Bůh je reálný, pokud nebyl deklarován jako integer.                            



This archive was generated by hypermail 2.1.2 : 15. 06. 2002, 10:44 CEST