logo

Logica de ordinul întâi în inteligența artificială

În subiectul logicii propoziționale, am văzut cum să reprezentați enunțuri folosind logica propozițională. Dar, din păcate, în logica propozițională, putem reprezenta doar faptele, care sunt fie adevărate, fie false. PL nu este suficient pentru a reprezenta propozițiile complexe sau enunțurile în limbaj natural. Logica propozițională are o putere expresivă foarte limitată. Luați în considerare următoarea propoziție, pe care nu o putem reprezenta folosind logica PL.

if statement java
    „Unii oameni sunt inteligenți”, sau — Lui Sachin îi place greierul.

Pentru a reprezenta afirmațiile de mai sus, logica PL nu este suficientă, așa că am avut nevoie de o logică mai puternică, cum ar fi logica de ordinul întâi.

Logica de ordinul întâi:

  • Logica de ordinul întâi este o altă modalitate de reprezentare a cunoștințelor în inteligența artificială. Este o extensie a logicii propoziționale.
  • FOL este suficient de expresiv pentru a reprezenta enunțurile limbajului natural într-un mod concis.
  • Logica de ordinul întâi este cunoscută și ca Logica predicatelor sau Logica predicatelor de ordinul întâi . Logica de ordinul întâi este un limbaj puternic care dezvoltă informații despre obiecte într-un mod mai ușor și poate exprima, de asemenea, relația dintre acele obiecte.
  • Logica de ordinul întâi (precum limbajul natural) nu presupune doar că lumea conține fapte precum logica propozițională, ci presupune și următoarele lucruri din lume:
      Obiecte:A, B, oameni, numere, culori, războaie, teorii, pătrate, gropi, wumpus, ......
  • Relaţii: Poate fi o relație unară, cum ar fi: roșu, rotund, este adiacent, sau n-orice relație cum ar fi: sora lui, fratele lui, are culoare, intervineFuncţie:Tatăl, cel mai bun prieten, a treia repriză a, sfârșitul, ......
  • Ca limbaj natural, logica de ordinul întâi are, de asemenea, două părți principale:
      Sintaxă
  • Semantică

    Sintaxa logicii de ordinul întâi:

    Sintaxa FOL determină ce colecție de simboluri este o expresie logică în logica de ordinul întâi. Elementele sintactice de bază ale logicii de ordinul întâi sunt simbolurile. Scriem enunțuri în notație scurtă în FOL.

    Elemente de bază ale logicii de ordinul întâi:

    Următoarele sunt elementele de bază ale sintaxei FOL:

    Constant 1, 2, A, John, Mumbai, pisică,....
    Variabile x, y, z, a, b,....
    Predicate Frate, Tată, >,....
    Funcţie sqrt, LeftLegOf, ....
    Conjunctive ∧, ∨, ¬, ⇒, ⇔
    Egalitatea ==
    Cuantificator ∀, ∃

    Propoziții atomice:

    • Propozițiile atomice sunt cele mai elementare propoziții ale logicii de ordinul întâi. Aceste propoziții sunt formate dintr-un simbol predicat urmat de o paranteză cu o succesiune de termeni.
    • Putem reprezenta propoziții atomice ca Predicat (termenul 1, termenul 2, ......, termenul n) .

    Exemplu: Ravi și Ajay sunt frați: => Frați (Ravi, Ajay).
    Chinky este o pisică: => pisica (Chinky)
    .

    Propoziții complexe:

    • Propozițiile complexe se formează prin combinarea propozițiilor atomice folosind conjunctive.

    Instrucțiunile logice de ordinul întâi pot fi împărțite în două părți:

      Subiect:Subiectul este partea principală a enunțului.Predicat:Un predicat poate fi definit ca o relație, care leagă doi atomi împreună într-o declarație.

    Luați în considerare afirmația: „x este un număr întreg”. , este format din două părți, prima parte x este subiectul enunțului și a doua parte „este un număr întreg” este cunoscută ca predicat.

    Logica de ordinul întâi în inteligența artificială

    Cuantificatori în logica de ordinul întâi:

    • Un cuantificator este un element de limbaj care generează cuantificare, iar cuantificarea specifică cantitatea de specimen din universul discursului.
    • Acestea sunt simbolurile care permit determinarea sau identificarea domeniului și domeniului variabilei în expresia logică. Există două tipuri de cuantificatori:
        Cuantificator universal, (pentru toți, pentru toată lumea, pentru toate)
    • Cuantificator existențial, (pentru unii, cel puțin unul).

    Cuantificator universal:

    Cuantificatorul universal este un simbol al reprezentării logice, care specifică faptul că afirmația din intervalul său este adevărată pentru orice sau pentru fiecare instanță a unui anumit lucru.

    listă dublu legată

    Cuantificatorul universal este reprezentat printr-un simbol ∀, care seamănă cu un A inversat.

    Notă: În cuantificatorul universal folosim implicația „→”.

    Dacă x este o variabilă, atunci ∀x se citește ca:

      Pentru toate x Pentru fiecare x Pentru fiecare x.

    Exemplu:

    Toți oamenii beau cafea.

    Fie o variabilă x care se referă la o pisică, astfel încât toate x să poată fi reprezentate în UOD după cum urmează:

    Logica de ordinul întâi în inteligența artificială

    ∀x om(x) → băutură (x, cafea).

    Se va citi astfel: Sunt toate x unde x este un om care bea cafea.

    Cuantificator existential:

    Cuantificatorii existențiali sunt tipul de cuantificatori, care exprimă faptul că afirmația din domeniul său de aplicare este adevărată pentru cel puțin o instanță a ceva.

    Este notat cu operatorul logic ∃, care seamănă cu E inversat. Când este folosit cu o variabilă predicată, atunci este numit cuantificator existențial.

    Notă: În cuantificatorul existențial folosim întotdeauna SI sau simbolul Conjuncție (∧).

    Dacă x este o variabilă, atunci cuantificatorul existențial va fi ∃x sau ∃(x). Și se va citi astfel:

    prinde și încearcă java
      Există un „x”. Pentru unele „x”. Pentru cel puțin un „x”.

    Exemplu:

    Unii băieți sunt inteligenți.

    Logica de ordinul întâi în inteligența artificială

    ∃x: băieți(x) ∧ inteligent(x)

    Se va citi astfel: Există niște x unde x este un băiat inteligent.

    Puncte de reținut:

    • Conectivul principal pentru cuantificatorul universal este implicație .
    • Conectivul principal pentru cuantificatorul existențial este si .

    Proprietățile cuantificatorilor:

    • În cuantificatorul universal, ∀x∀y este similar cu ∀y∀x.
    • În cuantificatorul existențial, ∃x∃y este similar cu ∃y∃x.
    • ∃x∀y nu este similar cu ∀y∃x.

    Câteva exemple de FOL folosind cuantificator:

    1. Toate păsările zboară.
    În această întrebare, predicatul este „ zbura (pasare) .'
    Și din moment ce sunt toate păsările care zboară, acesta va fi reprezentat după cum urmează.
    ∀x pasăre(x) →zbură(x) .

    2. Fiecare bărbat își respectă părintele.
    În această întrebare, predicatul este „ respect(x, y),' unde x=om și y= părinte .
    Deoarece există fiecare om, se va folosi ∀ și va fi reprezentat după cum urmează:
    ∀x om(x) → respectă (x, părinte) .

    3. Unii băieți joacă cricket.
    În această întrebare, predicatul este „ juca (x, y) ,' unde x= băieți și y= joc. Din moment ce sunt niște băieți, vom folosi ∃, iar acesta va fi reprezentat ca :
    ∃x băieți(x) → joacă(x, cricket) .

    4. Nu tuturor elevilor le plac atât Matematica, cât și Știința.
    În această întrebare, predicatul este „ like(x, y),' unde x= student și y= subiect .
    Deoarece nu sunt toți studenții, vom folosi ∀ cu negație, deci următoarea reprezentare pentru aceasta:
    ¬∀ (x) [ elev(x) → ca(x, Matematică) ∧ ca(x, Știință)].

    5. Doar un elev a picat la Matematică.
    În această întrebare, predicatul este „ eșuat(x, y),' unde x= student și y= subiect .
    Deoarece există un singur elev care a picat la Matematică, vom folosi următoarea reprezentare pentru aceasta:
    ∃(x) [ elev(x) → nereușit (x, Matematică) ∧∀ (y) [¬(x==y) ∧ elev(y) → ¬eșuat (x, Matematică)] .

    t flip flop

    Variabile libere și legate:

    Cuantificatorii interacționează cu variabilele care apar într-un mod adecvat. Există două tipuri de variabile în logica de ordinul întâi, care sunt prezentate mai jos:

    Variabilă liberă: Se spune că o variabilă este o variabilă liberă într-o formulă dacă apare în afara domeniului cuantificatorului.

    Exemplu: ∀x ∃(y)[P (x, y, z)], unde z este o variabilă liberă.

    Variabilă legată: Se spune că o variabilă este o variabilă legată într-o formulă dacă apare în domeniul de aplicare al cuantificatorului.

    Exemplu: ∀x [A (x) B( y)], aici x și y sunt variabilele legate.