Deduktivní jazyk - Deductive language - Wikipedia
Tento článek obsahuje a seznam doporučení, související čtení nebo externí odkazy, ale jeho zdroje zůstávají nejasné, protože mu chybí vložené citace.Říjen 2019) (Zjistěte, jak a kdy odstranit tuto zprávu šablony) ( |
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
- J. M. Foster a E. W. Elcock. ABSYS 1: Inkrementální kompilátor pro tvrzení: úvod, Machine Intelligence 4, Edinburgh U Press, 1969, str. 423–429
- Cordell Green. Aplikace věty prokazující řešení problémů IJCAI 1969.
- Cordell Green, Absolvent střediska umělé inteligence SRI International, vyvoláno 12/09/14.
- Robert Kowalski a Donald a Kuehner, Lineární rozlišení s funkcí výběru Artificial Intelligence, sv. 2, 1971, s. 227–60.
- Robert Kowalski Predikátová logika jako programovací jazyk Memo 70, Katedra umělé inteligence, Edinburgh University. 1973. Také v P
Kategorie: ProgramováníDatabáze