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
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, ......
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:
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.
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 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:
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:
∀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í:
Exemple:
Alguns nois són intel·ligents.
c nombre aleatori
∃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.