Deduktivní jazyk - Deductive language - Wikipedia

A deduktivní jazyk je počítač programovací jazyk ve kterém je program souborem predikátů („faktů“) a pravidel, která je spojují. Takový jazyk se používá k vytváření znalostní systémy nebo expertní systémy který může odvodit odpovědi na problémové skupiny použitím pravidel na fakta, která dostali. Příkladem deduktivního jazyka je Prolog, nebo jeho bratranec s databázovým dotazem, Datalog.

Dějiny

Jak název napovídá, deduktivní jazyky mají kořeny v principech deduktivního uvažování; dělat závěry na základě současných znalostí. První doporučení použít doloženou formu logiky pro reprezentaci počítačových programů vydal Cordell Green (1969) na Stanford Research Institute (nyní SRI International ). Tuto myšlenku lze také spojit zpět s bojem mezi procedurální a deklarativní reprezentací informací v systémech rané umělé inteligence. Deduktivní jazyky a jejich použití v systému Windows logické programování lze také datovat do stejného roku, kdy představili Foster a Elcock Absys, první deduktivní / logický programovací jazyk. Krátce poté byl v roce 1972 představen první systém Prolog Colmerauer prostřednictvím spolupráce s Robert Kowalski.

Součásti

Komponenty deduktivního jazyka jsou systémem formální logika a a znalostní báze na které se logika použije.

Formální logika

Formální logika je studium závěrů, pokud jde o formální obsah. Charakteristickým rysem formální a neformální logiky je, že v prvním případě logické pravidlo aplikované na obsah není specifické pro situaci. Zákony platí bez ohledu na změnu kontextu. Ačkoli logika prvního řádu je popsán v níže uvedeném příkladu k prokázání použití deduktivního jazyka, není nařízen žádný formální systém a použití konkrétního systému je definováno v pravidlech nebo gramatice jazyka.

Jako vstup vezme predikát jakýkoli objekt v zájmové doméně a vydá jednu ze dvou booleovských hodnot: true nebo false. Zvažte například věty „Barack Obama je 44. prezidentem“ a „Pokud dnes prší, přinesu deštník“. První je výrok s přidruženou hodnotou pravdy. Druhým je podmíněné prohlášení opírající se o hodnotu nějakého jiného příkazu. Kteroukoli z těchto vět lze rozdělit na predikáty, které lze porovnat a vytvořit znalostní základ deduktivního jazyka.

Proměnné jako „Barack Obama“ nebo „prezident“ lze navíc kvantifikovat. Vezměte například výraz „Barack Obama“ jako proměnnou „x“. Ve větě „Existuje takové„ x “, že pokud„ x “je prezident, pak„ x “je vrchní velitel.“ Toto je příklad existenčního kvantifikátoru v logice prvního řádu. Vezměte „prezident“ jako proměnnou „y“. Ve větě „Pro každé„ y “je„ y “vůdcem svého národa.“ Toto je příklad univerzálního kvantifikátoru.

Znalostní báze

Soubor „faktů“ nebo predikátů a proměnných tvoří znalostní základnu deduktivního jazyka. V závislosti na jazyce může pořadí deklarace těchto predikátů v rámci znalostní báze ovlivnit výsledek použití logických pravidel. Po uplatnění určitých „pravidel“ nebo závěrů lze do znalostní báze přidat nové predikáty. Jakmile jsou zjištěna nebo přidána nová fakta, tvoří základ pro nové závěry. Jako jádro raných expertních systémů poskytovaly znalostní základny více informací než databáze systémy umělé inteligence, které mohou činit rozhodnutí jako odborný člověk. Obsahovaly strukturovaná data s třídami, podtřídami a instancemi.

Prolog

Prolog je příkladem deduktivního, deklarativního jazyka, který aplikuje logiku prvního řádu na znalostní základnu. Ke spuštění programu v Prologu je položen dotaz a je založen na odvozovací stroj a konkrétní fakta ve znalostní bázi, je vrácen výsledek. Výsledkem může být cokoli vhodného, ​​od nového vztahu nebo predikátu, k literálu, jako je například Boolean (true / false), v závislosti na enginu a typový systém.

Reference

Kategorie: ProgramováníDatabáze