Forma Normale di Chomsky
|
|
|
- Basilio Lazzari
- 9 anni fa
- Просмотров:
Транскрипт
1 2. Eliminazione delle produzioni unitarie Forma Normale di Chomsky Una produzione si dice unitaria se è della forma A! B. Le produzioni unitarie in pratica consistono in una ridenominazione di variabili, talvolta necessaria, al momento della creazione della grammatica. La rimozione di queste regole implica la definizione di altre regole che producano le stesse stringhe. Es1 A! aa a B B! bb b C è evidente la catena di regole che da A porta al simbolo C via il simbolo B Algoritmo Sia P1 l insieme delle produzioni della grammatica di partenza G1 (senza #-produzioni). 1. Per ogni simbolo X " V N della grammatica G1 si individuano tutti i simboli non terminali ad esso collegati raggiungibili da produzioni unitarie, chiamo questa lista CHAIN(X). 2. Le produzioni P2 della grammatica trasformata G2 sono costruite a partire dalle produzioni P1 considerato che la regola X! w è collocata in P2 se esiste un simbolo Y e una stringa w tale che: a) Y " CHAIN(X) b) Y! w " P1 c) w $ V N X Y w
2 Eliminazione delle produzioni unitarie cont. Es2 S! ACA AC CA AA A C " A! aaa aa B C B! bb b C! cc c Determinazione dei simboli unitari CHAIN(S) = {S,A,C,B} CHAIN(A) = {A,B,C} CHAIN(B) = {B} CHAIN(C) = {C} Forma Normale di Chomsky S! ACA AC CA AA A C " S! ACA AC CA AA aaa aa bb b cc c " A! aaa aa B C A! aaa aa bb b cc c B! bb b B! bb b C! cc c C! cc c Esercizio- Scrivere la grammatica equivalente della grammatica G13 E! E+T E- T T T! T *F T/F F F! (E) id id! a b c
3 3. Eliminazione dei simboli inutili Forma Normale di Chomsky Def. In una Grammatica contex-free, un simbolo x! (V N " V T ) è detto simbolo utile se esiste una derivazione Un simbolo che non è utile è detto inutile. S #* u x v #* w con u, v! (V N " V T )* e w! V T * Affinché una variabile sia considerata utile occorre che si verifichino le seguenti due condizioni: Generabilità - cioé tramite il simbolo si deve poter pervenire ad una stringa di caratteri terminali (compresa eventualmente la stringa vuota $) Raggiungibilità - che il simbolo deve far parte di una forma sentenziale, ovvero è raggiungibile a partire dal simbolo distinto S S % AC BS B A % aa af B % CF b C % cc D D % ad BD C E % aa BSA F % bb b Qual è il linguaggio generato da questa grammatica?
4 3. Eliminazione dei simboli inutili (cont.) Forma Normale di Chomsky Algoritmo (individuazione dei simboli generatori) - Si collocano nella lista GEN tutti simboli A tali che esiste una regola A! w in P con w " V T * repeat PREV := GEN Per ogni variabile A " V N se c é una regola A! w con w " (PREV # V T )* allora GEN = GEN # { A} until GEN= PREV P S! AC BS B S! BS B GEN PREV A! aa af A! aa af { B,F} B! CF b B! b { B,F, A, S} { B,F} C! cc D D! ad BD C { B,F, A, S,E} { B,F, A, S} E! aa BSA E! aa BSA { B,F, A, S,E} { B,F, A, S,E} F! bb b F! bb b La grammatica risultante G avrà come V N i simboli in GEN, come produzioni P le produzioni A!w di P tali che A " GEN e w " (GEN # V T )*, come V T i simboli terminali che occorrono nelle parti destre di P, ovvero V N = { B,F, A, S,E}, V T = { a,b} e P come sopra indicato.
5 3. Eliminazione dei simboli inutili (cont.) Forma Normale di Chomsky Algoritmo (individuazione dei simboli raggiungibili) RAGG = simbolo distinto di G PREV :=! repeat NEW := RAGG-PREV PREV:= RAGG per ogni variabile A # NEW per ogni regola A " w addiziona tutte le variabili in w a RAGG until RAGG=PREV RAGG PREV { S} {!} NEW { S, B} { S} { S} { S, B} { S, B} { B} S " BS B A " aa af B " b E " aa BSA F " bb b La grammatica risultante G avrà come V N i simboli in RAGG, come produzioni P le produzioni A "w di P tali che A # RAGG e w # (RAGG $ V T )*, come V T i simboli terminali che occorrono nelle parti destre di P, ovvero V N = { S,B}, V T = {b} e P come sopra indicato. P S " BS B B " b
6 Forma Normale di Chomsky Una grammatica G si dice in forma normale (di Chomsky) se ciascuna regola è della forma: 1. A! BC con B, C! V N - { S} 2. A! a 3. S! " Data una grammatica di tipo 2, G = < VN,VT,P, S > è possibile costruire per via algoritmica una grammatica G = < V N,VT,P, S > in forma normale (di Chomsky). Si assume che la grammatica abbia la seguente struttura: Il simbolo distinto S non è ricorsivo G è privo di!-produzioni ad esclusione di S!! G non contiene produzioni unitarie G non contiene simboli inutili Una produzione di una tale grammatica può avere solo una delle seguenti forme: S!! A! a a! VT A! w w!( ( VN # VT ) - { S})* e w > 1 Si osservi come avendo eliminato le produzioni unitarie la parte destra di una regola non potrà essere formata dal un solo simbolo non terminale, pertanto le regole A! w avranno come parte destra più simboli terminali e non terminali.
7 Forma Normale di Chomsky Si tratta in definitiva di vedere come si trattano le produzioni A! w in cui w > 1. S! aabc a A! aa a B! bcb bc C! cc c produzioni già in forma normale Il primo passo sarà quello di sostituire i terminali presenti in w con opportuni simboli non terminali. S! A ABC a A! A A a B! B C B B C C! C C c A! a B!b C!c produzioni ancora non in forma normale A questo punto dobbiamo gestire le regole con parti destre costituite da più di due simboli non terminali, in quanto tutte le altre soddisfano già le condizioni della forma normale. Ciò viene fatto introducendo delle ulteriori variabili.
8 Forma Normale di Chomsky S! A ABC a A! A A a B! B C B B C C! C C c A! a B!b C!c Si introducono altre opportune variabili S! A ABC B! B C B S! A T1 T1! ABC B! B T4 T4! C B non in forma normale non in forma normale S! A T1 T1! A T2 T2! BC Si ha pertanto che la grammatica di partenza S! aabc a A! aa a B! bcb bc C! cc c viene trasformata in S! A T1 a A! a T1! A T2 T 2! BC A! A A a B! B T4 B C T4! C B C! C C c B!b C!c
9 Forma Normale di Chomsky Esercizio Trasformare in forma normale di Chomsky la grammatica: E $ E+T E- T T T $ T *F T/F F F $ (E) id id $ a b c
10 Automi Pushdown Rappresentano una modificazione degli automi a stati finiti in quanto introducono il concetto di memoria, tale memoria è rappresentata sotto forma di stack La grammatica G 14 con regole S $ a S a b S b " riconosce stringhe palindrome input S%aSa % aa S%aSa % absba %abba S%aSa % absba %abbasabba%abbaabba... a b b a a b b a testina di lettura Controllo b b a stack
11 Automi Pushdown Un automa pushdown è definito dalla sestupla < K, ", &, ', s, Z > K - Insieme degli stati " - Alfabeto di Ingresso (Alfabeto terminale) & - Alfabeto dello stack s - Stato iniziale s! K Z - insieme degli stati finali Z ( K ' - relazione di transizione è un sottoinsieme finito di # ( K x (" # {"} ) x &*) x (K x&*) #
12 Transizioni negli automi pushdown Una quintupla (p, a, )), (q, *) rappresenta una transizione e viene interpretata nel seguente modo : # se l automa si trova in uno stato p, sta leggendo il simbolo a dal nastro, mentre ) si trova sul top dello stack, l automa passa allo stato q e rimpiazza ) con * sul top dello stack Ex: la transizione (p, ", )), (q, *) non legge alcun simbolo dal nastro di input passa dallo stato p allo stato q mette * al posto di ) nello stack la transizione (p, u, "), (q, a) legge il carattere u ## # passa dallo stato p allo stato q ## # effettua il push di a nello stack" " la transizione (p, u, a), (q, ") legge il carattere u ## # passa dallo stato p allo stato q "" " effettua il pop di a dallo stack
13 Configurazioni negli automi pushdown Si definisce una configurazione dell automa un elemento di ## # # ## # # K x "* x &* in cui la prima componente è lo stato corrente della macchina, la seconda componente è la porzione di input che deve essere ancora letta, la terza componente è il contenuto dello stack Ex: ( q, bba, bba) è una configurazione in cui il contenuto corrente dello stack è bba (b è al top) e la parte di stringa ancora da leggere è bba Date le due configurazioni c 1 = (p, x, +) e c 2 = (q, y,,) si dirà che c 1 si trasforma in c 2 in un singolo passo e si scrive (p, x, +) - (q, y,,) se esiste una transizione (p, s, )), (q, *)! ' tale che: x = sy, + = ). e, = *. Ex: (q, bba, bba) - (q, ba, ba) in virtù di una transizione in ' avente la struttura (q, b, b), (q, ") per cui x= bba y=ba + = bba, = ba.=ba )=b *= " input a b b a a b b a Controllo testina di lettura b b a stack
14 Computazioni di un automa pushdown Una sequenza di configurazioni C 0, C 1,..., C n con n > 0 tale che C 0 = ( s, w,!) " C 1 " C 2 "... " C n = (p,!,!) per qualche p # Z, viene chiamata una computazione accettante di! lunghezza n. Dato un automa pushdown A, il linguaggio accettato da A e denotato da L(A) è l insieme delle stringhe accettate da A
15 Esempio stringhe palindrome 1 Automa per il riconoscimento del linguaggio L = {w c w R } A = < {s,f}, {a,b,c}, {a,b},!, s, { f } > con! che contiene le transizioni: 1. (( s, a, " ), (s, a)! [ push a] 2. (( s b, " ), (s, b) [ push b] 3. (( s, c, " ), (f, ")!! 4. (( f a, a ), (f, ")! [ pop a ] 5. (( f, b, b ), (f, ")! [ pob b ] Si osservi come nell alfabeto di stack non è compreso il simbolo c che denota la demarcazione tra le due parti della stringa esecuzione per abbcbba Stato Stringa di input stack transizione s abbcbba " s bbcbba a 1 s bcbba ba 2 s cbba bba 2 f bba bba 3 f ba ba 5 f a a 5 f " " 4
16 Esempio stringhe palindrome 2 Automa per il riconoscimento del linguaggio L = {w w R } A = < {{s,f}, {a,b}, {a,b},!, s, { f } > con! che contiene le transizioni: 1. (( s, a, " ), (s, a)! [ push a] 2. (( s b, " ), (s, b) [ push b] 3. (( s, ", " ), (f, ")!! 4. (( f a, a ), (f, ")! [ pop a ] 5. (( f, b, b ), (f, ")! [ pob b ] Nell applicazione della regola 3 la macchina puo scegliere non deterministicamente di andare nello stato f senza consumare input o fare un push del prossimo simbolo nello stack. Si osservi come questa sia l unica regola variata rispetto all automa precedente. Esecuzione per abbbba Stato Stringa di input stack transizione s abbbba " " s bbbba a 1 s bbba ba 2 s bba bba 2 f bba bba 3 f ba ba 5 f a a 5 f " " 4
Forme Normali. Forma normale di Chomsky. E caratterizzata da regole di due tipi. A! BC dove A, B, C $ V N A! a con a $ V T. Forma normale di Greibach
Forme Normali A partire da una grammatica Context-free G è sempre possibile costruire una grammatica equivalente G ovvero L(G) = L(G ) che abbiano le produzioni in forme particolari, dette forme normali.
Esempio stringhe palindrome 1
Esempio stringhe palindrome 1 Automa per il riconoscimento del linguaggio L = {w c w R } A = < {s,f}, {a,b,c}, {a,b},!, s, { f } > con! che contiene le transizioni: 1. (( s, a, " ), (s, a)! [ push a] 2.
Pumping lemma per i linguaggi Context-free
Pumping lemma per i linguaggi Context-free Sia L un linguaggio context-free. E possibile determinare una costante k, dipendente da L, tale che qualunque stringa z! L con z > k si può esprimere come z=
Informatica teorica Lez. n 7 Macchine di Turing. Macchine di Turing. Prof. Giorgio Ausiello Università di Roma La Sapienza
Macchine di Turing Argomenti della lezione Definizione della macchina di Turing Riconoscimento e accettazione di linguaggi Macchine a più nastri La macchina di Turing èun è automa che può leggere e scrivere
LINGUAGGI CONTEXT FREE. Lezione Lezione
LINGUAGGI CONTEXT FREE Lezione 25-11-2010 Lezione 30-11-2010 2 INTRODUZIONE GERARCHIA DI CHOMSKY 3 4 DEFINIZIONE DEI LINGUAGGI CONTEXT FREE LINGUAGGI CF I linguaggi di tipo 2 sono detti context free (CF)
Sui Linguaggi Regolari: Teorema di Kleene - Pumping Lemm
Sui Linguaggi Regolari: Teorema di Kleene - Pumping Lemma N.Fanizzi - V.Carofiglio 6 aprile 2016 1 Teorema di Kleene 2 3 o 1 o 3 o 8 Teorema di Kleene Vale la seguente equivalenza: L 3 L FSL L REG Dimostrazione.
Linguaggi Regolari e Linguaggi Liberi
Linguaggi Regolari e Linguaggi Liberi Linguaggi regolari Potere espressivo degli automi Costruzione di una grammatica equivalente a un automa Grammatiche regolari Potere espressivo delle grammatiche 1
acuradi Luca Cabibbo e Walter Didimo Esercizi di Informatica teorica - Luca Cabibbo e Walter Didimo 1
acuradi Luca Cabibbo e Walter Didimo Esercizi di Informatica teorica - Luca Cabibbo e Walter Didimo 1 richiami teorici sulle grammatiche di Chomsky esercizivari esercizi su grammatiche ed espressioni regolari
Fondamenti d Informatica: Le Macchine di Turing. Barbara Re, Phd
Fondamenti d Informatica: Le Macchine di Turing Barbara Re, Phd Esercizio 1 } Consideriamo una MdT che modifica una sequenza di A rimpiazzando ogni A in posizione dispari con una B (la prima A ha posizione
Linguaggi Regolari e Linguaggi Liberi
Linguaggi Regolari e Linguaggi Liberi Potenza espressiva degli automi Potenza espressiva delle grammatiche 9/11/2004 Programmazione - Luca Tesei 1 Linguaggi Regolari Tutti i linguaggi che possono essere
AUTOMA A STATI FINITI
Gli Automi Un Automa è un dispositivo, o un suo modello in forma di macchina sequenziale, creato per eseguire un particolare compito, che può trovarsi in diverse configurazioni più o meno complesse caratterizzate
Quiz sui linguaggi regolari
Fondamenti dell Informatica 1 semestre Quiz sui linguaggi regolari Prof. Giorgio Gambosi a.a. 2016-2017 Problema 1: Data l espressione regolare a, definita su {a, b}, descrivere il linguaggio corrispondente
Espressività e limitazioni delle grammatiche regolari
Espressività e limitazioni delle grammatiche regolari Vantaggi: Le grammatiche regolari consentono di esprimere una significativa classe di linguaggi: linguaggi con un numero di sequenze infinito grazie
Aniello Murano Automi e Pushdown
Aniello Murano Automi e Pushdown 2 Lezione n. Parole chiave: Automi e PDA Corso di Laurea: Informatica Codice: Email Docente: murano@ na.infn.it A.A. 2008-2009 Calcolabilità, complessità e macchine computazionali
Definizione di Grammatica
Corso di Linguaggi e Traduttori 1 AA 2004-05 GRAMMATICHE 1 Definizione di Grammatica Formalmente definiamo un grammatica G mediante una quadrupla ( VN, VT, P, S ) dove: V N e l insieme dei simboli non
Esercizi di Fondamenti di Informatica per la sicurezza. Stefano Ferrari
Esercizi di Fondamenti di Informatica per la sicurezza tefano Ferrari 23 dicembre 2003 2 Argomento 1 Grammatiche e linguaggi Esercizi Es. 1.1 Definiti i linguaggi: L 1 = {aa, ab, bc, c} L 2 = {1, 22, 31}
Capitolo 5: Macchine di Turing e calcolabilitá secondo Turing
Capitolo 5: Macchine di Turing e calcolabilitá secondo Turing 1 Macchina di Turing (MDT ) Un dispositivo che accede a un nastro (potenzialmente) illimitato diviso in celle contenenti ciascuna un simbolo
PROLOG E ANALISI SINTATTICA DEI LINGUAGGI Quando si vuole definire in modo preciso la sintassi di un linguaggio si ricorre a una grammatica G=(V n,v t
PROLOG E ANALISI SINTATTICA DEI LINGUAGGI Quando si vuole definire in modo preciso la sintassi di un linguaggio si ricorre a una grammatica Una grammatica permette di stabilire se una sequenza di simboli
Dispense del corso di Linguaggi di programmazione e laboratorio Linguaggi formali(versione non definitiva con diversi refusi) Francesco Sisini
Dispense del corso di Linguaggi di programmazione e laboratorio Linguaggi formali(versione non definitiva con diversi refusi) Francesco Sisini 04 Giugno 2014 Indice 0.1 Automi.................................
Parser Bottom UP. Giuseppe Morelli
Parser Bottom UP Giuseppe Morelli Parser Bottom UP Un parser Bottom Up lavora costruendo il corrispondente albero di parsing per una data stringa di input partendo dalle foglie (bottom) e risalendo via
Le Macchine di Turing
Le Macchine di Turing Come è fatta una MdT? Una MdT è definita da: un nastro una testina uno stato interno un programma uno stato iniziale Il nastro Il nastro è infinito suddiviso in celle In una cella
Fondamenti d Informatica: linguaggi formali. Barbara Re, Phd
Fondamenti d Informatica: linguaggi formali Barbara Re, Phd Agenda } Introdurremo } La nozione di linguaggio } Strumenti per definire un linguaggio } Espressioni Regolari 2 Linguaggio } Da un punto di
Le grammatiche formali
Le grammatiche formali Il carattere generativo dei sistemi linguisticii i Consideriamo i la seguente frase: Un gatto rincorre il topo Non facciamo difficoltà a riconoscere che si tratta di una frase sintatticamente
Linguaggi e Ambienti di Programmazione
Linguaggi e Ambienti di Programmazione Principi e tecniche diffuse che si incontrano spesso nelle applicazioni dell informatica. Compilatori Editor di struttura: riceve in input una sequenza di comandi
Definire tramite una grammatica ad attributi il
1 ESERCIZI ESERCIZIO 1 Definire tramite una grammatica ad attributi il linguaggio L = {a n b n c n n 0} Implementare un analizzatore sintattico/ semantico a discesa ricorsiva Costruire le tabelle di analisi
Macchina di Turing ... !!... !!! a b b! b a! Nastro di Input. testina. s t q i. s r. Unità di Controllo q j S / D / F
Macchina di Turing Nastro di Input...!!! a b b! b a! testina!!... s r s t q i Unità di Controllo q j Q S / D / F P Definizione Formale Una macchina di Turing deterministica è una sestupla
Macchine di TURING. Alan Mathison Turing ( )
Macchine di TURING Alan Mathison Turing (1912 1954) Macchine di TURING Alan Mathison Turing (1912 1954) matematico, logico e crittanalista britannico, considerato uno dei padri dell informatica e uno dei
LINGUAGGI E GRAMMATICHE FORMALI
LINGUAGGI E GRAMMATICHE FORMALI I LINGUAGGI IN INFORMATICA Presenti in tutte le applicazioni Fondamentali nel software di sistema Paradigmatici nella teoria molti importanti problemi teorici son riconducibili
Minimizzazione degli stati di reti sequenziali asincrone (RSA) / sincrone (RSS)
Minimizzazione degli stati di reti sequenziali asincrone (RSA) / sincrone (RSS) Problema: Data una tabella di flusso (TdF) contraddistinta da un numero arbitrario N di stati s 1, s 2,, s N, individuare
Dispensa 2. Data una grammatica context free esistono tre metodi diversi per costruirne la parsing table per un parser LR:
Dispensa 2 2.1 Costruzione Parsing Table LR: generalità Come tutti i parser tabellari predittivi, anche i parser LR possono essere applicati solo a parsing table senza conflitti (ossia entrate multiple)
Corso di Linguaggi di Programmazione + Laboratorio Docente: Marco de Gemmis
Corso di Linguaggi di Programmazione + Laboratorio Docente: Marco de Gemmis Capitolo 2 Grammatiche e Linguaggi Si ringraziano il Prof. Giovanni Semeraro e il Dott. Pasquale Lops per la concessione del
Capitolo 5: Macchine di Turing e calcolabilitá secondo Turing
Capitolo 5: Macchine di Turing e calcolabilitá secondo Turing 1 Macchina di Turing (MDT ) Un dispositivo che accede a un nastro (potenzialmente) illimitato diviso in celle contenenti ciascuna un simbolo
Principio di composizione delle MT
Principio di composizione delle MT La definizioni date fanno riferimento a situazioni in cui la macchina sia capace di risolvere problemi singoli. E possibile far sì che macchine progettate per problemi
Linguaggio universale, riduzioni, e teorema di Rice. Linguaggio universale, riduzioni, e teorema di Rice
l linguaggio universale Il linguaggio universale L u e l insieme delle stringhe binarie che codificano una coppia (M,w) dove w L(M). Esiste una TM U, detta TM universale, tale che L u = L(U). U ha tre
Espressioni regolari descrivono i linguaggi regolari. Un FA (NFA o DFA) è un metodo per costruire una macchina che riconosce linguaggi regolari.
Espressioni regolari descrivono i linguaggi regolari Un FA (NFA o DFA) è un metodo per costruire una macchina che riconosce linguaggi regolari. Una espressione regolare e un modo dichiarativo per descrivere
Verificare se una grammatica e LL(1) e costruirne la tabella di parsing. Verificare se una grammatica e LR(0) e costruirne la tabele ACTION e GOTO
ANALISI SINTATTICA TIPO 1: Data un linguaggio scrivere una grammatica che lo generi TIPO 2: Verificare se una grammatica non contestuale è ambigua TiPO 3: Verificare se una grammatica e LL(1) e costruirne
Fondamenti d Informatica: Le Macchine di Turing. Barbara Re, Phd
Fondamenti d Informatica: Le Macchine di Turing Barbara Re, Phd Agenda } Introdurremo } il formalismo delle Macchine di Turing nelle varie versioni } la nozione di calcolabilità e di decidibilità 2 La
RELAZIONI BINARIE. Proprietà delle relazioni Data una relazione R, definita in un insieme non vuoto U, si hanno le seguenti proprietà :
RELAZIONI INARIE Dati due insiemi non vuoti, A detto dominio e detto codominio, eventualmente coincidenti, si chiama relazione binaria (o corrispondenza) di A in, e si indica con f : A, (oppure R ) una
Grammatiche. Grammatiche libere da contesto Grammatiche regolari Potenza delle grammatiche libere e regolari Struttura di frase: Alberi di derivazione
Grammatiche Grammatiche libere da contesto Grammatiche regolari Potenza delle grammatiche libere e regolari Struttura di frase: Alberi di derivazione Esempio dei numeri interi Si consideri il linguaggio
Analizzatore lessicale o scanner. Lo scanner rappresenta un'interfaccia fra il programma sorgente e l'analizzatore sintattico o parser.
Analizzatore lessicale o scanner Dispensa del corso di Linguaggi e Traduttori A.A. 2005-2006 Lo scanner rappresenta un'interfaccia fra il programma sorgente e l'analizzatore sintattico o parser. Lo scanner,
Espressioni regolari
spressioni Regolari Un FA (NFA o DFA) e una macchina a stati finiti che riconosce linguaggi regolari. Una espressione regolare e un modo dichiarativo (o algebrico) per descrivere un linguaggio regolare.
ELEMENTI DI PROGRAMMAZIONE a.a. 2012/13 MACCHINE, ALGORITMI, PROGRAMMI
ELEMENTI DI PROGRAMMAZIONE a.a. 22/3 MACCHINE, ALGORITMI, PROGRAMMI Andrea Prevete, UNINA2 23 UNA GERARCHIA DI MACCHINE macchine combinatorie macchine sequenziali (automi a stati finiti)... macchine di
Linguaggi di Programmazione Corso C. Parte n.3 Linguaggi Liberi da Contesto e Linguaggi Contestuali. Nicola Fanizzi
Linguaggi di Programmazione Corso C Parte n.3 Linguaggi Liberi da Contesto e Linguaggi Contestuali Nicola Fanizzi ([email protected]) Dipartimento di Informatica Università degli Studi di Bari Grammatiche
Turing, i nastri e le macchine
Turing, i nastri e le macchine Giochiamo con i nastri Avete a disposizione un nastro diviso in sezioni rettangolari, che chiameremo caselle, ognuna delle quali può essere vuota oppure contenere la lettera
Sistemi Web per il turismo - lezione 3 -
Sistemi Web per il turismo - lezione 3 - Software Si definisce software il complesso di comandi che fanno eseguire al computer delle operazioni. Il termine si contrappone ad hardware, che invece designa
ELEMENTI DI PROGRAMMAZIONE a.a. 2013/14 UNA GERARCHIA DI MACCHINE
ELEMENTI DI PROGRAMMAZIONE a.a. 23/4 UNA GERARCHIA DI MACCHINE Andrea Prevete, UNINA2 24 UNA GERARCHIA DI MACCHINE macchine combinatorie macchine sequenziali (automi a numero finito di stati)... macchine
GRAMMATICHE DEI LINGUAGGI DI PROGRAMMAZIONE. Cosimo Laneve
GRAMMATICHE DEI LINGUAGGI DI PROGRAMMAZIONE Cosimo Laneve 1 argomenti 1. linguaggi di programmazione 2. definizione formale di insiemi infiniti 3. la grammatica e la notazione BNF 4. notazioni alternative
DISPENSE SU TEORIA DEGLI INSIEMI E NUMERI
FACOLTA' DI ECONOMIA UNIVERSITA DELLA CALABRIA Corso di Modelli Matematici per l Azienda a.a. 2011-2012 DISPENSE SU TEORIA DEGLI INSIEMI E NUMERI Prof. Fabio Lamantia INSIEMI INSIEME= gruppo di oggetti
In molte applicazioni sorge il problema di sapere in quanti modi possibili si può presentare un certo fenomeno.
Definizione Oggetto del calcolo combinatorio è quello di determinare il numero dei modi mediante i quali possono essere associati, secondo prefissate regole, gli elementi di uno stesso insieme o di più
albero sintattico parser scanner Errori sintattici
albero programma scanner tokens parser sintattico rrori sintattici Un parser deve riconoscere la struttura di una stringa di ingresso, la cui struttura è fornita in termini di regole di produzione di una
Introduzione ai grafi. Introduzione ai grafi p. 1/2
Introduzione ai grafi Introduzione ai grafi p. 1/2 Grafi Un grafo G é costituito da una coppia di insiemi (V,A) dove V é detto insieme dei nodi e A é detto insieme di archi ed é un sottinsieme di tutte
Esercizio su MT. Svolgimento
Esercizio su MT Definire una macchina di Turing deterministica M a nastro singolo e i concetti di configurazione e di transizione. Sintetizzare una macchina di Turing trasduttore che trasformi un numero
Logica proposizionale
Logica proposizionale Proposizione: frase compiuta che è sempre o vera o falsa. Connettivi Posti in ordine di precedenza: not, and, or, implica, doppia implicazione Sintassi Le proposizioni sono costituite
Presentazione di gruppi
Presentazione di gruppi Sia G un gruppo e X un suo sottoinsieme non vuoto, indichiamo con Gp(X) = {x ɛ 1 1 x ɛ 2 2... x ɛ n n x i X, ɛ i = ±1} dove gli elementi di questo insieme sono da intendersi come
Descrizione delle operazioni di calcolo. Espressioni costanti semplici
Descrizione delle operazioni di calcolo Come abbiamo detto l interprete è in grado di generare nuovi valori a partire da valori precedentemente acquisiti o generati. Il linguaggio di programmazione permette
MODULO 04 ELEMENTI DI TEORIA DEI LINGUAGGI FORMALI
MODULO 04 ELEMENTI DI TEORIA DEI LINGUAGGI FORMALI Un linguaggio di programmazione è uno strumento per esprimere algoritmi in una forma adatta allo loro esecuzione da parte di un elaboratore La formulazione
Algoritmi e Principi dell Informatica
Algoritmi e Principi dell Informatica Appello del 2 Marzo 2015 Chi deve sostenere l esame integrato (API) deve svolgere tutti gli esercizi in 2 ore e 30 minuti. Chi deve sostenere solo il modulo di Informatica
Fondamenti di informatica Esercizi Svolti Macchine di Turing. Realizzati da: Roberto Quaranta Matr
Fondamenti di informatica Esercizi Svolti Macchine di Turing Realizzati da: Roberto Quaranta Matr. 449028 Macchina di Turing che calcola la funzione Max(x, y) Q= {q 0, q 1, q 2, q 3, q 4, q 5, q 6,q F
