Loogiset ohjelmointiominaisuudet ja esimerkit

Loogiset ohjelmointiominaisuudet ja esimerkit

Se Looginen ohjelmointi Se on ohjelmointiparadigma, joka käyttää loogisia piirejä vain matemaattisten toimintojen sijasta hallitakseen tosiasiat ja säännöt esitetään.

Huolellisesti jäsennellyn ohjausvirtauksen sijasta, joka määrää, milloin suoritetaan ja kuinka arvioida puheluita toimintoihin tai muihin ohjeisiin, ohjelman loogiset säännöt on kirjoitettu logiikkalausekkeiksi tai predikateiksi.

Esimerkkejä loogisesta ohjelmoinnista prologissa. Lähde: kirjoittanut Kuldeepheoran1 - kuvakaappaus, cc by -sa 3.0, Wikimedia Commons

Tämä lähestymistapa, jota käytetään usein geneettisessä ja evoluutio -ohjelmoinnissa, kertoo yleensä mallin, mitä tavoitetta saavutetaan, sen sijaan, kuinka se saavutetaan.

Jokainen sääntö sisältää otsikon ja kehon, jolla on virallistettu logiikka suoritettavan matemaattisen toiminnon sijasta. Esimerkiksi "ja se on totta (päätä): Jos C1, C2 ja C3 ovat totta (runko)". Tosiasiat tai tulokset ilmaistaan ​​ilman vartaloa, kuten "ja on totta".

Joillakin ohjelmointikielillä, kuten prologilla. Esimerkiksi "C1: n, C2: n ja C3: n ratkaisemiseksi ja lisäämiseksi".

[TOC]

Loogisen ohjelmoinnin ominaisuudet

Looginen ohjelmointi on huomattavasti erilainen kuin muut olemassa olevat ohjelmointistrategiat. Ohjelman ohjeiden sijasta ohjelman kanssa objektien väliset suhteet muodostetaan. Tällä tavoin tietokone voi perustella nämä suhteet ja saavuttaa siten loogiset ratkaisut.

Loogisessa ohjelmassa on kaksi pääkoodisarjaa: tosiasiat ja säännöt. Sääntöjä sovelletaan tosiseikkoihin, jotta saadaan tietoa ympäristöstä.

Totuus ja looginen vähennys

Loogiset ohjelmat voidaan purkaa kahdella tärkeällä käsitteellä: totuus ja looginen vähennys. Totuus tulee, jos ohjelman laskelma on totta vai ei, ohjelman symbolien toteuttamisen yhteydessä. Looginen vähennys määrittelee, onko looginen lause ohjelman seurausta.

Voi palvella sinua: sovellusohjelmistotyypit

Nämä ohjeet tulkitaan aina loogisiksi lauseiksi ja lausekkeiksi, ja sen suorittamisen seurauksena on looginen seuraus sisältävistä laskelmista.

Ensimmäisen tilauksen logiikka

Se on ehdotuslogiikan haara. Mieti, ovatko esineet totta vai vääriä maailman osittaisesta näkökulmasta, nimeltään Domain. Looginen ohjelmointi perustuu ensimmäisen järjestyksen logiikan yleistykseen.

Tämä logiikka koostuu syntaksista ja semantiikasta. Syntaksi on muodollinen kieli, jota käytetään käsitteiden ilmaisemiseen. Toisaalta ensimmäisen järjestyksen logiikkakaavojen semantiikka osoittaa, kuinka minkä tahansa kaavan todellinen arvo määritetään.

Tämä logiikka perustuu aakkosiin ja ensimmäisen järjestyksen kieleen, aksioomien ja päätelmäsääntöjen lisäksi.

Clausal -muoto

Se on ensimmäisen tilauksen logiikan osajoukko. Sillä on normalisoitu muoto, jossa lause määritellään yleismaailmallisten kvantifioijien yleisellä etuliitteellä tai ketjulla, ja vapaasti lausekkeiden kvantifioijia.

Pyydettäessä neuvottelua ohjelmasta, sen lausekkeen kokonaisuus, jonka otsikko voi olla samanaikainen. Tämä on sama kuin päätelmäsäännön soveltaminen logiikassa.

Päätelmän läpäisynä valitaan kaksi lauseketta, joilla on ominaisuus, joka sisältää X -dilemman (positiivinen kirjaimellinen) ja toinen sisältää dilemman ¬x (negatiivinen kirjaimellinen). Nämä dilemma tunnetaan täydentävänä.

Näistä kahdesta alkuperäisestä lausekkeesta rakennetaan uusi resoloiva lause käyttämällä kaikkia kirjaimia, paitsi täydentäviä lauseita.

Tekoäly

Looginen ohjelmointi on metodologia, jota käytetään tietokoneiden etsimiseen päättäväiseksi, koska tietoa on hyödyllistä edustaa. Logiikkaa käytetään edustamaan tietämystä ja päätelmää sen käsittelemiseksi.

Voi palvella sinua: NTICX

Tietojen edustamiseen käytetty logiikka on lauseke. Sitä käytetään, koska ensimmäisen järjestyksen logiikka ymmärretään hyvin ja pystyy edustamaan kaikkia laskennallisia ongelmia.

Prolog on ohjelmointikieli, joka perustuu loogisiin ohjelmointiideoihin. Prologin idea on saada logiikka näyttämään ohjelmointikieltä.

Loogiset ohjelmointesimerkit

Esimerkki 1

- Fakta: Rubí on kissa.

- Sääntö: Kaikilla kissoilla on hampaita.

- Kuuleminen: Rubílla on hampaita?

- Johtopäätös: Kyllä.

Sääntöä "kaikilla kissoilla on hampaita" voidaan soveltaa Rubílle, koska on tosiasia, joka sanoo "Rubí on kissa". Tätä esimerkkiä ei ole kirjoitettu millään todellisen ohjelmointikielen syntaksilla.

Esimerkki 2

Tämä esimerkki voidaan kirjoittaa prologissa, koska se on yksi tunnetuimmista loogisista ohjelmointikielistä:

- Nainen (Alissa).

- Mies (Bobby).

- uros (Carlos).

- Nainen (Doris).

- SON_ (Doris, Carlos).

- SON_ (Carlos, Bobby).

- SON_ (Doris, Alissa).

- Isä_ (f, p):- uros (f), poika_ (p, f).

Tätä ohjelmaa on vaikea lukea, koska prolog on huomattavasti erilainen kuin muut kielet. Mikä tahansa koodin komponentti, joka muistuttaa ”naista (alissa)." se on tosiasia.

Sääntö on "isä_ (f, p):- uros (f), poika_ (p, f)". Symboli ":-" voidaan lukea nimellä "Se on totta, jos". Lämpöiset kirjaimet tarkoittavat, että muuttujia voidaan soveltaa mihin tahansa objektiin, joten F voi tarkoittaa Carlosia, Dorisia, Alissa tai Bobby. Tämä koodi voidaan kääntää seuraavasti:

- Alissa on nainen.

- Bobby on mies.

- Carlos on mies.

- Doris on nainen.

Se voi palvella sinua: lähtölaitteet: Ominaisuudet, mitkä ovat käyttö, tyypit, esimerkit

- Doris on Carlosin tytär.

- Carlos on Bobbyn poika.

- Doris on Alissan tytär.

- "F on P: n isä" on totta, jos f on mies ja jos p on F: n poika.

Kuuleminen

Oletetaan, että haluat kysyä ohjelmasta saadaksesi lisätietoja. Voit pyrkiä pyytämään, kenen kanssa on isä Bobby: ?- Isä_ (Bobby, x). Järjestelmä osoittaa seuraavan vastauksen: x = Carlos.

Tässä tapauksessa tapahtuu suhde, jossa yksi sen arvoista on muuttuja. Se mitä hän teki, oli soveltaa erilaisia ​​esineitä tähän suhteeseen, kunnes yksi niistä oli loogisesti vankka.

Carlosin ainoa isä on Bobby, ja Bobby on mies. Tämä täytti säännön.". Kun X on yhtä suuri kuin "Carlos", logiikka on kiinteä.

Muut neuvottelut

Muita yleisempiä neuvotteluja voidaan tehdä prologille, jotka saavat järjestelmän tuottamaan useita tuloksia:

- ?- Isä_ (isä, lapsi).

- Isä = Bobby

- Lapsi = Carlos

- Isä = Carlos

- Lapsi = Doris

Kuten voidaan havaita, looginen ohjelmointi ei vaadi tietoja siitä, että Alissa tai Bobby ovat ihmisiä hankkimaan heistä tietoa. Itse asiassa ei ole tarpeen osoittaa, että käsite on nimeltään henkilö.

Useimmissa ei -loogisissa ohjelmointikielissä nämä käsitteet tulisi ensin määritellä ennen ohjelmien kirjoittamista, jotka käsittelevät tietoja ihmisistä.

Viitteet

  1. Syvä AI (2020). Logiikan ohjelmointi. Otettu: Deepai.org.
  2. Wikiversity (2020). Ohjelmointikielten teoria/logiikan ohjelmointi. Otettu: sisään.Wikiversiteetti.org.
  3. Imperial College London (2006). Logiikan ohjelmointi. Otettu: Doc.IC.Ac.Yhdistynyt kuningaskunta.
  4. Jia-Huai You (2020). Johdatus logiikkaohjelmaan. Albertan yliopisto. Otettu: Eng.Ucy.Ac.Kierto.
  5. C2 Wiki (2020). Logiikan ohjelmointi. Otettu: wiki.C2.com.