Cvičenia 9
Autobusy
Vo vstupnom súbore máme údaje o autobusových linkách vo formáte bus(Line,From,To,Time), kde Line je meno linky, From a To sú zástavky a Time je čas, koľko trvá autobusu cesta z From do To. Linky sú "jednosmerné", teda Line(93,zochova,aupark,3) hovorí, že sa vieme dostať za 3 minúty zo Zochovej do Auparku, ale nie naopak.
Predikáty from(fromStop) a to(toStop) hovoria odkiaľ a kam chceme cestovať, každý bude vo vstupe práve raz.
Vstup: bus.dlv.
Najkratšia cesta
Zistite (časovo) najkratšiu cestu medzi fromStop a toStop, keď zanedbávame prestupy.Najkratšia cesta s prestupmi
Zistite najkratšiu cestu, ak prestup medzi rôznymi linkami trvá X sekúnd, kde X je zadané predikátom transfer(X).Najmenej prestupov
Nájdite cestu na najmenej prestupov, spomedzi ciest s rovnakým počtom prestupov vyberte najkratšiu.Plánovanie
Vyriešte zjednodušenú úlohu (nehľadáme najkratšiu cestu , stačí nám ľubovoľná) ako plánovací problém v dlv-k s akciami take(Line,Stop) a leave(Stop), kde take hovorí, že na zástavke Stop máme nastúpiť na autobus Line a leave hovorí, že máme z neho vystúpiť na zástavke Stop.
Ak by vstup vyzeral napríklad
bus(93,dvory,aupark,2).
bus(93,aupark,zochova,3).
bus(39,zochova,"chatam sofer",2).
from(dvory).
to("chatam sofer").
tak riešenním by bolo take(93,dvory), leave(zochova), take(39,zochova), leave("chatam sofer").



