Logické programovacie charakteristiky a príklady
- 3634
- 654
- Mgr. Pravoslav Mokroš
Ten Logické programovanie Je to programovacia paradigma, ktorá používa logické obvody namiesto iba matematických funkcií na kontrolu toho, ako sa uvádzajú fakty a pravidlá.
Namiesto starostlivo štruktúrovaného riadiaceho toku, ktorý diktuje, kedy sa má vykonať a ako vyhodnotiť hovory na funkcie alebo iné pokyny, sú logické pravidlá programu napísané ako logické klauzuly alebo predikáty.
Príklady logického programovania v prologu. Zdroj: Kuldeepsheoran1 - Screenshot, CC BY -SA 3.0, Wikimedia CommonsTento prístup, ktorý sa často používa v genetickom a evolučnom programovaní, vo všeobecnosti hovorí modelu, aký cieľ sa má dosiahnuť, namiesto toho, ako ho dosiahnuť.
Každé pravidlo obsahuje hlavičku a telo s formalizovanou logikou namiesto spustiteľnej matematickej funkcie. Napríklad „a je to pravda (hlava): ak sú C1, C2 a C3 pravdivé (telo)“. Fakty alebo výsledky sú vyjadrené bez tela, napríklad „a je pravda“.
Avšak s niektorými programovacími jazykmi, ako je prológ. Napríklad „na vyriešenie a pridanie C1, C2 a C3“.
[TOC]
Charakteristiky logického programovania
Logické programovanie sa podstatne líši od ostatných existujúcich programovacích stratégií. Namiesto pokynov pre počítač s programom sú nadviazané vzťahy medzi objektmi. Týmto spôsobom môže počítač zdôvodniť tieto vzťahy, a tak dosiahnuť logické riešenia.
V logickom programe existujú dve hlavné súbory kódu: fakty a pravidlá. Pravidlá sa vzťahujú na fakty s cieľom získať vedomosti o životnom prostredí.
Pravda a logická odpočet
Logické programy je možné dešifrovať prostredníctvom dvoch dôležitých pojmov: pravda a logický odpočet. Pravda prichádza, ak je výpočet v programe pravdivý alebo nie, pod implementáciou symbolov programu. Logická odpočet určuje, či logická doložka je dôsledkom programu.
Môže vám slúžiť: Typy aplikačného softvéruTieto pokyny sa budú vždy interpretovať ako logické vety a klauzuly, výsledkom jeho vykonávania je logický dôsledok výpočtov obsahujúcich.
Logika prvého poriadku
Je to odvetvie výrokovej logiky. Zvážte, či sú objekty pravdivé alebo nepravdivé z čiastočného hľadiska sveta, nazývanej doména. Logické programovanie je založené na zovšeobecnení logiky prvého riadku.
Táto logika sa skladá zo syntaxe a sémantiky. Syntax je formálny jazyk používaný na vyjadrenie konceptov. Na druhej strane, sémantika logických vzorcov prvého funkcie označuje, ako určiť skutočnú hodnotu akéhokoľvek vzorca.
Táto logika je založená na abecede a jazyku prvého okruhu, okrem súboru axiómov a pravidiel inferencie.
Klausová forma
Je to podskupina logiky prvého okruhu. Má normalizovanú formu, v ktorej je veta definovaná univerzálnym predponou alebo reťazcom univerzálnych kvantifikátorov a voľnou sadou kvantifikátorov klauzuly.
Pri žiadosti o konzultáciu z programu sa môže zohľadniť telo, ktorej hlavička sa zhoduje. Je to rovnaké ako uplatňovanie inferenčného pravidla v logike.
Ako priechod inferencie sa vyberú dve klauzuly, ktoré majú ako vlastnosť, ktorá obsahuje dilemu X (pozitívny doslovný) a druhá obsahuje dilemu ¬x (negatívny doslovný). Tieto dilemy sú známe ako doplnkové.
Z týchto dvoch počiatočných klauzúl je vytvorená nová rozhodnú klauzulu s použitím všetkých literálov, s výnimkou doplnkových.
Umela inteligencia
Logické programovanie je metodika, ktorá sa používa na hľadanie počítačov na odvodenie, pretože je užitočné reprezentovať vedomosti. Logika sa používa na reprezentáciu vedomostí a záverov na ich zvládnutie.
Môže vám slúžiť: NTICXLogika použitá na reprezentáciu vedomostí je formulár klauzuly. Používa sa, pretože logika prvého riadku je dobre pochopená a je schopná reprezentovať všetky výpočtové problémy.
Prolog je programovací jazyk, ktorý je založený na nápadoch logického programovania. Myšlienka prologu je, aby sa logika javila ako programovací jazyk.
Príklady logického programovania
Príklad 1
- Fakt: Rubí je mačka.
- Pravidlo: Všetky mačky majú zuby.
- Konzultácia: Rubí má zuby?
- Záver: Áno.
Pravidlo „všetky mačky majú zuby“ sa dá aplikovať na Rubí, pretože existuje skutočnosť, že „Rubí je mačka“. Tento príklad nie je napísaný so žiadnou syntaxou skutočného programovacieho jazyka.
Príklad 2
Tento príklad je možné napísať v Prologu za to, že je jedným z najznámejších logických programovacích jazykov:
- Žena (Alissa).
- muž (Bobby).
- muž (Carlos).
- Žena (Doris).
- Son_ (Doris, Carlos).
- Son_ (Carlos, Bobby).
- Son_ (Doris, Alissa).
- Otca_ (f, p):- muž (f), son_ (p, f).
Tento program je ťažké čítať, pretože prológ sa pozoruhodne líši od iných jazykov. Akákoľvek zložka kódu, ktorá sa podobá „ženskej (Alissa).„Je to skutočnosť.
Pravidlo je „Otca_ (f, p):- Muž (f), son_ (p, f)“. Symbol „:-„ je možné čítať ako „Je to pravda, ak“. Kapitálové písmená znamenajú, že premenné sa dajú použiť na akýkoľvek objekt, takže F môže znamenať Carlosa, Dorisa, Alissa alebo Bobby. Tento kód je možné preložiť ako:
- Alissa je žena.
- Bobby je muž.
- Carlos je muž.
- Doris je žena.
Môže vám slúžiť: výstupné zariadenia: Charakteristiky, aké sú použitie, typy, príklady- Doris je Carlosova dcéra.
- Carlos je syn Bobbyho.
- Doris je Alissina dcéra.
- „F je otec P“ je pravda, ak je f muž a ak je synom f.
Konzultácia
Predpokladajme, že sa chcete obrátiť na viac informácií. Môžete sa snažiť požiadať, aby ste pochádzali z toho, kto je otec Bobby s: ?- Otec_ (Bobby, x). Systém bude označovať nasledujúcu odpoveď: x = Carlos.
V tomto prípade sa deje vzťah, keď jednou z jeho hodnôt je premenná. To, čo urobil, bolo aplikovať rôzne objekty na tento vzťah, až kým jeden z nich nebol logicky solídny.
Carlosov jediný otec je Bobby a Bobby je muž. To spĺňalo pravidlo.„. Keď sa x rovná „carlos“, logika je solídna.
Ďalšie konzultácie
Ďalšie všeobecnejšie konzultácie je možné uskutočniť spoločnosti Prolog, vďaka čomu systém generuje viac výsledkov:
- ?- Otca_ (otec, dieťa).
- Otec = Bobby
- Dieťa = Carlos
- Otec = Carlos
- Dieťa
Ako bolo možné poznamenať, logické programovanie nevyžaduje informácie, že Alissa alebo Bobby sú ľudia, aby získali vedomosti o nich. V skutočnosti nie je potrebné naznačovať, že existuje koncept nazývaný osoba.
Vo väčšine negagických programovacích jazykov by sa tieto pojmy mali najprv definovať pred písaním programov, ktoré spracúvajú informácie o ľuďoch.
Odkazy
- Deep AI (2020). Logické programovanie. Prevzaté z: Deepai.orgán.
- Wikiversity (2020). Teória programovacích jazykov/programovania logiky. Prevzaté z: v.Vtáčka.orgán.
- Imperial College London (2006). Logické programovanie. Prevzaté z: doc.IC.Ac.Uk.
- Jia-huai vy (2020). Úvod do logického programummmm. University of Alberta. Prevzaté z: Eng.Ucy.Ac.Cy.
- C2 Wiki (2020). Logické programovanie. Prevzaté z: wiki.C2.com.
- « Vlastnosti, vzťahy a vzorce obdĺžnika, príklady
- Vlastnosti, vzťahy a vzorce Trapcio Isosceles, príklady »