Příloha C: Slovníček pojmů

Data
Surové, neorganizované symboly a čísla bez kontextu (např. "19", "Praha").
Informace
Data zasazená do kontextu, která dávají smysl (např. "Věk: 19", "Město: Praha").
Znalost
Pravidla a souvislosti, které umožňují z informací vyvozovat závěry (např. "Pokud je věk < 18, je nezletilý").
Proměnná (Variable)
Zástupný symbol pro neznámou hodnotu. V Prologu začíná velkým písmenem (např. X, Vysledek).
Atom
Konstanta, která reprezentuje konkrétní objekt. Začíná malým písmenem (např. karel, pizza).
Term
Obecný název pro jakýkoli datový objekt v Prologu (atom, číslo, proměnná, struktura).
Struktura (Structure)
Složený term, který má jméno (funktor) a argumenty, např. bod(10, 20).
Predikát
Definice vztahu nebo vlastnosti. Je určen jménem a aritou (počtem argumentů), např. rodic/2.
Klauzule (Clause)
Souhrnný název pro fakt nebo pravidlo. Kód v Prologu je seznam klauzulí.
Fakt (Fact)
Základní, nepodmíněná pravda uložená v databázi (např. muz(jan).).
Pravidlo (Rule)
Podmíněná věta ve tvaru "Hlava platí, pokud platí Tělo" (Hlava :- Tělo.).
Hlava (Head)
Levá část pravidla (to, co dokazujeme). Také první prvek seznamu.
Tělo (Body)
Pravá část pravidla (podmínky, které musí platit).
Unifikace (Unification)
Proces, kdy Prolog hledá shodu mezi dvěma termy. Pokud je to možné, dosadí hodnoty za proměnné tak, aby byly termy identické.
Backtracking (Zpětné navracení)
Mechanismus, kterým Prolog hledá alternativní řešení. Když narazí na neúspěch, vrátí se k poslednímu bodu rozhodnutí.
Rekurze (Recursion)
Technika, kdy pravidlo volá samo sebe (přímo nebo nepřímo). Nahrazuje cykly.
Koncová rekurze (Tail Recursion)
Optimalizovaná forma rekurze, která šetří paměť.
Řez (Cut, !)
Operátor, který zakazuje backtracking za určitý bod. Používá se pro optimalizaci a řízení toku programu.
Seznam (List)
Datová struktura pro uložení posloupnosti prvků. Zapisuje se do hranatých závorek [a, b, c].
Ocas (Tail)
Zbytek seznamu za hlavou. Vždy je to seznam.
Anonymní proměnná (_)
Proměnná, jejíž hodnota nás nezajímá. Používá se jako zástupný symbol.
DCG (Definite Clause Grammar)
Speciální syntaxe v Prologu pro psaní gramatických pravidel a zpracování jazyka.
CSP (Constraint Satisfaction Problem)
Typ úlohy, kde hledáme řešení, které splňuje sadu omezení (např. Sudoku, Einsteinova hádanka).

Závěr

Gratulujeme! Prošli jste základy logického programování a nahlédli pod pokličku umělé inteligence. Prolog vás naučil dívat se na problémy jinak. Neřešíte, jak posouvat bity v paměti, ale definujete pravdu a vztahy.

Tato kniha je jen začátek. Svět umělé inteligence je obrovský a Prolog je klíčem k jeho logické části.

Hodně štěstí při dalším studiu!