logo

Logika prvog reda u umjetnoj inteligenciji

U temi Propozicijska logika, vidjeli smo kako predstaviti iskaze pomoću iskazne logike. Ali nažalost, u propozicijskoj logici možemo prikazati samo činjenice, koje su istinite ili lažne. PL nije dovoljan za predstavljanje složenih rečenica ili iskaza prirodnog jezika. Propozicijska logika ima vrlo ograničenu izražajnu moć. Razmotrite sljedeću rečenicu, koju ne možemo prikazati pomoću PL logike.

višenitnost u Javi
    'Neki ljudi su inteligentni', ili 'Sachin voli kriket.'

Za predstavljanje gornjih izjava, PL logika nije dovoljna, pa smo trebali neku moćniju logiku, kao što je logika prvog reda.

Logika prvog reda:

  • Logika prvog reda je još jedan način reprezentacije znanja u umjetnoj inteligenciji. To je proširenje iskazne logike.
  • FOL je dovoljno ekspresivan da na sažet način predstavi izjave prirodnog jezika.
  • Logika prvog reda je također poznata kao Predikatna logika ili predikatna logika prvog reda . Logika prvog reda moćan je jezik koji razvija informacije o objektima na lakši način i također može izraziti odnos između tih objekata.
  • Logika prvog reda (poput prirodnog jezika) ne samo da pretpostavlja da svijet sadrži činjenice poput propozicione logike, već također pretpostavlja sljedeće stvari u svijetu:
      Objekti:A, B, ljudi, brojevi, boje, ratovi, teorije, kvadrati, jame, wumpus, ......
  • Odnosi: To može biti unarna relacija kao što je: crvena, okrugla, susjedna je, ili n-bilo koja relacija kao što je: sestra od, brat od, ima boju, dolazi izmeđuFunkcija:Otac, najbolji prijatelj, treća izmjena, kraj, ......
  • Kao prirodni jezik, logika prvog reda također ima dva glavna dijela:
      Sintaksa
  • Semantika

    Sintaksa logike prvog reda:

    Sintaksa FOL-a određuje koja je zbirka simbola logički izraz u logici prvog reda. Osnovni sintaktički elementi logike prvog reda su simboli. Izjave pišemo u skraćenom zapisu u FOL-u.

    Osnovni elementi logike prvog reda:

    Slijede osnovni elementi FOL sintakse:

    Konstantno 1, 2, A, John, Mumbai, mačka,....
    Varijable x, y, z, a, b,....
    Predikati Brat, otac, >,....
    Funkcija sqrt, LijevaKrakaNa, ....
    Veznici ∧, ∨, ¬, ⇒, ⇔
    Jednakost ==
    Kvantifikator ∀, ∃

    Atomske rečenice:

    • Atomske rečenice su najosnovnije rečenice logike prvog reda. Te su rečenice sastavljene od simbola predikata iza kojeg slijedi zagrada s nizom pojmova.
    • Atomske rečenice možemo prikazati kao Predikat (pojam1, pojam2, ......, pojam n) .

    Primjer: Ravi i Ajay su braća: => Braća(Ravi, Ajay).
    Chinky je mačka: => mačka (Chinky)
    .

    Složene rečenice:

    • Složene rečenice nastaju spajanjem atomskih rečenica pomoću veznika.

    Logičke izjave prvog reda mogu se podijeliti u dva dijela:

      Predmet:Predmet je glavni dio izjave.Predikat:Predikat se može definirati kao relacija koja povezuje dva atoma zajedno u iskazu.

    Razmotrite izjavu: 'x je cijeli broj.' , sastoji se od dva dijela, prvi dio x je subjekt iskaza, a drugi dio 'je cijeli broj,' poznat je kao predikat.

    Logika prvog reda u umjetnoj inteligenciji

    Kvantifikatori u logici prvog reda:

    • Kvantifikator je jezični element koji generira kvantifikaciju, a kvantifikacija specificira kvantitetu primjerka u univerzumu diskursa.
    • Ovo su simboli koji dopuštaju određivanje ili identificiranje raspona i opsega varijable u logičkom izrazu. Postoje dvije vrste kvantifikatora:
        Univerzalni kvantifikator, (za sve, svakoga, sve)
    • Egzistencijalni kvantifikator, (za neke barem jedan).

    Univerzalni kvantifikator:

    Univerzalni kvantifikator je simbol logičke reprezentacije, koji specificira da je iskaz unutar njegovog raspona istinit za sve ili svaki primjerak određene stvari.

    Univerzalni kvantifikator predstavljen je simbolom ∀, koji podsjeća na obrnuto A.

    int za char

    Napomena: U univerzalnom kvantifikatoru koristimo implikaciju '→'.

    Ako je x varijabla, tada se ∀x čita kao:

      Za sve x Za svaki x Za svaki x.

    Primjer:

    Svi ljudi piju kavu.

    Neka varijabla x koja se odnosi na mačku tako da svi x mogu biti predstavljeni u UOD kao ispod:

    Logika prvog reda u umjetnoj inteligenciji

    ∀x čovjek(x) → piće (x, kava).

    Čitat će se kao: Postoje svi x gdje je x čovjek koji pije kavu.

    Egzistencijalni kvantifikator:

    Egzistencijalni kvantifikatori su vrsta kvantifikatora koji izražavaju da je iskaz unutar njegovog opsega istinit za barem jednu instancu nečega.

    Označava se logičkim operatorom ∃, koji sliči obrnutom E. Kada se koristi s predikatnom varijablom, tada se naziva egzistencijalnim kvantifikatorom.

    Napomena: U egzistencijalnom kvantifikatoru uvijek koristimo I ili simbol konjunkcije (∧).

    Ako je x varijabla, tada će egzistencijalni kvantifikator biti ∃x ili ∃(x). I čitat će se kao:

      Postoji 'x'. Za neki 'x.' Za barem jedan 'x.'

    Primjer:

    Neki dječaci su inteligentni.

    javafx tutorial
    Logika prvog reda u umjetnoj inteligenciji

    ∃x: dječaci(x) ∧ inteligentni(x)

    Čitat će se kao: Ima nekih x gdje je x dječak koji je inteligentan.

    Točke koje treba zapamtiti:

    • Glavni veznik za univerzalni kvantifikator je implikacija .
    • Glavni veznik za egzistencijalni kvantifikator je i .

    Svojstva kvantifikatora:

    • U univerzalnom kvantifikatoru, ∀x∀y je sličan ∀y∀x.
    • U egzistencijalnom kvantifikatoru, ∃x∃y je sličan ∃y∃x.
    • ∃x∀y nije sličan ∀y∃x.

    Neki primjeri FOL-a koji koristi kvantifikator:

    1. Sve ptice lete.
    U ovom pitanju predikat je ' letjeti (ptica) .'
    A budući da postoje sve ptice koje lete, to će biti predstavljeno na sljedeći način.
    ∀x ptica(x) →muha(x) .

    2. Svaki čovjek poštuje svog roditelja.
    U ovom pitanju, predikat je ' poštovanje(x, y),' gdje je x=čovjek, a y= roditelj .
    Budući da postoji svaki čovjek, koristit ćemo ∀, a to će biti predstavljeno na sljedeći način:
    ∀x čovjek(x) → poštuje (x, roditelj) .

    3. Neki dječaci igraju kriket.
    U ovom pitanju, predikat je ' igrati (x, y) ,' gdje je x= dječaci, a y= igra. Budući da ima nekoliko dječaka, koristit ćemo se ∃, a bit će predstavljen kao :
    ∃x dječaci(x) → igra(x, kriket) .

    4. Ne vole svi učenici i matematiku i prirodoslovlje.
    U ovom pitanju, predikat je ' like(x, y),' gdje je x= student, a y= predmet .
    Budući da nema svih učenika, koristit ćemo se ∀ s negacijom, dakle sljedeći prikaz za ovo:
    ¬∀ (x) [ student(x) → like(x, Matematika) ∧ like(x, Science)].

    5. Samo je jedan učenik pao iz matematike.
    U ovom pitanju, predikat je ' nije uspio(x, y),' gdje je x= učenik, a y= predmet .
    Budući da postoji samo jedan učenik koji je pao u matematici, koristit ćemo sljedeći prikaz za ovo:
    ∃(x) [ student(x) → pao (x, matematika) ∧∀ (y) [¬(x==y) ∧ student(y) → ¬pao (x, matematika)] .

    Slobodne i vezane varijable:

    Kvantifikatori su u interakciji s varijablama koje se pojavljuju na odgovarajući način. Postoje dvije vrste varijabli u logici prvog reda koje su dane u nastavku:

    Besplatna varijabla: Za varijablu se kaže da je slobodna varijabla u formuli ako se pojavljuje izvan opsega kvantifikatora.

    bash while petlja

    Primjer: ∀x ∃(y)[P (x, y, z)], gdje je z slobodna varijabla.

    Vezana varijabla: Za varijablu se kaže da je vezana varijabla u formuli ako se pojavljuje unutar opsega kvantifikatora.

    Primjer: ∀x [A (x) B( y)], ovdje su x i y vezane varijable.