Diapositiva 1 - Tullio Buzzi

Linguaggi naturali
e
linguaggi formali
Sistemi formali
I linguaggi naturali
• All’origine dei linguaggi naturali vi è
la necessità di comunicare concetti
in modo comprensibile .
• Il primo passo è attribuire un
significato ad una forma, sia
essa un disegno, un suono o una
parola.
Per esempio per
individuare il
significato di
cane
posso disegnare un
cane
ascoltare l’abbaiare di un
cane
O il suo ansimare
o scrivere la parola
cane
Nel linguaggio naturale si
distinguono quindi
forma e significato
forma
successione di caratteri che
formano le parole e successioni di
parole che, unitamente a regole
( la sintassi ), diventano frasi
significato
interpretazione che si attribuisce alla
forma (la semantica)
Per scrivere una parola usiamo i
caratteri (l’alfabeto della lingua
italiana) ma li uniamo in modo
univoco per non incorrere in
ambiguità
• C
a
• C
e
n
n
e
ma anche
a
con significato diverso
o anche
• N e
• N
c a
oppure
a c e
che non hanno significato
Senza spazi tra le parole
l’ambiguità sarebbe ancora
maggiore :
Leggiamo questa successione di
caratteri :
FUNICOLAREDINAPOLI
che può essere interpretata come :
FUNICOLARE DI NAPOLI
ma anche
FU NICOLA RE DI
NAPOLI
Un uso misto di immagini e
caratteri non è sicuramente
adatto per una comprensione
immediata di una frase
E’ il caso dei rebus dove
immagini e caratteri messi nel
modo corretto portano ad una
frase di senso compiuto
Rebus
Dif
lto
m
Che appunto spesso risulta una
difficoltosa impresa
Così come concateniamo le parole tra
loro per comporre una frase
utilizzando regole di sintassi
Il libro sulla televisione
E’ una frase con una sintassi corretta
ma un significato ambiguo
E’ un libro che parla di televisione o è
un libro che è stato poggiato sulla
televisione?
Il linguaggio naturale è
spesso ambiguo
Per superare l’ambiguità
occorre il contesto della
frase :
• Guarda che hai lasciato il libro sulla
televisione
• Il libro sulla televisione che ho letto
non mi è piaciuto.
Ora tutto è chiaro!
Ridondanza
Il linguaggio naturale è spesso ridondante:
lunghe perifrasi per un semplice concetto:
…. Mi sia consentito di esprimere in questa
sede e davanti a tale consesso di
professori il mio sia pur inesperto
pensiero..
Traduzione
“io penso”
Superamento
• Uso di una sintassi rigorosa
• Schematizzazione
Autoreferenza nel
linguaggio naturale
• Linguaggio che “parla”di se stesso
• Frasi
• Immagini
• Situazioni
• Funzioni e procedure
(in informatica si chiama ricorsività)
Frasi autoreferenti
Problema n.1
La proposizione
“Questa frase è falsa “
è vera o falsa?
Soluzione problema n.1
Se la proposizione “Questa frase è falsa “
è vera. allora afferma il vero ossia che la
frase è falsa
contraddizione
Se la proposizione “Questa frase è falsa “ è
falsa, non è vero che la frase è falsa e
quindi la frase è vera
contraddizione
Problema n.2
Su di un foglio vi sono le seguenti
proposizioni:
“ Alice non esiste “
“Entrambe queste proposizioni sono
false “
Lo sapevi che Alice non esiste?
Perché ?
Soluzione problema n.2
1) “Alice non esiste “
2) “Entrambe queste proposizioni sono false “
Se la 2) è vera allora la 2) è falsa
contraddizione
Se la 2) è falsa allora è falso che la 1) e la 2)
siano entrambe false quindi almeno una
delle due è vera e non potendo essere vera
la 2), essendo falsa per ipotesi, allora è
vera la 1) e quindi
Alice non esiste
Immagini autoreferenti
Mani che disegnano
di M.C.Escher
Schematizziamo
Come superare
l’autoreferenza?
La mano di Escher
disegna
Mano con sfera riflettente di M.C.Escher 1935
Autoreferenza
Superamento dell'autoreferenza
Situazioni autoreferenti:
i tre scrittori
•
•
•
•
X , Y e Z sono 3 scrittori
X scrive di Y
Y scrive di Z
Z scrive di X
Superamento
Funzioni ricorsive
n!
n! = 1x2x3x4x….x(n-1)xn
n! = (n-1)!xn
il fattoriale di un numero n è
una funzione ricorsiva
I numeri di Fibonacci
1 , 1 , 2 , 3 , 5 , 8 , 13 ......
fibo(1)=1 fibo(2)=1
fibo(n) = fibo(n-1) + fibo(n-2 )
Per n >2
Funzione ricorsiva
I numeri di Padovan
1
1
1
2
2
3
4
5
P(1)=1 P(2)=1 P(3)=3
P(n) = P(n-3)+ P(n-2)
Per ogni n >3
Funzione ricorsiva
7 ...
I frattali
La curva di Koch , classico esempio di
oggetto frattale , dalla proprietà di
essere autoreferente , proprietà
che in geometria si chiama
autosomiglianza ,e che si disegna
utilizzando procedure ricorsive.
La curva di Koch è costruita partendo da un
triangolo equilatero .
Si divide il lato in tre parti uguali e su ogni lato,
nella parte centrale, si disegna un
nuovo triangolo equilatero di lato l/3. Si ripete il
procedimento su ogni segmento
Ad ogni passo il contorno diventa più frastagliato
Altri esempi di oggetti
autoreferenti
Triangolo di Sierpinski
Fiocco di neve
Un lato della curva di
Koch
Esercizi
Riconoscere funzioni ricorsive
I numeri naturali
n
n = (n-1) +1
per n>1
(Banale!!!)
I numeri pari
2n
2n = 2(n-1) +2
Ogni numero pari è dato dal numero
pari precedente +2
I numeri dispari
n
n-1
2n+1
2(n-1) +1
I numeri dispari
ricorsività
n
n-1
2n+1
2(n-1) +1
2n+1 = 2n+1-2+2 =(2n-2)+1+2=
=(2(n-1)+1)+2
Ogni numero dispari è dato dal numero dispari
precedente +2
La potenza
an
Ogni potenza è dato dalla potenza
precedente moltiplicata per a
an = an-1 a
I numeri triangolari
1 3 6 10 15 ….
Ottenuti sommando 1+ 2+ 3+ 4+ 5+ ..
T(1)=1 T(2)=1+2=3 T(3)=1+2+3=6
T(4)=1+2+3+4=10 T(5)=1+2+3+4+5+=15
T(n) = T(n-1) + n
I numeri quadrati
1
4
9
16
Si ottengono sommando i numeri dispari
1 3 5 7 …
Q(1)=1
Q(2)=1+3=4
Q(3)=1+3+5=9
Q(4)=1+3+5+7=16
Q(n+1) = Q(n) +2n+1
Numeri triangolari e
quadrati
I numeri tetraedrici
(piramidali a base triangolare)
1
4
10
20
35
Ottenuti sommando i numeri triangolari
1 3 6 10 15
P(1)=1
P(2)=1+3=4
P(4)=1+3+6+10=20
P(3)=1+3+6=10
P(5)=1+3+6+10+15=35
P(n) = P(n-1) +T(n)
I numeri tetraedrici
(piramidali a base triangolare)
1
4
10
Ma anche
P(n) = n(n+1)(n+2)/6
20
35
P(n+1) = (n+1) ( n+1+1)(n+1+2)/6=(n+1)(n+2)(n+3)/6=
= n(n+1)(n+2)(n+3)/n6= P(n)(n+3)/n
P(n+1)=P(n)(n+3)/n
Esempio 35= 20(4+3)4=20x7/4=35
I numeri piramidali a base quadrata
1
5
14
30
Si ottengono sommando i numeri quadrati
1 4 9 16
P(1)=1 P(2)=1+4=5 P(3)=1+4+9=14
P(4)=1+4+9+16=30
P(n)=P(n-1) + Q(n)
Numeri piramidali
I linguaggi formali
Eliminando
• Ambiguità
• Ridondanza
• Autoreferenza
proviamo a…..
costruire un
linguaggio formale
stabilendo
l’alfabeto,
la sintassi ossia le regole e
la stringa iniziale ( l’assioma )
• Alfabeto:
A={ I , + , = }
• La stringa di partenza
I + I = II
(assioma)
• Le regole 1) da x + y = z posso dedurre
xI + y = zI
2) da x + y = z posso dedurre
y+x=z
( dove x e y sono stringhe di I)
• Ogni stringa ottenuta dall’applicazione di
una regola è una stringa ammessa (formula
ben formata fbf)
• Ogni fbf dedotta mediante regole da altre
fbf è un teorema
• L’insieme delle stringhe ammesse forma il
linguaggio
Esercizio
dimostrate passo passo che
IIII + III = IIIIIII
1° regola
Se
x + y = z
x I +Y= Z I
Soluzione
I + I = II
assioma
II + I = III regola 1)
III + I = IIII regola 1)
IIII + I = IIIII regola 1)
I + IIII = IIIII regola 2)
II + IIII = IIIIII regola 1)
III + IIII = IIIIIII regola 1)
IIII + III = IIIIIII regola 2)
Come si può vedere questo linguaggio
formale fa parte di un
Sistema Formale
Sistemi formali
Un sistema formale è una quadrupla (A,L,S,P) dove :
• A
alfabeto
( insieme numerabile di simboli)
• L
linguaggio ( insieme di formule ben formate fbf)
• S
insiemi di assiomi (sottoinsieme di L)
• P
regole di produzione (regole di inferenza che
permettono di dedurre formule ben formate da
formule ben formate(teoremi))
L’esercizio precedente non è altro che
l’insieme dei numeri naturali N con
l’operazione interna +
(N , +)
• Alfabeto:
A= { I , + , = }
• La stringa di partenza
• Le regole
I + I = II
(assioma)
1) da x + y = z posso dedurre
xI + y = zI
2) da x + y = z posso dedurre
y+x=z
( dove x e y sono stringhe di I)
Interpretazione dei
simboli
•
•
•
•
•
•
•
I
1
II
2
III
3
IIII
4
IIIII
5
+ è l’addizione
= è l’uguaglianza
• L’assioma è
la somma di 1 + 1 =2
• La regola 1) :
se la somma di due numeri naturali x e y è un
numero naturale
( l’addizione è l’operazione interna e N è chiuso
per l’addizione + ) allora
la somma del successivo di x e di y
è il successivo di z
• La regola 2) è la proprietà commutativa
L’esercizio proposto
IIII + III = IIIIIII
era quindi dimostrare che
4
+ 3 =7
Il sistema pg
A
L
={-,p,g}
: insieme dei teoremi e assiomi
S
:infiniti assiomi del tipo
xp–gx-
P
:
se
x p y g z
allora
è un teorema
x p y – g z -
è un teorema
Regola
Se x p y g z
xpy
allora
- gz -
Esercizio
1.
2.
3.
4.
5.
Scrivere il primo assioma
Scrivere i primi 5 assiomi
Applicare la regola al 3° assioma
---p---g--- è o no un teorema ?
----p-----g--------- è o no un teorema ?
Esercizion n.1
1. Scrivere il primo assioma
xp–gx-p- g--
Esercizio n. 2
Scrivere i primi 5 assiomi
xp–gx1.
2.
3.
4.
5.
-p-g---p-g-----p-g-------p-g---------p-g------
Esercizio n.3
Applicare la regola xpygz
xpy-gzal 3° assioma ---p-g---poichè
x pyg z
x py-g z---p-g---- allora ---p--g----applicando la regola
Esercizio n.4
---p---g--- è o no un teorema ?
Da –p-g-- assioma
--p-g--- assioma
---p-g---- assioma
applicando la regola x p y g z
si ottiene
--- p – g ---Riapplicandola
--- p-- g----quindi
x py- gz--- p -- g-------p --- g------
---p --- g------ per cui
---p --- g--- non è un teorema
La risposta è no
Esercizio n.5
----p-----g--------- è o no un teorema ?
-p- g---p- g-----p- g-------p- g--------p-- g-----applicando la regola x p y g z
----p--- g------- applicando la regola
----p---- g-------- applicando la regola
----p----- g--------- applicando la regola
Quindi ----p-----g--------- è un teorema
x p y- g z-
Avete decodificato il
sistema pg?
1
-2
--- 3
---- 4
----- 5
p +
g =
quindi il sistema è (N+)
ma è l’unica interpretazione?
2° interpretazione
-pg
-1° assioma
1 = 1 sottratto da 2
--p g
--- 2° assioma
2 = 1 sottratto da 3
mentre la regola si tradurrà come:
--p-g
---- allora –-p--g
----Se 2=2 sottratto da 4 allora 2 = 3 sottratto da 5
quindi
- 1
-- 2
--- 3
---- 4
----- 5
P
g
=
sottratto da
anche questa
interpretazione è corretta
• Un sistema formale può avere più
interpretazioni
Ancora un esempio
Alfabeto
L’assioma
Le regole
A{I,∙,=}
I∙I=I
1) da x ∙ y =z posso dedurre
????????????????
2) da x ∙ y =z posso dedurre
????????????????
(x,y,z stringhe di I)
Completare le regole
in modo che
III ∙ II = IIIIII
Soluzione
Regola 1) da x∙y=z posso dedurre
xI ∙y = zy
Regola 2) da x∙y=z posso dedurre
y∙x=z
Costruiamo le stringhe
• I∙I = I
• II∙I =II
•
•
•
•
assioma
regola 1) da x∙y=z si deduce xI ∙y = zy
III∙I = III regola 1)
I∙III =III regola 2)
II∙III = IIIIII regola 1)
III∙II = IIIIII regola 2)
ecco quindi III∙II = IIIIII
Interpretazione
I
1
II 2
III 3
IIII 4
IIIII 5
∙ moltiplicazione
= uguaglianza
quindi
•
•
•
•
•
1x1 = 1
2x1 = 2
3x1=3
Se axb=c (a+1)xb = axb + b = c + b
Se axb=c bxa=c
Alcuni alfabeti
• Calcolo algebrico {a,b,c,..,+,-,x,/..}
• Numerazione romana
{I,II,III,V,X,L,C,D,M}
Calcolo degli enunciati {p,q,..,v, ,
…}
Il gioco del MU
Alfabeto A={M,I,U}
Assioma
MI
1° regola se una stringa finisce per I a essa si
può aggiungere U
…..I
…..IU
2° regola se Mx allora Mxx
3° regola
4° regola
….III….
….UU…
…U…
…..
x è una stringa di I e U
Domanda
• Si può costruire la stringa MU ?
• Proviamo a giocare
MIU
2
MIUIU
2
2
MIUIUIUIU
2
MI
1
MIUIUIU
MII
1
2
MIIU
MIIUIIU
Anche qui dopo M
si ripete la successione di
IIU
La successione di IU
dopo M si ripete all’infinito
2
MIIII
MIU
MUI
3
3
2
MIIIIIIII
MIIIIU
In ogni caso il numero
di I non è mai 3 o multiplo di 3 e
quindi non può essere eliminato
per diventare MU
1
MUI
Analizzando il ramo MUI
MUIU
MUIUI
MUIUUIU
MUIIU
MUIIUUIIU
MUIIIIU
MUUIU
Si ritorna a MIU
MIU
Analizzando il ramo MUIUI
MUIUI
MUIUIU
MUIUIUIUI
MUIUIUUIUIU
MUIUIIUIU
MUIUIIUIUUIUIIUIU
MUIUIIUIIUIIUIU
In ogni caso il numero
di I non è mai 3 o multiplo di 3 e
quindi non può essere eliminato
per diventare MU
concludendo
Con un ragionamento al di fuori delle
regole del gioco siamo in grado di dire
che
non si può costruire
MU
Quello che abbiamo utilizzato è un
modo intelligente
di
ragionare
Una macchina che volesse risolvere il problema
potrebbe fare solo, mediante un opportuno
programma :
• Acquisire una stringa
• Verificare che sia fbf (ossia formata da Mx con x
stringa di I e U)
• Applicare le 4 regole per arrivare a ottenere MU
In realtà la macchina entrerebbe in un loop infinito
non riuscendo a costruire MU
oppure
• Potrebbe produrre tutte le stringhe che si
ottengono applicando le 4 regole.
• Sarebbe quindi un costruttore di stringhe
• Comunque una macchina può solo applicare
le regole e non ragionare per dedurre se il
ragionamento porterà alla conclusione
desiderata.
Questo è un ragionamento meccanico
Un teorema è deducibile se esiste una
dimostrazione basata sull’applicazione delle
regole
Un teorema è decidibile se esiste una
procedura che consente di decidere se
esso è deducibile
• Il primo è un processo meccanico
all’interno del sistema
• Il secondo è un processo intelligente
all’esterno del sistema e
questo è lasciato agli studiosi!