MATFYZ 60 2012 - Matfyz 60 | Page 98

•  Deklarati vní programování Katedra teoreti cké infor ma ti ky a matemati cké logiky http://ktiml.mff.cuni.cz/ Slovníček: Entita je například osoba reálná nebo virtuální jako v počítačových hrách, počítač, autonomní agent, in- teligentní asistent, robot nebo něco jiného. Dá se to vyjádřit i českým slovem „jsoucno“, ale to používají jen milovníci českého jazyka. Slovo „entita“ je přece jen kratší než uve- dený (a neúplný) výčet možností. Agent je ten, kdo má schopnost komunikace. Každý agent si může vyměňovat zprávy s kterýmkoliv agentem. Takové skupině agentů se říká Multi-agentní systém. Asistent je agent schopný přijímat příkazy a splňovat je, i když se to vždy nepodaří. Specifi kace vytvářeného programu je funkce, která ke každému vstupu přiřazuje požadované hodnoty. Verifi kace je podrobné ověření, že daný program splňuje specifi kaci. Inteligentní entita, například asistent, musí být při řešení uloženého cíle scho- pen víc než jen pracovat podle detailních instrukcí. Má-li vykazovat inteligentní chování, je nutné, aby si poradil i tehdy, když podmínky pro použití takových in- strukcí nejsou splněny nebo když nemá žádné instrukce, jak cíle dosáhnout. Například jednoduchý příkaz „přineste mi kávu“ číšníkovi nebo inteligentnímu ro- botu vyžaduje, aby si domyslel, co má udě- lat, když je varná konvice bez vody, nebo au- tomat na výrobu kávy je rozbitý. Určitě by si nepomohl, kdyby se s těmito problémy obrátil na vrchního. Ten by ho pak pova- žoval za hloupého a přemýšlel by, jak se ho má zbavit. Asistent by jistě byl považován za inteli- gentního a zdatného, jestliže by byl scho- pen vyřídit požadavek vyššího řádu „při - prav te mi vše pro cestu na jednání v Paříži s Electricité de France, které se má usku- tečnit v příštím týdnu“. Asistent musí vzít v úvahu čas jednání, letecké spojení, uby- tování v hotelu, šéfovy požadavky na pro- najatý vůz a nakonec i to, zda se to všechno vejde do rozpočtu. Tím se dostáváme k požadavku na in- teligenci živého či virtuálního asistenta – tedy ke složitosti požadavku, který asistent umí vyřešit. Zde se setkáváme se dvěma kraj nostmi: • požadavek představuje detailní algorit- mus, který říká, jak požadavek splnit. Ať je jakkoli podrobný, takový algoritmus může být k ničemu, pokud předpoklady k jeho použití nebudou splněny. 96 Informati ka: Deklarati vní programování