Capítulo 3. Modelagem e Simulação de Humanos

Supervisores: Claudio Santos Pinhanez, Carlos Humes Jr.

Autores: Daniel Makoto Tokunaga, Cléber Gimenez Corrêa

Colaboradores: Crhistian Noriega, Christian Danniel Paz Trillo, Daniel Baptista Dias, Danilo Brandão Gonçalves, Eduardo Cotrin Teixeira, Igor dos Santos Montagner, José David Fernández Curado, Marcel Kania, Marcelo Dutra Os, Marcos Takechi Hirata, Mauro Carlos Pichiliani, Reginaldo do Prado, Ricardo Augusto Teixeira de Souza, Ricardo Guimarães Herrmann



1. Introdução

“Two things are infinite: the universe and human stupidity; and I'm not sure about the universe.”
— Albert Einstein1

Como apresentado pelo grande físico Albert Einstein (de forma extremamente irônica e cínica), pessoas são elementos de alta complexidade. Desta forma, tornando a sua modelagem e/ou simulação uma tarefa de extrema complexidade em diversos casos.

O estudo de sistemas humano-computacionais pressupõe o interesse em duas partes: seres humanos e computadores (tecnologias em geral). Um sistema por sua vez, de forma simplificada, pode ser definido como um conjunto de partes independentes, que procuram interagir para alcançar um objetivo [84]. Neste capítulo, o foco é o ser humano, que no contexto assume diversas nomeações, como: usuário, administrador de sistemas, gerente, pessoa, funcionário, cliente, consumidor, jogador, avatar, colaborador, entre outros, podendo interagir com outros seres humanos e o computador.

Desta forma, a necessidade de entender os seres humanos remete ao conhecimento de formas de representação dos mesmos. A representação de seres humanos é uma área multidisciplinar e de alta complexidade, pois engloba diversos campos de estudo, tais como: Psicologia, Antropologia, Economia, Ciências Sociais, Engenharia, Computação, Matemática, Biologia, etc, além de uma série de fatores, a citar: comportamentos (individuais e coletivos), relações (formas comunicação e interação), ambientes, circunstâncias ou situações, entre outros. Neste cenário, destacam-se os termos modelagem e simulação, os quais permitem um entendimento da realidade que norteia os seres humanos, mesmo que seja de parte desta ou em situações específicas.

Como há uma carência de formas consistentes para a modelagem e simulação de seres humanos, o objetivo do presente capítulo é apresentar níveis relevantes na representação do ser humano, tais como: interação entre pessoas, interação entre pessoas e recursos, física, emoções, raciocínio, percepção de humanidade, tratados separadamente em diferentes aspectos. Além disso, serão consideradas diversas abordagens que propiciam a modelagem e a simulação de pessoas, constituídas por teorias, modelos e ferramentas (como por exemplo, simuladores e jogos), que podem ser úteis na concepção, desenvolvimento e construção de sistemas humano-computacionais.

A subseção seguinte apresenta uma conceituação mais detalhada sobre modelagem e simulação, as quais serão extensivamente citadas ao longo deste capítulo, dada a relevância das mesmas no contexto que se apresenta.

1.1. Modelagem e Simulação

Os termos modelagem e simulação são amplamente empregados na especificação de comportamentos de sistemas, inclusive, sistemas que envolvem seres humanos. Desta forma, torna-se necessária uma explanação sobre os termos, abordando conceitos, as relações entre ambos, as justificativas que levam a aplicação de um e de outro, analisando vantagens e desvantagens.

Um modelo pode ser definido como a simplificação do mundo (estruturas e sistemas), em uma escala menor, com menos detalhes, menor nível de complexidade [1]. Simulação pode ser tratada como uma forma de modelagem, possuindo um elevado potencial para entendimento de processos sociais, principalmente devido ao fato das facilidades advindas do uso de computadores [1]. As simulações auxiliam em uma série de atividades, como na obtenção do melhor entendimento para algumas características da sociedade, predição, substituição por capacidades humanas, treinamento (simuladores de voo), entretenimento, descobertas e formalização de conceitos.

Conforme a área de estudo, modelagem e simulação se apresentam como alternativas interessantes, contribuindo na execução de experimentos para validar teorias. Por exemplo, na área de Interação Humano-Computador (IHC), a modelagem é considerada útil no projeto e na avaliação de sistemas desta natureza, fornecendo subsídios para compreensão de comportamentos de seres humanos. Modelos preditivos e descritivos podem contribuir com a área de estudo mencionada, sendo que os modelos preditivos propiciam a exploração hipotética de um cenário composto por seres humanos e computador antes da implementação do sistema computacional, o que pode resultar em uma economia de recursos (tempo e dinheiro). Os modelos descritivos fornecem meios para elaboração de framework ou especificação de contexto de um sistema IHC, proporcionando a descrição e o entendimento sobre problemas e situações que podem ocorrer durante a utilização do sistema [7].

2. Níveis de Modelagem de Aspectos Humanos

Para uma análise adequada no estudo de modelos, a modelagem de seres humanos foi classificada em níveis, procurando agrupar os diversos aspectos do comportamento das pessoas no domínio de sistemas. Deve-se ressaltar que no presente contexto, simulação é tratada como parte da modelagem, visto que simulações geralmente se baseiam em modelos. Neste capítulo, a proposta de classificação está dividida em: interação entre pessoas, interação entre pessoas e recursos, física (envolvendo movimentos corporais, como gestos, expressões faciais e direção do olhar), emoções, raciocínio (englobando cognição), percepção de humanidade e memória. Estas categorias poderão sofrer alterações, inclusive, com a inclusão de novas categorias e, ou subdivisão de algumas, visto que se trata de um campo de estudo emergente. Na Figura 1 é apresentado um diagrama ilustrando esta classificação abordada.

humanos.png
Figura 1: Diagrama dos níveis de modelagem de humanos

2.1. Físico

Uma das formas mais diretas de se modelar e simular pessoas, porém, não trivial, é a modelagem física destas pessoas. Este nível de modelagem comtempla uma ampla gama de aspectos como: faces, visão, mãos, gestos, corpo, movimentos corporais, reação física, entre outros. Dentro da literatura são inúmeros trabalhos que têm como objetivo modelar e/ou simular estes aspectos.

Trabalhos como os de Shotton et al. [8], Turk et al. [47] e Hansen [98] apresentam abordagens totalmente diferentes para a modelagem do corpo humano ou partes dele. Shotton et al. apresentam uma modelagem e captura geométrica do corpo como um todo, Turk et al., modelagem e detecção de faces, e Hansen et al. modelos para detecção de olhar de pessoas. Mesmo essas modelagens de cada parte do corpo, existem muito mais abordagens para se obter informações.

Na forma de modelagem física, a simulação de humanos também é uma vasta área dentro da literatura. Moussaïd et al. [74] mostram como regras simples podem modelar e simular o comportamento de pedestres em desastres envolvendo multidões. Coros [99] apresenta um modelo para a simulação de ações do andar de bípedes de forma genérica, baseadas em dados reais, permitindo que outras forças externas sejam aplicadas em tempo real e mesmo assim, obter coerência física na animação.

MacKenzie [7] também apresenta outra abordagem para a modelagem de humanos. Neste trabalho, o autor executa um estudo de modelagem para comportamento motor de humanos, focando-se no uso de interfaces humano-computacionais.

Como visto nesta subseção, a modelagem e simulação de diversos aspectos físicos de humanos podem ser executadas de diversas formas diferentes. Assim, para se gerar esta modelagem física é necessário se estruturar de forma cuidadosa, sabendo o que se quer modelar, para poder se definir a forma de como modelar.

Um importante ponto que também se deve levantar é o fato de que esta modelagem não pode somente ser utilizada diretamente na obtenção de informações do nível físico, mas também para prover informações relevantes na modelagem e simulação de outros níveis de aspectos humanos. Como por exemplo, o trabalho apresentado por Park et al. [34], no qual os autores incialmente criam métodos para detecção de partes do corpo de várias pessoas em sequências de vídeos, e através destas sequencias, modelam as interações entre essas pessoas, como abraçar ou brigar.

2.2. Emocional

No trabalho de Picard, pode-se observar algumas abordagens para a modelagem e síntese de expressões de emoções, sendo que esta última permite que os agentes do modelo alterem a maneira como aprendem, priorizam e escolhem alguma determinada ação. A discussão é dirigida em três aspectos: a síntese de emoções baseadas em mecanismos cognitivos, a síntese de emoções baseadas em múltiplos mecanismos e as influências de se sintetizar as emoções [4].

A síntese de emoções pode ser feita por meio de mecanismos cognitivos, como no caso do modelo OCC (Ortony Clore Collins), que utilizando um sistema baseado em regras (rule-based system), pode sintetizar 22 tipos de emoções, ativadas de acordo com reações a eventos, agentes ou objetos. Além disso, o sistema é interessante por possibilitar o estudo do mecanismo de consequências emocionais, no qual determinado agente sentindo uma emoção, realiza uma ação influenciado pela emoção sentida. Um exemplo desta situação em seres humanos está ligado ao fato de um filho não guardar os brinquedos corretamente por ter ficado contrariado após receber uma bronca do pai.

No caso dos seres humanos, as emoções também podem ser geradas por influências não-cognitivas de baixo nível. Um modelo que leva esta característica em consideração é o Cathexis, que contempla 4 tipos de fatores para a geração de emoções e sintetiza uma variedade de emoções, as quais podem ser simultâneas. Os fatores que propiciam ao modelo a síntese de emoções, são:

  1. Neurais, originados de neurotransmissores e outros processos neuro-químicos;
  2. Sensório-motores, originados da postura, das expressões faciais, tensão muscular e outros fatores aferentes;
  3. Motivacionais, originados de provocações sensoriais, como a raiva provocada pela dor, por exemplo;
  4. Cognitivos, originados do raciocínio cortical.

A modelagem e a simulação de emoções, além da memória (sendo esta tratada na subseção2.4), têm sido usadas na criação de ambientes virtuais, nos quais "humanos sintéticos" são modelados com o propósito de propiciar experiências imersivas aos seres humanos, que interagem com estes mundos virtuais. Tais ambientes são utilizados em jogos de vídeo game e em sistemas colaborativos de redes sociais (sendo o SecondLife o mais famoso mundo virtual do segundo tipo). Esta modelagem possui grande relevância em "Serious Games", nos quais as interações com entidades virtuais precisam contemplar certos cuidados e detalhes [92].

2.3. Cognitivo

Pode-se definir a ciência cognitiva como sendo o estudo de inteligência e sua forma de processamento em humanos, computadores e animais, como proposto por Posner [100]. Porém, não só se focando em um indivíduo, diferentes áreas tem correlação direta com esta ciência, como a antropologia (estudo de humanos) e psicologia sócio cognitiva (com o foco no estudo de percepção inter-pessoal, ou percepção própria). Assim, este estudo cognitivo, estudo da inteligência do indivíduo, se torna crucial para o estudo de humanos em diversas áreas, principalmente quando se tenta modelar e/ou simular humanos, ou se torna base para o estudo de outros níveis de modelagem humana, como o nível entre pessoas.

Porém, este estudo se estende em muitos ramos, como o processo de simples planejamentos até processos mais complexos, como o processo criativo de uma pessoa [101] (por exemplo, como criar um bom design), criação de estratégias preditivas ou complexas (como estratégias que contemplam “o que eu imagino que outra pessoa estaria pensando” [102]) ou até mesmo decisões baseadas em intuição e experiências.

Wallas [101] apresenta em seu livro um dos primeiros modelos de processos criativos de humanos, enfatizando o funcionamento da criatividade. Gero [22], baseando-se neste modelo, apresenta um sistema para a criação de design de forma computacional e automática utilizando sistemas multi-agentes (que será tratado na seção 3).

O uso de teorias como a “teoria das mentes” (Theory of minds), por sua vez, permite a criação de estratégias mais complexas. Apresentada inicialmente por Premack [102], a teoria das mentes parte do princípio que pessoas possuem a capacidade de representar, prever, e interpretar ações de outas pessoas. Esta proposta dá subsídio para a criação de modelos relevantes na tomada de decisão, estratégias, ou ações de pessoas ou robôs mais realistas e complexas, como apresentado por Kelley [43] e Kim [21].

Por sua vez, Klein apresenta um framework de tomadas de decisões, nomeado Recognition-Primed Decision framework (RPD), que captura como as pessoas tomam decisões baseado no reconhecimento de experiências passadas similares a casos atuais. Fan [20] apresenta um sistema colaborativo para o auxílio de tomada de decisões baseado neste framework, ressaltando que estas ferramentas podem auxiliar humanos mesmo em situações de alta pressão.

Como tratada nesta subseção, a cognição é uma área de estudo muito ampla, não havendo atualmente, ao mínimo, uma teoria que a contemple como um todo, nem soluções únicas. Assim, se torna crucial o estudo e definição de qual faceta do processo cognitivo se deseja modelar ou simular ao se criar um sistema humano-computacional.

2.4. Memória

Hering, em um seminário em 1920 [Bibliography item Hering1920 not found.], apresentou que a memória possui um papel crítico sobre a mente e cognição de uma pessoa. O autor apresenta que a memória é um fator central para toda pessoa, pois todas as ideias, percepção do dia-a-dia e ações motoras exercidas pelo homem são derivadas dela. E é por meio da memória, que a experiências e consciência de humanos são conectadas em um ponto, caso contrário, a consciência de uma pessoa seria "quebrada" em muitas peças.

Após anos desta apresentação de Hering, muitas teorias sobre memória foram concebidas, através de áreas como psicologia cognitiva experimental, neuro-psicologia, inteligência artificial, entre outras. Uma teoria apresentada pela área de psicologia cognitiva experimental sobre a memória, e largamente aceita hoje, é a teoria de memória de curto prazo [104] e de longo prazo[105].

A teoria de memória de curto prazo apresenta que esta memória é caracterizada pelo curto tempo de acesso (em torno de cem milissegundos), porém, com capacidade muito limitada e/ou curto tempo de retenção. Estudos mostram que esta memória somente é capaz de armazenar em torno de 7 informações, sendo que tais informações podem ser números, palavras, comandos de teclado (teclas de atalho em um sistema computacional), entre outras.

Por outro lado, a memória de longo prazo é caracterizada pelo seu longo tempo para memorização (de 8 a 10 segundos), porém, uma capacidade teórica ilimitada. Estudos indicam que grande fração do tempo utilizado para a memorização é utilizada para a criação de “índices” para a informação, permitindo formas de acesso a esta informação. Ambas as teorias são amplamente utilizadas para a modelagem de humanos em diversas áreas, com a de design de interações e interface humano-computador.

Porém, a teoria de memória de curto/longo prazo constitui somente uma pequena fração dos estudos existentes na literatura. Endel [66] apresenta que a criação de “rastros” de memória proporciona uma melhora em sistemas de computação neural e todo o sistema cognitivo conectada à este modelo de memória. Uma modelagem computacional baseada em campos de redes neurais artificiais é mostrada no trabalho de Cooper [69], no qual a memória é distribuída pela rede e está associada aos pesos sinápticos, que alteram a sinapse na rede, podendo ser utilizados para reconhecer um padrão.

Desta forma, observa-se, como em todos os outros níveis de modelagem humana, que a memória também é uma área ampla, porém, com modelos que podem e já são implementados em sistemas computacionais. Uma visão geral mais detalhada sobre o assunto pode ser encontrada no capítulo de Schacter [100, cap 17].

2.5. Interação entre pessoas e recursos

Em um sistema, a interação entre pessoas e recursos consiste na relação entre seres humanos e a infraestrutura do sistema. Por exemplo, a infraestrutura pode ser constituída por meios tecnológicos, como computadores pessoais. Por se tratar de um sistema, basicamente, o cenário pode ser ilustrado como uma caixa que possui canais de entrada e saída. Um ser humano (pessoa ou usuário) usa o computador (meio tecnológico ou recurso) para realizar uma determinada tarefa (uma busca na Internet), digitando um termo (entrada) em um site especializado (recurso), que por sua vez, processa a informação e retorna links relacionados à busca (resultado ou saída).

No mesmo sistema, um outro tipo de relação ou interação está ligado ao fato de existir um grupo de pessoas que atua no sistema, gerenciando os recursos, construindo e mantendo a infraestrutura. Um exemplo de interação entre pessoas e recursos está relacionado aos Call Centers, que provêem recursos como equipamentos destinados à coleta, processamento, armazenamento e distribuição de informações de uma determinada empresa. Tanto pessoas da empresa, que precisam acessar as informações (clientes), quanto pessoas que trabalham no Call Center (profissionais de Tecnologia da Informação), que devem fornecer suporte aos clientes, interagem com recursos, sendo neste caso, recursos computacionais.

2.6. Percepção de Humanidade

Neste capítulo, o nível de percepção de humanidade está associado à aspectos emocionais, psicológicos e de dramatização. Segundo Pinhanez [3], assumindo que devido ao fato de um sistema de serviços conter pessoas em sua estrutura, este serviço é percebido como tendo características humanas, tratado como humano e, é esperado que suas ações sejam semelhantes às dos seres humanos. Neste cenário, pode-se definir a faceta humana de um sistema como "o conjunto e a configuração de elementos que criam e controlam a percepção de humanos e a interação com as suas características humanas". Uma importante questão é como modelar a faceta humana de um sistema para melhorar a interação e minimizar os conflitos com o cliente.

São citados dois modelos principais para a modelagem da faceta humana de um sistema: modelos psicológicos e modelos dramáticos. O primeiro tipo de modelo procura abstrair uma visão simplificada do complexo comportamento humano e possui como principal nome Carl Jung, enquanto o segundo tipo provê métodos para a criação de seres humanos fictícios, tendo origem nas artes, com Konstantin Stanislavsky como importante contribuinte, principalmente no teatro.

Um exemplo de modelo psicológico é o zodíaco, que atribui características humanas a cada um dos signos, tornando-se modelos de comportamentos de humanos. O ventroloquismo pode ser um bom exemplo de modelo dramático, pois o ventríloquo cria a ilusão que o boneco tem personalidade e se comporta como um ser humano. Este exemplo é especialmente interessante em sistemas que o contato com o cliente não é estabelecido por uma pessoa, mas por um sistema de atendimento automático.

Um exemplo interessante de como a percepção de humanidade pode ser manipulada de formas bem inusitadas é o programa Eliza, desenvolvido inicialmente em LISP [85]. Apesar de ser bem simples, pois é basicamente um sistema baseado em regras que define uma função simplificada de como montar respostas, o sistema é capaz de enganar um observador desatento por um pequeno espaço de tempo.

2.7. Interação entre pessoas (Social)

Por fim, um último nível de modelagem dos aspectos humanos, é o que considera as interações entre pessoas. Como apresentando anteriormente pelos outros níveis, aspectos humanos são variáveis muito complexas, e esta interação entre as pessoas não foge deste caso. Diversas áreas têm como foco específico o estudo de grupos de pessoas ou pequenas populações, como os estudos etnográficos ou antropologia.

Dentro de diversos estudos, um conceito muito utilizado é o de cognição distribuída de um processo, no qual pessoas criam orientações inter-relacionadas através de tarefas [108]. Este conceito é amplamente utilizado para o estudo e design de interações [109], principalmente estudos de sistemas de colaboração entre pessoas [110, 111].

Esta interação entre pessoas pode ocorrer de forma presencial (face a face) ou a distância, por meio de tecnologias, como por exemplo, o computador ou o telefone. A tecnologia adotada determina o maior ou menor grau de interação entre as pessoas. A distância pode ser de caráter físico (distância geográfica) ou temporal. No caso do tempo, por exemplo, ao solicitar um serviço via e-mail, um cliente está ciente que o atendimento provavelmente não será imediato. Neste contexto, pode-se citar um trabalho desenvolvido por Froehle (2006), cujo objetivo era medir a insatisfação do cliente em um sistema de serviços mediado por tecnologias, como telefone, e-mail e chat [107].

Em Gilbert e Troitzsch [1], é levantada a questão da dificuldade encontrada na modelagem e simulação das sociedades humanas, visto que mesmo adotando-se modelos simplificados, nos quais os agentes (pessoas) são programados com regras simples, pode-se gerar um comportamento complexo quando atuam em conjunto. Entretanto, os autores destacam a importância do desenvolvimento de modelos e a execução de simulações, pois há a questão do comportamento emergente em relações sociais, os quais somente podem ser constatados previamente por meio de modelagens ou simulações.

Desta forma, tecnologias vêm sendo desenvolvidas, como é o caso do Socionics [81, 82], um framework que visa modelar e simular as interações sociais, aliando mundo social e computação, com o propósito de verificar e desenvolver modelos sociológicos e organizacionais. A ideia dos desenvolvedores consiste em modelar computacionalmente algumas teorias sociológicas, de forma a se analisar problemas clássicos da sociologia sob uma nova perspectiva. Deve-se ressaltar que entender a interação entre seres humanos, embora seja uma tarefa de grande relevância, é de alta complexidade, conforme mencionado no início deste capítulo, visto que envolve diversas questões, tais como: culturais, políticas, econômicas, religiosas, ambientais, psicológicas, experiências vividas, entre outras.

3. Formas de Modelagem e Simulação

Conforme as formas de modelagem e simulação é possível classificar os modelos segundo três categorias: Normativa, Tomada de Decisão e Tentativa, levando em consideração na classificação, aspectos de complexidade, expressividade e computabilidade. Os modelos do conjunto Normativo tratam de áreas como Física e Economia, envolvendo, por exemplo, ganhos diferenciados de produtividade [59]; os modelos Tentativos, envolvem correlações. O domínio de Tomada de Decisão inclui modelos de otimização; simulação, lembrando que simulações podem ser baseadas em modelos; além dos modelos híbridos, que envolvem otimização e simulação.

Os aspectos de expressividade e complexidade aumentam considerando a seguinte ordem dos conjuntos de modelos: Normativos, Tomada de Decisão e Tentativos, à medida que a computabilidade é reduzida seguindo a mesma ordem. Desta forma, modelos tentativos são considerados de alta expressividade e complexidade, mas de baixa computabilidade, se contrapondo aos modelos do conjunto normativo.

3.1. Abordagens

Na literatura, pode-se encontrar uma série de abordagens que procuram fornecer subsídios (modelos, sistemas, teorias e ferramentas), visando à modelagem e a simulação do ser humano ou de grupos de seres humanos, tarefas que envolvem comportamento, atitudes, reações, questões ambientais, culturais, sociais, físicas, psicológicas, emocionais, entre outras.

Desta forma, considerando a complexidade que caracteriza as tarefas de modelar e simular seres humanos, as abordagens apresentam, não somente aspectos positivos, mas negativos também, ou seja, vantagens e desvantagens, o que leva determinados trabalhos a combinarem mais de uma abordagem para obtenção de resultados mais consistentes.

A seguir, seguem algumas abordagens, tais como: Dinâmica de Sistemas, Autômatos Celulares, Modelos de Filas, Teoria de Jogos, Modelos Estocásticos (divididos em Redes Bayesianas, Cadeias de Markov e Hidden Markov Models), Principal Component Analysis, Sistemas Multi-agentes, Redes Neurais e Sistemas Baseados em Regras.

3.1.1. Dinâmica de Sistemas (Modelos Globais)

Dinâmica de Sistemas é uma abordagem que visa ao entendimento do comportamento de um sistema considerado complexo no decorrer do tempo, como por exemplo, um sistema social. A abordagem baseia-se na compreensão da estrutura interna do próprio sistema em questão, ou seja, na explicação do relacionamento entre variáveis presentes no próprio sistema, usando modelos qualitativos e quantitativos, inclusive, simulações computacionais [30] [29].

Desta forma, pode-se verificar por meio de modelos e simulações, efeitos indesejáveis no sistema, o que pode auxiliar gestores ou administradores no processo de tomada de decisões. Os modelos e as simulações facilitam a modificação de variáveis (inclusive o tempo), permitindo experimentos para a descrição do comportamento do sistema no futuro. Diversas ferramentas podem ser usadas na modelagem e simulação da complexidade de sistemas, sendo que algumas serão descritas na seção de Simuladores e Ferramentas.

A Dinâmica de sistemas, de acordo com [1], procura modelar uma parte da realidade. Esta parte é considerada como um sistema, dotado de propriedades e dinâmicas, o qual é descrito por meio de equações matemáticas, destacando as equações de diferença e equações diferencais, que possibilitam derivar o estado futuro baseando-se no estado atual do sistema.

Tal abordagem origina-se na chamada Dinâmica Industrial, concebida por Jay W. Forrester. Segundo [23], a Dinâmica Industrial consiste no estudo das características de feedback da informação da atividade industrial com o intuito de mostrar como a interação entre estrutura organizacional, políticas e tempo de atraso em decisões e ações, contribuem para o sucesso de uma organização. Desta forma, a Dinâmica Industrial envolve as interações entre fluxos de informação, dinheiro, pedidos, materiais, pessoas e equipamentos em uma indústria ou corporação.

Seguindo a linha de sistemas dinâmicos e, visando ao entendimento de sistemas de maior complexidade social, Jay W. Forrester estendeu seu trabalho, inicialmente voltado a indústria, para áreas urbanas, criando a denominada Dinâmica Urbana. Esta abordagem procurava investigar o crescimento e o declínio de uma determinada cidade, englobando aspectos relacionados à indústrias, residências e pessoas [24]. O autor ainda investiu em uma evolução, elaborando a Dinâmica Mundial, que analisava o ambiente (natureza) e o ser humano, com seus sistemas sociais e sua tecnologia, verificando como as interações entre tais aspectos poderiam influenciar o crescimento, a mudança e o stress da sociedade [25].

3.1.2. Autômatos Celulares

O Autômato Celular pode ser descrito como um modelo discreto, constituído por células que assumem finitos estados no decorrer do tempo, baseando-se um conjunto de células vizinhas e regras determinísticas. As células são dispostas em espaços regulares, com número finito de dimensões, propiciando uma evolução ao ponto de produzir uma nova geração de células a cada aplicação de regras [26].

Em síntese, as principais características dos Autômatos Celulares são: as células devem ser arranjadas em um espaço D-dimensional regular; o tempo, o estado e espaço devem ser discretos; as células alteram seus estados conforme as regras locais; todas as células adotam seus estados de um conjunto finito de estados; em cada período as células são atualizadas, podendo ser sequencialmente ou simultaneamente; a mesma regra de transição é aplicada a todas as células [26].

Os Autômatos Celulares foram concebidos inicialmente por John von Neumann e Stanislaw Ulam, voltados à pesquisas nas áreas de crescimento e auto-reprodução, fato ocorrido na década de 1940. Os modelos passariam a ser empregados em uma série de áreas, tais como: erosão do solo, colisão de galáxias, dinâmicas de fluído e difusão, entre outras. No domínio das ciências sociais, tal abordagem foi tratada primeiramente por James M. Sakoda, que desenvolveu um modelo baseado em Autômatos Celulares para a área social [17] .

A modelagem baseada em Autômatos Celulares demonstra ser uma abordagem interessante para a compreensão de dinâmicas sociais, contemplando relações entre seres humanos nos níveis micro e macro, visto que trata de um conjunto de propriedades relevantes no contexto, tais como: localidade, sobreposição, vizinhança e interações repetidas [17]. Além disso, simulações podem ser realizadas a partir dos modelos baseados em Autômatos Celulares, o que contribui ainda mais para o entendimento de tais dinâmicas sociais, pois torna o processo mais eficiente.

Um exemplo do emprego de Autômatos Celulares em sistemas sociais pode ser encontrado em [18]. O trabalho descreve dinâmicas comportamentais baseadas em um sistema social de três níveis ou camadas, classificadas em indivíduos ou agentes, partes ou grupos e Controle de Alto Nível ou Governo. Há uma hierarquia a ser respeitada entre os níveis, com cada qual possuindo regras e mecanismos próprios, fundamentais na organização de informações e tomadas de decisão. As interações, que objetivam a realização de atividades cooperativas, ocorrem entre os níveis adjacentes e as regras governam o comportamento dos indivíduos.

3.1.3. Modelos de Filas

Fila é a ocorrência da procura ou a demanda por um determinado serviço ou recurso não suportado pelo sistema. Ou seja, uma fila é formada quando a demanda é maior que a capacidade do sistema de fornecer determinado serviço ou recurso em um certo momento [31].

Neste contexto, a demanda é representada pelo número de clientes, que por sua vez, são representados por um grupo de pessoas, visto que este capítulo trata da modelagem de seres humanos (comportamento humano). Embora na teoria de filas, cliente é um termo de aplicação geral, não somente usado para especificar seres humanos, mas também para definir processos em um computador, pacotes em uma rede de comunicação, por exemplo.

Nos modelos de fila, um problema a ser considerado é o abandono da fila por parte de clientes (pessoas). Para exemplificar, Mandelbaum e Zeltyn [32] realizaram um trabalho para modelar o abandono de uma fila por clientes, neste caso, pessoas que estão esperando por atendimento (serviço) em Call Centers (prestadores de serviço). O objetivo consistiu em verificar a impaciência do cliente, aspecto diretamente ligado a satisfação do mesmo, visto que a impaciência é um fator determinante no abandono de filas, ao mesmo tempo, de elevado grau de subjetividade.

O modelo considerou a demanda (número de clientes) para determinar fatores desejáveis em centros de atendimento, tais como: número de agentes (atendentes), tempo médio de atendimento, não tratando de atendimentos com prioridades diferentes (ordem de chegada determina a posição na fila) [32]. Embora o trabalho demonstrasse que o modelo não foi fiel a realidade em um experimento realizado, os autores argumentaram que apesar da complexidade do mundo real, é necessária a elaboração de modelos para esta finalidade (entendimento de filas), dada a importância de problemas desta natureza (insatisfação do cliente) no domínio de sistemas de serviços.

3.1.4. Teoria de Jogos

Teoria dos jogos são um conjunto de ferramentas analíticas que permite explicar fenômenos que ocorrem quando entidades (pessoas, sociedades, nações, animais, objetos, entre outros), que tomam decisões, interagem entre si [83, 70]. Atualmente, a teoria dos jogos está cada vez mais sendo aplicada a diversos campos de estudo, como economia, psicologia, ciências políticas, leis e biologia [12]. Os resultados da teoria dos jogos tanto podem ser aplicados a simples jogos de entretenimento como a aspectos significativos da vida em sociedade.

Um jogo pode ser definido como um conjunto de restrições sobre as ações e interesses de cada jogador, entretanto, não há restrições sobre qual ação cada jogador pode executar. A entidade básica de um jogo é o jogador, que pode ser interpretado como uma pessoa, uma organização ou até mesmo um grupo de indivíduos tomando decisões.

Osborne [83] apresenta caracterização de jogo centrada nas entidades que tomam decisões, separando os jogos em alguns tipos como:

  • Cooperativos e os não-cooperativos: os jogadores podem ou não compartilhar informações;
  • Jogos estratégicos ou extensivos: os jogadores tomam somente uma decisão no começo do jogo ou não;
  • Com informação perfeita ou imperfeita: os jogadores conhecem as decisões tomadas por oponentes ou não.

Outro conceito utilizado muitas vezes para categorizar os jogos é o de jogos de soma zero ou não soma zero, onde categoriza-se um jogo se este possui recursos limitados ou não limitados, alterando muitas vezes a estratégia abordada pelos jogadores.

Como forma de abstração de situações, diferentes casos são apresentados na literatura. Um exemplo seria o jogo do “Dilema do Prisioneiro” (popularizado pelo matemático Albert W. Tucker, e que tem muitas implicações no estudo da cooperação entre indivíduos) ou o jogo de “Matching Pennies” (jogo conhecido por não possuir uma estratégia dominante).

Porém, muitos dos jogos têm como base teórica o fato que as decisões tomadas pelos jogadores são racionais, i.e. que as decisões são sempre tomadas de forma a maximizar o ganho para este jogador. Entretanto, esta hipótese pode não ser verdadeira quando se modela pessoas, pois muitas decisões podem não ser racionais, pelo ponto de vista deste modelo. Um exemplo amplamente conhecido é o “comportamento manada” (herd behaviour), onde pessoas podem tomar decisões somente devido ao comportamento de outras pessoas (este efeito pode ser visto em mercados de ações, como apresentado por Brunnermeier [96]).

Goeree [12] apresenta que considerando-se que as decisões tomadas por estes jogadores não são totalmente racionais, tendo uma probabilidade de ocorrência, pode se obter resultados melhores em alguns casos, como decisões inicias. Rabin [97] apresenta que o uso de aspecto humano de senso de justiça e honestidade junto com a teoria de jogos pode gerar resultados que explicam melhor as decisões tomadas por pessoas.

Desta forma, pode-se afirmar que a teoria de jogos é uma forte ferramenta para modelar e simular pessoas, sendo largamente utilizada em diversas áreas para este intuito. Porém, sua base, que considera que as decisões tomadas são sempre racionais, não é válida em muitos casos, e podem ser melhoradas com a adição de aspectos mais humanos quando deseja se modelar pessoas.

3.1.5. Modelos Estocásticos

Modelos estocásticos [112, parte V] levam em conta que os valores de um certo modelo não são determinísticos, considerando probabilidades para os resultados obtidos. Devido ao fato de que muitos dos comportamentos humanos ou sociais não são, em muitas vezes, determinísticos, mas possuem incertezas, estes modelos são amplamente utilizados na literatura para modelar ou simular humanos dentro de um sistema. Outro problema comum na modelagem humana está no fato que em muitos dos casos, os dados capturados possuem erros e ruídos, e o uso dos modelos estocásticos se torna não só útil, mas crucial nesses casos, de forma a filtrar, estimar ou até mesmo prever estes resultados.

Dentre os estudos efetuados nessa área, diferentes modelos foram criados, se tornando boas ferramentas para se modelar e simular humanos em diferentes níveis e diferentes formas. Nesta seção, serão apresentados três dos modelos que são amplamente utilizados na literatura. São eles, redes Bayesianas (Bayesian Networks), cadeias de Markov Monte Carlo (Markov Chain Monte Carlo) e modelos ocultos de Markov (Hidden Markov Models).

Estes três modelos são modelos temporais, ou podem ser estendidos para contemplar tais informações. Desta forma, consideram variações dos estados no ambiente ao longo do tempo e carregam tais informações para refinamento dos resultados. Tarefas básicas destes modelos temporais incluem a:

  • Filtragem (ou monitoramento): para calcular a distribuição posterior sobre o estado atual, dada toda a evidência até o momento. A filtragem é o que um agente racional precisa fazer, a fim de manter o controle do estado atual, de forma que possam ser tomadas decisões racionais;
  • Previsão: Calcular a distribuição posterior sobre um estado futuro, dada toda a evidência até o momento. A previsão é útil para avaliar cursos de ação possíveis.
  • Suavização (ou percepção tardia): com o intuito de calcular a distribuição posterior sobre um estado passado, dada toda a evidência até o momento. A percepção tardia fornece uma estimativa melhor do estado do que a estimativa que estava disponível na época, porque incorpora uma evidência maior;
  • Explicação mais provável: objetiva encontrar a sequência de estados que mais provavelmente gerou um conjunto de observações. Os algoritmos para esta tarefa são úteis em muitas aplicações, inclusive no reconhecimento de fala.

Todos os resultados destas tarefas podem ser utilizados para a modelagem e simulação de pessoas, como poderá ser observado nas subseções seguintes.

3.1.5.1. Redes Bayesianas

As Bayesian Networks [112, p. 482] são modelos que permitem representar de forma sintética variáveis com probabilidade e as formas de como elas se relacionam, caso seus relacionamentos sejam acíclicos (i.e. não existem ciclos na representação de forma de grafo do modelo). Esta representação permite facilitar, de forma significativa, o cálculo das probabilidades de uma variável que se deseja estimar, uma vez que o modelo apresenta que a probabilidade de uma variável da rede depende somente dos nós diretamente relacionados. Outra grande vantagem destes modelos está no fato que os parâmetros da rede podem ser treinados com situações reais, permitindo que o modelador não necessariamente tenha conhecimento absoluto das situações a serem modeladas.

Considere um caso de um sistema de alarme, que é acionado ao ocorrer um terremoto ou um roubo, e duas pessoas (A e B) que recebem este alarme. Quando uma delas recebe o alarme, faz imediatamente uma ligação para a outra avisando sobre o fato. Porém, em todo o modelo pode se considerar erros, como por exemplo, a pessoa A pode ligar para B, por engano, mesmo que o alarme não tenha ocorrido. Neste caso, pode-se representar este modelo com a rede bayesiana apresentada na Figura 2. Assim, o modelo de Bayesian Network permite, através destas distribuições de probabilidades, estimar, por exemplo, a probabilidade da ocorrência de um terremoto dado à observação de que houve a ligação de um dos membros.

bayesianNet.PNG
Figura 2: Exemplo de modelo baseado em rede bayesiana.

A variação deste modelo para a utilização temporal é denominada Dynamic Bayesian Network. O outro modelo a ser apresentado nesta seção, o Hidden Markov Model, pode ser considerado como sendo parte deste modelo dinâmico bayesiano. Maiores detalhes sobre as formas de uso deste modelo podem ser encontrados no livro de Russell [112, p. 482, p. 542] ou pelo artigo de Ghahramani [33].

Trabalhos como o de Park e Aggarwal [34] ou de Möenne-Loccoz et al. [35] modelam comportamentos ou interações entre humanas, como violência ou abraços, utilizando este tipo de modelo através de sequências de vídeos. Outra modelagem humana, na qual este modelo é aplicado, está no uso de classificadores como os de pele, rosto ou expressões, conforme apresentado por Sebe et al. [36].

Os trabalhos apresentados nesta subseção apresentam, de forma rápida, o potencial de uso destes modelos em Bayesian Networks. Bayesian Networks e Dynamics Bayesian Networsk são modelos muito amplos, não se resumindo somente aos usos apresentados aqui. Mas, através destes trabalhos, é possível de se notar o potencial de uso para modelar situações onde existem muitas incertezas no modelo adotado e muitas das variáveis se correlacionam.

3.1.5.2. Cadeias de Markov

Processos de Markov são fenômenos que podem ser classificados em estados finitos e discretos, cuja probabilidade de transição entre tais estados, num intervalo de tempo discreto, dependa apenas do estado corrente e do estado seguinte. Sequência de estados que seguem este processo são nomeadas Cadeias de Markov (Shamblin, 1979).

Estas definições podem ser exemplificadas por fenômenos sociais. Suponha a existência de três possíveis classificações sociais para um indivíduo de uma população: classes A, B e C. Neste caso, este modelo pode ser apresentado com três estados discretos. Para se obter a probabilidade de um indivíduo sair da classe C e ir para a classe B, estudos estatísticos que observem a taxa de indivíduos que migram entre estas classes podem ser efetuados. Assim, ocorre a formação de um processo de Markov e logo, a transição destes indivíduos entre as classes constitui uma Cadeia de Markov.

Desta forma, o modelo por Cadeias de Markov são ferramentas interessantes quando se tem conhecimento do modelo de estados, mas com incertezas nas transições de estados. Izquierdo [16] enfatiza que modelos de Cadeias de Markov são úteis para simulações em ciências sociais, apresentando alguns exemplos de simulações de modelos sociais, utilizando esta técnica.

Pentland [10] também utiliza esta ferramenta para modelagem de humanos. Em seu trabalho, o autor apresenta abordagens para a modelagem e categorização de ações de pessoas ao dirigirem, permitindo a predição das ações tomadas por motoristas após suas ações preparatórias.

Outra ferramenta associada a cadeias de Markov muito encontrada na literatura é a técnica de Markov Chain Monte Carlo (MCMC, Cadeias de Markov Monte Carlo), que é uma técnica de inferência aproximada em Cadeias de Markov. Esta técnica realiza a inferência por meio de amostragens aleatórias. Para tal, a técnica gera alterações no estado, “vagando” sobre o espaço de estados a fim de obter uma inferência aproximada.

Artigos, como os de Smith et al. [94], apresentam o uso deste método para a captura de informações, como o de foco de atenção em ambientes multi-usuários, gerando amostras significativas para a detecção. Murakita [95] emprega esta técnica para a inferência da posição de usuários em locais com sensores de chão (de baixo custo, mas que não possuem capturas contínuas e não necessariamente correspondentes à posição real do usuário).

Desta forma, as técnicas de Cadeias de Markov apresentam-se como forte ferramenta para modelagem e simulação de sistemas quando se possui conhecimento dos estados do modelo. Mesmo em situações onde determinar o valor de predição, inferências aproximadas podem ser obtidas através de técnicas como o MCMC.

3.1.5.3. Hidden Markov Models (HMM)

Uma técnica amplamente utilizada para a modelagem de humanos, baseada em métodos estocásticos, é o Hidden Markov Model (HMM) [112 p.533]. O HMM, um modelo temporal, se torna uma ferramenta importante para a modelagem humana em muitos casos, pois permite que o criador do modelo não necessariamente conheça e capture com exatidão o processo por trás de um comportamento humano, dependendo somente da observação das ações das pessoas. Outra grande característica da técnica HMM é o fato que também permite que o modelo seja treinado por pessoas de forma a capturar as suas características. Por fim, como todo modelo temporal, permite carregar informações anteriores ao longo do processo estocástico, retornando um resultado mais refinado que algoritmos estáticos.

O HMM permite modelar um processo duplamente estocástico, no qual o processo é oculto e somente os resultados são observáveis. Isto significa que o HMM permite modelar situações nas quais não é possível a observação do processo como um todo, i.e. o processo é oculto (hidden), no entanto, é possível se observar os eventos resultantes deste processo, e a modelagem criada possui incertezas em ambos, processo e resultados dos estados.

Para tornar a explicação mais simples, considere um caso de exemplo no qual uma pessoa joga uma ou mais moedas e reporta o resultado (cara ou coroa) para o observador. Porém, o observador não consegue ver o processo de jogar a moeda. Neste caso, a forma de modelar estes eventos se torna um grande problema, uma vez que não se pode dizer ao certo se a pessoa que está jogando as moedas, está jogando uma moeda normal e reportando o resultado. Ou se a pessoa possui uma moeda normal, uma viciada para cara e outra viciada para coroa, ou utiliza a moeda normal para definir qual das moedas viciadas ela vai utilizar, e dado este resultado, ela joga uma das moedas viciadas e somente depois disso ela reporta o resultado. Na Figura 3 é apresentado o modelo de máquina de estados para estes casos apresentados. Em ambos os casos, a probabilidade de se obter cara ou coroa são de 0.5, assim, somente com as observações não é possível dizer ao certo se o modelo é correto e como o modelo se comporta internamente. Estes são casos onde o HMM se torna uma forte ferramenta para se obter informações, prever, filtrar ou suavizar os resultados. Maiores detalhes, explicações do HMM e aspectos que este modelo envolve podem ser encontrados no trabalho de Rabiner e Juang [37].

hmm.PNG
Figura 3: Modelo de máquina de estados para jogo de moedas.

Muitos trabalhos de reconhecimento de voz utilizam este modelo baseado em HMM [38, 39]. Isso se deve ao fato que este tipo de problema pode ser, de forma relativamente fácil, convertido em um modelo de HMM de N-estados com uma sequência de vetores quantizados.

Através deste modelo, também é possível se obter outras informações provenientes da fala, por exemplo, a emoção contida na fala, como apresentado no trabalho de Nwe et al [40]. Neste trabalho, os autores capturam a emoção contida na fala através de um HMM discreto como classificador e coeficientes de força de frequência logarítmica para representar os sinais da voz. Furui et al [41] apresentam critérios para predição de informações de modelos em HMM, de forma a possibilitar a predição de falas.

Dong et al. [6] utilizam o HMM, além de modelos baseados em máquinas de vetores e modelos e influências, para obter características como nível de ênfase, atividade, repetição de palavras e influência por meio de falas. Através destes parâmetros os autores, por sua vez, modelam uma dinâmica de discussão em grupos, podendo, por sua vez, analisar e prever os resultados de uma discussão dentro de um grupo.

Além da utilização em reconhecimento de falas, o HMM pode ser largamente utilizado para modelar diferentes características humanas, como no trabalho de Chuing e Liu [42], no qual os autores detectaram alguns comportamentos humanos dentro de um centro de enfermagem (como comer, ir ao banheiro, chamar um enfermeiro, entre outros) utilizando streams de vídeos. Kelley et al. [43] apresentam um modelo para detectar intenções humanas para interações humano-robôs, utilizando modelos de HMM, visão computacional e a Theory of Minds (mencionada anteriomente). Starner e Pentland [44] apresentam um modelo destinado ao reconhecimento de gestos para linguagens de sinais americanas.

Yang et al. [11] apresentam o uso de HMMs em treinamento de robôs, para que esses possam reconhecer, caracterizar e emular habilidades humanas, como gestos. Esse trabalho e o de Dong et al., fornecem indícios de que esta ferramenta pode, não só capturar dados de pessoas, mas também tornar possível a modelagem e simulação de humanos em determinados sistemas.

Desta forma, contemplando estes trabalhos, pode-se concluir que o HMM é uma forte ferramenta para modelar e simular diferentes aspectos humanos, notando-se sua vasta utilização na literatura. Um possível motivo estaria no fato que muitas das características humanas, como comportamentos e intenções, não serem bem explícitas, sendo somente possível a observação das ações resultantes destas características, como o movimento. Assim, nestes casos, o HMM, pela sua proposta, apresenta-se como um modelo mais próximo da realidade e mais robusto para a modelagem e simulação de humanos.

3.1.6. Principal Component Analysis (PCA)

Outra ferramenta amplamente utilizada na modelagem de humanos é a Principal Component Analysis (PCA) [45]. A PCA é um procedimento que converte um grupo de observações, possivelmente correlacionadas, para um conjunto de valores de variáveis não correlacionadas. Usando tal procedimento é possível a obtenção de variáveis, denominadas de eigenvectors, que são vetores para melhor representar um conjunto de dados dentro do espaço de observações. Como exemplo, considere a distribuição de pontos 2D apresentada na Figura 4. Neste caso, a PCA, permite retornar os vetores v1 e v2, que representam de forma mais apropriada estes pontos que a base ortogonal utilizada inicialmente.

PCA.png
Figura 4: Distribuição de pontos para exemplificar PCA.

Uma vez que, levantar características de pessoas por meio dos dados de observações, pode não ser uma tarefa simples, a PCA se torna uma importante ferramenta. Pois, permite que o criador do modelo obtenha características, em forma de vetores ortogonais, que melhor representem estes dados, sem que o modelador possua conhecimento prévio ou heurísticas para esta representação. Outra utilidade da PCA deriva-se de uma das suas características, associada ao fato de possibilitar o retorno de um número de componentes principais menor ou igual ao número de variáveis original. Desta forma, é capaz de simplificar o espaço de representação original, simplificando, por sua vez, a caracterização de certos padrões.

Kirby e Sirovich [46] utilizam esta característica de redução de variáveis para representação de um determinado espaço de dados, gerando características para a representação de faces. Utilizando este conceito, Turk e Pentland [47] apresentam uma forma de reconhecimento de faces. Neste trabalho, Turk e Pentland inicialmente capturam uma base de dados de diferentes imagens, de resolução de NxN pixeis, de faces humanas. Considera-se um espaço vetorial de NxN, onde cada imagem é tratada como sendo um ponto dentro deste espaço, e todas as imagens capturadas são plotadas neste espaço. Uma PCA é executada dentro deste espaço, procurando levantar as variáveis (imagens) mais representativas, denominadas eigenfaces. Para a detecção, averiguando se uma imagem é uma face, basta verificar se esta imagem se aproxima do espaço composto pelas eigenfaces. É possível também verificar se a imagem é de uma pessoa conhecida, analisando se a mesma se aproxima de um rosto conhecido do banco de dados por meio dos pesos relativos ao eigenface.

A técnica de PCA também pode ser utilizada para detectar diferentes características de humanos. Sanger apresenta em seu trabalho [48] uma representação de movimentos de braços através da sobreposição de movimentações características levantadas por PCA. Raskin e Terry [49] apresentam um estudo de características que predominam em pessoas narcisistas, através de questionários psicológicos aplicados em uma população.

Eagle e Pentland [5] apresentam uma proposta para a caracterização de padrões de comportamentos humanos, denominados eigenbehavious, através da localização das pessoas em relação a horários e dias da semana e o uso de PCA. Neste trabalho, os autores coletaram dados de diferentes pessoas dentro do MIT (Massachusetts Institute of Technology) durante um período. Baseando-se nesta análise, os autores observaram que comportamento das pessoas, em um determinado dia, pode ser representado por alguns comportamentos padrões, e por meio destes padrões, pode-se prever o comportamento destas pessoas no resto do dia com uma acurácia de 79%. Outro resultado obtido pelos autores apontou que por meio destes comportamentos, pode-se gerar grupos de afiliação, e prever, com 96% de acurácia, o comportamento deste grupo no restante do dia.

Assim, estes trabalhos apresentados nesta seção, mostram a capacidade de uso da PCA para levantar e/ou simplificar a melhor caracterização de determinados dados observados, mesmo quando estas características não são possíveis de se levantar, a princípio, por não serem triviais. Além disso, é possível de se detectar ou prever outros dados observados utilizando estas características levantadas.

3.1.7. Sistemas Multi-Agentes

Sistemas Multi-agentes, como o próprio nome diz, consistem em sistemas computacionais compostos por elementos denominados agentes. Agentes, por sua vez, são sistemas autônomos, com a capacidade de efetuar ações de forma independente do criador e/ou usuário. Em outras palavras, agentes são capazes de tomar decisões para satisfazer um objetivo sem a necessidade explícita de uma pessoa. Em um sistema multi-agentes, diferentes agentes, tipicamente com diferentes objetivos, interagem entre si de forma a trocar informações. Outra característica desses agentes está na capacidade de cooperar, coordenar e negociar entre si, com a finalidade de atingir corretamente este objetivo, de forma análoga como seres humanos interagem entre si no dia-a-dia [19, p. 5].

Uma importante característica dos sistemas multi-agentes, neste contexto de modelagem e simulação de humanos, está na sua capacidade de simular sociedades. Wooldridge apresenta que os sistemas de multi-agentes podem ser utilizados como ferramentas experimentais para diversos estudos sociais [19, p.214]. Conte e Gilbert [Bibliography item Conte1995 not found., p.4] apresentam que as simulações utilizando multi-agentes possuem algumas características que as tornam adequadas para o estudo social. Estas características são a de permitir a modelagem explícita de sociedades; capacidade de isolar, observar e reproduzir propriedades; a possibilidade de verificar alternativas para fenômenos naturais; e a capacidade de poder observar propriedades que não são bem estabelecidas.

Uma das propriedades, em particular, que estes sistemas podem gerar são os comportamentos emergentes [1]. Estes comportamentos emergentes são comportamentos de alto nível gerados pelas interações de baixo nível entre os agentes, como por exemplo, fenômenos sociais, que são gerados pela simples ações entre agentes, mas que não são triviais de se observar ao se analisar somente um agente em particular.

Heath et al. apresentam um survey sobre a modelagem baseada em agentes [15]. Neste trabalho, os autores analisam 279 artigos sobre modelagem baseada em agentes para discussão de melhorias na área, averiguando os trabalhos em termos de ano de publicação, área de estudo, softwares de simulação utilizados, o objetivo da simulação, os critérios de validação, técnicas de validação e descrição completa da simulação. Um resultado interessante deste artigo é a análise da porcentagem dos artigos publicados em relação à área de estudos. Através deste trabalho é possível verificar que aproximadamente 70% dos artigos estão inseridos em áreas, onde humanos são o foco, como a economia, ciências sociais, entre outras, demonstrando o amplo uso desta ferramenta para modelagem e simulação de humanos.

Uma forma de se obter resultados mais realistas das reações de sistemas multi-agentes ao se modelar e simular pessoas é se adicionando mecanismos emocionais nos agentes, como apresentado por Silverman et al.[2]. Os autores apresentam neste trabalho um framework para a criação de sistemas multi-agentes, onde os agentes são providos de mecanismos para a tomada de ações baseados em emoções internas e stress, obtendo, desta forma, resultados mais realistas. Johansson e Dell’Acqua [14] apresentam que além do uso de emoções, a consideração de um delta de tempo de transição para a alteração dos estados na tomada de decisões, pode melhorar em determinados casos o realismo dos agentes.

Além do uso de emoções, utilização de mecanismos cognitivos dentro de agentes, também são formas interessantes para alcançar bons resultados de modelagem e simulação de humanos. Como o trabalho de [113], que modela o processo de reconhecimento de elementos de comerciais de TV, a fim de analisar a interação dos elementos do conhecimento humano quando pessoas estão assistindo a um comercial. Gero [22] apresenta um sistema multi-agentes para a criação de designs visuais utilizando conceitos de design criativo individual, em grupos e sociais. Em seu trabalho o autor apresenta um modelo para a criação de designs e também explora a noção de criatividade como comportamento social utilizando simulações.

Desta forma, pode-se observar que sistemas multi-agentes são ferramentas poderosas para a modelagem e simulação de pessoas, principalmente sociedades. Isso não só se deve a sua proposta, da modelagem de interações entre agentes, mas também, pela capacidade de gerar comportamentos emergentes. Porém, como todo modelo, erros de modelagens destes agentes podem gerar comportamentos emergentes errôneos. Gatti et al. [9] e Nicholas [114] apresentam propostas para a engenharia de sistemas multi-agentes, e em particular Gatti apresenta também uma forma de validação destes métodos, a fim de diminuir a probabilidade de ocorrências destas modelagens errôneas.

3.1.8. Redes Neurais

Redes Neurais Artificias são sistemas paralelos compostos por unidades de processamento simples, dispostas em camadas e altamente interligadas, construídas com base no cérebro humano. Esse tipo de sistema é uma forma diferente de conceber sistemas de computação que não executam programas, mas comportam-se, reagem, se organizam e aprendem, adquirindo capacidade de generalização [86]. As pesquisas em Redes Neurais, ou Redes Neurais Artificiais, de forma abreviada, RNAs, tiveram seu início com o estudo de McCulloch e Pitts, publicado em 1943. Os pesquisadores se basearam no neurônio biológico para formular uma proposta de modelo matemático capaz de determinar o funcionamento do mesmo [27].

A seguir, é descrito um exemplo do neurônio formalizado por McCulloch-Pitts [86], apresentado na Figura 5:

redes04.png
Figura 5: Neurônio formalizado por McCulloch-Pitts [86].

Considerando uma unidade j em uma dada rede, conforme ilustrado na Figura 6, a resposta dessa unidade é expressa por:

redes03.png
Figura 6: Especificação de função [86].

onde a função sinal (sgn) assume dois valores, mostrados na Figura 7:

redes02.png
Figura 7: Valores possíveis para a função sgn [86].

"mi" é o limiar ("bias") e resulta na equação apresentada na Figura 8:

redes01.png
Figura 8: Equação resultante [86].

A partir da formalização do neurônio, foi possível constituir uma rede (diversos neurônios e conexões entre os mesmos), tarefa favorecida com o desenvolvimento da computação. Desta forma, pode-se dizer que RNAs são modelos matemáticos simulados em computador e inspirados no cérebro humano. As tarefas mais básicas de redes desta natureza são a classificação e aproximação de funções matemáticas. Alguns usos comuns de RNAs são:

  1. Classificação de entradas, usando algoritmos de aprendizado para compreender a classificação;
  2. Levantamento de um sistema de controle por meio do aprendizado de funções. A criação de um sistema de controle pode se beneficiar do uso de RNAs, visto que possibilita o aprendizado das respostas do sistema, para posteriormente inverter a rede, o que torna possível, dado um estado do objeto a ser controlado, o fornecimento da entrada necessária para o objeto atingir o estado desejado.

O desenvolvimento de RNAs pode seguir a metodologia proposta por [28], composta pelas seguintes etapas:

a) Definição do problema: averiguar as características do problema para determinar se são condizentes com a utilização de RNAs. Características consideradas desejáveis em uma aplicação para RNAs incluem: regras de resolução de problemas (regras desconhecidas ou difíceis de determinar) e disponibilidade de um grande número de exemplos. Com relação às áreas de aplicação, exemplos envolvem: reconhecimento de formas geométricas, tratamento de sinais, visão, fala, previsão e modelagem, auxílio à tomada de decisão, robótica, entre outras;

b) Seleção e adequação dos dados: é importante a disponibilidade de dados, considerando quantidade e qualidade. Por exemplo, um pequeno conjunto de dados pode significar que a rede não criará um modelo representativo adequado para um bom desempenho quando submetida à situações reais. Outras considerações que envolvem os dados: devem englobar todos os aspectos do problema a ser resolvido e, em geral, devem ser convertidos para um formato quando forem utilizados pela rede;

c) Treinamento da rede: consiste na aplicação do algoritmo de aprendizagem selecionado à todos os exemplos do conjunto de treinamento iterativamente, até que a rede alcance um comportamento desejável. Caso tal comportamento não venha a ser atingido, deve-se realizar uma avaliação dos dados, podendo levar a uma nova adequação dos dados (retornar a etapa anterior);

d) Teste da rede: implica no teste da rede, visando a verificação do modelo criado pela mesma. Tal verificação consiste em determinar o nível de acerto na utilização de dados que não foram aplicados à rede. Caso o nível de acerto não esteja em um patamar aceitável, pode-se alterar o algoritmo de aprendizagem, a topologia de rede ou o conjunto dos dados (requer retorno as etapas anteriores);

e) Uso em campo: nesta etapa, o modelo criado pode ser implementado para uso contínuo, independente do algoritmo de aprendizagem, o que não significa a inexistência de erros. Deve-se ressaltar, conforme mencionado nas etapas “c” e “d”, que em certos casos é necessário retornar a uma etapa anterior, por exemplo, quando a finalidade de uma etapa não é atingida ou deseja-se resultados melhores.

Atualmente, RNAs têm sido utilizadas tanto na previsão do comportamento do mercado financeiro, para a construção de estratégias de compra e venda de ações [87], quanto na precificação das próprias ações [88]. Sistemas baseados em RNAs também são utilizados para recuperação de informação em grandes bases documentais, como é o caso da Web [89], em Análises de Sequências (nucleotídeos ou aminoácidos), obtidas a partir do sequenciamento de genomas de diversos organismos [90], em aplicações de OCR (Optical Character Recognition) e em experimentos de física de alta energia [91]. Estes poucos exemplos dão uma noção da diversidade de suas aplicações.

Com relação à modelagem e simulação de seres humanos, as RNAs podem ser úteis, visto que os problemas desta natureza possuem características condizentes com o emprego de tais redes. Um exemplo, é o estudo de [13], o qual propiciou o desenvolvimento de um sistema de reconhecimento de emoções baseado em discurso (fala) independentemente de idioma, no qual a classificação de emoções é realizada por uma Rede Neural Modular.

As entradas para a rede neural são características selecionadas por meio de uma abordagem de seleção, a qual envolve a aplicação de SFS (Sequential Forward Selection) com uma rede, denominada Rede Neural de Regressão Geral, que atua em conjunto com um método de seleção baseado em consistência. Desta forma, tais características, levantadas a partir de estudos prosódicos, são identificadas e extraídas de dados de discursos. Um conjunto de discursos emocionais de diferentes pessoas falando diversos idiomas foi coletado para testes de viabilidade do sistema, rendendo resultados satisfatórios.

3.1.9 Sistemas Baseados em Regras

Considerando que situações, como por exemplo, diagnóstico, interpretação de dados, otimização ou comportamento social, podem ser expressas por meio de regras bem estabelecidas, foram concebidos os sistemas baseados em regras. Um sistema baseado em regras é uma espécie de modelo que adota regras explícitas para expressar o conhecimento do domínio de um determinado problema. O sistema possibilita, por meio da relação entre conhecimento e fatos sobre um certo problema, a realização de inferências de regras relacionadas a tais fatos.

Basicamente, os módulos de um sistema desta natureza são:

a) Base de conhecimento: representada por uma base de regras de um domínio do conhecimento. De maneira simplificada, as regras são descritas da seguinte forma: Se a então b, onde a é a especificação de situação (condição) e b é a consequência desencadeada no caso da condição ser atendida;

b) Memória: para armazenar fatos iniciais ou hipóteses sobre o problema em questão;

c) Interface do usuário: para introdução de dados por parte do usuário, como fatos e, apresentação das conclusões;

d) Interpretador de regras: também conhecido como mecanismo de inferência, é constituído pelo algoritmo que realiza a correspondência entre os fatos iniciais, introduzidos pelo usuário e armazenados na memória e as regras existentes na base de conhecimento, procurando a regra mais adequada ao domínio.

Os sistemas baseados em regras são a principal forma de implementação de sistemas especialistas [71]. Este último tipo de sistema visa a construção de programas que simulam o conhecimento humano em algum domínio específico, adotando um processo semelhante à lógica humana, que é mais abstrata e descentralizada que especificações formais de resolução de problemas.

Um problema prático dos primeiros sistemas baseados em regras é que cada regra era testada isoladamente sobre cada fato na memória. O algoritmo Rete [72], originalmente proposto em 1974, foi um marco importante nesta área, pois permitiu resolver problemas práticos, obtendo melhor desempenho às custas do uso adicional de memória por meio de uma representação em grafo dos fatos e regras, que encontra todos os objetos que casam com todos os padrões de forma eficiente e, em teoria, independente do número de regras no sistema. Rete suporta encadeamento progressivo de regras de inferência, e pode ser logicamente descrito como repetida aplicação de modus ponens ($(P \land (P \Rightarrow Q)) \Rightarrow Q$) [73].

Dentre os principais sistemas baseados em regras que estendem o algoritmo Rete para uso em problemas de mais larga escala, pode-se citar:

  • CLIPS [76]: inicialmente desenvolvido pela NASA (National Aeronautics and Space Administration), atualmente de domínio público, é provavelmente uma das ferramentas mais utilizadas recentemente para a construção de sistemas especialistas, devido à sua velocidade e ao fato de ser um sistema aberto. É a implementação oficial de Rete II [77], um sucessor proprietário de Rete que, além de obter desempenho mais satisfatório em bases maiores [78], inclui outras melhorias como suporte a encadeamento regressivo.
  • JRules [79]: um tipo de Sistema de Gerenciamento de Regras de Negócio (Business Rule Management System (BRMS)) desenvolvido pela ILOG, posteriormente adquirida pela IBM (International Business Machines). JRules emprega uma extensão de Rete denominada RetePlus [80], incremental, que proporciona melhor desempenho para tipos de aplicações envolvendo computação e correlação.

Com relação à modelagem e simulação de seres humanos, um exemplo da utilização de sistema baseado em regras pode ser encontrado em [4], conforme mencionado na seção 2, subseção Emocional. O sistema simula um modelo capaz de sintetizar certos tipos de emoção, identificando as ações dos agentes conforme a influência destas emoções.

4. Simuladores e Ferramentas

Para a prática da modelagem e da simulação de sistemas, uma série de recursos computacionais, simuladores e ferramentas (incluindo linguagens de programação e pacotes de softwares), foi desenvolvida, a citar: DYNAMO, STELLA, NetLogo, MASON, SMILE, MATER, SimCidade, entre outros. Alguns destes simuladores e ferramentas serão mostrados a seguir, ressaltando que o objetivo é apresentar uma breve descrição dos mesmos, sendo que maiores detalhes poderão ser encontrados nas referências.

DYNAMO é uma linguagem destinada a construção de modelos dinâmicos de sistema, sendo considerada a primeira linguagem para esta finalidade [1]. É uma linguagem de simulação para manipulação de um número arbitrário de equações.

STELLA é uma linguagem de simulação de modelos dinâmicos de sistema, semelhante ao DYNAMO, desenvolvida para as plataformas Macintosh e Windows. No entanto, possui algumas características adicionais, como a interface gráfica. Há a possibilidade de experimentar o aplicativo por 30 dias antes de efetuar a compra, se desejar, podendo inclusive, usar alguns exemplos disponibilizados no site, classificados de acordo com áreas, como: biologia, matemática, social, entre diversas outras.

Na Figura 9 é apresentada a estrutura de um modelo de dinâmica de imigração (social), com aspectos relacionados às populações de México e Estados Unidos, disponibilizado no site. Além disso, pode-se encontrar na página eletrônica, tutoriais e estudos de casos, discutindo resultados de simulações executadas usando STELLA [62].

STELLA2.png
Figura 9: Simulador STELLA com modelo de dinâmica de imigração (Exemplo encontrado em [62]).

O NetLogo é um ambiente programável que visa a modelagem e a simulação de sistemas descentralizados. É uma ferramenta gratuita, baseada em agentes, capaz de atuar no campo das ciências sociais. Possui linguagem de programação simples, recursos de interface gráfica e simulação participativa, biblioteca com modelos, entre outros recursos [65]. Na Figura 10 é apresentada a tela inicial do NetLogo, versão 1.4.2.

NetLogo2.png
Figura 10: Tela inicial do NetLogo [65].

MASON é um simulador multi-agentes de eventos discretos, baseado na tecnologia Java. Contém uma biblioteca com diversos modelos e ferramentas para a visualização (2D e 3D), sendo que para a visualização tridimensional é preciso instalar a API (Application Programming Interface) Java3D. Na Figura 11 é apresentado um modelo sendo executado em um browser [63].

MASON2.png
Figura 11: Simulação de comportamento de partículas usando o MASON [63].

SMILE (Structural Modeling, Interface, and Learning Engine) foi desenvolvido na Universidade de Pittsburgh, Estados Unidos, para a modelagem e a verificação da dinâmica de redes bayesianas. Trata-se de uma biblioteca de software, implementada usando a linguagem de programação C++, que fornece classes para a implementação de métodos de decisão. Possui uma interface gráfica denominada GeNIe, a qual é disponibilizada separadamente e fornece um ambiente de desenvolvimento dos modelos de decisão [93]. Na Figura 12 é apresentada a tela do ambiente gráfico GeNIe com um exemplo modelado.

GeNIe.png
Figura 12: Exemplo de modelo gerado usando SMILE e GeNIe [93].

MATER, desenvolvido pela Universidade de Coimbra, é um modelo computacional cujo objetivo é reproduzir padrões históricos de povoamento de territórios. O modelo contempla processos na formação de assentamentos humanos, baseando-se em agentes para representar indivíduos com a dinâmica populacional (nascimento, crescimento, reprodução e morte). Além disso, simulações podem ser realizadas a partir dos modelos, especificando a fundação, crescimento e declínio dos assentamentos, analisando inclusive, a migração com base nos recursos necessários à sobrevivência da população e características geográficas dos territórios [106]. Na Figura 13 é apresentado um modelo de povoamento sobrepondo uma imagem do GoogleEarth.

Mater_googleearth.png
Figura 13: Exemplo de modelo gerado pelo MATER sobre uma imagem do GoogleEarth [106].

SimCidade é um simulador baseado em agentes reativos, desenvolvido no Brasil, empregado para simulação de crescimento urbano. Foi aplicado inicialmente para a cidade de Bauru, situada no estado de São Paulo, usando na calibração e validação do protótipo, dados geográficos, extraídos a partir de imagens de satélite, que representavam a ocupação e utilização efetiva do uso do solo da cidade citada. Os resultados foram considerados satisfatórios segundo os autores, indicando que sistemas multi-agentes são aplicáveis a modelagem de problemas desta natureza [64].

Outros simuladores, que empregam a ideia de jogabilidade serão descritos na próxima seção, que apresenta diversos jogos, amplamente empregados nas tarefas de modelagem e simulção de seres humanos.

5. Modelagem e Simulação de Pessoas em Jogos Digitais

Dentro das diversas áreas de computação, a de jogos digitais é uma das áreas que tem grande foco na modelagem e simulação de humanos. Isso se deve ao fato que pessoas se tornam uma chave central dentro da área de jogos, seja esta pessoa, o próprio jogador, as pessoas com quem ela irá jogar com ou contra, ou até mesmo os personagens virtuais que participam e contribuem para a construção da experiência lúdica do jogador. Devido a este fato, muitos trabalhos têm como objetivo atingir um modelo ou forma de simulação de humanos realista e/ou natural, transpondo aos jogadores da existência desse personagem real ou virtual, seja através de algoritmos computacionais, ou, seja através de esforços nas formas de design dessas pessoas. Outra característica destes ambientes está no fato deles modelarem casos reais e mais específicos para cada jogo, levando a um estudo mais aprofundado do caso de uso, podendo se levantar características mais profundas destes modelos, e assim, criando um esforço mútuo computacional e de design, que podem gerar modelos mais específicos, porém mais realistas.

Trabalhos como os de Shotton et al. [8] e Wang e Popovi [50] apresentam formas de modelar e incluir o usuário dentro de um ambiente virtual, de maneira que possam interagir de forma natural dentro deste ambiente. Shotton et al. utilizam uma extensão da técnica de àrvores de decisão, denominada floresta de decisões, para determinar qual parte do corpo um pixel de um mapa de profundidades pertence, dado os seus vizinhos e treinamentos prévios. Utilizando essa informação da posição das partes do corpo, é possível se obter a provável pose do jogador. Um ponto importante neste trabalho é o fato do sistema ser implementado se focando em jogos. Uma vez que o sistema utiliza treinamento prévio para a detecção, poses que não foram treinadas previamente podem possuir baixa probabilidade de acerto, porém, no caso de uso em jogos, algumas sequências de possíveis poses podem ser consideradas, melhorando a taxa de acertos.

Outros trabalhos como os de Pinhanez et al. [51] e de Bibick et al. [52], apesar de não tratarem diretamente com jogo digitais, mas sim, entretenimento digital, também utilizam este conceito de modelar o usuário dentro do sistema computacional. Um ponto importante é que ambos os trabalhos tem como parte central o uso de design do ambiente para uma narrativa, permitindo uma modelagem mais precisa do usuário, enriquecendo a experiência narrativa dos usuários. Na Figura 14 são apresentadas imagens dos dois sistemas tratados aqui.

SingSong.png kidsRoom.png
Figura 14: Imagens dos sistemas de Pinhanez et al. [51] (a) e de Bibick et al. [52] (b).

Trabalhos como os de Muller et al. [53] e Tokunaga et al. [54] apresentam formas de representar outras pessoas que participam jogando com ou contra o jogador. Muller et al. apresentam uma proposta para interação a distância para jogos entre jogadores pela rede. Aqui, as interações e imagem dos jogadores são projetadas na tela, de forma a aumentar o engajamento dos jogadores sobre distância. Tokunaga et al., por sua vez, apresentam uma forma de representar os jogadores remotos dentro do ambiente virtual, de forma que a diferença do estilo e realismo, existente convencionalmente entre as imagens dos jogadores e do ambiente virtual, não inviabilizem a experiência do jogo. Para tal, os autores propõem a representação dos jogadores e ambiente com um estilo não fotorrealístico similar, procurando modelar os jogadores e ambiente com um estilo único, de forma a unificar a imagem de ambos, e por sua vez, aumentar a imersão dos jogadores. Na Figura 15 é apresentado o trabalho de Tokunaga et al.

tokunaga2009.png
Figura 15: Representação dos jogadores em um ambiente virtual [54].

A modelagem e simulação de comportamentos de personagens virtuais, que criem a ilusão de sua existência real, é um dos grandes desafios buscados pela área de jogos. Diversos trabalhos utilizam os conceitos apresentados na seção “Formas de Modelagem e Simulação” com o design de personagens para atingir este objetivo. Pivazyan [55] apresenta proposta de formas de detecção de caminho considerando variáveis randômicas. Por exemplo, para se exercer uma detecção de caminho a se seguir dentro de um mapa, um simples algoritmo de A* pode ser utilizado. Porém, em muitas situações de jogos, existem variáreis a se considerar, e muitas delas podem não ser determinísticas, sendo randômicas. Considere no exemplo de detecção de caminho, a existência de inimigos que atacam o jogador, regidos de regras randômicas. Neste caso, a simples implementação do algoritmo de A* não cria uma movimentação natural, assim, a autora apresenta um algoritmo para a detecção de um caminho que considera estas variáreis randômicas.

Outro exemplo do uso de modelos mais parecidos com humanos é o trabalho de Breyer [56]. Neste trabalho, apresenta-se uma proposta de escolha de alvos utilizando uma forma elíptica de visão, ao contrário de um leque de visão, também considerando aspectos humanos, como o trabalho de Pivazyan. Lynch [57], tenta incluir aspectos como personalidades nos personagens virtuais, utilizando conceitos de psicologia, de forma a criar personagens virtuais mais realistas e naturais.

Além, destes trabalhos acadêmicos apresentados aqui, existem inúmeros exemplos de jogos que tentam modelar e simular ações e comportamentos humanos de forma simplificada, mas que criam uma sensação de realismo e naturalidade dos personagens. Exemplos, como o do jogo Simcity [60], que modela uma cidade e sua evolução, ou o jogo the Sim [61], que modela a vida e o dia-a-dia de uma pessoa. O projeto Façade [58], por sua vez, apresenta uma narrativa interativa utilizando personagens simulados, onde o jogador pode conversar com estes tentando resolver o problema desses personagens. Este trabalho se mostra interessante, não só devido a sua repercussão na área de jogos, mas também, por integrar de forma direta à narrativa do jogo à modelagem e simulação de humanos.

Através dos trabalhos apresentados nesta seção, pode-se levantar que muitos jogos digitais possuem fortes resultados na modelagem e simulação de pessoas. Considera-se que este fato vem de algumas características desta área que são:

  • Foco nas pessoas como centro de pesquisa e desenvolvimento. Sejam estas pessoas os jogadores, as pessoas que jogam contra ou com, ou personagens virtuais.
  • Uso de casos reais, e mais específicos, possibilitando o levantamento de características mais profundas e criando uma sinergia entre design e computação.

Desta forma, considera-se que é crucial a pesquisa de trabalhos desta área quando se trata de modelagem e simulação de humanos.

6. Discussão Final

No estudo de sistemas humano-computacionais é fundamental a modelagem e simulação de seres humanos, possibilitando o entendimento comportamental dos mesmos e as implicações dos comportamentos no sistema. Desta forma, este capítulo visou ao fornecimento de subsídios para modelar e simular sistemas humano-computacionais, principalmente na parte voltada aos seres humanos.

Como abordagem, propôs-se desacoplar dois aspectos, “o que se deseja modelar/simular” e “como modelar/simular”. A resposta para a primeira pergunta foi apresentada na seção 2 – Nível de Modelagem de Aspectos Humanos. A seção contemplou diferentes formas de o que se pode modelar e quais características estes níveis apresentam, tratando também das áreas de estudos englobadas.

A resposta para a segunda pergunta foi apresentada na seção 3 - Formas de Modelagem e Simulação. Esta seção objetivou apresentar um conjunto de ferramentas para a modelagem e simulação de humanos existentes na literatura, permitindo ao leitor uma visão bem ampla das abordagens empregadas e das possibilidades que cada abordagem permite criar.

Estas duas seções em conjunto apresentaram ao leitor formas de modelagem/simulação de humanos em diversos níveis, guiando o leitor às ferramentas necessárias para cada caso de modelagem necessitada, que foram apresentadas nos capítulos seguintes e ou em casos reais de implementações de sistemas humano-computacionais (seções 4 e 5).

Reiterando, devido complexidade associada a humanos, é crucial que o projetista destes sistemas tenha ciência de qual(is) aspecto(s) se deseja(m) modelar/simular, visto que para cada nível e condições do projeto, diferentes ferramentas podem ser utilizadas, inclusive, com a combinação de ferramentas. A subseção seguinte exerce uma compilação dos dados e informações espalhadas por esse capítulo, de forma facilitar a visualização destas informações contidas em níveis de modelagem de aspectos humanos e formas de modelagem. Também, será gerada uma indexação dos níveis de modelagem com as formas de modelagem, de maneira a facilitar o acesso às informações necessárias.

6.1. Comparação das Diferentes Abordagens

Nesta subseção, uma comparação entre modelos e abordagens de modelagem será apresentada, de forma a indexar as informações das seções 2 e 3. Na Tabela 1 são apresentadas as principais características de cada abordagem para modelagem, procurando demonstrar de maneira simples, suas possíveis utilizações.

Tabela 1: Principais características das formas de modelagem humana.

Abordagem Características
Modelos Globais e Autômatos Celulares São caracterizados pelo dinamismo social, permitindo o estudo do comportamento de indivíduos ao longo do tempo, bem como o impacto destes comportamentos individuais e as interações entre os indivíduos na sociedade como um todo.
Modelo de Filas São importantes na alocação de recursos, permitindo a manutenção do equilíbrio das partes que constituem o sistema. Por exemplo, oferecimento de serviços de forma a contemplar todos os clientes, mesmo em períodos de escassez de recursos.
Teoria de Jogos Pode ser amplamente utilizada para simulação de pessoas em nível social e interação com recursos, uma vez que nestes casos a premissa de que as decisões são racionais podem ser verdade devido ao grande número de amostras.
Modelos Estocásticos São amplamente úteis para qualquer caso que apresente incertezas.
Redes Bayesianas Úteis quando os sistemas não são dinâmicos e se pode ter uma modelagem das correlações entre probabilidades.
Cadeias de Markov Podem ser utilizadas quando o modelo desejado é dinâmico e se conhece os estados envolvidos.
Hidden Markov Model Forte ferramenta quando o modelo é dinâmico, não considerado totalmente certo e não sendo possível a observação da troca de estados, mas sim, somente os resultados retornados pelo modelo.
PCA Útil em diversos âmbitos, possibilitando filtrar e simplificar um grande conjunto de dados com base em características intrínsecas. Porém, depende deste grande conjunto de dados, não fornecendo garantias sobre a obtenção destas características.
Sistemas Multi-agentes Amplamente utilizados na literatura para modelagem e simulação de sociedades, interações de pessoas com recursos ou percepção de humanidade. Úteis também quando se conhece regras simples de agentes e se deseja obter comportamentos emergentes.
Redes Neurais Podem determinar o aprendizado com base nas entradas, propiciando a classificação de aspectos humanos, como emoções, por exemplo.
Sistemas baseados em regras Podem contribuir em todos os níveis de modelagem, pois a principal dificuldade encontra-se na construção de uma base de conhecimento adequada e consistente sobre os aspectos humanos para que inferências corretas sejam efetuadas.

Por fim, na Figura 16 é apresentada uma sugestão inicial dos potenciais modelos a serem utilizados em cada nível de modelagem humana. As regiões escuras representam que as abordagens correspondentes possuem alto potencial para o uso no nível de modelagem correspondente.

nivelXabordagem.png
Figura 16: Gráfico demonstrativo das relações entre formas de modelagem e níveis de modelagem.

No eixo x encontram-se as formas de modelagem, englobando as abordagens apresentadas neste capítulo, especificamente para modelagem e simulação de seres humanos. No eixo y estão os níveis de modelagem, contemplando os diversos aspectos relacionados aos seres humanos.

Referências Bibliográficas

1. Gilbert, G.N.; Troitzsch, K.G. Simulation for the social scientist. 2nd ed. 2005, Maidenhead, England ; New York, NY: Open University Press. xi, 295 p. Chapter 1 S4SSchapter 1.pdf. Chapter 3 S4SSchapter 3.pdf.
2. Silverman, B.G.; Johns, M.; Weaver, R.; O'Brien, K,; Silverman, R. Human Behavior Models for Game-Theoretic Agents: Case of Crowd Tipping. Cognitive Science Quarterly, 2002. Volume 2, Issue 3/4, Fall/Winter 2002. Silverman2002.pdf.
3. Pinhanez, C. The Human Facet of a Service System. DRAFT. human facet pinhanez ver mar11.pdf
4. Picard, R.W. Affective Computing. 1997, Cambridge, Massachusetts: The MIT Press. 292. Chapter 6 picard chapter 6.pdf. Chapter 7 picard chapter 7.pdf.
5. Eagle, N.; Pentland, A. Eigenbehaviors: Identifying Structure in Routine. Ubicomp '06, September 17-21, 2006, Orange County, CA TR-601.pdf
6. Dong, W.; Mani, A.; Pentland, A.; Lepri, B. e Pianesi, F. Modeling Group Discussion Dynamics. Submitted to the IEEE Transactions on Autonomous Mental Development. (April 2009) TR-628.pdf
7. Mackenzie, I. S. Motor Behavior Models for Human-Computer Interaction. In: Carroll, J.M., HCI models, theories, and frameworks : toward a multidisciplinary science. Morgan Kaufmann series in interactive technologies. 2003, San Francisco, Calif.: Morgan Kaufmann. xvi, 551 p. mackenzie 03.pdf
8. Shotton, J. et al. Real-Time Human Pose Recognition in Parts from Single Depth Images. in To appear in CVPR'11. 2011. BodyPartRecognition MSR 11.pdf
9. Gatti, M. A. de C.; Lucena, C. J. P. de. Engineering Self-Organizing Emergent Multi-Agent Systems: A Design Method and Architecture. Rio de Janeiro, 2009. 153p. DSc Thesis — Departamento de Informática, Pontifícia Universidade Católica do Rio de Janeiro. gatti09.pdf
10. Pentland, A.; Liu, A. Modeling and prediction of human behavior. Neural Comput. 11, 1 (January 1999), 229-242. DOI=10.1162/089976699300016890. Disponível em: http://dx.doi.org/10.1162/089976699300016890.
11. Yang, J.; Xu, Y.; Chen, C. S. Human action learning via hidden Markov model. Systems, Man and Cybernetics, Part A: Systems and Humans, IEEE Transactions on , vol.27, no.1, pp.34-44, Jan 1997. doi: 10.1109/3468.553220. Disponível em: http://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=553220&isnumber=12030.
12. Goeree, J. K.; Holt, C. A. Stochastic game theory: For playing games, not just for doing theory. PNAS September 14, 1999 vol. 96 no. 19 10564-10567, doi: 10.1073/pnas.96.19.10564.
13. Bhatti, M.W.; Wang, Y.; Guan, L. A neural network approach for human emotion recognition in speech. Circuits and Systems, 2004. ISCAS '04. Proceedings of the 2004 International Symposium on , vol.2, no., pp. II- 181-4 Vol.2, 23-26 May 2004 doi: 10.1109/ISCAS.2004.1329238. Disponível em: http://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=1329238&isnumber=29377.
14. Johansson, A.; Dell'Acqua, P. Introducing time in emotional behavior networks. Computational Intelligence and Games (CIG), 2010 IEEE Symposium on , vol., no., pp.297-304, 18-21 Aug. 2010 doi: 10.1109/ITW.2010.5593342. Disponível em: http://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=5593342&isnumber=5593317
15. Heath, B.; Hill, R. e Ciarallo, F. A Survey of Agent-Based Modeling Practices (January 1998 to July 2008), Journal of Artificial Societies and Social Simulation, Vol. 12, nº 4, 2009. Disponível em: http://jasss.soc.surrey.ac.uk/12/4/9.html. Acesso em: 09 jun. 2011.
16. Izquierdo, L. R.; Izquierdo, S. S.; Galán, J. M. e San, J. I. Techniques to Understand Computer Simulations: Markov Chain Analysis. Journal of Artificial Societies and Social Simulation, Vol. 12, nº 1, 2009. Disponível em: http://jasss.soc.surrey.ac.uk/12/1/6.html. Acesso em: 09 jun. 2011.
17. Hegselmann, R. and Flache A. Understanding Complex Social Dynamics: A Plea For Cellular Automata Based Modelling, Journal of Artificial Societies and Social Simulation vol. 1, no. 3, 1998, Disponível em: http://jasss.soc.surrey.ac.uk/1/3/1.html. Acesso em: 09 jun. 2011.
18. Koenderink, J. J.; Richards, W. Multi-level Cellular Automata & Social Dynamics. Computational Science and Engineering, 2009. CSE '09. International Conference on , vol.4, no., pp.174-180, 29-31 Aug. 2009. doi: 10.1109/CSE.2009.239. Disponível em: http://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=5284197&isnumber=5282960. Acesso em: 09 jun. 2011.
19. Wooldridge, M. An Introduction to MultiAgent Systems. Issue 2, John Wiley & Sons, 2009.
20. Xiaocong Fan, Shuang Sun, Michale McNeese, and John Yen. 2005. Extending the recognition-primed decision model to support human-agent collaboration. Proceedings of the fourth international joint conference on Autonomous agents and multiagent systems (AAMAS '05). ACM, New York, NY, USA, 945-952. DOI=10.1145/1082473.1082616. Disponível em: http://doi.acm.org/10.1145/1082473.1082616
21. Kim, K.; Lipson, H. Towards a "theory of mind" in simulated robots. Proceedings of the 11th Annual Conference Companion on Genetic and Evolutionary Computation Conference 2009: Late Breaking Papers (GECCO '09). ACM, New York, NY, USA, 2071-2076. DOI=10.1145/1570256.1570278. Disponível em: http://doi.acm.org/10.1145/1570256.1570278.
22. Gero, J. S. Computational models of creative designing based on situated cognition. Proceedings of the 4th conference on Creativity \& cognition 2002 (C\&C '02). ACM, New York, NY, USA, 3-10. DOI=10.1145/581710.581712. Disponível em: http://doi.acm.org/10.1145/581710.581712.
23. Forrester, J. W. Industrial Dynamics. Cambridge: Productivity Press, 1961.
24. Forrester, J. W. Urban Dynamics. Portland: Productivity Press, 1969.
25. Forrester, J. W. World Dynamics. Cambridge: Wright-Allen Press, 1971.
26. Casti, J L. Reality rules: Picturing the world in mathematics , Volume I: The Fundamentals. John Wiley and Sons: New York, NY, 1992.
27. McCulloch, W.S.; Pitts, W. A Logical Calculus of the Ideas Immanent in Nervous Activity. Bulletin of Mathematical Biophysics, Vol. 5, pp. 115-133, 1943.
28. Kinnebrock, W. Neuronale Netze – Grundlagen, Anwendungen, Beispiele. R. Oldenbourg Verlag, GmbH, 1992.
29. Sterman, J. Business dynamics: systems thinking and modelling for a complex world. Boston: Irwin McGraw-Hill, 2000.
30. Morecroft, J. D. W.; Sterman, J. D. Modeling for learning organizations. Portland: Productivity Press, 1994.
31. Kleinrock, L., Queueing systems. Vol.2, Chapter 3, New York: John Wiley, 1975.
32. Mandelbaum, A.; Zeltyn, S. Service Engineering in Action: The Palm/Erlang-A Queue, with Applications to Call Centers. In: Advances in Services Innovation. Spath, D.; Fahnrich, K. R (Ed.), 2007, Springer-Verlag: Berlin.
33. Ghahramani, Z. Learning Dynamic Bayesian Networks. In: Adaptive Processing of Sequences and Data Structures. International Summer School on Neural Networks 1997. "E.R. Caianiello"-Tutorial Lectures. Giles, C. L.; Gori, M. (Eds.). Springer-Verlag, London, UK, 168-197.
34. Park, S.; Aggarwal, J. K. A hierarchical Bayesian network for event recognition of human actions and interactions. Multimedia Systems, Volume 10, Nº 2, 2004, 164-179, DOI: 10.1007/s00530-004-0148-1.
35. Möenne-Loccoz, N.; Brémond, F.; Thonnat, M. Recurrent Bayesian network for the recognition of human behaviors from video. Proceedings of the 3rd international conference on Computer vision systems 2003 (ICVS'03). Crowley, J. L; Piater, J. H.; Vincze, M.; Paletta, L. (Eds.). Springer-Verlag, Berlin, Heidelberg, 68-77.
36. Sebe, N.; Cohen, I.; Huang, T.S.; Gevers, T. Human-computer interaction: a Bayesian network approach. ISSCS 2005 - International Symposium on Signals, Circuits and Systems, 2005, vol.1, no., pp. 343- 346. doi: 10.1109/ISSCS.2005.1509924. Disponível em: http://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=1509924&isnumber=32297.
37. Rabiner, L.R.; Juang, B. H. An Introduction to Hidden Markov Models. IEEE ASSP Magazine, 1986. 3(1): p. 4-16.
38. Poritz, A. Linear predictive hidden Markov models and the speech signal. IEEE (Vol. 7, 1982, pp. 1291-1294). Disponível em: http://ieeexplore.ieee.org/xpls/abs_all.jsp?arnumber=1171633.
39. Rose, R. C.; Juang, B. H. Hidden Markov models for speech and signal recognition. Electroencephalography And Clinical Neurophysiology Supplement 1996, 45(4), 137-152. Disponível em: http://www.ncbi.nlm.nih.gov/entrez/query.fcgi?cmd=Retrieve&db=PubMed&dopt=Citation&list_uids=8930521.
40. Nwe, T. Speech emotion recognition using hidden Markov models. Speech Communication 2003, 41(4), 603-623.Disponível em: http://linkinghub.elsevier.com/retrieve/pii/S0167639303000992.
41. Furui, S. Predictive hidden Markov model selection for speech recognition. IEEE Transactions On Speech And Audio Processing 2005, 13(3), 377-387. Disponível em: http://ieeexplore.ieee.org/lpdocs/epic03/wrapper.htm?arnumber=1420372.
42. Chung, P.; Liu, C. A daily behavior enabled hidden Markov model for human behavior understanding. Pattern Recogn. 41, 5 (May 2008), 1572-1580. DOI=10.1016/j.patcog.2007.10.022. Disponível em: http://dx.doi.org/10.1016/j.patcog.2007.10.022.
43. Kelley, R.; Tavakkoli, A.; King, C.; Nicolescu, M.; Nicolescu, M.; Bebis, G. Understanding human intentions via hidden markov models in autonomous mobile robots. Proceedings of the 3rd ACM/IEEE international conference on Human robot interaction 2008 (HRI '08). ACM, New York, NY, USA, 367-374. DOI=10.1145/1349822.1349870. Disponível em: http://doi.acm.org/10.1145/1349822.1349870.
44. Starner, T. E.; Pentland, A. Visual Recognition of American Sign Language Using Hidden Markov Models. Master Thesis, Massachusetts Institute of Technology. 1995 .
45. Jolliffe, I.T. Principal Component Analysis. 2nd ed., 2002 Springer Series in Statistics.
46. Kirby, M.; Sirovich, L. Application of the Karhunen-Loeve Procedure for the Characterization of Human Faces. IEEE Trans. Pattern Anal. Mach. Intell. 12, 1 (January 1990), 103-108. DOI=10.1109/34.41390. Disponível em: http://dx.doi.org/10.1109/34.41390.
47. Turk, M.; Pentland, A. Eigenfaces for recognition. J. Cognitive Neuroscience 3, 1 (January 1991), 71-86. DOI=10.1162/jocn.1991.3.1.71. Disponível em: http://dx.doi.org/10.1162/jocn.1991.3.1.71.
48. Sanger, T D. Human Arm Movements Described by a Low-Dimensional Superposition of Principal Components. The Journal of Neuroscience, 1 February 2000, 20(3): 1066-1072.
49. Raskin, R.; Terry, H. A principal-components analysis of the Narcissistic Personality Inventory and further evidence of its construct validity. Journal of Personality and Social Psychology, Vol 54(5), May 1988, 890-902. doi: 10.1037/0022-3514.54.5.890.
50. Wang, R. Y.; Popovi, J. Real-time hand-tracking with a color glove. ACM Trans. Graph. 28, 3, Article 63 (July 2009), 8 pages. DOI=10.1145/1531326.1531369. Disponível em: http://doi.acm.org/10.1145/1531326.1531369.
51. Pinhanez, C. S.; Mase, K.; Bobick, A. Interval scripts: a design paradigm for story-based interactive systems. Proceedings of the SIGCHI conference on Human factors in computing systems 1997 (CHI '97). ACM, New York, NY, USA, 287-294. DOI=10.1145/258549.258758. Disponível em: http://doi.acm.org/10.1145/258549.258758.
52. Bobick, A. F.; Intille, S. S.; Davis, J. W.; Baird, F.; Pinhanez, C. S.; Campbell, L. W.; Ivanov, Y. A.; Sch\&\#252;tte, A.; Wilson, A. The KidsRoom: A Perceptually-Based Interactive and Immersive Story Environment. Presence: Teleoper. Virtual Environ. 8, 4 (August 1999), 369-393. DOI=10.1162/105474699566297. Disponível em: http://dx.doi.org/10.1162/105474699566297.
53. Mueller, F.; Agamanolis, S.; Vetere, F.; Gibbs, M. R. A framework for exertion interactions over a distance. Proceedings of the 2009 ACM SIGGRAPH Symposium on Video Games 2009 (Sandbox '09), Stephen N. Spencer (Ed.). ACM, New York, NY, USA, 143-150. DOI=10.1145/1581073.1581096. Disponível em: http://doi.acm.org/10.1145/1581073.1581096.
54. Tokunaga, D. M.; Nakamura, R.; Tori, R. Non-photorealistic 3D video-avatar. In: SIGGRAPH 2009: Posters (SIGGRAPH '09). ACM, New York, NY, USA, , Article 101 , 1 pages. DOI=10.1145/1599301.1599402. Disponível em: http://doi.acm.org/10.1145/1599301.1599402.
55. Pivazyan, K. NPC Decision Making: Dealing with Randomness. Game Programming Gem 6, Charles River Media.
56. Breyer, M. Fast Target Ranking Using an Artificial Potential Field. Game Programming Gem 5, Charles River Media.
57. Lynch, M. F. All About Attitude: Building Blocks for Opinion, Reputation and NPC Personalities. Game Programming Gem 7, Charles River Media.
58. Mateas, M.; Stern, A. Façade: An Experiment in Building a Fully-Realized Interactive Drama. Game Developers Conference, Game Design track, March 2003.
59. Baumol, W. Macroeconomics of unbalanced growth: The anatomy of urban crisis. Amer. Econom. Rev. 57(June) 415–426, 1967.
60. SimCity - Simulador de Cidades. Disponível em: http://simcitysocieties.ea.com/index.php. Acesso em: 11 mai. 2011.
61. The Sims - Simulador de vida humana. Disponível em: http://thesims.ea.com/. Acesso em: 11 mai. 2011.
62. STELLA. Disponível em: http://www.iseesystems.com/. Acesso em: 05 abr. 2011.
63. MASON. Disponívelem: http://cs.gmu.edu/~eclab/projects/mason/ MASON. Acesso em: 11 mai. 2011.
64. SimCidade. Disponível em: http://www.cos.ufrj.br/~ines/enia07_html/pdf/27917.pdf. Acesso em: 12 mai. 2011.
65. NetLogo. Disponível em: http://ccl.northwestern.edu/netlogo/. Acesso em: 05 abr. 2011.
66. Tulving, E.; Schacter, D. NetLogo. Priming and Human Memory Systems - Science 19 January 1990 Vol. 247, no. 4940, pp. 301-306. [66]
67. Cioffi-Revilla, C.; Rouleau, M. MASON RebeLand: An Agent-Based Model of Politics, Environment, and Insurgency. Proceedings of the Human Behavior-Computational Modeling and Interoperability Conference 2009.
68. Haykin, S. Redes Neurais. 2ed. Porto Alegre: Bookman, 2001.
69. Cooper, L.N., A possible organization of animal memory and learning. Proocedings of the Nobel Symposium on Collective Properties of Physical Systems, pp252-264, New York: Academic Press, 1973.
70. Camerer, C. F. Behavioral Game Theory: Experiments in Strategic Interaction; Princeton University Press; 2003; Disponível em: http://press.princeton.edu/chapters/i7517.html.
71. Giarratano, J. C.; Riley, G. Expert Systems: Principles and Programming, 1994.
72. Forgy, C. L. Rete: A fast algorithm for the many pattern/many object pattern match problem. Artificial Intelligence 1982, 19, 17-37.
73. Brooks, C. Artificial Intelligence Programming Inference in FOL. Disponível em: http://www.cs.usfca.edu/~brooks/F04classes/ai/slides/inference.pdf.
74. Moussaïda, M.; Helbingb, D.; Theraulaza, G. How simple rules determine pedestrian behavior and crowd disasters. Proceedings of the National Academy of Sciences of the United States of America 2011, vol. 108 no. 17.
75. Reynolds, C. W.. Flocks, herds and schools: A distributed behavioral model. ACM SIGGRAPH Computer Graphics 1987, 21, 25-34.
76. CLIPS: A Tool for Building Expert Systems. Disponível em: http://clipsrules.sourceforge.net. Acesso em: 10 jun. 2011.
77. RETE-II. Disponível em: http://www.pst.com/rete2.htm. Acesso em: 10 jun. 2011.
78. Benchmarking CLIPS/R2. Disponível em: http://www.pst.com/benchcr2.htm. Acesso em: 10 jun. 2011.
79. IBM WebSphere ILOG JRules. Disponível em: http://www-01.ibm.com/software/integration/business-rule-management/jrules. Acesso em: 10 jun. 2011.
81. German Research Foundation, Priority Programme (SPP 1077) : Socionics. Disponível em: http://www.tu-harburg.de/tbg/Deutsch/SPP/SPP_Abstract.htm. Acesso em 15 mai. 2011.
82. Malsch, T.; Schulz-Schaeffer, I. Socionics: Sociological Concepts for Social Systems of Artificial (and Human) Agents. Journal of Artificial Societies and Social Simulation 2007, vol. 10, no. 1.
83. Osborne, M. J.; Rubinstein, A. A Course in Game Theory, MIT Press Books, 1994, The MIT Press, edition 1, volume 1, number 0262650401.
84. Bertalanffy, Ludwig Von. Teoria Geral dos Sistemas. Ed. Vozes, 1975.
85. Weizenbaum, J. ELIZA — A Computer Program For the Study of Natural Language Communication Between Man And Machine. Communications of the ACM 9 (1): 36–45, 1966, doi:10.1145/365153.365168.
86. Haykin, S. Redes neurais artificiais princípios e práticas. 2.ed. Bookman, 2002.
87. Bosaipo, C. R. Aplicações de Redes Neurais na previsão do comportamento de mercados financeiros. 2001. Disponível em: http://www.ccuec.unicamp.br/revista/infotec/artigos/claudia.html. Acesso em: 10 jun. 2011.
88. Mello, M. T. Aplicação de Redes Neurais Artificiais no Processo de Precificação de Ações. 2004. Disponível em: http://www.ufpel.edu.br/prg/sisbi/bibct/acervo/info/2004/mono_marilia.pdf. Acesso em: 10 jun. 2011.
89. Ferneda, E. Redes neurais e sua aplicação em sistemas de recuperação de informação. 2006. Disponível em: http://www.scielo.br/pdf/ci/v35n1/v35n1a03.pdf. Acesso em: 10 jun. 2011.
90. Laboratório de Bioinformática – Laboratório Nacional de Computação Científica – LNCC. Tutorial de Redes Neurais – Aplicações em Bioinformática. Disponível em: http://www.lncc.br/~labinfo/tutorialRN/. Acesso em: 10 jun. 2011.
91. Silva, L. A. P. Redes neurais implementadas em hardware: arquiteturas e aplicações. 2003. Disponível em: http://www.inf.ufrgs.br/gppd/disc/cmp135/trabs/leonardo/T1/html/index.html. Acesso em: 10 jun. 2011.
92. Magnenat-Thalmann, N.; Kasap, Zerrin. Virtual Human in Serious Games. In: IEEE International Conference on CyberWorlds 2009.
93. GeNIe e SMILE. Disponível em: http://genie.sis.pitt.edu/. Acesso em: 10 jun. 2011.
94. Smith, K.; Ba, S. O.; Gatica-Perez, D.; Odobez, J. Tracking the multi person wandering visual focus of attention. In Proceedings of the 8th international conference on Multimodal interfaces 2006 (ICMI '06). ACM, New York, NY, USA, 265-272. DOI=10.1145/1180995.1181048. Disponível em: http://doi.acm.org/10.1145/1180995.1181048.
95. Murakita, T.; Ikeda, T.; Ishiguro, H. Human tracking using floor sensors based on the Markov chain Monte Carlo method. Pattern Recognition, 2004. ICPR 2004. Proceedings of the 17th International Conference on , vol.4, no., pp. 917- 920 Vol.4, 23-26 Aug. 2004. doi: 10.1109/ICPR.2004.1333922. Disponível em: http://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=1333922&isnumber=29388.
96. Brunnermeier, M. K. Asset Pricing under Asymmetric Information: Bubbles, Crashes, Technical Analysis, and Herding, Oxford University Press (2001).
97. Rabin, M. Incorporating Fairness into Game Theory and Economics. American Economic Review, 1993, Vol 83; Nº 5, 1281 p. ISSN 0002-8282.
98. Hansen, D. W.; Agustin, J. S.; Villanueva, A. Homography normalization for robust gaze estimation in uncalibrated setups. In Proceedings of the 2010 Symposium on Eye-Tracking Research \&\#38; Applications 2010 (ETRA '10). ACM, New York, NY, USA, 13-20. DOI=10.1145/1743666.1743670. Disponível em: http://doi.acm.org/10.1145/1743666.1743670.
99. Coros, S.; Beaudoin, P.; Panne, M. van de. Generalized biped walking control. ACM Trans. Graph. 29, 4, Article 130 (July 2010), 9 p. DOI=10.1145/1778765.1781156. Disponível em: http://doi.acm.org/10.1145/1778765.1781156.
100. Posner, M. I. The Foundations of Cognitive Science. MIT press. ISBN-10: 0-262-66086-5.
101. Wallas, G. The art of thought.(The Thinker's library), Watts; Abridged edition, 1949.
102. Premack, D.; Woodruff, G. Does the Chimpanzee have a Theory of Mind? Behavioral and Brain Sciences, 1:4, p. 515-526, 1978.
103. Klein, G. A. Recognition-primed decision making. Sources of power: How people make decisions, p. 15-30. MIT Press, 1998.
104. Miller, G.A. The magical number seven plus or minus two: Some limits on your capacity for processing information. Psychology Review, 1956, 63:81-96.
105. Mandle, G. Association and organization: Facts, fancies, and theories. In Dixon, T. R.; Horton, D. L. (Eds.). Verbal Behaviour and General Behaviour Theory, 1968. Engleweeod Cliffs, NJ: Prentice-Hall.
106. MATER – Territorial Self-Organization Models. Disponível em: http://rhi.fl.uc.pt/mater. Acesso em: 10 jun. 2011.
107. Froehle, C. M. Service Personnel, Technology, and Their Interaction in Influencing Customer Satisfaction. Decision Sciences, 2006. 37(1): p. 5-37.
108. Hutchins, E. A cultural view of distributed cognition. Unpublished Manuscript, 1989, University of California, San Diego.
109. Sharp, H.; Rogers, Y.; Preece, J. Interaction Design: Beyond Human-Computer Interaction. Wiley; 2 edition (March 23, 2007). ISBN-10: 9780470018668.
110. Heath, C.; Luff, P. Collaborative activity and technological design: task coordination in London underground control rooms. Proceedings of the second conference on European Conference on Computer-Supported Cooperative Work 1991 (ECSCW'91), Liam Bannon, Mike Robinson, and Kjeld Schmidt (Eds.). Kluwer Academic Publishers, Norwell, MA, USA, p. 65-80.
111. Linde, C. 1986. Who's in charge here? Cooperative work and authority negotiation in police helicopter missions. Proceedings of CSCW '88, Portland, Oregon, 26th-28th September, p. 52-64.
112. Russell, S.; Norvig, P. Artificial Intelligence - A Modern Approach. Issue 2, Prentice-Hall, 2003, ISBN:0137903952.
113. Iwazume, M.; Kato, Y.; Kanai, A. A Multi-agent Based Model of Human Recognition Process for Analysis of the Advertisement's Effectiveness . IEIC Technical Report (Institute of Electronics, Information and Communication Engineers), 2002.
114. Jennings, N. R. On agent-based software engineering. Artif. Intell. 117, 2 (March 2000), 277-296. DOI=10.1016/S0004-3702(99)00107-1. Disponível em: http://dx.doi.org/10.1016/S0004-3702(99)00107-1.
File nameFile typeSize
56_garrido_ccia09.pdfPDF document146.98 kBInfo
Aula-1-05.pdfPDF document314.97 kBInfo
Aula-2 -05.pdfPDF document188.67 kBInfo
bayesianNet.PNGPNG image35.53 kBInfo
BodyPartRecognition MSR 11.pdfPDF document4.65 MBInfo
Breazeal-Brooks-03.pdfPDF document712.94 kBInfo
ei.pdfPDF document242.34 kBInfo
gatti09.pdfPDF document661.62 kBInfo
GeNIe.pngJPEG image data216.58 kBInfo
graphsurvey.pdfPDF document1.16 MBInfo
hmm.PNGPNG image23.9 kBInfo
human facet pinhanez ver mar11.pdfPDF document54.62 kBInfo
humanos.pngPNG image113.93 kBInfo
jennings00.pdfPDF document172.56 kBInfo
kidsRoom.pngPNG image44.66 kBInfo
luke05.pdfPDF document1.07 MBInfo
macal10.pdfPDF document358.92 kBInfo
MacalNorth slides.pdfPDF document1.89 MBInfo
mackenzie 03.pdfPDF document573.22 kBInfo
MASON2.pngPNG image26.5 kBInfo
MASON.PNGPNG image42.55 kBInfo
Mater_googleearth.pngPNG image591.2 kBInfo
MATER.PNGPNG image259.48 kBInfo
NetLogo1.PNGPNG image30.2 kBInfo
NetLogo2.pngPNG image30.2 kBInfo
NetLogo.pngPNG image28.63 kBInfo
nivelXabordagem.pngPNG image86.32 kBInfo
PCA.pngPNG image43.87 kBInfo
picard chapter 6.pdfPDF document6.33 MBInfo
picard chapter 7.pdfPDF document7.34 MBInfo
rabiner86.pdfPDF document2.13 MBInfo
Rahmandad_Sterman.pdfPDF document204.97 kBInfo
redes01.pngPNG image8.61 kBInfo
redes02.pngPNG image12.03 kBInfo
redes03.pngPNG image8.74 kBInfo
redes04.pngPNG image22.79 kBInfo
S4SSchapter 1.pdfPDF document220.19 kBInfo
S4SSchapter 3.pdfPDF document3.89 MBInfo
sanderson 03.pdfPDF document6.84 MBInfo
serious games.pdfPDF document478.52 kBInfo
Siggraph2010.pdfPDF document2.1 MBInfo
Silverman2002.pdfPDF document440.54 kBInfo
SingSong.pngPNG image167.67 kBInfo
STELLA2.pngPNG image35.29 kBInfo
STELLA.pngPNG image43.5 kBInfo
structured.pdfPDF document1.91 MBInfo
TeoriaEnxames.pdfPDF document1.66 MBInfo
tokunaga2009.pngPNG image356.95 kBInfo
TR-579.pdfPDF document85.35 kBInfo
TR-601.pdfPDF document136.92 kBInfo
TR-628.pdfPDF document429.68 kBInfo
TulvingSchacter90.pdfPDF document1.49 MBInfo
Wooldridge.Jennings.95.pdfPDF document255.66 kBInfo

Link para o rascunho do capítulo: Capítulo 3 - Rascunho


Copyright Claudio Pinhanez, Carlos Humes, 2011.