Taller diseño AF Python/Java
Enviado por Daniel Piñeros • 30 de Julio de 2022 • Informe • 1.099 Palabras (5 Páginas) • 144 Visitas
[pic 1]
Taller diseño AF Python/Java
Daniel Camilo Piñeros Esguerra 201612917
Resumen - En este taller se diseñará un robot finito utilizando Python y Java, por otro lado se implementará un ejemplo de caso de estudio donde se realizará un desarrollo definitivo de un robot finito en Java, y el caso es un estudio de Desarrollo de robots finitos indefinidos en Python.
- INTRODUCCIÓN
Autómata finito es un modelo matemático de una máquina que acepta cadenas de un lenguaje definido en un alfabeto. R. Consiste en un conjunto finito de estados y un conjunto de transiciones entre esos estados, según los símbolos en la secuencia de entrada. Un autómata finito determinista es un autómata que solo puede estar en un estado después de leer una secuencia de entrada, es decir, una transición desde un estado solo puede tener un estado como destino.
Los autómatas finitos no deterministas, por otro lado, son autómatas finitos que tienen transiciones vacías o alcanzan múltiples estados de destino para cada símbolo desde el estado de origen. Es decir, hay al menos un estado, en oposición a un autómata finito determinista. Hay múltiples transiciones posibles como las hay para los símbolos alfabéticos.
Este taller tiene como objetivo profundizar en el conocimiento del desarrollo de autómatas finitos deterministas y no deterministas en lenguajes de programación como Java y Python, y comprenderlos mejor mediante ejemplos.
- MATERIALES Y MÉTODOS
En el primer punto de desarrollo, vimos cómo funciona el diseño de máquinas de estado finito en los lenguajes de programación Java y Python. Aquí hay varios paradigmas que pueden llevar a cabo este punto. La descripción detallada es la siguiente. Dado para implementar AF tanto en Python como en Java.
El segundo punto fue un ejemplo de una máquina expendedora AFD como caso de estudio de un autómata finito determinista en Java, y en base a un análisis de su funcionalidad expliqué que se podía transportar. Implementar en Java.
Como tercer punto, tomo AFND, un caso de estudio de autómatas finitos no deterministas en Python, como ejemplo de tres estados posibles cuyo estado final es una transición y su estado inicial, para luego realizar cada análisis. Codificación en Python.
- RESULTADOS
Explorar el diseño de AF en python y java Java:
Diseñar un autómata finito en un lenguaje de programación es un tema muy amplio. Java es uno de los lenguajes más utilizados para el diseño de autómatas, ya que existen diferentes formas de diseñarlos y existen diferentes programas visuales. Desarrollar máquinas de estados finitos deterministas y no deterministas.
Al igual que jFlap y otros programas similares, es determinista y jFlap es el más famoso. En este idioma, el AF se puede programar desde el principio, y la tabla de estado del AF ya está preparada como se muestra en la Foto 1.
[pic 2]
Foto 1.AFD Ejemplo Tabla de transición
Puede usar la tabla de transición para declarar una lista de listas como se muestra en la Foto 2 a continuación.
[pic 3][pic 4]
Foto 2 : Cadena aceptada por el autómata
Cuando recibe una cadena a través del teclado, puede usar un algoritmo simple para verificar que la cadena pertenece a un estado lingüístico.
[pic 5]
Foto 3. Algoritmo Java validación AF
Hay varias maneras de hacer esto. Esta es una de las formas más fáciles de minimizar su código. Esto se debe a que el autómata se puede ejecutar de una forma más compleja, utilizando métodos más orientados a objetos, que son clases en las que se declaran todas las variables.
Python:
El diseño de AF en este lenguaje es muy similar al lenguaje de programación Java. Este lenguaje se usa mucho en el desarrollo y hay varias bibliotecas para ayudar a desarrollar autómatas que son demasiado complejos.
...