Homepage  Il progetto dsy.it è l'unofficial support site dei corsi di laurea del Dipartimento di Scienze dell'Informazione e del Dipartimento di Informatica e Comunicazione della Statale di Milano. E' un servizio degli studenti per gli studenti, curato in modo no-profit da un gruppo di essi. I nostri servizi comprendono aree di discussione per ogni Corso di Laurea, un'area download per lo scambio file, una raccolta di link e un motore di ricerca, il supporto agli studenti lavoratori, il forum hosting per Professori e studenti, i blog, e molto altro...
In questa sezione è indicizzato in textonly il contenuto del nostro forum


.dsy:it. .dsy:it. Archive > Didattica > Corsi G - M > Linguaggi formali e automi
 
Domanda Veloce Esempio 3.2
Clicca QUI per vedere il messaggio nel forum
saradid
Ciao,
forse sto capendo questa materia , incredibile....
pero' ho un dubbio sulle slide

esempio 3.2

linguaggio a^n b ^n c^n con n >= 1

Sulle slide le regole di produzione indicate sono

S -> aSBC, S -> aBC, CB -> BC, aB -> ab, bB -> bb, bC-> bc, cC-> cc


pero' scusate, come si puo' generare allora con queste regole
la parola abc che ha n=1 ??????????

grazie a chi mi aiutera'

saradid
ah nooooooo, ho capito....

si fa cosi'??!??!
APPLICO IN ORDINE LE REGOLE

S --> a B C

APPLICO LA aB-->ab

e mi diventa

abC

APPLICO LA bC-->bc

e mi diventa finalmente la parola abc !!!!!!!!!!!
e' corretto?!?

poi_1969
yes

saradid
e' fantastico!!!!! penso di avere superato uno scoglio!!!!!!!!!

pero' se in generale all'esame mi dovesse chiedere di le regole di produzione per generare il linguaggio non generale con ^n , ma ad esempio abc

le potrei dare come regole di produzione delle regole arbitrarie mie?

ad esempio potrei dare come regole
1) S->aSbc
2) S-->parola vuota

APPLICO LA PRIMA
S-->aSbc -->
APPLICO LA SECONDA
e ottengo abc

cioe' alla fine le regole sono arbitrarie?

perche' se e' cosi' il linguaggio abc lo potrei generare anche con queste regole

S-->aSBC
S-->PAROLA VUOTA
BC-->bc

applico la prima
S-->aSBC
Applico la seconda
aBC
applico la terza e ottengo abc , sbaglio qualcosa o va bene cosi'?
cioe' io mi creo regole arbitrarie in questo esempio?

poi_1969
dai solo quelle delle dispense e basta.
ma devi sapere le dimostrazioni bene in modo formale: è molto rigido in questo senso.


ciao

saradid
dai , ma le definizioni le so , ma la palano mi ha bocciato l'altra volta perche' non avevo proprio capito queste cose,
mi puoi dire se e' corretto quello che ho scritto sopra?
cioe' alla fine per creare il linguaggio abc posso utilizzare indifferentemente i 2 esempi che ho fatto?

poi_1969
è sbagliaTO.
NON PUOI FARE DA S-> PAROLA VUOTA.
il linguaggio e a^nb^nc^n con n>0
quindi nel tuo linguaggio non puoi avere la parolo vuota che hai invece se metti la regola S->parola vuota

saradid
no no....il linguaggio dell'esempio che ho fatto solo e' semplicemente abc ....non in generale a^n b^n c^n

poi_1969
un linguaggio con abc non comprende la parola vuota

saradid
uffff....hai ragione....
quindi per le regole di produzione per il linguaggio che genera
la parola abc

potrebbero essere queste?

S-->aBC
BC-->bc

scusa lo stress ma e' importante capire bene gli esempi perche' non voglio farmi fregare all'esame

poi_1969
se la parola e abc ti basta solo S->abc

saradid
beh si , ma mi sembrava troppo banale ;-) ....
una riga in piu' faceva vedere che avevo proprio capito come giocare come le regole... ;-)

poi_1969
le regole devo essere minimali in questo modo sono efficienti

saradid
ok! grazie , che bello avere capito una cosa che per me era veramente un casino.

Counter65
ho un dubbio, le parole che puo generare un linguaggio del tipo: a + ab*

sono [parola vuota,a,ab^n] giusto?

habbiu
mm ritornando a quello che ha detto sara,allo stesso esempio intendo..

perkè in quell'esempio nella prima derivazione in piu passi si passa da S=>* a^(n-1)S(BC)^(n-1)

perchè c'è n-1??

mari12
Perchè la derivazione è iterata, cioè applica la regola S->aSBC n-1 volte. Questo per sistemare il numero di a. Per esempio, se avessi aˆ3 bˆ3 cˆ3, verrebbe:
S->aSBC->aaSBC , ora applichi la regola S->aBC come dice al passaggio 2 , quindi S->aaaBC e continui per ottenere poi il numero giusto di b e di c.

Powered by: vbHome (lite) v4.1 and vBulletin v2.3.1 - Copyright ©2000 - 2002, Jelsoft Enterprises Limited
Mantained by dsy crew (email) | Collabora con noi | Segnalaci un bug | Archive | Regolamento |Licenze | Thanks | Syndacate