Una variante de los autómatas finitos son los jerárquicos. Anteriormente se ha hablado
de la versión mas simplificada de estos mecanismos. Los autómatas finitos ’simples’ cubren gran
parte de las necesidades a la hora de controlar el comportamiento de nuestros agentes inteligentes,
sin embargo, se hacen más difíciles de utilizar cuando se ponen en juego muchos estados y se
trabaja con requisitos de rehusabilidad.

Incialmente se encuentran los autómatas de estado finito. Aumentando complejidad sobre las transiciones se
definen los autómatas de estados finitos extendidos. Ofreciendo la capacidad de paralelismo se introducen los
autómatas de estados finitos concurrentes. Finalmente, en lo que respecta a nuestro interés se encuentran los
autómatas de estados finitos jerárquicos.

Los autómatas finitos jerárquicos resuelven gran parte de este problema y permiten agrupar comportamientos
haciendo que sea más sencillo rehusar y mucho más agradable la tarea de ampliar detalles en los estados o
incluso aumentar y variar los que ya tenemos.

Ejemplo de HFSM

La foto superior muestra un ejemplo de autómata finito jerárquico.

> Qué y cómo modela la máquina de estados finitos jerárquicos

Para no marear la perdiz vamos a ver desde el punto de vista del creador de sistemas de inteligencia artificial
complejos con qué propósito se utilizan las máquinas de estado finito jerárquico ya que principalmente es el concepto
lo que va a resultar interesante desde un primer punto de vista y más allá de la tecnología subyacente.

Otro ejemplo de HFSM

Lo que modela una HFSM será una serie de comportamientos que a su vez estarán divididos en una serie de comportamientos.
Por ejemplo, para controlar el movimiento de un soldado modelado con inteligencia artificial podemos tener una serie de estados superiores que indiquen a nivel conceptual los estados por los que va a pasar. Imaginemo un primer estado ‘Llamado reposo’, una transición a un segundo estado llamado ‘Bostezar’ y una tercera transición a un tercer estado que le vamos a poner ‘Patrullar’. Con este primer autómata definimos un comportamiento a grandes rasgos. Si disponemos del conocimiento necesario, usaremos los HFSM’s sobre el segundo estado: ‘Bostezar’ e iniciaremos un nuevo autómata de estados finitos que tendrá dos estados (podrian ser 15 pero dos ya son suficientes). El primero de ellos será ‘Levantar Brazos y Bostezar’, seguido de una transición a un segundo estado que será ‘Incorporarse’. Una vez procesado el segundo subestado se devolverá el cálculo al lugar en el que se dejó en el autómata del estado superior.

Visto un posible ejemplo de aplicación y puestos en escena, podemos pasar a ver que detalles cambian respecto a los autómatas de estados finitos sencillos y que capacidad adicional aportan.

> Cómo funciona la máquina HFSM

Para simplificar supondremos dos niveles jerárquicos y nos referiremos al grupo de los de nivel superior como estados y a los de nivel inferior como subestados. Todo subestado formará parte de un estado de mayor grado jerárquico.

Ejemplo HFSM

Además de los componentes de un autómata de estados finito, encontramos nodos de entrada y nodos de salida. Estos nodos son el destino o la fuente de las transiciones que nos llevan de un superestado a un estado y de un estado a un superestado respectivamente. Supongamos que sería el equivalente a bajar un nivel en la jerarquía y volver a subirlo una vez terminados los estados.

Una transición que quede activa de un superestado a otro interrumpe el proceso que esté actualmente en marcha en grados jerárquicos menores. Respecto al resto de elementos, el funcionamiento es exactamente el mismo a las máquinas de estados finitos definidas en otros artículos.

> En Resumen

Hemos adquirido una nueva herramienta con un alto grado de adecuación a entornos en los que es necesario identificar subestados y se hace común reutilizar estados. Este mecanismo nos ofrece la capacidad de responder a diferentes eventos de una forma sencilla evitando transiciones desde cada uno de los estados, necesitando simplemente transiciones desde los superestados. Actualmente se utiliza en un gran número de propuestas comerciales por lo que ha demostrado con creces su capacidad.

Os ofrezco un documento en el que se detalla de forma muy exhaustiva el funcionamiento de los HFSM’s creado por Rajeev Alur en honor a Zohar Manna Taormina. En el vais a poder aprender de una forma más completa acercade este tipo de autómatas.

> Formal Analysis of Hierarchical State Machines

Disfutadlos!