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!