• 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í