ANDERSON GRANDI PIRES MODELAGEM DE UM MECANISMO DE PERCEPÇÃO-EM-AÇÃO PARA OS AGENTES DE SOFTWARE COGNITIVOS SITUADOS E EXTENSÃO DA ARQUITETURA ARTÍFICE Belo Horizonte MG Outubro de 2005
ANDERSON GRANDI PIRES MODELAGEM DE UM MECANISMO DE PERCEPÇÃO-EM-AÇÃO PARA OS AGENTES DE SOFTWARE COGNITIVOS SITUADOS E EXTENSÃO DA ARQUITETURA ARTÍFICE Dissertação apresentada ao Curso de Mestrado em Modelagem Matemática e Computacional do Centro Federal de Educação Tecnológica de Minas Gerais, como requisito parcial à obtenção do título de Mestre em Modelagem Matemática e Computacional. Linha de pesquisa: Sistemas Inteligentes Orientador: Prof. Dr. Henrique Elias Borges Centro Federal de Educação Tecnológica de Minas Gerais Co-orientador: Prof. Dr. Paulo Eduardo Maciel de Almeida Centro Federal de Educação Tecnológica de Minas Gerais MESTRADO EM MODELAGEM MATEMÁTICA E COMPUTACIONAL CENTRO FEDERAL DE EDUCAÇÃO TECNOLÓGICA DE MINAS GERAIS DIRETORIA DE PESQUISA E PÓS-GRADUAÇÃO Belo Horizonte MG Outubro de 2005
Folha de aprovação. Esta folha será fornecida pelo Programa de Pós-Graduação.
Dedico este trabalho à minha esposa, Eduarda, pela compreensão, paciência, apoio e dedicação oferecidos. À minha filha, Manoela, por se tornar uma das grandes motivações para a conclusão deste trabalho. À meus pais pela confiança e total apoio que sempre demonstraram no curso de toda minha vida.
Agradecimentos Ao meu orientador, Prof. Dr. Henrique Elias Borges, pela oportunidade de desenvolver uma pesquisa tão interessante e motivadora, que me possibilitou criar uma paixão intensa pela pesquisa e ciência. Ao meu co-orientador, Prof. Dr. Paulo Eduardo Maciel de Almeida, pela amizade e oportunidades de troca de informações. Também, pelas observações e conselhos a mim oferecidos durante todo o tempo em que este trabalho foi desenvolvido. Ao amigo Bruno André Santos pelas oportunidades de troca de informações, pelo auxílio na compreensão de inúmeros conceitos desenvolvidos neste trabalho e por compartilharmos momentos únicos de investigação científica. Ao amigo e eterno professor Diniz Félix dos Santos pela motivação, confiança e pela ajuda na compreensão de vários dos assuntos aqui abordados. À CAPES pelo apoio financeiro individual recebido. Ao CNPq pelo apoio financeiro do projeto ARTÍFICE, ao qual este trabalho faz parte. Ao Laboratório de Sistemas Inteligentes (LSI) pelos recursos para realização deste trabalho e pela oportunidade de realizar diversas outras investigações e troca de informações. Ao Centro Federal de Educação Tecnológica de Minas Gerais (CEFET-MG) por participar, mais uma vez, da minha formação acadêmica e pessoal.
O que observamos não é a natureza em si, mas a natureza exposta ao nosso método de questionamento HEISENBERG, Werner
Resumo A metáfora do processamento de informações metáfora do computador como modelo para o funcionamento do sistema nervoso dos seres vivos tem recebido inúmeras críticas de abordagens que compreendem os processos relacionados à cognição sob uma perspectiva mais contemporânea. Entre as críticas apontadas a dissociação da percepção e da ação constitui um dos pontos que mais se destacam. Inúmeros estudos indicam que a percepção e a ação consistem de processos simultâneos, contínuos e inseparáveis entre si. Diante desse quadro, este trabalho propõe uma extensão da arquitetura ARTÍFICE para a criação de linhagens de Agentes de Software Cognitivos Situados (ASCS), bem como o desenvolvimento de um mecanismo de percepçãoem-ação para esses agentes que opere de modo imbricado. Para tanto, foi realizado um estudo da versão anteriormente disponível da arquitetura ARTÍFICE e uma revisão da literatura relativa às teorias contemporâneas da percepção e da cognição, buscando construir um referencial teórico-conceitual que pudesse embasar o trabalho proposto, nos contextos biológico, filosófico e tecnológico. A partir deste referencial foram elaborados os modelos conceitual e de projeto da nova versão da arquitetura, incluindo a modelagem do mecanismo de percepção-em-ação. Para possibilitar a imbricação, imprescindível para um mecanismo que implementa a percepção-em-ação, cada componente da estrutura interna dos ASCS é executado em uma linha de execução (thread) própria, no entanto, todos os componentes são mantidos acoplados entre si, o que implica que as leis de evolução de cada componente individual são codependentes dos estados dos demais componentes num certo instante. A arquitetura foi modelada de maneira flexível para permitir que os componentes possam ser implementados utilizando diferentes tipos de estruturas, dentre os quais: redes neurais artificiais, sistemas dinâmicos e autômatos finitos, sendo que este último foi completamente implementado no presente trabalho. Visando facilitar a utilização da arquitetura foi elaborada uma metodologia para a instanciação de aplicações. A partir da arquitetura e da metodologia desenvolvida foi criada uma aplicação simples na área de vida artificial (ALife), que serviu para validar as extensões efetuadas na arquitetura, mais especificamente, o funcionamento do mecanismo de percepção-em-ação, bem como a própria metodologia de instanciação proposta. Os comportamentos apresentados pelos ASCS neste mundo artificial criado, resultantes da operação do mecanismo de percepção-em-ação implementado, foram analisados e comparados àqueles dos seres vivos objetos de inspiração biológica da arquitetura. Desta análise, foi constatado algumas limitações no comportamento do agente, impostas tanto pelo domínio de aplicação escolhido, quanto pela simplicidade de implementação de alguns componentes desta aplicação. A despeito dessas limitações, os ASCS apresentaram condutas adequadas em seu ambiente artificial. Além disso, ficou demonstrado o correto funcionamento da arquitetura ARTÍFICE. PALAVRAS-CHAVE: agentes cognitivos, arquitetura de agentes de software, cognição situada, computação bioinspirada, percepção-em-ação, vida artificial.
Abstract When modeling the functioning of nervous systems of living beings, the information processing metaphor also known as the computer metaphor has received many criticisms from others approaches which treat the processes related to cognition under a more contemporary perspective. Amongst the criticisms, the dissociation of perception and action is one of greater relevance. A lot of studies indicate that perception and action are simultaneous, continuous, and inseparable processes. From this perspective, this work proposes an extension of the ARTÍFICE architecture for the creation of lineages of Cognitive Situated Software Agents (CSSA), as well as the development of a perception-in-action mechanism to these agents wich operates as an imbricated system. In order to accomplish this task, a literature review of the contemporary theories of perception and cognition from the biological, philosophical and technological perspectives was carried out aiming to constitute a solid theoretical background for this research project, as well as a detailed study of the previously available version of the architecture. From this theoretical basis, conceptual and design model for the new version of the architecture has been elaborated, including the modelling of the perception-in-action mechanism. To simulate the simultaneous and continuous dynamics of the CSSA internal components, wich is essential for a mechanism that implements perception-in-action, each component of the internal CSSA structure executes in its own proper execution context (i.e., its own thread). Nevertheless, all the components are kept coupled to each other, wich implies that the evolution laws for each individual component are co-dependent of the states of the others components at one specific moment. The architecture was modelled as flexible as possible to allow components to be implemented using different types of structures, such as selforganizing neural networks, dynamical systems and finite automata; where the last one was completely implemented in the present work. To facilitate the use of the architecture, a methodology for instantiationing applications was elaborated. Afterwards a simple application in the area or artificial life (ALife) was created, starting from both the architecture and the methodology developed. So, it became possible to validate the extensions implemented in the architecture, more specifically the functioning of the perception-in-action mechanism and the newly proposed instantiation methodology. The behaviours presented by the CSSA in this artificial world, resulting from the operation of the perception-in-action mechanism, were analyzed and compared with those of living beings the biological source of inspiration for the architecture. From this analysis, some limitations on agent behaviour were verified. It was noticed that limitations were imposed, on one hand, by the chosen application domain and, on the other hand, by the simplicity of implementation of some components of the application. In spite of these limitations, the CSSA performed as expected by an observer, presenting proper behaviours in the artificial environment. KEYWORDS: cognitive agents, software agent architecture, situated cognition, bioinspired computing, perception-in-action, artificial life.
Lista de Figuras 1 Abordagens para o desenvolvimento de mecanismos artificiais.... p. 17 2 Agente em seus domínios fenomênicos................. p. 21 3 Organização da dissertação....................... p. 27 4 Proposta inicial para a arquitetura ARTÍFICE.............. p. 31 5 Modelo da arquitetura retratando um ASCS-em-seu-ambiente.... p. 33 6 Conceito de estímulos incorporado ao modelo da arquitetura..... p. 34 7 Metáfora do computador como modelo da cognição.......... p. 35 8 Organização do ASCS.......................... p. 51 9 Componentes do sistema nervoso.................... p. 52 10 Componentes do sistema nervoso.................... p. 53 11 Mapeamento das possibilidades de transição de estados de um autômato em uma matriz de adjacências................... p. 54 12 Árvore sintática utilizada para composição das regras dos autômatos p. 55 13 Organização hierárquica dos estímulos................. p. 55 14 Modelo conceitual da arquitetura ARTÍFICE versão 0.6.0....... p. 57 15 Dinâmica de evolução do mundo artificial................ p. 59 16 Ciclo de evolução dos componentes de um mundo artificial...... p. 61 17 Dinâmica da sensação de estímulos por parte das estruturas..... p. 62 18 Dinâmica da mudança de estados das estruturas............ p. 64 19 Modelo de projeto da árvore sintática abstrata............. p. 66 20 Dinâmica do acoplamento entre as estruturas............. p. 68 21 Dinâmica da percepção-em-ação.................... p. 71
22 Modelo esquemático da percepção-em-ação.............. p. 72 23 Modelo de projeto preliminar da arquitetura ARTÍFICE......... p. 76 24 Pacote da estrutura autômato finitos................... p. 77 25 Pacote de ferramentas para manipulação dos autômatos....... p. 77 26 Organização da estrutura do ASCS em pacotes............ p. 78 27 Organização hierárquica dos estímulos e o respectivo pacote stimuli. p. 79 28 Pacote design (organização atual).................... p. 80 29 Modelo conceitual do Mundo Artificial.................. p. 82 30 Modelo esquemático do Mundo Artificial................ p. 82 31 Componentes do ALifeWorld....................... p. 83 32 Especialização da hierarquia de estímulos com a criação de estímulo visual.................................... p. 84 33 Alguns componentes do sistema nervoso dos ASCS.......... p. 84 34 Componentes do sistema periférico do agente............. p. 85 35 Organização da hierarquia de estruturas definidas........... p. 87 36 Autômato de translação: estados e regras de transição........ p. 90 37 Autômato de visão: estados e regras de transição........... p. 91 38 Autômato de rotação: estados e regras de transição.......... p. 91 39 Autômato emocional: estados e regras de transição.......... p. 92 40 Discretização do campo de visão em regiões.............. p. 92 41 Exemplo da evolução da estrutura interna do ASCS.......... p. 94 42 Modelo de projeto da classe ALifeWorld................. p. 95 43 Especializações dos componentes sensores e efetores........ p. 96 44 Extensões do sistema periférico do agente............... p. 97 45 Estratégia utilizada pelo componente emocional............ p. 98 46 Estruturas definidas para o domínio de aplicação............ p. 98
47 Modelagem explícita do autômato emocional.............. p. 99 48 Matriz de adjacências da estrutura do componente emocional..... p. 99 49 Pacote que representa a camada de apresentação do domínio de aplicação.................................... p. 100 50 Pacote design criado em simetria ao pacote de mesmo nome no modelo da arquitetura............................. p. 101 51 Organização em pacotes do mundo artificial............... p. 101 52 Domínio das relações e interações do ASCS.............. p. 104 53 Possibilidades de locomoção do ASCS................. p. 107 54 Possibilidades reais de locomoção do ASCS.............. p. 107 55 Percurso do agente com probabilidade uniforme para os estados do autômato de rotação............................ p. 109 56 Percurso do agente com probabilidade maior para o estado NR do autômato de rotação........................... p. 109 57 Ampliação da tela gráfica com ênfase no rastro deixado pelo agente com distribuição uniforme das probabilidades.............. p. 110 58 Ampliação da tela gráfica com ênfase no rastro deixado pelo agente com probabilidade maior para o estado NR do autômato de rotação p. 110 59 Posição e disposição iniciais do ASCS nas simulações......... p. 111 60 Algumas simulações com o percurso efetuado pelo ASCS....... p. 112 61 Desenvolvimento do trabalho....................... p. 114 62 Modelo de projeto da arquitetura ARTÍFICE............... p. 126 63 Modelo de projeto da instância da arquitetura ARTÍFICE ALifeWord p. 127
Lista de Tabelas 1 Tabela de estados dos componentes da estrutura interna dos ASCS. p. 87 2 Tabela de estados globais do agente e a respectiva definição de estabilidade.................................. p. 88
Lista de Abreviaturas e Siglas AF autômatos finitos ALife vida artificial (do inglês, Artificial Life) ASCS Agentes de Software Cognitivos Situados CSSA Cognitive Situated Software Agents CVS Concurrent Versions System FPGA Field-Programmable Gate Array GBSB Generalized Brain-State-in-a-Box GPSI Grupo de Pesquisa em Sistemas Inteligentes HTML Hypertext Markup Language IA inteligência artificial JVM máquina virtual Java (do inglês, Java virtual machine) LSI Laboratório de Sistemas Inteligentes RNA redes neurais artificiais TNGS teoria de seleção dos grupos neuronais (do inglês, Theory of Neuronal Group Selection) TSD teoria dos sistemas dinâmicos UML linguagem de modelagem unificada (do inglês, Unified Modeling Language)
Sumário 1 INTRODUÇÃO p. 16 1.1 O problema de pesquisa.......................... p. 23 1.2 Relevância................................. p. 24 1.3 Objetivos.................................. p. 25 1.4 Metodologia................................. p. 25 1.5 Organização da dissertação........................ p. 27 2 FUNDAMENTAÇÃO TEÓRICA p. 29 2.1 Arquitetura ARTÍFICE........................... p. 29 2.2 Teorias da percepção........................... p. 35 2.2.1 As teorias da percepção revisitadas............... p. 36 2.2.2 A percepção aplicada ao desenvolvimento de mecanismos artificiais................................ p. 41 2.3 Domínio de aplicação........................... p. 44 2.4 Considerações finais............................ p. 48 3 MODELAGEM DE UM MECANISMO DE PERCEPÇÃO-EM-AÇÃO PARA OS AGENTES DE SOFTWARE COGNITIVOS SITUADOS p. 49 3.1 Modelagem conceitual da arquitetura ARTÍFICE versão 0.6.0..... p. 49 3.2 Projeto de um mecanismo de percepção-em-ação........... p. 56 3.2.1 Dinâmica da operação dos ASCS................ p. 59 3.2.2 Dinâmica do mecanismo de percepção-em-ação........ p. 65 3.2.3 Algumas considerações a respeito do projeto da arquitetura.. p. 75
3.3 Considerações finais............................ p. 79 4 ALIFEWORLD: UMA APLICAÇÃO EM VIDA ARTIFICIAL p. 81 4.1 Modelagem da estrutura interna dos Agentes de Software Cognitivos Situados................................... p. 83 4.2 Modelo de projeto do mundo artificial e de seus respectivos elementos p. 94 4.2.1 Modelo de projeto da estrutura interna dos Agentes de Software Cognitivos Situados..................... p. 96 4.2.2 Alguns aspectos a respeito do projeto do mundo artificial... p. 100 4.3 Considerações finais............................ p. 101 5 RESULTADOS: ANÁLISE E DISCUSSÃO p. 103 5.1 Considerações finais............................ p. 113 6 CONCLUSÃO p. 114 6.1 Dificuldades encontradas......................... p. 116 6.2 Trabalhos futuros.............................. p. 117 6.3 Considerações finais............................ p. 119 Referências p. 120 Anexo A -- Modelo de projeto da arquitetura ARTÍFICE p. 126 Anexo B -- Modelo de projeto da instância da arquitetura ALifeWorld p. 127 Anexo C -- Metodologia para criação de uma instância da arquitetura p. 128 C.1 Definição das características do domínio de aplicação......... p. 128 C.2 Definição dos componentes participantes da estrutura interna do ASCSp. 129 C.3 Estabelecimento da dinâmica estrutural interna dos componentes.. p. 130 Índices p. 132
Índice Onomástico................................ p. 132 Índice Remissivo................................. p. 134
16 1 INTRODUÇÃO A tempos que os seres humanos procuram desenvolver artefatos que utilizam os seres vivos como objeto de inspiração. Inúmeros desenvolvimentos foram feitos nessa direção, entre eles: os robôs insetos (BEER et al., 1997; KINGSLEY; QUINN, 2001; MORREY et al., 2003) e os robôs humanóides (BROOKS, 2002). Um dos aspectos que influencia diretamente o resultado desses desenvolvimentos se refere ao estatuto ontológico 1 e ao princípio epistemológico 2 utilizado na concepção de tais artefatos. De acordo com o paradigma escolhido para o projeto dos artefatos, determinados resultados são mais prováveis de serem alcançados em detrimento de outros. As ciências cognitivas constituem um amplo conjunto de disciplinas que se interessam por estudos relacionados à filosofia da mente (DUPUY, 1996; GARDNER, 2003; VARELA; THOMPSON; ROSCH, 2003). Entre essas disciplinas, encontra-se a área de estudo da inteligência artificial (IA), área na qual um esforço considerável já foi empregado na confecção de mecanismos inspirados nos seres vivos, embora a maior parcela desse desenvolvimento se encontre no âmbito de abordagens consideradas tradicionais (RUMELHART, 1989; BICKARD; TERVEEN, 1995). Em decorrência dessas pesquisas, um vasto material de referência, relativo ao desenvolvimento de componentes tradicionais, foi produzido. As abordagens consideradas tradicionais são baseadas nos princípios da objetividade, sendo freqüentemente denotadas de abordagens representacionistas. Nessas abordagens o conhecimento é representado por um conjunto de símbolos e as regras que os manipulam (programa de pesquisa cognitivista) ou por um conjunto de pesos sinápticos entre unidades funcionais concebidos em analogia aos neurônios naturais (programa de pesquisa conexionista). Essas abordagens são consideradas simbólicas por criarem representações internas das propriedades das entidades do mundo externo. 1 ramo da filosofia referente às reflexões sobre o ser. 2 ramo da filosofia que procura explicar o fenômeno do conhecer.
1 INTRODUÇÃO 17 Entre as áreas de estudo da IA encontram-se aquelas que desenvolvem mecanismos físicos (robots) e outras que se concentram no desenvolvimento de artefatos de software (softbots). Em se tratando de robots, alguns trabalhos utilizando teorias que abordam o fenômeno cognitivo numa perspectiva contemporânea, numa área que vem sendo conhecida como robótica co-evolucionária, encontram-se em desenvolvimento. Dentre esses, destacam-se: a arquitetura subsumption de Brooks (1986), a neuroetologia computacional de Cliff (1990) e os trabalhos de robótica situada de Matarić (2002). Esses trabalhos se desenvolvem em uma perspectiva situada com relação ao ser e o seu ambiente. Essas abordagens contemporâneas, também denotadas de abordagens situacionistas, são baseadas nos princípios da não-objetividade e, sendo assim, comumente referenciadas como abordagens não-representacionistas. Por não compartilharem dos conceitos de representação, as abordagens situacionistas são não-simbolistas. Desse modo, os mecanismos desenvolvidos nessas abordagens não representam o mundo em que habitam mas criam-no dinamicamente a partir da interação com ele. As abordagens situacionistas compreendem a inseparabilidade ser-ambiente como uma característica essencial para o fenômeno da cognição, o que as caracterizam como abordagens holísticas ou ecológicas. A figura 1 apresenta um paralelo entre as abordagens tradicionais e situacionistas. Figura 1: Abordagens para o desenvolvimento de mecanismos artificiais O desenvolvimento de mecanismos inteligentes pode ser baseado nas abordagens
1 INTRODUÇÃO 18 denominadas tradicionais ou nas abordagens consideradas contemporâneas (situacionistas). No âmbito das abordagens tradicionais dois programas de pesquisa se destacam: o cognitivismo e o conexionismo. No cognitivismo, a cognição é compreendida em analogia à manipulação de símbolos como a dos computadores digitais. Esse programa de pesquisa normalmente utiliza o modelo computacional dos sistemas especialistas para armazenar o conhecimento do sistema. No conexionismo, a cognição consiste da emergência de estados globais em uma rede de componentes simples, semelhantes a neurônios. Nesse programa de pesquisa são utilizados modelos computacionais baseados na conectividade desses componentes (redes neurais artificiais). As abordagens situacionistas, por sua vez, compreendem a cognição de maneira situada e com isso apresentam uma perspectiva diferente daquela utilizada pelas abordagens tradicionais para a constituição dos mecanismos. A arquitetura subsumption elaborada por Brooks (1986), a arquitetura ARTÍFICE concebida por Santos (2003) e a neuroetologia computacional formulada por Cliff (1990) consistem de alguns modelos computacionais desenvolvidos no âmbito das abordagens situacionistas. A caracterização de uma abordagem como tradicional ou situacionista não está relacionada ao caráter temporal, mas sim à fundamentação que embasa essa abordagem. Senso assim, abordagens desenvolvidas recentemente podem compartilhar das características das abordagens tradicionais e, devido a isso, não serem consideradas abordagens contemporâneas (situacionistas). O termo abordagem contemporânea, quando utilizado para caracterizar as abordagens situacionistas, não está relacionado à abordagens novas (recentes), mas sim à abordagens que compartilham os fundamentos teórico-conceituais das abordagens situacionistas. Entretano, o termo contemporâneo tem sido utilizado devido ao fato de que somente recentemente essas teorias tem despertado um interesse maior dos pesquisadores para utilização desses fundamentos no desenvolvimento de mecanismos inteligentes. Na perspectiva dos softbots, pesquisas têm sido desenvolvidas por intermédio de agentes de software (FRANKLIN, 1995; FRANKLIN; GRAESSER, 1997; RUSSELL; NOR- VIG, 2003). Um consenso para a definição do termo agentes de software ainda não foi estabelecido, o que o possibilita ser conotado de acordo com o contexto em que o mesmo se apresenta. Embora inúmeras pesquisas utilizando agentes de software tenham sido realizadas, o desenvolvimento de agentes que compartilham os conceitos das abordagens contemporâneas para o fenômeno da cognição ainda é incipiente. Este trabalho encontra-se inserido no contexto do projeto ARTÍFICE Arquitetura
1 INTRODUÇÃO 19 Flexível para a Criação de Linhagens de Agentes de Software Cognitivos e Situados (BORGES, 2002), o qual vem sendo desenvolvido pelo Grupo de Pesquisa em Sistemas Inteligentes (GPSI) no Centro Federal de Educação Tecnológica de Minas Gerais (CEFET-MG). Um dos objetivos desse projeto é o desenvolvimento de referenciais teórico-conceituais relativos aos Agentes de Software Cognitivos Situados doravante referenciados como ASCS. Em Santos (2003) é apresentada uma revisão de literatura a respeito do desenvolvimento de agentes de software, incluindo uma contextualização dos Agentes de Software Cognitivos Situados. Os Agentes de Software Cognitivos Situados (ASCS) estão fundamentados em teorias contemporâneas das ciências cognitivas, algumas das quais denominadas: Biologia do Conhecer (MATURANA; VARELA, 2003), Cognição Situada (CLANCEY, 1997), Enaction (VARELA; THOMPSON; ROSCH, 2003) e Teoria de Seleção dos Grupos Neuronais (EDELMAN, 1987). A recontextualização adequada dos fundamentos advindos das mais diversas teorias da cognição possibilita a criação de linhagens de agentes de software que, sob a perspectiva contemporânea, apresentam comportamentos emergentes, resultantes de processos cognitivos. Em conseqüência disso, inúmeras teorias contribuem para a formação do arcabouço teórico-conceitual em desenvolvimento no projeto ARTÍFICE (BORGES, 2002). Em cada teoria, os aspectos mais relevantes são utilizados como inspiração para a elaboração de uma arquitetura, a qual permitirá a criação dos ASCS. O termo cognição situada tem sido utilizado para caracterizar o desenvolvimento de componentes de hardware e/ou software que utilizam os conceitos das teorias contemporâneas da cognição como referencial teórico-conceitual. A utilização do termo cognição situada para denotar esse tipo de desenvolvimento se deve, possivelmente, ao fato desse termo ter sido denotado no contexto computacional, o que não acontece, por exemplo, com a Biologia do Conhecer que possui um caráter biológico. Embora essas diversas teorias contemporâneas abordem o fenômeno da cognição sob perspectivas diferentes, as mesmas compartilham bases ontológicas e princípios epistemológicos semelhantes. Assim, tais teorias podem ser utilizadas no mundo do hardware/software através de uma transferência (recontextualização) de seus conceitos. Também, neste trabalho, o termo cognição situada será utilizado para se referir a esse conjunto de teorias que estudam o fenômeno da cognição a partir de uma perspectiva contemporânea. Assim, a denominação Agentes de Software Cognitivos Situados pretende estabelecer uma clara distinção, de princípios e constituição, dos demais agentes de software, esses por alguns denominados, agentes de software
1 INTRODUÇÃO 20 inteligentes. A inclusão do termo Cognitivos Situados na denotação de tais agentes busca, explicitamente, indicar que os mesmos utilizam os conceitos da cognição situada. Em Santos (2003, p. 60), é estabelecido um conjunto de propriedades que um agente de software precisa satisfazer para ser referenciado como ASCS. É importante salientar que tais propriedades não são intrínsecas elas constituem uma descrição, na linguagem, feita por um observador. Um ASCS existe apenas, e tão somente, em acoplamento estrutural (MATURANA; VA- RELA, 2003, p. 87) com seu meio ambiente, nesse caso, um mundo artificial. Ambos, agente e mundo, evoluem de modo imbricado (co-evoluem). Devido ao fato do projeto ARTÍFICE buscar a construção de uma arquitetura para desenvolvimento de mecanismos de software, o mundo real não precisa ser simulado, pois tal mundo constitui o próprio mundo virtual (artificial), sendo o sujeito referenciado um agente de software (TERRA; GRANDI; BORGES, 2004). Face ao exposto, ao se mencionar um ASCS referencia-se, implicitamente, um ASCS-em-seu-ambiente. Conforme apresentado em Santos (2003), um ASCS pode existir em dois domínios o domínio das relações e interações e o domínio de sua dinâmica estrutural (Figura 2). No primeiro, também referenciado como domínio comportamental, o ASCS se apresenta como uma totalidade, ou seja, uma unidade simples. Através do mecanismo de distinção (MATURANA; VARELA, 2003, p. 47), um ASCS pode identificar as demais entidades inseridas no meio em que se encontra. Nesse domínio, tanto os ASCS quanto os demais entes são descritos como totalidades. É no domínio das relações e interações que um observador poderá, utilizando seu próprio mecanismo de distinção, examinar o operar de um ASCS, ou seja, os comportamentos de um ASCS em operação. Por outro lado, no domínio da dinâmica estrutural interna, o ASCS é compreendido como uma composição unidade composta de vários componentes e suas correlações. Os componentes do ASCS, nesse domínio, participam da dinâmica interna do agente possibilitando a emergência de comportamentos observáveis no domínio comportamental. As alterações, por evolução, da estrutura interna de um agente não determinam o comportamento do mesmo mas, sim, geram-no, no domínio das relações e interações. Estes dois domínios são ortogonais, o que acarreta na impossibilidade da definição de um domínio a partir do outro (MATURANA; VARELA, 2003). De acordo com o exposto, um ASCS é compreendido como uma composição no domínio de sua dinâmica estrutural. Através de um processo de distinção recursiva sobre
1 INTRODUÇÃO 21 Figura 2: Agente em seus domínios fenomênicos Fonte SANTOS, 2003, p. 59. um agente, é possível a identificação (distinção) das partes componentes do mesmo. Internamente, os diversos componentes estão fortemente correlacionados, sendo codependentes. Dessa maneira, mudanças estruturais em um dado componente são refletidas no todo mudanças ocorrem simultaneamente. Um ASCS pode ser composto de outros agentes além de componentes cognitivos e não-cognitivos. A viabilidade de se compor um agente a partir de outros pode representar uma das possibilidades de criação de sistemas multiagentes. Os componentes cognitivos dos ASCS são análogos aos componentes constituintes do sistema nervoso de um ser vivo (realizam funções cognitivas). Por outro lado, os componentes não-cognitivos assemelham-se aos demais órgãos que compõem um organismo vivo, não estando diretamente relacionados às funções cognitivas do mesmo. A principal inspiração para a constituição da estrutura interna dos ASCS advém da teoria de seleção dos grupos neuronais (TNGS), formulada por Edelman (1987). Em Santos (2003) são apresentados os conceitos essenciais dessa teoria, além de uma recontextualização dos mesmos para utilização no escopo do projeto ARTÍFICE. O processo de interação do agente com o seu ambiente é possibilitado pelos componentes cognitivos denominados sensores e efetores. Esses componentes participam da estrutura interna dos ASCS, formando uma interface entre os sistemas nervoso e periférico. Tais componentes são responsáveis pela dinâmica de mudanças entre o agente e seu ambiente. A apresentação de um comportamento observável, no domínio comportamental, surge através de uma correlação sensório-efetora, modulada emocionalmente, possibilitada por componentes correlacionadores da estrutura interna dos ASCS. Essas correlações internas correspondem aos processos cogni-