aútomatas finitos determinísticos

5
 CC20A-1 Computación II - Auxiliar 5 Iván Bustamante 1 Clase Auxiliar 5 Aútomatas Finitos Determiní sticos (Diagramas de Estado) Un autómata finito determiní stico es un modelo de un sistema que tiene una cantidad finita de estados (de ahí  que sea un aut ómata finito), entre los cuales existen transiciones, dada una entrada perteneciente a un alfabeto bien definido. Es determin í stico porque en cada estado, para una entrada dada, existe sólamente 1 transici ón posible. Es posible que estas transiciones sean hacia el mismo estado de origen. (En el caso de un aut ómata no determiní stico, podrí a existir más de una transici ón para un mismo estado de origen y entrada, teniendo que “optar” por una de las dos transiciones). Formalmente un AFD se puede definir como una qu í ntupla (Q, , , s, F), donde:  Q es el conjunto de todos los estados del modelo.   es el alfabeto sobre el cual se define las entradas (toda entrada e i   ).   es la funci ón de transición de estados, tal que: (q i , a) = q  j , donde si el estado de origen es q i y la entrada a, el estado de destino ser á q  j.  s es el estado inicial, s  Q.  F es el conjunto de estados “finales”, que no necesariamente son estacionarios. Simplemente es para definir un grupo de estados especiales, distintos de los dem ás. F  Q. Los AFD se pueden representar mediante diagramas de estado, donde:  Los estados se representan mediante c í rculos etiquetados.  El estado inicial se puede distinguir de los dem ás como sigue:  Las transiciones se representan mediante flechas etiquetadas (por el(los) elemento(s) del alfabeto que provoca(n) esa transici ón), cuya cola est á en el estado origen y su punta en el estado destino.  Los estados finales se representan mediante c í rculos dobles etiquetados (diferenci ándolos de los demás estados). En este curso, se utilizaremos los diagramas de estado para representar funciones de transic ón de estados de descripciones formales (no-aut ónomas). De manera equivalente, se puede representar una transici ón de estados mediante una tabla. s

Upload: bones-nuskool

Post on 05-Oct-2015

215 views

Category:

Documents


0 download

DESCRIPTION

Aútomatas Finitos Determinísticos (Diagramas de Estado)

TRANSCRIPT

  • CC20A1ComputacinIIAuxiliar5IvnBustamante

    1

    ClaseAuxiliar5

    AtomatasFinitosDeterminsticos(DiagramasdeEstado)Unautmatafinitodeterminsticoesunmodelodeunsistemaquetieneunacantidadfinitade

    estados(deahqueseaunautmatafinito),entreloscualesexistentransiciones,dadaunaentradapertenecienteaunalfabetobiendefinido.Esdeterminsticoporqueencadaestado,paraunaentradadada,existeslamente1transicinposible.Esposiblequeestastransicionesseanhaciaelmismoestadodeorigen.(Enelcasodeunautmatanodeterminstico,podraexistirmsdeunatransicinparaunmismoestadodeorigenyentrada,teniendoqueoptarporunadelasdostransiciones).

    FormalmenteunAFDsepuededefinircomounaquntupla(Q,,,s,F),donde:

    Qeselconjuntodetodoslosestadosdelmodelo. eselalfabetosobreelcualsedefinelasentradas(todaentradaei). eslafuncindetransicindeestados,talque:

    (qi,a)=qj,dondesielestadodeorigenesqiylaentradaa,elestadodedestinoserqj.

    seselestadoinicial,sQ. Feselconjuntodeestadosfinales,quenonecesariamentesonestacionarios.Simplementees

    paradefinirungrupodeestadosespeciales,distintosdelosdems.FQ.

    LosAFDsepuedenrepresentarmediantediagramasdeestado,donde:

    Losestadosserepresentanmediantecrculosetiquetados. Elestadoinicialsepuededistinguirdelosdemscomosigue:

    Lastransicionesserepresentanmedianteflechasetiquetadas(porel(los)elemento(s)delalfabetoqueprovoca(n)esatransicin),cuyacolaestenelestadoorigenysupuntaenelestadodestino.

    Losestadosfinalesserepresentanmediantecrculosdoblesetiquetados(diferencindolosdelosdemsestados).

    Enestecurso,seutilizaremoslosdiagramasdeestadopararepresentarfuncionesdetransicndeestadosdedescripcionesformales(noautnomas).Demaneraequivalente,sepuederepresentarunatransicindeestadosmedianteunatabla.

    s

  • CC20A1ComputacinIIAuxiliar5IvnBustamante

    2

    ProblemasProblema#1

    a) Describa los Estados de un modelo que tenga como entradas el conjunto {A,B,C,D} y que tenga el siguientecomportamiento:

    Solamente estar en un estado final si la cadena de entrada NO tiene ni aa ni bb como subcadenas.Ejemplo: La cadena bcbadaba estar en un estado final.

    La cadena cadbabba no estar en un estado final.

    b) Describa los Estados de un modelo que tenga como entradas el conjunto {A,B,C,D} y que tenga el siguientecomportamiento:

    Solamente estar en un estado final si la cadena de entrada tiene las subcadenas aa o bb.Ejemplo: La cadena ababccbad no estar en un estado final.

    La cadena bbacdbdab estar en un estado final.

    Problema#2(basadoenC1,Otoo2007)

    SupongaquedelaempresaMacrosoftlepidenqueespecifiquelafuncindetransicindeunautmatafinitodelprocesodeaceptacindeunaexpresindellenguajeALFAqueestndesarrollando.Especficamente,setratadedeversiunaexpresinquepongaunprogramadoresaceptableporALFA.Laexpresincombinavariables(representadacadaunadeellasporunaletra)ycondiciones.Porejemplo,unaexpresincorrectaesa>b.

    UnaexpresinvlidaenALFAseexplicaformalmenteas:

    letra[condletra]+;

    letraesunaletradelalfabetoycondesalgunadelassiguientescondiciones:,>=,=y;a>f==g;p>q=;xx>z;p=q;

  • CC20A1ComputacinIIAuxiliar5IvnBustamante

    3

    SuautmatatomacomoentradaUNslocarcteralavezydebequedarenunestadollamadoerrorencasodequelaexpresinnoseavlidayenestadoxitoencasocontrario.Ignorelosespaciosyotroscaracteresnoespecificados.

    Problema#3Supongaquelafuncindetransicin :ESTADOxENTRADAESTADOdeunmodeloestrepresentadoenlasiguientetabla.SielestadoinicialesE0,especifique:

    dossecuenciasdeentradadistintasquehaganqueelmodeloquedeenestadoE4,enexactamentecuatroinstantesdetiempoms,y dossecuenciasquehaganlomismo,perotranscurridosexactamentecincoinstantesdetiempo.

    Noesnecesarioespecificarlatupladelsistema,nijustificarlassecuenciasescogidas.

    ENTRADAS={0,1}

    ESTADOS={E0,E1,E2,E3,E4}ESTADO ENTRADA ESTADO()

    E0 0 E1

    E0 1 E2

    E1 0 E1

    E1 1 E2

    E2 0 E1

    E2 1 E3

    E3 0 E3

    E3 1 E4

    E4 0,1 E4

  • CC20A1ComputacinIIAuxiliar5IvnBustamante

    4

    SolucindelosProblemasProblema#1

    a)

    b)

    E0

    E1

    E2

    E3

    c,d

    a,b,c,dc,d

    c,d

    a a

    ab

    b b

    E0

    E1

    E2

    E3

    c,d

    a,b,c,dc,d

    c,d

    a a

    ab

    b b

  • CC20A1ComputacinIIAuxiliar5IvnBustamante

    5

    Problema#2

    l={a,b,c,...,z}=l{,=,;}

    Problema#3

    Hacemoseldiagramadeestados(grafo),puesestenospermitirverlasolucinalproblemaenformamssimple.Entodocaso,tambinesposiblerespondersinhacerlo,slomirandolatabladetransiciones.

    Entoncesseproponenlassiguientessecuencias:1101y011100111y11001

    E0

    E1

    E2

    E3

    E4

    00

    0

    0

    1

    1

    1

    1

    0,1

    ExE0 E1

    E3

    E2 E4

    E5

    Er

    =

    ==

    l

    l

    l

    ;

    ;,l

    \l

    \{=}

    =

    \l\l

    ;,l