• Non ci sono risultati.

Linguaggi e assunzioni ontologiche/epistemiologiche

N/A
N/A
Protected

Academic year: 2021

Condividi "Linguaggi e assunzioni ontologiche/epistemiologiche"

Copied!
20
0
0

Testo completo

(1)

Linguaggi e assunzioni

ontologiche/epistemiologiche

1

(2)

Cosa esiste nel mondo per F.O.L.

(modelli): esempio

(3)

Sintassi logica I ordine

3

(4)

Elementi delle Formule F.O.L. (esempi)

• Predicato:

• Formula atomica: …

• Termine costante: …

• Termine funzione: …

• Termine variabile: …

• Termine ground (istanziato): …

• Quantificazione esist.: …

(5)

Importanza Ordine dei Quantificatori e nome variabili

5

(6)

Nomi delle variabili

(7)

De Morgan e Quantificatori

7

(8)

Alcune Restrizioni Pratiche di F.O.L.

(database semantics)

• Unique name assumption

Ogni symbolo di costante si riferisce a un oggetto differente

• Closed world assumption

Le formule atomiche che non son asserite essere vere sono false

• Domain closure

Ogni modello contiene non più oggetti di quelli indicati dai simboli di costante presenti nelle formule

(9)

Compilazione formule F.O.L. in Logica Proposizionale (LP)

9

(10)

Allora Perché Usare F.O.L.?

Almeno tre motivi

1.Non compilabile se il dominio non è finito o troppo grande

2.Anche se compilabile è comunque utile come

linguaggio per l’ingegnere della conoscenza perchè è conciso

3.Può essere più efficiente ragionare direttamente in

F.O.L. che nella compilazione PL (vedremo dopo)

(11)

Esempi Formule F.O.L.

11

(12)

Operatori Tell & Ask per la KB

(13)

Assiomi di Peano (N e +)

+(3,2) = +(S(S(S(0))),S(S(0))) = S(+(S(S(0)),S(S(0)))) = S(S(+(S(0),S(S(0))))) =

S(S(S(+(0,S(S(0)))))) = S(S(S(S(S(0))))))

Dimostrazione applicando 1), 5) e piu’ volte 2) e 6)

1) 2)

3) 4)

5) 6)

13

(14)

Esercizio su Uso dei Quantificatori

Usando i predicati binari Conosce e Studente e le costanti ing-inf, ing-ges, java

Formalizzare in due formule FOL:

1. Gli studenti di ingegneria informatica conoscono Java 2. Qualche studente di ingegneria gestionale conosce Java

Quale regola generale che posso osservare da questi esempi?

(15)

Semantica di F.O.L.

Una interpretazione per un insieme di formule in FOL è definita da un dominio D (di oggetti) non vuoto e un

assegnamento che mappa

• ogni simbolo di costante in un oggetto di D

• ogni simbolo di predicato n-ario in una relazione n-aria in Dn (un sottoinsieme di D x D x ….. x D n volte)

• ogni simbolo di funzione n-aria in una funzione da Dn a D NB: “=“ sempre intepretato con la relazione di identità

Esempi:

Amico-di

(relazione),

Madre-di

(funzione) E i simboli di variabile/quantificazione? (tra poco…)

15

(16)

Semantica Formula Atomica F.O.L.

La verità di una formula atomica dipende dall’interpretazione

Una formula atomica è vera rispetto a una certa interpretazione se la relazione a cui si riferisce il simbolo di predicato è

soddisfatta dagli oggetti riferiti dagli argomenti del simbolo di predicato

NB: La relazione è soddisfatta se e solo se la tuple di oggetti è nella relazione

(17)

Semantica Formule Quantificate

17

(18)

Semantica FOL (Modelli)

(19)

Teoria Assiomatica della F.O.L e Decidibilità

• Insieme di assiomi/formule (che formano una KB)

• Insieme di Regole di Inferenza (che agiscono sulla KB) Una teoria è decidibile se esiste un metodo meccanico

(algoritmo/i) per decidere se qualsiasi FBF è un teorema o no La logica del I ordine è semidecidibile (la LP è decidibile)

Semidecidibilità:

se una formula è un teorema, esiste un algoritmo per derivarla in un numero finite di passi (potrei non conoscerlo).

Se una formula non è un teorema,

non

esiste un algoritmo per determinarlo (la dimostrazione potrebbe non terminare)

19

(20)

Esercizio di formalizzazione

Formalizzae in FOL il concetto di “Studente Modello” che ha (1)almeno due corsi con esame superato per ogni sessione (2)al massimo un appello d’esame non superato

(3)almeno un corso con appello superato e volto 30lode Predicati e costanti da usare:

Studmodello(stud)

Supera(stud,corso,sessione,voto)

Bocciato(stud,appello)

• =

30lode

Riferimenti

Documenti correlati

Piuttosto che duplicare 1000 volte il codice macchina di un oggetto il sistema che si occupa di istanziare gli oggetti carica un’unica copia in memoria del codice macchina comune

quando viene istanziato da un altro oggetto della stessa classe. l’argomento è una reference ad un

Un metodo m viene invocato su un parametro count di tipo oggetto : nelle diverse invocazioni count può essere istanziato con sottotipi diversi. con diverse versioni del

La programmazione orientata agli oggetti (OOP, Object Oriented Programming) è un paradigma basato su quello imperativo, al quale aggiunge alcune astrazioni: in partico-

bool operator<(const Integer& left, const Integer& right) { return left.i <

Ogni formula che contine una variabile universale si può riscrivere con una congiunzioni di formule senza questa

Per costruire gli oggetti si deve seguire questo procedimento: 1) disegnare i pezzi sul legno, 2) tagliare i pezzi con il seghetto, 3) unirli con la colla (o in altro modo).

 Si può anche usare il valore di ritorno come Si può anche usare il valore di ritorno come parametro nella chiamata di un altro metodo:. parametro nella chiamata di un