MAC 0499 - Proposta para o projeto de conclusão de curso |
Um Simulador de Comportamento Animal Baseado numa Especificação Formal da Análise do Comportamento de B. F. Skinner |
||||||
|
||||||
Introdução
Desenvolvida por Burrhus Frederic Skinner, a Análise do Comportamento (em inglês, Behavior Analysis) é um ramo da Psicologia alinhado com os preceitos da chamada escola Comportamental (em inglês, Behaviorism). A Análise do Comportamento busca compreender o comportamento dos organismos através de relações entre os estímulos ambientais por eles recebidos e suas ações correspondentes. Tais relações estabelecem classes de comportamentos, as quais possuem propriedades específicas e bem definidas. Do ponto de vista da Ciência da Computação, a simplicidade e precisão dessa teoria sugerem a possibilidade de uma implementação. Isto é, parece factível simular organismos em ambientes segundo as definições e resultados experimentais da Análise do Comportamento. Um simulador assim concebido teria uma dupla utilidade. Em primeiro lugar, poderia servir como uma ferramenta para a Psicologia, na medida em que permitiria não só a realização de experimentos com organismos virtuais, como também a possibilidade de se testar novas teorias mediante o ajuste de parâmetros do simulador. Em segundo lugar, tal programa poderia ser adaptado não para simular criaturas, mas para dotar sistemas computacionais de capacidades comportamentais análogas. Neste trabalho, propomos a criação de tal simulador. Para tanto, o trabalho é dividido em duas etapas fundamentais:
|
||||||||||
Objetivos
Como dito acima, o trabalho é dividido em duas etapas principais: uma especificação formal de uma teoria psicológica e uma implementação de tal especificação. Contudo, visto a dificuldade em se prever precisamente a complexidade da especificação, torna-se inviável garantir, a priori, que poderemos concluir ambas as etapas satisfatoriamente no decorrer do ano. Assim, estabelecemos o desenvolvimento da especificação como nosso objetivo primário, colocando a implementação em segundo plano. Cabe ressaltar, porém, que acreditamos que será possível ter pelo menos uma implementação parcial do sistema. Nas próximas subseções descrevemos mais detalhadamente no que se constitúi a especificação formal, bem como sua implementação. A especificação formal
Uma vez que visamos implementar uma teoria, é necessário que tenhamos um modelo matemático que a descreva precisamente, de maneira que a implementação não seja feita em cima de decisões arbitrárias. Embora os conceitos da Análise do Comportamento sejam razoavelmente claros e bem definidos, desconhecemos alguma formalização matemática deles. Por conseguinte, é necessário que estabeleçamos tal formalização antes de procedermos com a implementação. A formalização que estamos desenvolvendo é baseada na literatura do campo, sobretudo em Science and human behavior [Skinner1953] e Learning [Catania1998]. Procuramos ser fiéis aos conceitos descritos na literatura, na medida do possível. Contudo, é concebível que no decorrer do processo nos vejamos com a obrigação de acrescentar ou remover elementos da teoria, de maneira a possibilitar uma formalização apropriada. No tocante à notação, estamos utilizando o método formal Z [Jacky1996]. A implementação do simulador
O simulador deverá ser capaz de simular organismos e suas interações com ambientes, segundo as definições da especificação formal. Ademais, deverá ser suficientemente flexível para acomodar mudanças em algorítmos específicos. Isto é, embora o programa vise atender a uma determinada especificação, ele deverá ser capaz de acomodar mudanças em pontos específicos, de maneira a permitir experimentos com diferentes algorítmos. Pensamos que haverá um núcleo rígido e diversas políticas substituíveis operando sobre ele. Por exemplo, tomemos a classe de comportamentos conhecida como comportamento operante. Tal classe é definida tanto por propriedades estruturais (i.e., os elementos que compõe um comportamento da classe), quanto por propriedades dinâmicas (e.g., a maneira pela qual um comportamento torna-se mais ou menos provável). Imaginamos que as propriedades estruturais farão parte do núcleo do sistema, enquanto que as dinâmicas provavelmente serão passíveis de substituição. Pensamos no simulador como um componente de software que por si só não fornece serviços a usuários. Ele proverá um motor fundamental sobre o qual aplicativos poderão ser construídos. Tais aplicativos definirão o que consideram um organismo e seu ambiente, cabendo ao simulador explorar as conseqüências de tais definições. Embora possa-se definir organismos "usuais" (i.e., animais), não será preciso limitar-se a isso, na medida em que qualquer definição que forneça sensores, atuadores e outros mecanismos poderá valer-se das capacidades do simulador. Por exemplo, podemos imaginar um processador de textos, digamos, que se adapta aos gostos do usuário, o qual poderia "treiná-lo" tal como treinaria um cão. Vemos muitas possibilidades de aplicativos. Contudo, no momento, eles não são o foco do projeto. Pretendemos, naturalmente, fornecer ao menos um aplicativo de exemplo que demonstre as capacidades do simulador. Mas aplicações mais complexas ficam como possibilidades a serem estudadas no futuro. |
||||||||||
Atividades já realizadas
A multidisciplinaridade do projeto implica em duas linhas paralelas de trabalho. Por um lado temos o estudo dos conceitos da Psicologia envolvidos e, por outro, o estudo das técnicas de formalização e dos mecanismos para a implementação do simulador. No que se refere à Psicologia, estudamos o conteúdo completo de Science and human behavior [Skinner1953] e agora estamos procedendo com a leitura de Learning [Catania1998]. Vale comentar que foi a leitura daquele que nos motivou a elaborar este projeto. Quanto à formalização, já produzimos um esboço inicial, estudamos os fundamentos do método Z e elaboramos parte da especificação final. Como esboço inicial, construímos uma ontologia que explicita os elementos principais da teoria, bem como algumas de suas relações, valendo-nos da ferramenta Protégé [Protege]. Essa ontologia teve como objetivo primário melhorar nossa compreensão da teoria psicológica envolvida. Pensamos, contudo, que ela possa ter outras utilidades, e estudaremos essa possibilidade no decorrer do projeto. Até há pouco tempo atrás, o método formal Z nos era algo desconhecido. Assim, foi necessário empregar uma quantidade razoável de esforço em seu aprendizado. Com o que aprendemos, já produzimos parte da especificação formal, embora muito precise ser revisado. A grosso modo, estimamos que já temos um quarto do produto final. Com relação à implementação, ainda não possuímos nada. |
||||||||||
Cronograma
Baseando-nos no nosso progresso até o presente momento, estimamos o seguinte cronograma para o segundo semestre:
Conforme havíamos comentado anteriormente, nossa prioridade é a especificação formal, não sua implementação. De modo que, se tornar-se necessário, as fases de implementação serão suprimidas. Acreditamos, todavia, que o cronograma proposto acima é razoável. |
||||||||||
Estrutura esperada da monografia
A monografia será dividida em duas partes. A primeira abordará os aspectos técnicos do trabalho, enquanto a segunda tratará dos aspectos subjetivos tanto do trabalho em si quanto da relação dele com o Bacharelado em Ciência da Computação.
|
||||||||||
Referências
|
A imagem do aparato de laboratório é propriedade da B. F. Skinner Foundation |