X33KUI
Kybernetika a umělá
inteligence ZS2005/2006
Cvičení úterý 16:15-17:45 a 18:00-19:30,
paralelky 113 a 114
Stránky
předmětu
Cvičící: Marek Obitko obitko@labe.felk.cvut.cz/Petr
Štěpán stepan@labe.felk.cvut.cz
Udílení zápočtů (známka dle
informací
na těchto stránkách): čtvrtek 12.1. v 13:00 v místnosti K130; poté
každé
úterý do konce zkouškového období ve 12:45 v místnosti K130 (Petr
Štěpán). Poslední den, kdy lze zápočet udělit, je 24.2.2006.
Podmínky zápočtu a hodnocení - viz též stránky předmětu
- Odevzdání a úspěšné obhájení dvou úloh
- úloha číslo 1 - termín pro odevzdání je 22.11.2005, hodnocení tvoří 10%
známky
předmětu
- úloha číslo 2 - termín pro odevzdání je 3.1.2006, hodnocení tvoří 40% známky
předmětu
- odevzdání
úloh je možné do
konce předposledního týdne zkouškového období, pozdější odevzdání než v
termínu pro danou úlohu má za následek srážku bodů
- Účast na cvičeních
- povoleny maximálně dvě absence
- účast na laboratorních cvičeních (u počítače - K132) nepovinná
po odevzdání první
úlohy (kromě odevzdávání úloh); v případě odevzdání první úlohy po
termínu jsou povinná všechna
laboratorní cvičení
- Úspěšné
vyřešení dvou testů - studijní
materiály od
Petra Ernesta jsou zde, další lze
nalézt na stránkách předmětu
- první test se bude psát
6.12.2005 a tvoří 10% známky předmětu (náhradní test 20.12. na
cvičení, případně 16.15 v 16:15 v K132)
- druhý test se bude psát 3.1.2006
a tvoří 40% známky předmětu
- náhradní
termín pro oba testy:
- 10.1.2006 na cvičení
od 16:15 a od 18:00
- 17.1.2006 v K132 od
11:00
- další termín je možný ke konci zkouškového období a pouze na
dotaz na obitko@labe.felk.cvut.cz
Exkurze
V týdnu 10.-14.10 je náplní cvičení exkurze do Gerstnerovy
laboratoře.
Doba konání:
- Pondělí 10.10.2005 9:00-12:00 - sraz každou celou hodinu před K132
- Čtvrtek 13.10.2005 13:00-16:00 - sraz každou celou hodinu před
K132
Obecné podmínky
- Úlohu je možné řešit v libovolném programovacím jazyce (Java,
Pascal, C/C++, Prolog, Lisp, ...)
- Úlohu je nutné předvést v K132 (tj. ukázat běh úlohy, vysvětlit
zdrojový kód, včetně možnosti modifikace programu na místě)
Zadání:
1. Hanojská věž
Hanojská věž je složena ze tří kůlů, na kterých jsou navlečeny 4 kruhy
různých velikostí. Na začátku jsou všechny kruhy navlečeny na prvním
kůlu, jak je vidět na obrázku (a). Cílem úlohy je přemístit všechny
kruhy na prostřední kůl, viz obrázek (b), ale povoleno je pouze
přemístit kruh z jednoho kůlu na druhý a není možné, aby byl na jednom
kůlu umístěn větší kruh na menším kruhu. Vaším úkolem je sestavit
program, který tuto úlohu vyřeší.

(a)
|

(b)
|
2. Lišák (devítka)
Na šachovnici 3x3 je místěno 8 kamenů s čísly. Cílem této úlohy je
postupným posouváním kamenů na volné místo (vždy jen kámen na sousedním
poli, nikdy ne kámen přes roh) je poskládat do cílové polohy. Vaším
úkolem je napsat program, který načte aktuální stav šachovnice a
vytiskne posloupnost tahů do cílové polohy.
3. Skládání čtverce 4x4
Napište program, který je schopen z níže uvedených tvarů sestavit
čtverec 4x4.
4. Osm dam
Napište program, který bude schopen rozmístit 8 dam na šachovnici 8x8
tak, aby se navzájem neohrožovaly a případně nalezne všechny varianty.
5. Zakódovaný obrázek
V následujícím obrázku je každé pole buď bílé nebo černé. Souvislý
počet černých polí uvádí čísla na kraji řádků a sloupců. Počet bílých
polí je neznámý. Mezi souvislými úseky černých polí je vždy alespoň
jedno pole bílé. Napište program, který zjistí jak vypadá uvedený
obrázek.
|
3
|
4
|
1
|
1
|
5
|
2
|
1
|
|
|
|
|
|
|
1
2
|
|
|
|
|
|
|
2
2
|
|
|
|
|
|
|
4
|
|
|
|
|
|
|
1
1
|
|
|
|
|
|
|
1
1
|
|
|
|
|
|
|
6. Přelévání vody mezi třemi nádobami
Napište program, který nalezne posloupnost přelévání vody tak, aby byl
odměřen zadaný objem vody. Každou nádobu můžete buď úplně napustit,
úplně vyprázdnit nebo přelít do jiné nádoby tak, aby jedna z nádob byla
buď úplně plná nebo prázdná. Jako vstup programu bude požadovaný objem
a objemy nádob.
Druhou úlohou je implementovat hráče hry Bantumi. Všechny podrobnosti
jsou dostupné na zadání na
stránce předmětu.
obitko@labe.felk.cvut.cz