Algoritmo de Thompson
De Wikipedia, la enciclopedia libre
De Wikipedia, la enciclopedia libre
El algoritmo Thompson (también conocido como método de Thompson) creado por Ken Thompson y Dennis Ritchie, sirve para obtener autómatas finitos no deterministas con transiciones vacías (AFND-ε) a partir de expresiones regulares (ER).
Dadas las reglas que definen las expresiones regulares se pueden escribir como AFND-e:
Las precedencias de operador son *,., +.
Para el operador + de una ER el AFND-ε se arma de la siguiente manera:
Donde M1 y M2 son los AFND-ε que se suman.
Para el operador . de una ER el AFND-ε se arma de la siguiente manera:
Donde M1 y M2 son los AFND-ε que se concatenan.
Para el operador * de una ER el AFND-e se arma de la siguiente manera:
Donde M1 es el AFND-ε que se le aplica la clausura.
Existen varios programas que realizan este algoritmo y de hecho es habitual también pasar de AFND-e a AFND y de AFND a AFD, también suele ocurrir que el AFD no sea mínimo y se usa otro algoritmo para conseguir el AFD mínimo.
Cualquier ER puede ser reconocida por un AFD ya que los lenguaje regulares de tipo 3 son reconocidos por un AFD como autómata más restrictivo habiendo equivalencia entre no determinismo y determinismo. Generalmente los programas que aplican el algoritmo suelen transformar una ER a AFD mínimo.
Algunos programas son:
Apunte de Gramáticas Regulares y Expresiones Regulares UNICEN
Seamless Wikipedia browsing. On steroids.
Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.
Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.