Ver Mensaje Individual
  #2  
Antiguo 24-01-2007
Avatar de Delphius
[Delphius] Delphius is offline
Miembro Premium
 
Registrado: jul 2004
Ubicación: Salta, Argentina
Posts: 5.582
Reputación: 25
Delphius Va camino a la fama
Autómatas finitos no son robots

Cita:
Empezado por Yomero
los automátas finitos son robots que no piensan? o que están limitados de alguna manera?
Los autómatas finitos no son robots. Es una "técnica" (si puede decirse asi) que se emplea en muchas herramientas. En especial en compiladores, traductores, y quien sabe que más (yo sólo vi el tema en compiladores). Y, si..., un robot puede hacer uso de ésto... todo depende de lo que se quiera hacer o esperar que realice el robot.

Te lo explico en base a lo que vi en compiladores:
En forma simple, velo como un grafo. Que permite dirigir (armar y reconocer una cadena) según lo que se valla ingresando (leyendo de una memoria). Cada arco que comunica a cada nodo es una regla a aplicar. ¿Para que se usa? Un autómata finito permite distinguir un conjunto de caracteres que tiene un sentido para la aplicación que se está implementando. Ahora bien, un concepto muy unido a este es de expresiones regulares. Una expresión regular es como una "formula" que dice como ha de reconocerse una cadena. Por ejemplo:

(A..Z|a..z)(A..Z|a..z|0..9|_)*

Corresponde a una expresión regular que permite reconocer y validar a un identificador. Se exige que comience con cualquier caracter alfabético y seguidamente (o no) de cualquier combinación de caracteres alfabéticos y/o numéricos (incluido el guión).

El grafo o autómata finito es una representación visual de dicha expresión. Tiene un nodo inicial y uno final. Si la cadena que se lee es válida, obviamente se llega al nodo final, en caso contrario se trata de un error (hay por lo menos un caracter que no responde a la regla). Eso fue la teoría, en la práctica hay herramientas que te permiten armar compiladores: Lex y Yacc. Ambas emplean la técnica de autómatas finitos y expresiones regulares.

Creo poder haber explicado un poquito la idea. Si quieres investigar más, en San Google vas a encontrar mucha info. Y si tienes un libro de compiladores a mano, mucho mejor.
__________________
Delphius
[Guia de estilo][Buscar]
Responder Con Cita