MATFYZ 60 2012 - Matfyz 60 | Seite 99

• požadavek vyjadřuje, co je třeba udělat a asistent má k tomu potřebné znalosti opět ve tvaru, co je třeba udělat. Jazyky používané k programování úloh typu jak se nazývají procedurální, na- příklad C, Pascal atd. K úlohám typu co se používají deklarativní jazyky napří- klad Prolog, Haskell a další. Tedy původní teze, že inteligentní entity musí být schop- ny porozumět a zpracovat popisy typu co nás přivádí k nutnosti vytváření vhodných deklarativních jazyků a s nimi spojenými podpůrnými prostředky, které by usnad- ňovaly jejich použití. Vývoj takových ja- zy ků má základní význam pro umělou in te ligenci založenou na znalostech. Studijní programy, které se zabývají problémy zmíněnými ve slovníčku, patří do Teoretické informatiky. Vý- uku Teoretické informatiky garantuje a výzkum se provádí na katedře Teo- retické informatiky a Matematické logiky. U nás jsou běžně dostupné oba zmíně né deklarativní jazyky – Prolog a Haskell – v mnoha verzích. Jak už to bývá, každá z nich má své (často zaryté) obhájce. Následující jednoduchý program Maxi- mum v Prologu obsahuje defi nici maxima množiny přirozených čísel, je zajímavý tím, že obsahuje jen tuto defi nici a podpro- gram prvek(M,L). Ostatní zařídí Strojový dokazovač, který tvoří „srdce“ implemen- tace Prologu. Alain Colmerauer V roce 1972 vytvořil logický  programovací jazyk Prolog  a Q-sys tems, jeden z nejranějších  lingvis tických formalismů použitý  při vývoji prototypu strojového  pře kla datele TAUM-METEO. prvek(X,[H{L]) :- prvek(X,L). prvek(X,[H{L]) :- prvek(X,L). maximum(M, L) :- prvek(M,L), not(prvek(Y,L), M