Upload
nguyentruc
View
221
Download
0
Embed Size (px)
Citation preview
Agendaparaestaclase� EspecificaciónFormaldeMáquintasdeEstado� ExpresionesRegulares
Prof. Esp. Ing. José María Sola 259
MáquinasdeEstadoparaespecificarcomportamiento� ¿Cuáleselcomportamiento?� ¿Cómodescribirlo?
� ¿Prosa?� ¿Casodeuso?� ¿Función?
� DominioeImagen� F:Σi*→Σo*
� ¿Comorepresentarlafunción?� DiagramadeTransiciones.
Prof. Esp. Ing. José María Sola 261
� ¿EssuficienteunDigrafo?� ¿EssuficienteunaFunción?
� T:Q×Σi→Q×Σo� Parordenando(2-upla)
� (T:Q×Σi→Q×Σo,inicial)� 5-upla
� Elementos� Estados� Estadoinicial� Entradas� Salidas� Función
� Definición� M=(Q,e0,Σi,Σo,T)� T:Q×Σi→Q×Σo
� 6-upla� FunciónAcciónseparada� M=(Q,e0,Σi,Σo,T,A)� T:Q×Σi→Q� A:Q×Σi→Σo.
FormalizaciónMatemá<caparaMealy
Prof. Esp. Ing. José María Sola 262
� Funciones� Mealy
� A:Q×Σi→Σo
� Moore� A:Q→Σo
� General� T:Q×Σi→Q
×Σo
� Algoritmosparticulares� Mealy
� SeleccionarEstado� SeleccionarCarácter� Accionar� ActualizarEstado
� Moore� SeleccionarEstado� Accionar� SeleccionarCarácter� ActualizarEstado
� Algoritmosgenerales� General
� SeleccionarEstado� Accionar� SeleccionarCarácter� Accionar� ActualizarEstado
� Unalgoritmounpocomásabstracto� whilethere'sanother
character� DoMoore(s)� DoMealy(s,c)� s=GetNextState(s,c)
DiferenciasMooreyMealy
Prof. Esp. Ing. José María Sola 263
� Parordenando(2-upla)� (T:Q×Σi→Q×Σo,inicial)
� 5-upla� Elementos
� Estados� Estadoinicial� Entradas� Salidas� Función
� Definición� M=(Q,e0,Σi,Σo,T)� T:Q×Σi→Q×Σo
� 6-upla� FunciónAcciónseparada� M=(Q,e0,Σi,Σo,T,A)� T:Q×Σi→Q� A:Q→Σo.
FormalizaciónMatemá<caparaMoore
Prof. Esp. Ing. José María Sola 264
DefinicióndeloslenguajesdelasCategoríasLéxicas� Palabrasreservadas� Puntuación� Identitificadores� Constantes
� Entero� Flotante� Carácter� Enumeración
� Literalesdecadena.
Prof. Esp. Ing. José María Sola 267
Ejemplo–Enterosdecimales� {1,2,4,3,5,6,7,8,9}{0,1,2,3,4,5,6,7,8,9}*{u,U,l,L,ε}� Necesitamosunaformamáscompacta� "Demasiadasllavesycomas".
Prof. Esp. Ing. José María Sola 268
� Sintaxis� a∈Σ� EyFrepresentancualquier
ER
� ∅ esunaER� ε esunaER� a esunaER� E+F esunaER� EF esunaER� E* esunaER� (E) esunaER
� Semántica� L(x)significaelLFasociado
conx
� L(∅)={}=∅� L(ε) ={ε}� L(a) ={a}� L(E+F)=L(E)∪L(F)� L(EF) =L(E)×L(F)� L(E*)=L(E)*� L((E)) =(L(E))
DefiniciónformaldeunaER
Prof. Esp. Ing. José María Sola 269
Aplicaciones� Buscarpatrones� Procesartexto� Herramientas
� Grep� ClasesRegex
� SintaxisLéxica� GeneracióndeAnalizadoresLéxicos.
Prof. Esp. Ing. José María Sola 270
Términosdelaclase#DefinircadatérminoconlabibliograJa� EspecificaciónFormaldeMáquinasde
Estado� Comportamientoqueexpresanlas
máquinasdeestado� FunciónTransición� Máquinasdeestadocomo2-upla� Máquinasdeestadocomo5-upla� Máquinasdeestadocomo6-upla� MáquinasdeEstadodeMealy� MáquinasdeEstadodeMoore� ConjuntodeEstados� Estadoinicial� AlfabetodeEntrada� AlfabetodeSalida� FunciónAccionaroAcción
� ExpresionesRegulares� OperacionesconConjuntos
� LenguajeUniversal� ClausuradeKleene� SintaxisdelasER� SemánticadelasER� ERUniversal� AplicacionesdelasER
10
Prof. Esp. Ing. José María Sola 271
Agendaparaestaclase� Carácter,Alfabeto,yString� LenguajesFormales� Intervalo� FormalizacióndeAutómatasFinitos� CardinalidaddeLenguajesyResumen
Prof. Esp. Ing. José María Sola 277
� EsIndivisible� Escualquierelementoquesedefinacomosímbolo
� PerteneceaunAlfabeto(Σ)� Ejemplo[Mv1c1]3:ElalfabetoΣ={0,1}proporcionaloscaracteresparaconstruirlosnúmerosbinarios
� Ejemplo:ElΣ={if,for}tienedoscaracteres
� Ejercicio[Mv1c1]1:EscribaelΣparaconstruirelconjuntodelosnúmerosenterosconsignoenbase10
� Operaciones� Concatenardoscaracteres� aconb=ab
� Potencia7� a7=aaaaaaa� for7=¿?
� ¿Cerradas?
SímbolooCarácter
Prof. Esp. Ing. José María Sola 279
AlfabetoΣ� EsunConjunto,cuyoselementossonsímbolosocaracteres� Restriccionesbásicas
� Finito� Novacío
� Ejemplos� {}=∅⇒noesalfabeto,porservacío� Naturales⇒noesalfabeto,porserinfinito� ASCII� Dígitos={0,1,2,3,4,5,6,7,8,9}� Meses={Lunes,Martes,Miércoles,Jueves,Viernes,Sábado}
� Restricciónavanzada� Suselementosnopuedenformarseporyuxtaposicióndeotroselementos
� Ejemplos� {0,1,1001}� {if,for}� {a,b,c,ch,d,e,f,g,h,i,j,k,l,ll,m,n,ñ,o,p,q,r,rr,s,t,u,v,w,x,y,z}.
Prof. Esp. Ing. José María Sola 280
CaracteresyAlfabetos–ImplementaciónenANSIC� Alfabeto tipodedatochar� Carácter valoryvariable
� A� Literal'A'� Literal65
� c∈Σ� charc;
� Concatenardoscaracteres� ¿Uso?� voidDosCaracteres(int,int,char*);
� Potencia7� ¿Uso?� voidSieteVeces(int,char*);
Prof. Esp. Ing. José María Sola 281
CadenaoString� Secuenciafinita
� Σ={a,b}� aab
� ParesordenadosyProductoCartesiano� ((a,a),b)
� N-Tupla� (a,a,b)
� Ejercicio3:DadoelΣ={if,for},construyaunacadenaquetengacuatro
caracteres� AlgunasOperaciones
� Concatenación� Longitud� Potenciación� Inversa� Instanciasdeuncarácter� Contienetalcarácter� ¿Cuálessoncerradas?
Prof. Esp. Ing. José María Sola 282
� Secuenciavacía� ()� � Símbolos
� Épsilonεó� Lambdaλ
� ¿Aquéalfabetopertenece?� (Evitarlarespuestaobvia)
� EnANSIC� ""
� Unsolocarácter� a(carácter)
� EnANSIC� 'a'
� a(string)� EnANSIC
� "a"
Cadenasespeciales
Prof. Esp. Ing. José María Sola 283
Tipodedatodeunacadena� Valores,Variables,yTipodeDato
� ¿TipodeDatoMatemático?� a� aa� aaaaaaa� ε
� ¿TipodeDatoC?� "a"� "aa"� "aaaaaaaa"� ""
� ¿TipodedatodelascadenasenelLenguajePascal?� ¿TipodedatodelascadenasenelLenguajeC?
Prof. Esp. Ing. José María Sola 284
� LenguajesNaturales� Paracomunicarseentrepersonas
� Evolucióncontinua� Reglasgramaticalesysintaxissurgendespués
� Elpragmatismosepuedeobteneraunquelasintaxisolasemánticanosealacorrecta
� Preciso
� LenguajesFormales� Paracomunicarseentresistemasoparaformalizarconceptos
� Evolucióndiscreta� Reglasgramaticalesysintaxissurgenprimero
� Elpragmatismoseobtienesolosilasintaxisylasemánticasoncorrectas
� Ambiguo
LenguajesNaturales&Formales
Prof. Esp. Ing. José María Sola 287
� Conjuntodecadenas� Suselementossellamanpalabras
� Vacío,finitooinfinito� Σasociado
� Definición� Porextensión� Porcomprensión
� DescripciónenLN� DescripciónenotroLF
� Matemáticayteoríadeconjuntos
� Gramáticas� Diagramassintácticos� Expresionesregulares� MáquinasdeestadocomoAutómatasFinitos
� Ejemplo[Mv1c1]27.
LenguajesFormales
Prof. Esp. Ing. José María Sola 288
Ejemplo31[Mv1c1]� L={(abc)n/0≤n≤3}L={ε,abc,abcabc,abcabcabc}.
� ¿Alfabeto?� ¿|abc|=3?� ¿Concatenaciónopotenciacerrada?
� LapalabravacíaesunmiembroL� Laconcatenacióndelaspalabrasabcyabcabcproduceotrapalabradeestelenguaje:abcabcabc.
� Encambio,laconcatenacióndelapalabraabcabcconsigomismaproducelacadenaabcabcabcabc,quenoesunapalabradeestelenguaje.
� Lapotencia(abc)2esunapalabradellenguaje� DefinirLpormediodeLN
� Lacadenaabchastatresvecesoningunavez
Prof. Esp. Ing. José María Sola 289
Ejemplo32[Mv1c1]� L={a2n+1/0≤n≤200}¿Concatenacióncerrada?
� Ejercicio15:DefinirLpormediodeLN
Prof. Esp. Ing. José María Sola 290
CardinalidaddeunLenguajeFormal� Ejemplos
� L1={a,ab,aab}� L2={}=∅� L3={ε}
Prof. Esp. Ing. José María Sola 291
Sublenguajes� SublenguajesdeunLenguaje
� ∅essublenguajedetodolenguaje� ¿Cómoseexpresa"TodoslosSublenguajesdeunLenguaje"?� Conjuntopotencia:P(L)=2L
� Ejercicio.Completar:� L={a,b}� 2L={� |2L|=|2||L|=
Prof. Esp. Ing. José María Sola 292
LenguajesFormales–ElLenguajeUniversalsobreunAlfabeto–DefiniciónformaldeΣ*� Σ={a,b}Alfabeto� Σ0={ε}Lenguajedepalabrasdelongitudcero� Σ0≠∅� ∅={}
� Σ=Σ1={a,b}Lenguajedepalabrasdelongituduno
� Σ×Σ=Σ2={aa,bb,ab,ba}Lenguajedepalabrasdelongituddos
� Σ×Σ×Σ=Σ2×Σ=Σ3={aaa,aab,aba,abb,baa,bab,bba,bbb}Lenguajedepalabrasdelongitudtres
� Σ*=Σ0∪Σ1∪Σ2∪…=
Prof. Esp. Ing. José María Sola 293
LenguajesFormales–DadounΣ¿Cuántoslenguajes?� [Mv1c1]Ejercicio10:DadoelLF={Argentina,Holanda,Brasil}IndiqueelΣ(alfabeto)mínimo
� DadoelΣanterior,indiquecuántoslenguajesdecadacardinalidadexisten� 0� 1� 2� n� Infinita
Prof. Esp. Ing. José María Sola 294
AutómatasFinitos–SSLvol2� M=(Q,Σ,T,q0,F)� T:QxΣàQ/T(q,x)=z
� Representaciones� ((q,x),z)� (q,x,z)� q=>x=>z� Digrafo� Tabladetransiciones:Cuadrodedobleentrada
� QxΣàQ� Inicial� Finales
Ejemplo14� M=(Q,Σ,T,q0,F)� Q={0,1,2,3}� Σ={a,b}� q0=0� F={2,3}� T={0=>a=>1,1=>a=>2,1=>b=>3,3=>a=>3}� Armartabla� Armardigrafo
Tablascompletas� Sincompletar
� a b� 0- 1 -� 1 2 3� 2+ - -� 3+ 3 -
� "Huecos"� Funciónparcialversuscompleta
� Funciónsobreyectiva� Completa
� a b� 0- 1 4� 1 2 3
� 2+ 4 4� 3+ 3 4� 4 4 4
� Estadoderechazo� Autómatasequivalentes
AutómataFinitoNoDeterminís<co� M=(Q,Σ,T,q0,F)� T:Qx(ΣU{ε})à2Q/T(q,x)=Z� SSLvol3,Ejemplo5,página11
� a(a+b)*b� Ejemplo8
� ab+a*ba
� Σ� conjuntodesímbolos,óalfabeto
� Finito,sísepuedenumerar� Σ
� conjuntodecadenasdelongituduno,ólenguajedepalabrasdelongituduno
� Finito,sísepuedenumerar� Σn
� conjuntodecadenasdeciertalongitud,ólenguajedepalabrasciertalongitud
� Finito,sísepuedenumerar
� Σi≤n� conjuntodecadenasdehastacierta
longitud,ólenguajedepalabrasdehastaciertalongitud
� Finito,sísepuedenumerar� Σ*
� conjuntodecadenasdecualquierlongitud,ólenguajedepalabrasdecualquierlongitud
� Infinito� ¿Sepuedenumerar?� ¿Está"Hamlet"y"ElQuijote"en
esteconjunto?¿Quémás?� 2Σ*=P(Σ*)
� conjuntocontodosloslenguajesquesepuedeformarconΣ
� "Más"infinitotodavía� ¿Sepuedenumerar?� ¿Está"Jeringoso"enesteconjunto?
¿EstáC?¿YSmalltalk?.
CardinalidaddelosConjuntos
Prof. Esp. Ing. José María Sola 304
� Carácter� cx=a
� ConjuntofinitodeCaracteresàAlfabeto(Σ)� Σ={a,b,c}
� Tipodedatodeuncarácter� cx∈Σ
� SecuenciafinitadeCaracteresàString� s=bcaacccc
� TipodedatodeunString� s∈Σ*
� ConjuntodeStringsàLenguaje� L={cc,bcb,abbb,ccab,abcaba,cb,aa}
� StringqueperteneceaunLenguajeàPalabra� w=ccab� w∈L
� ConjuntodeLenguajesàFamiliadeLenguajes� L∈P(Σ*)=2Σ*
� TipodeunLenguaje� L∈T0,1,2,3
� "Unacadenadecaracteres,osimplementecadenaostring,esunasecuenciafinita,posiblementevacía,desímbolosocaracteresdeunalfabeto,queesunconjuntofinitonovacío"
� "Unlenguajeformalesunconjuntodecadenas;aesascadenasselasllamapalabrasdeunlenguaje".
Carácter,Alfabeto,Cadena&Lenguaje–ElementosyConjuntos
Prof. Esp. Ing. José María Sola 305
Términosdelaclase#DefinircadatérminoconlabibliograJa
� Carácter,Alfabeto,yString� SímboloocarácterenLF� Concatenarcaracteres� Potenciadeuncarácter� AlfabetoΣenLF� SímboloocarácterenANSIC� AlfabetoenANSIC� CadenaoStringenLF� Operacionesconcadenas� Cadenasespeciales� CadenavacíaenLF� CadenaoStringenANSIC� CadenavacíaenANSIC� CadenadelongitudunoenLF� CadenadelongitudunoenANSI
C� TipodeunacadenaenLF� TipodeunacadenaenANSIC� Tipodedatodecualquier
cadenaenLF� Tipodedatodecualquier
cadenaenANSIC� DefinicióndeΣ*
� LenguajesFormales� LenguajeNatural� LenguajeFormal� Evolución� Reglasgramaticales� Reglassintácticas� AlfabetodeunLF� CadenaqueperteneceaunLF� Palabra� DefinicionesyEspecificaciones
deLF� PorLenguajeNatural� PorConjuntosporExtensión� PorConjuntosporComprensión
conoperacionessobreCaracteres,Stringso
� Lenguajes(conjuntos)� LenguajesdeProgramación
comoLenguajesFormales� PalabradeunLP� SublenguajesdeunLenguaje� Conjuntopotencia:P(L)=2L� ElLenguajeUniversalsobreun
Alfabeto:Σ*
� LenguajeUniversal� FormalizacióndeAutómatas
Finitos� Tabladetransicióncompleta� AutómataFinitoNo
Determinístico� FunciónTranscióndeun
AutómataFinitonoDeterminístico
� CardinalidaddeConjuntosyResumen� Conjuntodetodaslaspalabras� Conjuntodetodosloslenguajes.
11
Prof. Esp. Ing. José María Sola 306