logo

Lògica de primer ordre en intel·ligència artificial

En el tema de la lògica proposicional, hem vist com representar enunciats mitjançant la lògica proposicional. Però malauradament, en la lògica proposicional, només podem representar els fets, que són veritables o falses. PL no és suficient per representar oracions complexes o enunciats del llenguatge natural. La lògica proposicional té un poder expressiu molt limitat. Considereu la següent frase, que no podem representar mitjançant la lògica PL.

matriu de bytes java a cadena
    'Alguns humans són intel·ligents', o A Sachin li agrada el cricket.

Per representar les afirmacions anteriors, la lògica PL no és suficient, de manera que necessitem una lògica més potent, com ara la lògica de primer ordre.

Lògica de primer ordre:

  • La lògica de primer ordre és una altra forma de representació del coneixement en intel·ligència artificial. És una extensió de la lògica proposicional.
  • El FOL és prou expressiu per representar els enunciats del llenguatge natural d'una manera concisa.
  • La lògica de primer ordre també es coneix com Lògica de predicats o Lògica de predicats de primer ordre . La lògica de primer ordre és un llenguatge potent que desenvolupa informació sobre els objectes d'una manera més fàcil i també pot expressar la relació entre aquests objectes.
  • La lògica de primer ordre (com el llenguatge natural) no només suposa que el món conté fets com la lògica proposicional, sinó que també assumeix les coses següents al món:
      Objectes:A, B, persones, nombres, colors, guerres, teories, quadrats, fosses, wumpus, ......
  • Relacions: Pot ser una relació unària com ara: vermell, rodó, és adjacent, o n-qualsevol relació com ara: la germana de, germà de, té color, intervéFunció:Pare de, millor amic, tercera entrada de, final de, ......
  • Com a llenguatge natural, la lògica de primer ordre també té dues parts principals:
      Sintaxi
  • Semàntica

    Sintaxi de la lògica de primer ordre:

    La sintaxi de FOL determina quina col·lecció de símbols és una expressió lògica en la lògica de primer ordre. Els elements sintàctics bàsics de la lògica de primer ordre són els símbols. Escrivim enunciats en notació abreujada en FOL.

    Elements bàsics de la lògica de primer ordre:

    A continuació es mostren els elements bàsics de la sintaxi FOL:

    Constant 1, 2, A, John, Bombai, gat,...
    Les variables x, y, z, a, b,....
    Predicats Germà, Pare, >,....
    Funció sqrt, LeftLegOf, ....
    Connectius ∧, ∨, ¬, ⇒, ⇔
    Igualtat ==
    Quantificador ∀, ∃

    Frases atòmiques:

    • Les oracions atòmiques són les oracions més bàsiques de la lògica de primer ordre. Aquestes oracions es formen a partir d'un símbol de predicat seguit d'un parèntesi amb una seqüència de termes.
    • Podem representar oracions atòmiques com Predicat (terme1, terme2, ......, terme n) .

    Exemple: Ravi i Ajay són germans: => Germans (Ravi, Ajay).
    Chinky és un gat: => gat (Chinky)
    .

    Oracions complexes:

    • Les oracions complexes es fan combinant oracions atòmiques mitjançant connectius.

    Les declaracions lògiques de primer ordre es poden dividir en dues parts:

      Assignatura:El tema és la part principal de l'enunciat.Predicat:Un predicat es pot definir com una relació, que uneix dos àtoms en un enunciat.

    Considereu l'enunciat: 'x és un nombre enter'. , consta de dues parts, la primera part x és el subjecte de l'enunciat i la segona part 'és un nombre enter', es coneix com a predicat.

    Lògica de primer ordre en intel·ligència artificial

    Quantificadors en lògica de primer ordre:

    • Un quantificador és un element del llenguatge que genera quantificació, i la quantificació especifica la quantitat d'espècimen en l'univers del discurs.
    • Són els símbols que permeten determinar o identificar l'abast i l'abast de la variable en l'expressió lògica. Hi ha dos tipus de quantificadors:
        Quantificador universal, (per a tots, tothom, tot)
    • Quantificador existencial, (per a alguns, almenys un).

    Quantificador universal:

    El quantificador universal és un símbol de representació lògica, que especifica que la declaració dins del seu rang és certa per a tot o cada instància d'una cosa en particular.

    El quantificador universal es representa amb un símbol ∀, que s'assembla a una A invertida.

    java afegir a la matriu

    Nota: en quantificador universal fem servir la implicació '→'.

    Si x és una variable, aleshores ∀x es llegeix com:

      Per a tots x Per cada x Per cada x.

    Exemple:

    Tots els homes beuen cafè.

    Sigui una variable x que es refereix a un gat, de manera que totes les x es puguin representar en UOD de la manera següent:

    Lògica de primer ordre en intel·ligència artificial

    ∀x home(x) → beure (x, cafè).

    Es llegirà com: Hi ha tots x on x és un home que beu cafè.

    Quantificador existencial:

    Els quantificadors existencials són el tipus de quantificadors, que expressen que l'enunciat dins del seu abast és certa per almenys una instància d'alguna cosa.

    S'indica amb l'operador lògic ∃, que s'assembla a la E invertida. Quan s'utilitza amb una variable predicada, s'anomena quantificador existencial.

    Nota: al quantificador existencial sempre fem servir el símbol AND o conjunció (∧).

    Si x és una variable, aleshores el quantificador existencial serà ∃x o ∃(x). I es llegirà així:

      Hi ha una 'x'. Per a algunes 'x'. Per almenys una 'x'.

    Exemple:

    Alguns nois són intel·ligents.

    c nombre aleatori
    Lògica de primer ordre en intel·ligència artificial

    ∃x: nois(x) ∧ intel·ligent(x)

    Es llegirà com: Hi ha unes x on x és un nen que és intel·ligent.

    Punts a recordar:

    • El connectiu principal per al quantificador universal és implicació .
    • El connectiu principal per al quantificador existencial és i .

    Propietats dels quantificadors:

    • En quantificador universal, ∀x∀y és similar a ∀y∀x.
    • En quantificador existencial, ∃x∃y és similar a ∃y∃x.
    • ∃x∀y no és semblant a ∀y∃x.

    Alguns exemples de FOL utilitzant quantificador:

    1. Tots els ocells volen.
    En aquesta pregunta el predicat és ' mosca (ocell) .'
    I com que hi ha tots els ocells que volen així es representarà de la següent manera.
    ∀x ocell(x) →mosca(x) .

    2. Cada home respecta els seus pares.
    En aquesta pregunta, el predicat és ' respecte(x, y),' on x=home i y= pare .
    Com que hi ha tots els homes, utilitzarà ∀ i es representarà de la següent manera:
    ∀x home(x) → respecta (x, pare) .

    3. Alguns nois juguen al cricket.
    En aquesta pregunta, el predicat és ' jugar (x, y) ,' on x= nois, i y= joc. Com que hi ha uns nois així ho farem servir ∃, i es representarà com :
    ∃x nois(x) → jugar(x, cricket) .

    4. No a tots els alumnes els agraden tant les Matemàtiques com les Ciències.
    En aquesta pregunta, el predicat és ' like(x, y),' on x= estudiant i y= subjecte .
    Com que no hi ha tots els alumnes, per això farem servir ∀ amb negació, per tant la següent representació per a això:
    ¬∀ (x) [ estudiant(x) → com (x, Matemàtiques) ∧ com (x, Ciència)].

    5. Només un alumne ha suspès en Matemàtiques.
    En aquesta pregunta, el predicat és ' fallat(x, y),' on x= estudiant i y= subjecte .
    Com que només hi ha un estudiant que ha suspès en Matemàtiques, per això farem servir la següent representació:
    ∃(x) [ alumne(x) → suspès (x, Matemàtiques) ∧∀ (y) [¬(x==y) ∧ alumne(y) → ¬suspès (x, Matemàtiques)] .

    Variables lliures i lligades:

    Els quantificadors interactuen amb variables que apareixen de manera adequada. Hi ha dos tipus de variables en la lògica de primer ordre que es donen a continuació:

    Variable lliure: Es diu que una variable és una variable lliure en una fórmula si es produeix fora de l'abast del quantificador.

    programació cobol

    Exemple: ∀x ∃(y)[P (x, y, z)], on z és una variable lliure.

    Variable lligada: Es diu que una variable és una variable lligada en una fórmula si es produeix dins de l'abast del quantificador.

    Exemple: ∀x [A (x) B( y)], aquí x i y són les variables lligades.