Nell'argomento Logica proposizionale, abbiamo visto come rappresentare le affermazioni utilizzando la logica proposizionale. Ma sfortunatamente, nella logica proposizionale, possiamo rappresentare solo i fatti, che sono veri o falsi. PL non è sufficiente per rappresentare frasi complesse o affermazioni in linguaggio naturale. La logica proposizionale ha un potere espressivo molto limitato. Consideriamo la seguente frase, che non possiamo rappresentare utilizzando la logica PL.
convertire una stringa in una data
Per rappresentare le affermazioni precedenti, la logica PL non è sufficiente, quindi abbiamo bisogno di una logica più potente, come la logica del primo ordine.
Logica del primo ordine:
- La logica del primo ordine è un altro modo di rappresentazione della conoscenza nell'intelligenza artificiale. È un'estensione della logica proposizionale.
- FOL è sufficientemente espressivo per rappresentare le affermazioni del linguaggio naturale in modo conciso.
- La logica del primo ordine è anche conosciuta come Logica dei predicati o logica dei predicati del primo ordine . La logica del primo ordine è un linguaggio potente che sviluppa le informazioni sugli oggetti in modo più semplice e può anche esprimere la relazione tra tali oggetti.
- La logica del primo ordine (come il linguaggio naturale) non solo presuppone che il mondo contenga fatti come la logica proposizionale, ma presuppone anche le seguenti cose nel mondo:
Oggetti: A, B, persone, numeri, colori, guerre, teorie, piazze, fosse, wumpus,......
Sintassi della logica del primo ordine:
La sintassi di FOL determina quale insieme di simboli è un'espressione logica nella logica del primo ordine. Gli elementi sintattici di base della logica del primo ordine sono i simboli. Scriviamo le dichiarazioni in notazione abbreviata in FOL.
Elementi di base della logica del primo ordine:
Di seguito sono riportati gli elementi di base della sintassi FOL:
Costante | 1, 2, A, Giovanni, Mumbai, gatto,.... |
Variabili | x, y, z, a, b,.... |
Predicati | Fratello, Padre, >,.... |
Funzione | sqrt, GambaSinistra, .... |
Connettivi | ∧, ∨, ¬, ⇒, ⇔ |
Uguaglianza | == |
Quantificatore | ∀, ∃ |
Frasi atomiche:
- Le frasi atomiche sono le frasi più basilari della logica del primo ordine. Queste frasi sono formate da un simbolo di predicato seguito da una parentesi con una sequenza di termini.
- Possiamo rappresentare frasi atomiche come Predicato (termine1, termine2, ......, termine n) .
Esempio: Ravi e Ajay sono fratelli: => Fratelli(Ravi, Ajay).
Chinky è un gatto: => gatto (Chinky) .
Frasi complesse:
- Le frasi complesse vengono create combinando frasi atomiche utilizzando connettivi.
Gli enunciati logici del primo ordine possono essere divisi in due parti:
Considera l'affermazione: 'x è un numero intero'. , è composto da due parti, la prima parte x è il soggetto dell'enunciato e la seconda parte 'è un numero intero', è nota come predicato.
Quantificatori nella logica del primo ordine:
- Un quantificatore è un elemento linguistico che genera quantificazione, e la quantificazione specifica la quantità di esemplari nell'universo del discorso.
- Questi sono i simboli che permettono di determinare o identificare l'intervallo e l'ambito della variabile nell'espressione logica. Esistono due tipi di quantificatori:
Quantificatore Universale, (per tutti, tutti, tutto)
Quantificatore universale:
Il quantificatore universale è un simbolo di rappresentazione logica, che specifica che l'affermazione all'interno del suo intervallo è vera per tutto o ogni istanza di una cosa particolare.
Il quantificatore universale è rappresentato dal simbolo ∀, che assomiglia ad una A rovesciata.
modificare il file linux
Nota: nel quantificatore universale usiamo l'implicazione '→'.
Se x è una variabile, allora ∀x viene letto come:
Esempio:
Tutti gli uomini bevono caffè.
Sia una variabile x che si riferisce a un gatto in modo che tutti gli x possano essere rappresentati in UOD come di seguito:
∀x uomo(x) → bevanda (x, caffè).
Verrà letto come: Ci sono tutti x dove x è un uomo che beve caffè.
Quantificatore esistenziale:
I quantificatori esistenziali sono il tipo di quantificatori che esprimono che l'affermazione nel suo ambito è vera per almeno un'istanza di qualcosa.
È denotato dall'operatore logico ∃, che assomiglia alla E invertita. Quando viene utilizzato con una variabile predicativa, viene chiamato quantificatore esistenziale.
Nota: nel quantificatore esistenziale usiamo sempre AND o il simbolo di congiunzione (∧).
Se x è una variabile, il quantificatore esistenziale sarà ∃x o ∃(x). E verrà letto come:
Esempio:
Alcuni ragazzi sono intelligenti.
tutorial su javafx
∃x: ragazzi(x) ∧ intelligente(x)
Verrà letto come: Ci sono alcuni x dove x è un ragazzo intelligente.
Punti da ricordare:
- Il connettivo principale per il quantificatore universale ∀ è implicazione → .
- Il connettivo principale per il quantificatore esistenziale ∃ è e ∧ .
Proprietà dei quantificatori:
- Nel quantificatore universale, ∀x∀y è simile a ∀y∀x.
- Nel quantificatore esistenziale, ∃x∃y è simile a ∃y∃x.
- ∃x∀y non è simile a ∀y∃x.
Alcuni esempi di FOL che utilizzano il quantificatore:
1. Tutti gli uccelli volano.
In questa domanda il predicato è ' volare (uccello) .'
E poiché ci sono tutti gli uccelli che volano, verrà rappresentato come segue.
∀x uccello(x) →vola(x) .
2. Ogni uomo rispetta i suoi genitori.
In questa domanda, il predicato è ' rispetto(x, y),' dove x=uomo e y= genitore .
Poiché esiste ogni uomo, utilizzeremo ∀ e sarà rappresentato come segue:
∀x uomo(x) → rispetta (x, genitore) .
3. Alcuni ragazzi giocano a cricket.
In questa domanda, il predicato è ' giocare(x, y) ,' dove x= ragazzi e y= gioco. Dato che ci sono alcuni ragazzi, lo useremo ∃, e sarà rappresentato come :
∃x ragazzi(x) → gioca(x, cricket) .
4. Non a tutti gli studenti piacciono sia la matematica che le scienze.
In questa domanda, il predicato è ' like(x, y),' dove x= studente e y= materia .
Poiché non ci sono tutti gli studenti, lo useremo ∀ con negazione, quindi seguente rappresentazione per questo:
¬∀ (x) [ studente(x) → like(x, Matematica) ∧ like(x, Scienze)].
5. Solo uno studente è stato bocciato in matematica.
In questa domanda, il predicato è ' fallito(x, y),' dove x= studente e y= materia .
Poiché c'è solo uno studente che ha fallito in matematica, utilizzeremo la seguente rappresentazione per questo:
∃(x) [ studente(x) → fallito (x, Matematica) ∧∀ (y) [¬(x==y) ∧ studente(y) → ¬fallito (x, Matematica)] .
Variabili libere e legate:
I quantificatori interagiscono con le variabili che si presentano in modo opportuno. Esistono due tipi di variabili nella logica del primo ordine, riportate di seguito:
Variabile libera: Una variabile è detta variabile libera in una formula se si trova al di fuori dell'ambito del quantificatore.
coda di priorità Java
Esempio: ∀x ∃(y)[P (x, y, z)], dove z è una variabile libera.
Variabile vincolata: Una variabile è detta variabile vincolata in una formula se rientra nell'ambito del quantificatore.
Esempio: ∀x [A (x) B( y)], qui xey sono le variabili legate.