NFA-δε:the Non-Deterministic Finite Automaton · PDF file ·...

Click here to load reader

  • date post

    26-May-2018
  • Category

    Documents

  • view

    214
  • download

    0

Embed Size (px)

Transcript of NFA-δε:the Non-Deterministic Finite Automaton · PDF file ·...

  • NFA-: the Non-Deterministic Finite Automaton with Random -moves, Environment Awareness and

    Memory for Serious Games Modeling

    Allan Oliveira, Fernando Vieira Duarte Departamento de Computao

    Universidade Federal de So Carlos So Carlos, So Paulo, Brasil

    allancaixeta@gmail.com, prof.fernando.duarte@gmail.com

    Abstract Deterministic Finite Automaton (DFA) and Discrete Event System Specification (DEVS) are two of the most used formalism to model serious games and simulations in the literature. However, they do not support the input of random events, that could generate -moves, they do not support the specification of physical places and they do not have a memory, thus past actions cannot be used as inputs. Therefore, to complement these models of automatons for modeling simulations, this paper proposes a Non-Deterministic Finite Automaton with random -moves, environment awareness and memory. A study case of a maintenance serious game situated in a hydro power plant is presented to exemplify the use of the proposed variation of the NFA.

    KeywordsDFA; NFA; NFA-; Serious Games; Modeling and Simulation

    I. INTRODUO A simulao de um procedimento de treinamento ou de

    operao de manuteno (por exemplo, inspeo de uma unidade geradora de usina hidreltrica) necessita de modelos formais, tais como a Especificao de Sistema a Evento Discreto (Discrete Event System Specification DEVS) e o Autmato Determinstico Finito (Deterministic Finite Automaton DFA), para modelagem dos comportamentos do sistema e, se necessrio, a incluso dos pontos de avaliao do desempenho, pela anlise da sequncia do procedimento usando estes modelos formais [1].

    O modelo formal possibilita identificar os pontos de avaliao e as aes tomadas pelo operador/aprendiz, por meio dos seus estados e transies. Quando o operador/aprendiz faz uma ao, isto corresponde a uma transio que leva a um novo estado que pode ser correto ou incorreto, e o operador/aprendiz recebe um feedback sobre a ao realizada (por exemplo, o esquecimento de um Equipamento de Proteo Individual - EPI). Neste caso, a DEVS e o DFA so utilizados para modelar estados e transies bem definidas (o primeiro quando envolve tempo e o segundo quando no envolve tempo).

    Outros modelos formais oferecem diferentes possibilidades de estilo de modelagem. Por exemplo, o Autmato Finito No-Determinstico (Non-Deterministic Finite Automaton NFA)

    permite modelar uma tarefa usando menos estados do que um DFA (provado pelo teorema da equivalncia de um NFA para um DFA [1]), por permitir que uma mesma entrada resulte em duas transies diferentes. Outro exemplo o Autmato Probabilstico (Probabilistic Automaton PA), que atribui uma probabilidade para transies de estados.

    Neste artigo apresentado um modelo formal nomeado NFA-, baseado na juno de Autmato Finito No-Determinstico com transies espontneas () e Autmato Probabilstico. Alm disso, uma srie de notaes e regras novas foram propostas, para que o modelo formal seja capaz de oferecer entradas com valores aleatrios, cincia do ambiente e memria.

    O objetivo criar um autmato flexvel o bastante para modelar jogos srios com certo nvel de complexidade, sem precisar criar um autmato complexo.

    O artigo esta dividido em: (II) Notaes e formalismo adicionado ao modelo padro de autmato (DFA) para transform-lo no NFA-; (III) Explicao e demonstrao das regras usadas para construir um NFA-; (IV) Discusso sobre os resultados do NFA-; (V) Concluso e trabalhos futuros.

    II. FORMALISMO ADICIONAL AO DFA

    A. Notaes As notaes tradicionais de DFA/NFA utilizam a letra q

    para a representao de estados, a letra e para a representao de estados de erro, a letra p para a representao de uma entrada que gera uma transio (no caso da manuteno, uma transio equivalente a um procedimento de trabalho) e a letra n para a representao de uma entrada negada, ou seja, uma entrada no executada (um procedimento que deixou de ser executado). Embora essas notaes sejam suficientes para atender autmatos de problemas simples, quando se aumenta a complexidade da simulao, sente-se a falta de uma variedade maior de notaes.

    Notao 1 Para aumentar a gama de possibilidades na modelagem da simulao, prope-se primeiramente a notao r. Essa notao representa a probabilidade de um evento aleatrio acontecer (evento que exigir uma resposta do

  • usurio). Desta forma, possvel criar um nico NFA com diversos comportamentos diferentes, aumentando o valor de uma simulao gerada a partir desse autmato. Com essa notao, um modelo de simulao pode ser usado repetidas vezes, pois a experincia do usurio ser diferente em cada utilizao. Sem essa notao (ou alguma outra forma de se acrescentar eventos aleatrios), a simulao de um treinamento gerada/modelada por um autmato se restringe a uma nica utilizao por usurio.

    Essa notao inspirada nas transies espontneas do Autmato Finito No-Determinstico com Transies espontneas (NFA-), porm a diferena que as transies r tem uma probabilidade definida de acontecer, sorteada no comeo da execuo da simulao (conceito tambm presente no Autmato Probabilstico). Por isso, o autmato proposto neste artigo foi nomeado NFA-, pois existe a probabilidade de transies espontneas (), mas elas so controladas/influenciadas (a letra delta usada tradicionalmente na Matemtica para indicar uma diferena em um valor de uma varivel).

    Exemplo 1 Um exemplo de transio r apresentado na Funo de Transio 1 e na Figura 1, onde a transio r01 representa um evento de temperatura acima do normal (sobreaquecimento), com 20% de chance de acontecer, e caso o evento acontea a transio leva ao estado q02.

    Funo de transio 1 r01: temperatura alta (20%) -> q02

    Figura 1: Exemplo de transio r.

    Notao 2 Outra notao proposta a l, que representa um local/lugar. Com essa notao torna-se possvel indicar o local onde um estado ou procedimento deve ser realizado. Atravs desta notao, o NFA proposto considerado ciente do ambiente do usurio. A representao visual desta notao pode ser visto na Figura 2. Visualmente eles so similares a estados, mas com os contornos tracejados.

    Exemplo 2 Um exemplo de uso da notao de local l l02: dentro do gerador

    Figura 2: representao visual da notao l de local.

    O exemplo 2 utilizado para representar que uma atividade deve ser realizada dentro do gerador de uma usina hidreltrica.

    Alm disso, as notaes de locais so definidas em um espao fora do autmato, como pode ser visto na Figura 3.

    Figura 3: Visualizao do espao para definio do autmato e o espao para definio dos locais.

    B. Transio Anytime A transio Anytime (traduzida como a qualquer

    momento) uma transio de alto nvel de abstrao que usada para permitir a gerao de transies p, que podem acontecer independente do estado q atual do autmato. Desta forma, a transio Anytime facilita a construo de mquinas de estados reduzidos, e por isso j usada em modelagens que exigem alto nvel, tal como o sistema de animao Mecanim do engine para jogos Unity3D [3].

    Um exemplo de transio Anytime pode ser visto na Figura 4. Visualmente a diferena para a transio normal que as transies Anytime no precisam ter uma origem e so representadas por setas grossas tracejadas.

    Figura 4: Exemplo de uso de uma transio Anytime.

    C. DFA com memria Assim como a mquina de Turing, o NFA- proposto tem

    a capacidade de usar o fato de transies terem ou no acontecidas no passado e utiliz-lo para decidir o estado futuro. Desta perspectiva, uma transio p, aps realizada, pode ser usada como entrada para alterar um estado futuro q, mesmo que essa transio, na teoria, j tenha sido consumida.

    Essa escolha tambm foi feita para poder criar autmatos poderosos, mas simples/pequenos. Embora seja possvel modelar um NFA com essas caractersticas com uso do modelo base, ele teria diversas ramificaes e uma grande quantidade de processos repetidos para atender as ramificaes.

    A Figura 5 mostra um exemplo do uso da Memria para mudar o resultado de uma transio. A regra usada nessa figura ser definida na prxima seo (Regra 3), mas a explicao geral da Figura 5 que a transio p05 ser executada caso a transio n01 j tenha sido executada previamente.

    Figura 5: Exemplo do uso da Memria em uma transio de

    estados.

  • III. REGRAS PARA MODELAGEM DO NFA- Para exemplificar o NFA- proposto, utiliza-se o Exemplo

    3.

    Exemplo 3 O exemplo extrado de uma instruo de trabalho para inspeo de um gerador de uma usina hidroeltrica, apresentado na Figura 6.

    Figura 6: Fragmento de uma instruo de trabalho para inspeo de um gerador de usina hidroeltrica.

    Para iniciar a modelagem dessa atividade, as regras de como se usar o NFA- devem ser estabelecidas.

    Regra 1 No estado qX, usando o procedimento pY, leva-se ao estado qZ. A representao visual pode ser vista na Figura 7.

    qX

    o pY -> qZ

    Figura 7: Representao visual da Regra 1.

    Regra 2 Um estado q ou transio p, n ou r podem ser extendidos usando-se o smbolo ponto (gerando um sub-estado ou sub-transio)

    o p01 -> q01 p01.1 p01.2

    Figura 8: (A) Representao visual de um conjunto de sub-transies. (B) Representao visual de um conjunto de sub-

    estados.

    Como visto na Figura 8, o uso do smbolo ponto em um estado gera subestados. Esses subestados so equivalentes a um autmato dentro de um autmato, ou seja, possvel definir uma sequncia de procedimentos dentro de um estado.

    J o uso do ponto em transies equivalente a operao lgica OR, podendo ser utilizado, portanto, em procedimentos que no tem uma sequncia fixa de execuo. Como visto na Figura 8, subtransies podem ser representadas como um conjunto usando chaves ({}) ou individualmente usando o ponto (.). Exemplo 3.1 Com a