====== 5GL: Pátá generace programovacích jazyků ====== **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 [[it:lang:4GL|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. ===== 1. Klíčové vlastnosti 5GL ===== * **Deklarativní programování:** Programátor popisuje stav světa a pravidla, která v něm platí. * **Inference (Odvozování):** Jazyk obsahuje "intelektuální motor" (inference engine), který kombinuje fakta a pravidla k nalezení odpovědi. * **Práce s vědomostmi:** Místo databází pracují 5GL se **znalostními bázemi**. * **Přirozený jazyk:** Mnohé 5GL se snaží o to, aby komunikace s počítačem připomínala běžnou lidskou řeč. ===== 2. Hlavní zástupci a koncepty ===== ==== A. Prolog (Programming in Logic) ==== 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`. ==== B. LISP (List Processing) ==== 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. ==== C. OPS5 a Mercury ==== 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ě). ===== 3. Historický kontext: Projekt páté generace ===== 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. ===== 4. Srovnání generací (Shrnutí) ===== ^ 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). | ===== 5. Současnost a budoucnost 5GL ===== Dnešní vlna umělé inteligence ([[it:ml:deep_learning|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: * **Sémantickém webu:** Organizace informací tak, aby jim stroje rozuměly. * **Constraint Programming:** Řešení složitých logistických úloh (např. jízdní řády). * **Moderních expertních systémech:** Diagnostika a právní analýzy. ---- //Související články:// * [[it:lang:4GL|Čtvrtá generace: SQL a data]] * [[it:ml:deep_learning|Deep Learning a neuronové sítě]] * [[it:ai:expert_systems|Expertní systémy a báze znalostí]] //Tagy: {{tag>programming_languages 5GL prolog ai logic_programming history}}//