Niekoľko príkladov reálnych projektov vyvinutých s použitím logických programovacích jazykov
-
Modelovanie životného prostredia
Pri simulácií zmien lesného porastu sa využíva množstvo komplexných matematických modelov. Autor tohoto projektu využil Prolog práve na vytváranie a správu matematických modelov.
Rovnice ktoré vytvárajú modely a submodely sú uložené v databáze Prologu. To neznamená len to, že rôzne modely môžu používať rovnaký zdrojový kód, ale taktiež modely môžu vznikať špecifikáciou ako existujúce submodely a rovnice interagujú.
Pri vkladaní nových rovníc do systémy, ten skontroluje ľavú stranu každej rovnice a pokúša sa nájsť zhodu v jeho databáze. Ak existuje spýta sa programátora, či chce použiť existujúcu verziu. Programátor potom môže preskúmať existujúci submodel alebo term, a ak je to potrebné zeditovať ho, a uložiť ho ako novú verziu. Ak taký term neexistuje v databáze je potrebné zadať fyzikálne jednotky jednotlivých premenných.
-
Identifikácia húb
Identifikácia húb je zdĺhavý a nákladný proces. Náklady sú veľké keďže často je potrebné nechať hubu rásť niekoľko dní aby sa dala identifikovať.
Vyvinutý systém s názvom Ident na napísaný v LPA Prologu kde huby a ich atribúty sú reprezentované ako množiny. Všetky informácie ktoré sú k dispozícií o danej vzorke sa môžu použiť ako atribúty ktoré vzorka vlastní. Týmto sa rýchlo redukuje množiny v ktorých sa môže nachádzať skúmaná huba. Pri použití Prologu vytvorenie tohoto systému bola vcelku ľahká úloha a taktiež čas potrebný na implementáciu bol vecou niekoľkých týždňov a nie mesiacov. Vytvorenie takéhoto systémy v jazyky nižšej úrovne ako napríklad C. by bolo podstatne náročnejšie.
-
Prideľovanie pracovných smien
Tento systém sa používa na rozdeľovanie smien podľa veľkého množstva definovaných pravidiel a obmedzení. Hlavnou výhodou systému je flexibilita. Šablóny pravidiel sa používajú na popísanie ako sa majú vyberať zamestnanci. Tí sú klasifikovaný podľa toho aké činnosti vykonávajú a ako sú kvalifikovaný.
Napríklad pri použití v nemocnici systém dokáže plánovať smeny tak, aby boli rozdelené spravodlivo. Taktiež zabezpečiť optimálne rozloženie expertov medzi smenami.
-
Rozoznávanie obrazu
Profssor Bruce Batchelor sa venuje výskumu v oblasti "strojového videnia" na Welskej univerzite v Cardiffe. Pracuje na systéme, ktorý spája hardvérovo založené spracovanie obrazu s LPA MacProlog-om. Cieľom práce je vytvoriť inteligentný systém na spracovanie obrazu pre komerčné účely ako napríklad dozor nad prevádzkou a ovládanie robotov.
Väčšina potravinárskych produktov, ako napríklad zákusky, cukrovinky majú špecifikáciu často vyjadrenú v metrickej a slovno-opisnej forme, ktorá opisuje ako majú vyzerať. Prolog v tomto prípade zjednodušuje implementáciu interpreta jazyka používaného v dozorných systémoch. Systém potom dokáže rozoznať objekt po zadaní špecifikácie a nepotrebuje presný postup kontroly.
Tento systém sa už využíva v praxi na riadenie rôznych robotických zariadení. Bol ďalej rozšírený o subsystém rozoznávania hlasu.
-
Plánovanie satelitného vysielania
Keďže satelitné prenosové kanály sú veľmi drahé dôležité je plánovanie dátových prenosov na satelitných linkách. Zákazníci majú rôzne požiadavky na prenosový kanál, niektorí potrebujú prenos v reálnom čase (audio alebo video) iným stačí aby ich dáta boli prenesené neskôr. Systém napísaný v prologu dokáže flexibilne vytvárať plán prenosu údajov podľa rôznych meniacich sa požiadaviek (čas prenosu, typ údajov, dĺžka prenosu, priorita, ...)
-
Systém predaja okien a dverí
Firma Weather Shield, je jeden z vedúcich výrobcov okien, dverí v USA. Chceli ponúknuť predajcom, dodávateľom a ostatným zákazníkom systém, ktorý by im pomohol vybrať správne okná/dvere podľa ich požiadaviek a na základne ich výberu stanoviť cenu a vytvoriť objednávku. Problém vyriešili tak, že klienti dostanú CD-ROM sa programom napísaným vo VB. Tento sa pripojí cez internet na ich server, kde sú všetky údaje o produktoch uložené ako znalosti. Tieto znalosti sú vyjadrené ako logické vzťahy v Prologu. Zákaznícky softvér potom posiela serveru požiadavky, ktorý ich vyhodnocuje a posiala odpovede naspäť.