La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

INSIEMI NUMERABILI Lanalisi matematica introduce il concetto di insieme numerabile come insieme i cui elementi possono essere contati ossia che possiede.

Presentazioni simili


Presentazione sul tema: "INSIEMI NUMERABILI Lanalisi matematica introduce il concetto di insieme numerabile come insieme i cui elementi possono essere contati ossia che possiede."— Transcript della presentazione:

1 INSIEMI NUMERABILI Lanalisi matematica introduce il concetto di insieme numerabile come insieme i cui elementi possono essere contati ossia che possiede una funzione biettiva f: N S che mette in corrispondenza i numeri naturali con gli elementi dellinsieme.

2 INSIEMI NUMERABILI Insiemi che possiedono una funzione biettiva f: N S che mette in corrispondenza i numeri naturali con gli elementi dellinsieme

3 INSIEMI RICORSIVAMENTE ENUMERABILI La nozione di computabilità porta a intro- durre un concetto più forte: quello di insieme ricorsivamente enumerabile (o semidecidibile)

4 INSIEMI RICORSIVAMENTE ENUMERABILI Un insieme S è ricorsivamente enumera- bile (o semidecidibile) se esiste un procedimento effettivo per costruirlo ossia se esiste una Macchina di Turing T capace di computare la funzione di corrispondenza f: N S.

5 INSIEMI RICORSIVAMENTE ENUMERABILI Quindi, la funzione f: N S non deve soltanto esistere

6 INSIEMI RICORSIVAMENTE ENUMERABILI Quindi, la funzione f: N S non deve soltanto esistere......deve essere computabile!

7 INTERPRETAZIONE Dire che la funzione f: N S è computabile significa dire che linsieme S può essere effettivamente costruito (per enumerazione) appunto calcolando elemento per elemento la funzione f.

8 INSIEMI RICORSIVAMENTE ENUMERABILI ATTENZIONE Il fatto che linsieme S possa essere costruito NON SIGNIFICA AFFATTO che si possa decidere se un elemento appartiene allinsie- me stesso. Quello è tutto un altro problema!!!

9 INSIEMI RICORSIVI (o DECIDIBILI) Il problema di decidere dellappartenenza di un elemento a un insieme porta a introdurre un ultimo concetto: quello di insieme ricorsivo (o decidibile)

10 INSIEMI RICORSIVI (o DECIDIBILI) Un insieme S è ricorsivo (o decidibile) se la sua funzione caratteristica è computabile ossia... f (x) = 1, se x S 0, se x S

11 INSIEMI RICORSIVI (o DECIDIBILI) ossia... se esiste una Macchina di Turing capace di rispondere sì o no, senza entrare in un ciclo infinito, alla domanda se un qualsiasi elemento appartiene allinsieme.

12 INSIEMI RICORSIVI (o DECIDIBILI) TEOREMA 1 Se un insieme è ricorsivo (decidibile) è anche ricorsivamente enumerabile (semidecidibile) ma non viceversa

13 INSIEMI RICORSIVI (o DECIDIBILI) TEOREMA 2 Un insieme S è ricorsivo (decidibile) se e solo se sia S sia il suo complemento N-S sono ricorsivamente enumerabili (semidecidibili)

14 VA BENE, PERÒ….... perché ci interessa tanto??

15 INSIEMI & LINGUAGGI I linguaggi di programmazione sono costruiti a partire da un certo alfabeto e ogni linguaggio è caratterizzato dallinsieme delle sue frasi lecite.

16 INSIEMI & LINGUAGGI I linguaggi di programmazione sono costruiti a partire da un certo alfabeto e ogni linguaggio è caratterizzato dallinsieme delle sue frasi lecite. Non ci basta che linsieme delle frasi sia ricorsivamente enumerabile, cioè possa essere generato... (ossia, che si possano generare le frasi previste)

17 INSIEMI & LINGUAGGI I linguaggi di programmazione sono costruiti a partire da un certo alfabeto e ogni linguaggio è caratterizzato dallinsieme delle sue frasi lecite. … è indispensabile anche poter decidere se una frase è giusta o sbagliata senza entrare in ciclo infinito e ciò richiede che linsieme delle frasi del linguaggio sia ricorsivo (decidibile).

18 INSIEMI & LINGUAGGI Se così non fosse… il compilatore (o interprete) che deve tradurre le istruzioni del linguaggio in linguaggio macchina potrebbe non rispondere (entrando in un ciclo infinito) nel caso incontrasse una frase errata mentre noi vogliamo che si fermi e segnali lerrore!

19 LINGUAGGI E PROPRIETÀ Un linguaggio è un insieme di frasi Una frase è una sequenza di simboli appartenenti a un certo alfabeto Un linguaggio deve essere effettivamente generabile Un linguaggio di programmazione deve essere decidibile

20 ALCUNE DEFINIZIONI Alfabeto V (o vocabolario o lessico) È linsieme dei simboli con cui si costruiscono le frasi Universo linguistico V* di un alfabeto V È linsieme di tutte le frasi (sequenze finite di lunghezza arbitraria) di elementi di V. Linguaggio L su un alfabeto V È un sottoinsieme di V*.

21 LINGUAGGI & GRAMMATICHE Problema: Come specificare il sottoinsieme di V* che definisce il linguaggio? Risposta: Specificando il modo formale e preciso la sintassi delle frasi del linguaggio tramite una grammatica formale

22 GRAMMATICA FORMALE Una quadrupla VT,VN,P,S dove: VT è un insieme finito di simboli terminali VN è un insieme finito di simboli non terminali P è un insieme finito di produzioni, ossia di regole di riscrittura S è un particolare simbolo non-terminale detto simbolo iniziale o scopo della grammatica.

23 GRAMMATICA B.N.F. Una Grammatica B.N.F. è una grammatica in cui le produzioni hanno la forma X ::= A dove: X VN è un simbolo non terminale, e: A è una stringa, ossia una sequenza di simboli ciascuno appartenente allalfabeto V = VN VT.

24 FORMA B.N.F. COMPATTA Nel caso di più regole con la stessa parte sinistra: –X ::= A 1 –.... –X ::= A N Per comodità si stabilisce allora di poterle compattare in ununica regola: X ::= A 1 | A 2 |.. | A N dove il simbolo | indica lalternativa.

25 GRAMMATICA & LINGUAGGIO Una Grammatica B.N.F. definisce quindi un linguaggio sullalfabeto terminale VT mediante un meccanismo di derivazione (o riscrittura).

26 GRAMMATICA & LINGUAGGIO Data una grammatica G, si dice perciò Linguaggio L G generato da G linsieme delle frasi di V derivabili dal simbolo iniziale S applicando le produzioni P

27 GRAMMATICHE, LINGUAGGI & AUTOMI RICONOSCITORI Grammatiche di diversa struttura comportano linguaggi con diverse proprietà e implicano automi di diversa potenza computazionale per riconoscere tali linguaggi.

28 CLASSIFICAZIONE DI CHOMSKY Le grammatiche sono classificate in 4 tipi in base alla struttura delle produzioni Tipo 0: nessuna restrizione sulle produzioni

29 CLASSIFICAZIONE DI CHOMSKY Le grammatiche sono classificate in 4 tipi in base alla struttura delle produzioni Tipo 1 (gramm. dipendenti dal contesto): produzioni vincolate alla forma: x A y ::= x y con x,y, VT VN)*, A VN,

30 CLASSIFICAZIONE DI CHOMSKY Le grammatiche vengono classificate in 4 tipi in base alla struttura delle produzioni Tipo 2 (gramm. libere da contesto): produzioni vincolate alla forma A ::= con A VN, VT VN)*-{ }

31 CLASSIFICAZIONE DI CHOMSKY Le grammatiche vengono classificate in 4 tipi in base alla struttura delle produzioni Tipo 3 (grammatiche regolari): produzioni vincolate alla forma ricorsiva A ::= a | aB(ricorsiva a destra) A ::= a | Ba(ricorsiva a sinistra) con A,B VN, e a VT.

32 CLASSIFICAZIONE DI CHOMSKY In sintesi Tipo 0 (generiche) Tipo 1 (dipendenti da contesto) Tipo 2 (libere da contesto) Tipo 3 (regolari) Generalità Semplicità Automariconoscitore

33 GRAMMATICHE & MACCHINE PER RICONOSCERE LINGUAGGI I linguaggi generati da grammatiche di tipo 1 (e quindi anche di tipo 2 e tipo 3) sono riconoscibili, ossia esiste un algoritmo per decidere se una frase appartiene o meno al linguaggio. Un tale procedimento non esiste invece, in generale, per grammatiche di tipo 0. Ma… CHI li riconosce?

34 GRAMMATICHE & MACCHINE PER RICONOSCERE LINGUAGGI Tipo 3 Automa a Stati Finiti (ASF) Tipo 2 Macchina a stack (ASF + stack) Tipo 1 Macchina di Turing con nastro limitato Tipo 0 SE è riconoscibile (può non esserlo), occorre una Macchina di Turing

35 AUTOMA A STATI FINITI Un macchina astratta molto più semplice di una Macchina di Turing niente nastro niente funzione di direzione, dfn() quindi, niente memoria illimitata! per questo si chiama a stati finiti gli stati sono la sua unica forma di memoria che riassume la storia passata spesso descritto con un grafo degli stati

36 AUTOMA A STATI FINITI dove A = insieme finito dei simboli di ingresso e uscita S = insieme finito degli stati F = insieme finito degli stati finali (F S) mfn: A S A(funzione di macchina) sfn: A S S(funzione di stato) Formalmente definito dalla quintupla: A, S, F, mfn, sfn

37 AUTOMA A STATI FINITI: ESEMPIO Riconoscimento di un identificatore P = { ::= { | } ::= A | B | C | D |... | Z ::= 0|1|2|3|4|5|6|7|8|9 } Un identificatore corretto deve portare lautoma in uno stato finale di accettazione Un identificatore errato deve portare lautoma in uno stato finale di errore

38 altro simbolo AUTOMA A STATI FINITI: ESEMPIO S0S1 lettera lettera o cifra S2 cifra o altro simbolo qualunque simbolo stato finale di errore stato finale di accettaz. stato iniziale

39 SINTASSI & SEMANTICA Sintassi: dà le regole per scrivere frasi corrette Semantica: attribuisce significato alle frasi corrette Attenzione: Non tutte le frasi sintatticamente corrette hanno anche significato

40 SINTASSI & SEMANTICA Ad esempio, la grammatica: P = { ::= ::= il ::= gatto | topo | sasso ::= mangia | beve ::= } consente anche di generare la frase il sasso beve il topo …ma senza senso! sintatticam. corretta...


Scaricare ppt "INSIEMI NUMERABILI Lanalisi matematica introduce il concetto di insieme numerabile come insieme i cui elementi possono essere contati ossia che possiede."

Presentazioni simili


Annunci Google