BI-ZUM Základy umělé inteligence
Jdi na navigaci předmětu

Ing. Martin Rameš

Malé domácí úlohy

Zde se nachází přesné znění malých domácích úloh. Tyto úlohy je potřeba vypracovat do následujícího cvičení od jejich zadání, nahrát před cvičením na GitLab a přidat cvičícího do projektu s právy vyššími, než má Guest.

1.1 Láhve

Máme 5-litrovou nádobu a 3-litrovou nádobu. Na začátku jsou obě prázdné. Akce jsou – naplnění celé nádoby vodou, vylití veškeré vody z nádoby, přelití vody z jedné nádoby do druhé (pokud se do druhé nádoby nevejde všechna voda z první nádoby, zbývající voda zůstává v první nádobě). Přelévat můžeme z 5-litrové do 3-litrové i opačně. Cílem je mít v 5-litrové nádobě 4 litry vody. Na cvičení zadaná úloha měla navíc 2-litrovou nádobu. Tato není potřeba k dosažení řešení, ale zkrátí počet kroků k němu. Použití 2-litrové nádoby je dobrovolné.

Vytvořte program, který najde řešení úlohy v minulém odstavci. Program navrhne pomocí algoritmu BFS/DFS (stačí jeden, výběr na studentoví) plán pro přelévání vody od počátečního stavu k cílovému stavu. Plán vypište / vizualizujte na obrazovce. Program můžete vytvořit v libovolném programovacím jazyce.

1.2 Kůň

Vytvořte program, který přijme na vstupu počáteční a konečnou pozici koně na šachovnici (8x8 či nastavitelná velikost jako součást vstupu). Program navrhne pomocí algoritmu BFS/DFS (stačí jeden, výběr na studentoví) cestu pro koně od počáteční pozice k pozici konečné. Cestu vypište / vizualizujte na obrazovce. Program můžete vytvořit v libovolném programovacím jazyce.

  • Upozornění – vzhledem k podobnosti úloh 1.1 a 1.2 bude v případě odevzdání obou úloh bodově ohodnocena pouze jedna z nich (ta s lepším bodovým hodnocením).