Projekt do umělé inteligence
program pro sestavování nabytku v místnosti.
O co tady jde?
Tento program má za úkol sestavit předem daný nábytek do určené
místnosti. Přitom by bylo nanejvýš vhodné, aby uměl ze skříní sestavit
stěnu, ze sedačky, křesel a stolku sedací kout. Aby nezastavěl okno
nebo dveře a aby se dalo do všech skříní dostat.
Jak program funguje?
Program se spouští predikátem uprav který se nachází v souboru all. Tento predikát
spustí postupne setrid(v souboru setr), predikát
maxim/1 (v souboru max),
predikátstyluj/1 (v souboru max), predikat sestav/1 (v souboru sestav), predikát
pristav (v souboru ook) a predikat
sed/0 ze souboru sed.
Co dělají jednotlivé predikáty?
setrid/0
-- setřídí použitý nábytek, dle hloubky,
výšky...
maxim/1
-- zjistí největší stěnu k zastavění. Největší
stěnou se rozumí část stěny ohraničená buď rohu nebo dbeřmi.
styluj-1
-- zjistí, ze které strany největší stěny se
má začít skládat stěna.
sestav/1
-- tento predikát složí nábytkovou stěnu,
kterou ale zatím nikam neumístí. Stěnu začne skládat od nejvyššího
objektu a vedle něj umístí další, na který potom navršuje (je li to
možně) dlaší skříně až do výše tí první. Zároveň se do stěny pokusí
umístit i TV.
pristav/0
-- umístí sestavenou stěnu na její místo
sed/0
-- Seskládá a umístí sedačku a stůl