5GL (Fifth-Generation Language) jsou jazyky založené na řešení problémů pomocí omezení a logického odvozování, nikoliv pomocí algoritmů napsaných programátorem. Zatímco 4GL byly navrženy pro práci s daty, 5GL byly vytvořeny pro oblast umělé inteligence, expertních systémů a přirozeného jazyka.
Základní myšlenkou je, že počítač by měl být schopen vyřešit problém sám, pokud mu dodáme správná fakta a pravidla.
Nejznámější zástupce 5GL. Program se skládá z faktů a pravidel. * Fakt: `rodic(karel, jan).` (Karel je rodičem Jana) * Pravidlo: `predek(X, Y) :- rodic(X, Y).` (X je předkem Y, pokud X je rodičem Y) * Dotaz: `?- predek(karel, jan).` → Systém odpoví `Yes`.
I když je starší, jeho schopnost pracovat s kódem jako s daty a jeho využití v rané umělé inteligenci ho často řadí do diskuzí o 5GL konceptech.
Jazyky používané pro tvorbu expertních systémů (programy, které simulují rozhodování lidského experta v určitém oboru, např. v medicíně).
V 80. letech 20. století zahájilo Japonsko masivní státní projekt „Fifth Generation Computer Systems“ (FGCS). Cílem bylo vytvořit počítače, které by se podobaly superpočítačům a komunikovaly by v přirozeném jazyce pomocí logického programování. Projekt však narazil na tehdejší limity výkonu hardwaru a na fakt, že logické programování se ukázalo jako příliš rigidní pro reálný svět.
| Generace | Typ | Přístup k programování |
|---|---|---|
| 1GL / 2GL | Nízká úroveň | Přímé řízení hardwaru (binární kód, asembler). |
| 3GL | Vyšší úroveň | Definice algoritmu krok za krokem (Jak to udělat). |
| 4GL | Velmi vysoká úroveň | Definice datového dotazu (Co chci získat). |
| 5GL | Inteligentní úroveň | Definice pravidel a logiky (Jaká jsou fakta). |
Dnešní vlna umělé inteligence (Deep Learning) se od klasického 5GL (logiky) odklonila směrem ke statistice a neuronovým sítím. Nicméně principy 5GL stále žijí v:
Související články:
Tagy: programming_languages 5GL prolog ai logic_programming history