logo

Pirmosios eilės logika dirbtiniame intelekte

Teiginių logikos temoje matėme, kaip pateikti teiginius naudojant teiginių logiką. Deja, teiginių logikoje galime pateikti tik faktus, kurie yra teisingi arba klaidingi. PL nepakanka sudėtingiems sakiniams ar natūralios kalbos teiginiams pavaizduoti. Teiginių logika turi labai ribotą išraiškos galią. Apsvarstykite šį sakinį, kurio negalime pavaizduoti naudodami PL logiką.

kokie mėnesiai yra Q3
    „Kai kurie žmonės yra protingi“, arba „Sachinui patinka kriketas“.

Norint pateikti aukščiau pateiktus teiginius, nepakanka PL logikos, todėl mums reikėjo galingesnės logikos, pavyzdžiui, pirmosios eilės logikos.

Pirmos eilės logika:

  • Pirmosios eilės logika yra dar vienas dirbtinio intelekto žinių vaizdavimo būdas. Tai teiginių logikos pratęsimas.
  • FOL yra pakankamai išraiškingas, kad glaustai pavaizduotų natūralios kalbos teiginius.
  • Pirmosios eilės logika taip pat žinoma kaip Predikatų logika arba Pirmosios eilės predikatų logika . Pirmosios eilės logika yra galinga kalba, kuri lengviau sukuria informaciją apie objektus ir gali išreikšti ryšį tarp tų objektų.
  • Pirmosios eilės logika (kaip ir natūrali kalba) ne tik daro prielaidą, kad pasaulyje yra tokių faktų kaip teiginių logika, bet ir daro prielaidą, kad pasaulyje yra šie dalykai:
      Objektai:A, B, žmonės, skaičiai, spalvos, karai, teorijos, kvadratai, duobės, wumpus, ......
  • Santykiai: Tai gali būti vieningas ryšys, pavyzdžiui: raudona, apvali, yra šalia, arba n-bet koks ryšys, pavyzdžiui: sesuo, brolis, turi spalvą, yra tarpFunkcija:Tėvas, geriausias draugas, trečias kėlimas, pabaiga, ......
  • Pirmosios eilės logika, kaip natūrali kalba, taip pat turi dvi pagrindines dalis:
      Sintaksė
  • Semantika

    Pirmosios eilės logikos sintaksė:

    FOL sintaksė nustato, kuris simbolių rinkinys yra loginė pirmosios eilės logikos išraiška. Pagrindiniai pirmos eilės logikos sintaksiniai elementai yra simboliai. Teiginius rašome trumpąja raide FOL.

    Pagrindiniai pirmos eilės logikos elementai:

    Toliau pateikiami pagrindiniai FOL sintaksės elementai:

    Pastovus 1, 2, A, Jonas, Mumbajus, katė,...
    Kintamieji x, y, z, a, b,...
    Predikatai Brolis, tėvas, >,...
    Funkcija sqrt, Left LegOf, ....
    Jungtys ∧, ∨, ¬, ⇒, ⇔
    Lygybė ==
    Kiekintojas ∀, ∃

    Atominiai sakiniai:

    • Atominiai sakiniai yra patys pagrindiniai pirmos eilės logikos sakiniai. Šie sakiniai sudaromi iš predikatinio simbolio, po kurio yra skliaustas su terminų seka.
    • Atominius sakinius galime pavaizduoti kaip Predikatas (terminas1, terminas2, ......, terminas n) .

    Pavyzdys: Ravi ir Ajay yra broliai: => Broliai (Ravi, Ajay).
    Chinky yra katė: => katė (Chinky)
    .

    Sudėtingi sakiniai:

    • Sudėtingi sakiniai sudaromi jungiant atominius sakinius, naudojant jungtis.

    Pirmosios eilės loginius teiginius galima suskirstyti į dvi dalis:

      Tema:Tema yra pagrindinė teiginio dalis.Predikatas:Predikatas gali būti apibrėžtas kaip ryšys, kuris sakinyje sujungia du atomus.

    Apsvarstykite teiginį: „x yra sveikas skaičius“. , jis susideda iš dviejų dalių, pirmoji dalis x yra teiginio objektas, o antroji dalis „yra sveikas skaičius“ yra žinomas kaip predikatas.

    Pirmosios eilės logika dirbtiniame intelekte

    Pirmosios eilės logikos kvantoriai:

    • Kvantifikatorius yra kalbos elementas, generuojantis kiekybinį įvertinimą, o kiekybinis nustatymas nurodo egzemplioriaus kiekį diskurso visatoje.
    • Tai yra simboliai, leidžiantys nustatyti arba identifikuoti kintamojo diapazoną ir apimtį loginėje išraiškoje. Yra dviejų tipų kvantoriai:
        Universalus kvantorius (visiems, visiems, viskam)
    • Egzistencinis kvantorius (kai kuriems – bent vienas).

    Universalus kvantorius:

    Universalusis kvantorius yra loginio vaizdavimo simbolis, nurodantis, kad teiginys jo diapazone yra teisingas viskam arba kiekvienam konkretaus dalyko atvejams.

    Universalusis kvantorius vaizduojamas simboliu ∀, kuris primena apverstą A.

    Pastaba: universaliame kvantoriuje naudojame implikaciją „→“.

    Jei x yra kintamasis, tada ∀x skaitomas taip:

      Visiems x Už kiekvieną x Už kiekvieną x.

    Pavyzdys:

    Visi žmonės geria kavą.

    Leiskite kintamajam x, kuris nurodo katę, kad visus x būtų galima pavaizduoti UOD, kaip nurodyta toliau:

    java jungiklis tarpt
    Pirmosios eilės logika dirbtiniame intelekte

    ∀x vyras(x) → gėrimas (x, kava).

    Jis bus skaitomas taip: Yra visi x, kur x yra vyras, kuris geria kavą.

    Egzistencinis kvantorius:

    Egzistenciniai kvantoriai yra kiekybinių reikšmių tipas, išreiškiantis, kad teiginys jo taikymo sferoje yra teisingas bent vienam kažko atvejui.

    Jis žymimas loginiu operatoriumi ∃, kuris panašus į apverstą E. Kai jis naudojamas su predikatiniu kintamuoju, jis vadinamas egzistenciniu kvantoriumi.

    Pastaba: Egzistenciniame kvantoriuje visada naudojame AND arba jungtuko simbolį (∧).

    Jei x yra kintamasis, tai egzistencinis kvantorius bus ∃x arba ∃(x). Ir jis bus skaitomas taip:

      Yra „x“. Kai kuriems „x“. Bent vienam „x“.

    Pavyzdys:

    Kai kurie berniukai yra protingi.

    Pirmosios eilės logika dirbtiniame intelekte

    ∃x: berniukai (x) ∧ protingi (x)

    Jis bus skaitomas taip: Yra keletas x, kur x yra protingas berniukas.

    Taškai, kuriuos reikia atsiminti:

    • Pagrindinė universalaus kvantoriaus jungtis yra implikacija .
    • Pagrindinė egzistencinio kvantoriaus jungtis yra ir .

    Kvantifikatorių savybės:

    • Universaliame kvantoriuje ∀x∀y yra panašus į ∀y∀x.
    • Egzistenciniame kvantoriuje ∃x∃y yra panašus į ∃y∃x.
    • ∃x∀y nėra panašus į ∀y∃x.

    Kai kurie FOL, naudojant kvantorių, pavyzdžiai:

    žodyno iniciatorius c#

    1. Visi paukščiai skrenda.
    Šiame klausime predikatas yra ' musė (paukštis) .'
    Ir kadangi yra visi paukščiai, kurie skraido, tai bus pavaizduota taip.
    ∀x paukštis (x) → skristi (x) .

    2. Kiekvienas vyras gerbia savo tėvus.
    Šiame klausime predikatas yra ' pagarba (x, y),' kur x = vyras ir y = tėvas .
    Kadangi yra kiekvienas žmogus, vartosime ∀ ir jis bus pavaizduotas taip:
    ∀x vyras (x) → gerbia (x, tėvas) .

    3. Kai kurie berniukai žaidžia kriketą.
    Šiame klausime predikatas yra ' žaisti (x, y) ,' kur x = berniukai ir y = žaidimas. Kadangi yra keletas berniukų, mes naudosime ∃, ir jis bus pavaizduotas kaip :
    ∃x berniukai (x) → žaisti (x, kriketas) .

    4. Ne visiems mokiniams patinka ir matematika, ir gamtos mokslai.
    Šiame klausime predikatas yra ' kaip (x, y),' kur x = studentas, o y = dalykas .
    Kadangi yra ne visi studentai, tai mes naudosime ∀ su neigimu, taigi toks atstovavimas:
    ¬∀ (x) [ studentas(x) → patinka(x, matematika) ∧ patinka(x, mokslas)].

    5. Tik vienam mokiniui nepavyko matematikos.
    Šiame klausime predikatas yra ' nepavyko (x, y),' kur x = studentas ir y = dalykas .
    Kadangi yra tik vienas studentas, kuriam nepavyko matematikos, tai naudosime tokį atvaizdavimą:
    ∃(x) [ studentas (x) → neišlaikė (x, matematika) ∧∀ (y) [¬(x==y) ∧ studentas (y) → ¬nepavyko (x, matematika)] .

    Laisvieji ir susieti kintamieji:

    Kiekybininkai sąveikauja su kintamaisiais, kurie pasirodo tinkamu būdu. Pirmosios eilės logikoje yra dviejų tipų kintamieji, kurie pateikiami toliau:

    listnode java

    Laisvas kintamasis: Teigiama, kad kintamasis yra laisvas formulės kintamasis, jei jis atsiranda už kvantoriaus ribų.

    Pavyzdys: ∀x ∃(y)[P (x, y, z)], kur z yra laisvas kintamasis.

    Apribotas kintamasis: Sakoma, kad kintamasis yra apribotas formulės kintamasis, jei jis yra kvantoriaus srityje.

    Pavyzdys: ∀x [A (x) B( y)], čia x ir y yra susieti kintamieji.