Co je to prologový jazyk?
Prolog je počítačový programovací jazyk, který je založen na logice. Většina počítačových jazyků je založena na krocích potřebných k vyřešení problému. Na druhé straně jazyk prolog je „deklarativní“ jazyk, který naznačuje logické vztahy mezi entitami. Způsob, jak problém vyřešit, je ponechán na počítači. Jméno Prolog pochází z francouzského programování en logique, tj. Programovací logika.
Následuje jednoduchý program prolog:
předchůdce (f, c):- otec (f, c)
Předek (P, Q):- Otec (P, R), Ancestor (R, Q)
Otec (John, Jim).
Otec (Jim, Jerry).
Otec (Jerry, Jason).
Otec (Jerry, Jeff).
Otec (Jason, Joshua).
Výše uvedený program naznačuje truismy. Pokud je f otce C, pak je f předchůdcem C. Pokud P je otcem nějaké osoby, která je předchůdcem Q, pak P je předchůdcem Q. Poté se dává řada skutečných skutečností, jako je John otcem Jim. Pokud je tedy položena otázka problému, zda je JohnJeffovi předchůdce, dostaneme odpověď „ano“, jak je uvedeno níže:
?- Ancestor (John, Jeff).
Ano
Pokud jsou zajímaví předci Joshua, pak program zobrazí všechny předky takto:
?- Ancestor (A, Joshua)
A = Jason
A = Jerry
A = Jim
A = John
Všimněte si, že v obou výše uvedených instancích program neřekl, jak provést hodnocení. Například to nenaznačovalo, zda začít u starší osoby a pracovat na mladší osobě nebo naopak. Rovněž výměny dílů, jak je uvedeno níže:
předchůdce (p, q):- předchůdce (R, Q), otec (p, r)
Nebylo by to v programu žádný rozdíl, protože obě tyto části na pravé straně musí být pravdivé, aby byla levá strana pravdivá.
Prologový jazyk se tak zaměřuje na vztahy a nikoli na to, jak problém vyřešit. Během provádění programu si Prolog vybuduje řadu pravého stavuMents, vytváření znalostní základny. Ve výše uvedeném příkladu by znalostní základna v žádném konkrétním pořadí neměla předchůdce (John, Jim), předchůdce (Jim, Jerry), předchůdce (John, Jerry), předchůdce (Jim, Jason), předchůdce (John, Jason) atd. Tato znalostní základna může pokračovat v budování, jak se program provádí, a lze ji efektivně prohledat, aby získal řešení. Provedení může používat paralelní zpracování, současné provádění více počítačů.
jazyk prolog se používá v řadě oblastí. Začalo to v systémech zaměřených na přirozené jazyky, jako je angličtina; Přirozený jazyk je jednou z oblastí umělé inteligence. Jazyk prolog se také používá v symbolické matematice, včetně algebry. Používá se při prokazování teorémů, v expertních systémech a v kontrolních systémech, mezi mnoha dalšími aplikacemi.