Capítulo 12. Modelagem e Simulação de Sistemas Humano-Computacio

Supervisores: Claudio Santos Pinhanez, Carlos Humes
Autores: Ricardo Guimarães Herrmann, Crhistian Noriega
Colaboradores: Christian Danniel Paz Trillo, Cléber Gimenez Corrêa, Daniel Baptista Dias, Daniel Makoto Tokunaga, 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

Este capítulo tem dois objetivos principais: (1) apresentar um estudo sistemático sobre Sistemas Humano-Computacionais (SHC) vistos até agora. Este estudo concentra-se nas características de modelagem e simulação destes sistemas; e (2) descrever metodologias, ferramentas e plataformas existentes nesta área para a modelagem e simulação destes sistemas.

Assim, para o primeiro objetivo, são propostas algumas características na modelagem e simulação de SHC sobre as quais serão analisados estes sistemas. Estas características são baseadas em três componentes básicos: (1) humanos; (2) computadores; e (3) modelagem, como representação da interação entre os dois primeiros componentes. Foi detectado que estes pontos envolvem diferentes áreas de pesquisa, como ciências sociais e cognitivas e ciências da computação.

Exemplo da multidisciplinaridade envolvida na modelagem, simulação e otimização de sistemas humano-computacionais é a miscelânea de tópicos envolvidos no desenvolvimento de sistemas de ciclo fechado em que o computador antecipa ações, prevê e amplia o desempenho do ser humano, com o objetivo de desenvolver sistemas que "sabem o que estão fazendo". Este é um assunto de grande interesse, mencionado em um relatório [4] do Departamento de Defesa dos Estados Unidos que relata o desenvolvimento de um SHC que pretende basear-se nos estados psicofisiológicos do operador (como, por exemplo, sensoriamento corporal, imagens do cérebro, monitoramento externo da cabeça e medidas do olho) e o contexto da missão como insumos para ajudar na prestação de apoio à decisão. Todos os canais de comunicação humanos (visual, auditivo, proprioceptivo, tátil, verbal, espacial e temporal) pretendem ser explorados.

1.1 Características da modelagem de Sistemas Humano-Computacionais

Varias áreas de pesquisa são envolvidas na modelagem de sistemas humano-computacionais, como ciências sociais e cognitivas, ciências da computação e human-computer interaction (HCI). Esta modelagem deve incluir os seguintes componentes:

Ações e aprendizado individual do usuário

Baseia-se nas capacidades cognitivas das pessoas envolvidas no sistema. Envolve duas coisas: (1) como as pessoas processam as informações do sistema e como elas influenciam no comportamento do sistema, e (2) projeto do contexto, que caracteriza as necessidades reais dos usuários em determinadas circunstâncias, surgindo assim uma oportunidade para etnografia de colaborar neste ponto [6].

Sistema computacional

Refere-se à modelagem de artefatos tecnológicos em si. A modelagem neste componente é tipicamente formal, desde que produz modelos matemáticos, lógicos ou algum outro formalismo (linguagem de programação). Estes artefatos devem refletir as necessidades dos usuários. Em [6] é definido o conceito de "psicologia do software", uma linha de pesquisa que visa considerar o comportamento e características de seres humanos na implementação destes sistemas.

Interação humano-computador

A Interação Humano-Computador consiste, segundo [32], no processo de comunicação entre usuários, representados por seres humanos, e tecnologias em geral, como o computador. Neste contexto, os autores citam as interfaces do usuário, que são responsáveis pela transformação das ações e demais entradas do usuário em representações que a tecnologia ou o computador possam entender e processar. Bem como o inverso, as interfaces transformam as ações e demais saídas da tecnologia em representações que o usuário possa compreender e agir em seguida. Em [34], Interação Humano-Computador é definida como a disciplina voltada ao design, avaliação e implementação de sistemas computacionais interativos destinados ao uso humano, que procura estudar os principais fenômenos que cercam sistemas e seres humanos. Proporciona o desenvolvimento de sistemas computacionais que contemplem determinadas características, tais como: segurança, utilidade, efetividade e usabilidade. Trata-se de uma área multidisciplinar, que engloba Ciência da Computação, Psicologia Cognitiva, Psicologia Organizacional, Fatores Humanos ou Ergonomia, Linguística, Inteligência Artificial, Filosofia, Sociologia, Antropologia, Engenharia e Design.

GOMS fornece um framework para a análise sistemática de metas, métodos e ações envolvidas na interação humano-computador. Esta foi a primeira tentativa de modelar este comportamento sem levar em consideração aspectos cognitivos das pessoas.

Por outro lado, recentemente a pesquisa em computação ubíqua tem dado outra visão às interações humano-computador. A computação ubíqua tem como principio fundamental que as pessoas não percebam que interagem com sistemas computacionais, e esta interação inclusive surge de maneira inteligente. Nesta visão, o grupo de pesquisa Fluid, do MIT, tem uma abordagem livre na criação de novas interfaces humano-computador não tradicionais, seguindo uma frase célebre de Pattie Maes: "Por que ainda usamos teclado e mouse para interagir com informação digital ?"

Interação humano-humano através de computadores

Os anais do Interact 2003 [36] apresentam uma série de artigos sobre IHC, principalmente quanto a sua relação com Engenharia de Software e os modelos de desenvolvimento de software vigentes. Percebe-se pelos trabalhos apresentados que o desafio é aproximar as áreas, ou seja, tornar o software desenvolvido mais interativo e fácil de usar. Embora os trabalhos sejam de 2003, vemos que o desafio continua atual, com a pesquisa e busca de modelos e padrões de projeto e de desenvolvimento que procuram melhorar cada vez mais a interação do homem com a máquina.

tabelaHCSD.jpg
Figura: Tabela com abordagem para HCSD (Human-Computer Systems Design) [10]

1.2. Padrões de projeto em interação humano-computador

Criados inicialmente por Christopher Alexander para documentar o conhecimento sobre arquitetura, visto que algumas soluções são aplicadas diversas vezes em alguns problemas recorrentes, padrões de prorejo (design patterns) ganharam grande notoriedade na área de software através do livro "Design Patterns: Elements of Reusable Object-Oriented Software" de Erick Gamma, Richard Helm, Ralph Johnson e John Vlissides.

Na área de HCI, designers também notaram que alguns problemas ocorriam frequentemente e tinham soluções boas, porém havia um problema na comunicação destas soluções, visto que muitos designers experientes, apesar de reutilizarem soluções que já funcionaram em outras situações, não manterem um registro formal destas soluções. Alguns benefícios da utilização de padrões em HCI são:

  1. Padrões promovem uma lingua comum que pode ser lida e entendida por todos, independente de formação;
  2. As formas existentes de documentar conhecimento de design são fracas e padrões ajudariam a capturar e transferir este conhecimento de forma mais eficiente;
  3. Promovem reuso;
  4. São fonte de conhecimento, suportando a tanto a análise de sistemas existentes quanto a criação de novos sistemas.

Existe um framework nomeado PSA (Pattern Supported Approach) [29] para o projeto de interfaces que visa ter escopo mais abrangente do uso de padrões, inclusive trabalhando com padrões que ocorrem antes da fase de projeto. A figura abaixo ilustra os tipos de padrões encontrados no PSA:

psa-fig1.png
Figura: Tipos de padrões de PSA [29, p.2]

Granlund et al. [29] descrevem brevemente estes tipos de padrões como a seguir:

  • Padrões de domínio de negócio descrevem o tipo de negócio, seus objetivos, os atores típicos e os processos envolvidos. Estes padrões fornecem um ponto de partida para a definição inicial do projeto do sistema, apontando parões de processos de negócio e, desse modo, padrões de tarefas, ajudando a comunicar a visão do sistema.
  • Padrões de processos de negócio descrevem os processos típicos e atores envolvidos na entrega de bens ou serviços em conformidade com os objetivos de negócio. Eles refinam a definição do sistema e apontam para padrões específicos de tarefas a serem considerados.
  • Padrões de tarefas são usados para capturar e transmitir conhecimento sobre tarefas, os usuários típicos e seu contexto de trabalho a partir de projetos anteriores similares. Também são utilizados para sugerir soluções de projeto de interação apropriadas e apontam para padrões de estrutura e projeto de navegação que descrevem soluções que têm se mostrado adequadas para o tipo de tarefa em projetos anteriores.
  • Padrões de estrutura e projeto de navegação descrevem as formas de estruturar informação e implementar navegação de modo a apoiar a tarefa do usuário. Este padrão de projeto é baseado na informação descrita nos padrões de tarefas.
  • Padrões de projeto de GUIs documentam questões de projeto de interfaces gráficas de usuário (GUIs) com base nas informações descritas nos padrões de tarefas e de estrutura e navegação. São baseados no trabalho de Tidwell [29, p.3].

1.3. Critérios para classificação de SHC

Estebelecer alguns criterios para conseguir comparar de maneira sistematica os modelos e simulações de SHC

Fatores humanos

É importante não só considerar as entradas explicitas que o usuário coloca no sistemas senão também as entradas implícitas (contexto do usuário) que são caracterizadas pelo conhecimento da pessoa do domínio de aplicação [9].

Em [8] se apresenta a importância de modelar o comportamento humano, sendo que este é um fator importante e essencial em SHC. Neste artigo interações são representadas como redes de tarefas onde pontos de decisão associam tarefas através de pontos de decisão, que indicam pontos que o usuário deve escolher. Assim, é feito um analises dos possíveis caminhos segundo as decisões do usuário.

Plataforma/infraestrutura de modelagem e simulação

É importante possuir uma infraestrutura que suporte a modelagem e simulação de SHC, desde que deve contar com todas necessidades conceituais e tecnológicas propostos no modelo.

Seguindo esta idéia, Splash [11] é um arcabouço principalmente para a simulação saúde em ecosistemas, desde que a modelagem deste tipo de comportamentos é muito complexa. Para isto, Splash possui integração com diferentes repositórios de informação adquiridos no domínio de aplicação específico ou repositórios históricos com propósito estatístico. Assim, usuários dão como entrada mashup do modelo a ser analisado. Este tipo de automação é muito útil na modelagem e simulação de sistemas complexos.

Usabilidade do sistema

Nielsen [35] definiu que a usabilidade de um sistema está associada a cinco atributos: facilidade de aprendizagem, eficiência, facilidade de relembrar, erros e satisfação subjetiva dos usuários. O autor especificou 10 heurísticas para avaliação de usabilidade de um site, a citar [35]: feedback (estado do sistema); compatibilidade (relação entre a interface do sistema e o mundo real); liberdade e controle do usuário; consistência; prevenção de erros; reconhecimento (ao invés de lembrança); flexibilidade e eficiência de uso, envolvendo usuários iniciantes e experientes; estética e design simples (utilização de informações relevantes); auxílio aos usuários na identificação de problemas, diagnóstico e soluções, por exemplo, com mensagens claras e objetivas; ajuda e documentação, com informações resumidas, claras, que facilitem o entendimento.

Com relação a usabilidade do sistema, um fator importante é o design de interfaces simples e intuitivas, além de boa documentação e explicação do que cada funcionalidade faz. Isso é particularmente marcante no artigo "Colaboration in System Administration" no capítulo 6, onde um erro de interpretação de uma configuração levou a um tempo muito grande de debugging e trabalho extra. Caso a funcionalidade estivesse bem clara desde o começo, a mudança que deveria ser feita no sistema teria ocorrido rapidamente e sem mais transtornos. O que ocorreu foi uma mudança com muitas falhas e erros e que exigiu um enorme esforço adicional de correção.

Lewis [30] fornece uma boa introdução à prática de testes de usabilidade.

Ergonomia

Ergonomia é definida como "a análise e otimização das atividades humanas e serviços, incluindo fatores objetivos e subjetivos e processos", ou então "Ergonomia é o estudo de realização de ambientes de trabalho com o objetivo de otimizar o desempenho das pessoas e a preservação de sua saúde".

Vejamos um exemplo de ergonomia com dispositivos móveis [37]. Vamos analisar a situação em que um usuário precisa utilizar um aparelho enquanto está caminhando. Nesta situação a ergonomia de um smartphone é melhor que a ergonomia de um netbook. Um smartphone é menor e é melhor para visualizar informações e digitar textos nesta situação. Um netbook, pelo seu tamanho e disposição de seu teclado seria mais dificil de ser utilizado para este tipo de tarefa.

As 4 tarefas principais da ergonomia são:

  1. Determinar como as pessoas são requeridas nos sistemas de trabalho (ergometria: Medição e comparação com dados empíricos);
  2. Desenvolver as habilidades e capacidades do humano para uso do sistema de trabalho (ensinar e trabalhar);
  3. Análise de fluxo de trabalho, análise de requisitos aos humanos;
  4. Ambientes de trabalho orientada às pessoas. Melhorar a interface entre humano e máquina.

A qualidade ergonômica e a avaliação da usabilidade, ou seja como uma máquina é apropriada para cumprir uma certa tarefa. Além das variáveis objetivas, como a eficácia (o que queria conseguir e o que eu realmente alcançei) e eficiência (relação entre despesas/renda), há ainda a tocar a dimensão subjetiva da satisfação (sensação que uma necessidade foi atendida). Em suma, usabilidade é composta de:

  1. Satisfação (sentimento de satisfação da necessidade);
  2. Eficácia (em que medida desejada tarefa foi cumprida);
  3. Eficiência (cuja utilização tem sido cumprida tarefa).

Parâmetros de qualidade ergonômica

A ergonomia cognitiva diz respeito à rapidez de reações e tempo de resposta (do sistema). O tempo de resposta é o tempo que decorre entre a percepção de um estímulo e a execução de uma ação de reação, ou seja, o tempo que um usuário precisa para entender uma situação e tomar uma decisão (operador mental). Os tempos de resposta podem ser divididos em:

  • Reação Simples: Ao perceber um estímulo é realizada uma reação (por exemplo, iniciar da pista de corrida). (Princípio: percepção-reação)
  • Reação de escolha: A pessoa percebe varios informações e tem que tomar uma decisão. Seguido a lei Hick-Hyman'schen a demora de decidir cresce linearmente com o número de informações.

A velocidade para reagir depende do ambiente (que influencia o quão rápido a informação pode ser fornecida), do número de alternativas, do número de informações relevantes e de competências.

A ergonomia de comunicação mede quão efetiva é a comunicação entre o homem e a máquina. O sistema tolera erros do usuário ?

O modelo IFIP (International Federation for Information Processing) é um modelo para a comunicação de pessoas com uma série de interfaces de usuário. Os humanos e os computadores fazem parte do ambiente do trabalho integrado no contexto de uma organização.

Nesse modelo, 4 tipos de interfaces (entrada/saída, diálogos (controle), ferramentas (aplicação) e organização) são interligadas como mostra a figura a seguir:

[USER] <-> (Input/Output) <-> [] <-> (Dialogos) <-> [] <-> (Ferramentas) <-> [Maquina]
^ ^
| |
(Organização) (Organização)
| |
[ Ambiente de Trabalho ]

Fig. IFIP

Lit:

  • [Dzida 1983] W. Dzida. Das IFIP-Modell für Benutzerschnittstellen. Office Management, Band 31 (Sonderheft), S. 6-8, April 1983.
  • [Dzida 1988] W. Dzida. Modellierung und Bewertung von Benutzerschnittstellen. Software Kurier, (1), S. 13-28, 1988.

2. Modelamento de Sistemas Humano-Computacionais

2.1. Métodos

Nesta seção apresentamos um resumo dos métodos para modelamento estudados nos capítulos anteriores. No respetivo capítulo pode se encontrar detalhes sobre cada um destes modelos.

Neste capítulo é feita uma comparação deste métodos tomando como exemplo os artigos estudados.

Métodos para a modelagem de humanos

  • Dinâmica de Sistemas (Modelos Globais)
  • Autômatos Celulares
  • Modelos de Filas
  • Teoria de Jogos
  • Modelos Estocásticos
  • Redes Bayesianas
  • Cadeias de Markov
  • Hidden Markov Models (HMM)
  • Principal Component Analysis (PCA)
  • Sistemas Multi-Agentes
  • Redes Neurais
  • Sistemas Baseados em Regras

Métodos para sistemas de serviço

  • Teoria de Filas
  • Redes de Petri
  • Programação Dinâmica
  • Simulação de Eventos Discretos.

Métodos para redes sociais

http://www.hindawi.com/journals/aai/2009/421425/tab2/

  • A dynamic model of social network formation

PNAS-2000-Skyrms-9340-6 (1).pdf

  • Social Networks Methods

http://faculty.ucr.edu/~hanneman/nettext/

Métodos para colaboração auxiliada por computador

Basicamente tecnicas para Machine learning, associadas tecnicas da inteligengia artificial.

  • Decision tree learning
  • Association rule learning
  • Artificial neural networks
  • Genetic programming
  • Inductive logic programming
  • Support vector machines
  • Clustering
  • Bayesian networks
  • Reinforcement learning

Fazemos o analise destes métodos tomando como exemplo os SHC analisados nos capítulos anteriores. Este analise é baseado nos criterios apresentados anteriormente: (1) fatores humanos, (2) plataforma/infraestrutura de modelagem e simulação e (3) usabilidade do sistema.

Silverman tenta dar emoções a sistemas multi-agentes através de árvores de desição probabilisticas e a definição de regras (fuxos de controle). Aplica esta abordagem a video jogos.

2.1.1. Sistemas Multi-Agente

O Problema do controle de tráfego aéreo é um problema complexo, tanto pela grande variedade de possibilidades, quanto pelo alto risco que as decisões tomadas geram em cada situação. Em [26] os autores apresentam um enfoque muilti-agente para tratar este problema de natureza distribuída, no qual participam os aviões, os aeroportos e os controladores aéreos. Cada agente representa uma localização, e pode tomar uma de três ações: incrementar a distância entre dois aviões, ordenar atrasos nos pousos e remanejar pousos a outras localizações (outros aeroportos). As decisões estão associadas a um custo, e a maximização de benefícios é calculada utilizando técnicas de Monte-Carlo. Um aspecto interessante mostrado neste trabalho, é a simulação da proposta utilizando o sistema FACET (Future Air Traffic Management Concept Evaluation Tools), utilizado para o controle aéreo nos Estados Unidos.

2.2. Ferramentas

2.3. Desafios

3. Simulação de Sistemas Humano-Computacionais

3.1 Métodos

Modelo para a simulação de SHC

http://www.hpsig.com/index.php/Simulation_Methods

  • General Simulation
  • System Dynamics Methods
  • Agent Based Simulation
  • Discrete Event Simulation
  • Post-Autistic Economics
  • Econometric Methods
  • Visualization
  • Verification and Validation
  • Health Simulation
  • Complex Systems
  • Discrete Choice Methods
  • Microsimulation
  • Cost Effectiveness
  • Medical Decisions
  • Optimization
  • Social Network Analysis
  • Miscellaneous

Simulação de Redes Sociais

http://privacy.cs.cmu.edu/dataprivacy/papers/socialnetworks/index.html

3.1.1. Modelos Estocásticos

A simulação de usuários em um sistema de transporte coletivo é uma importante ferramenta para a tomada de decisões e previsão de eventos inesperados. Em [27] os autores propõem um sistema de simulação, baseado em modelos estocásticos, para o funcionamento do metrô de Santiago de Chile. O modelo representa os usuários, os trens e as estações, sendo que estes dois últimos estão organizados em sub-conjuntos (as linhas do metrô).

O ingresso de usuários no sistema segue uma distribuição de Poisson com taxas de chegada variáveis em grupos. As variáveis de saída sendo modeladas são: o tempo de espera total dos usuários e o tempo que o trem permanece em cada estação. Um sistema foi criado para simular o controle da chegada de usuários e o funcionamento dos trens nas estações, permitindo no final da simulação, visualizar estatísticas sobre a qualidade do serviço oferecido por esse sistema de transporte.

Algumas distribuições estatísticas úteis para a simulação de sistemas humano-computacionais incluem:

  • Normal (Gaussiana): distribuição contínua que descreve a probabilidade de variáveis aleatórias que tendem a se concentrar em torno de um único valor médio. Geralmente ocorre quando a variável observada é a soma ou a média de um número grande de variáveis aleatórias menores. É utilizada para modelar muitos fenômenos, dentre eles o peso e altura de indivíduos de uma população. A inferência estatística utilizando distribuições normais, entretanto, não é robusta na presença de observações atípicas (outliers) e, nesses casos, são recomendadas distribuições de cauda pesada.
  • t de Student: uma distribuição contínua que surge na estimativa da média de uma população normalmente distribuída em situações em que a amostragem é pequena e o desvio padrão é desconhecido. Também é utilizada quando casos atípicos são esperados, pois tem uma cauda pesada, significando que valores distantes da média podem ocorrer com probabilidade não desprezível. O teste de t de Student é utilizado para analisar significância estatística e construir intervalos de confiança.
  • Pareto: distribuição de lei de potência que coincide com vários fenômenos sociais, científicos e de vários outros tipos. É usada por exemplo para descrever distribuição de rendae taxas de erros em discos rígidos. O princípio de Pareto, ou regra 80-20, como é popularmente conhecido, diz que em vários casos 80% dos efeitos são provenientes de 20% das causas. Mais geralmente, quando algo é compartilhado entre um número suficientemente grande de participantes, existe um número k entre 50 e 100 tal que k% pertence a (100 - k)% destes participantes.
  • Poisson: distribuição discreta que expressa a probabilidade de um dado número de eventos de Poisson ocorrer em um certo período de tempo. Um Processo de Poisson modela eventos que ocorrem continuamente e independentemente em uma taxa média constante. Exemplos incluem o número de chamadas telefônicas chegando por minuto em um call center e o número de ocorrências de algum fenômeno por unidade de área.
  • Exponencial: distribuição contínua que descreve o tempo entre eventos em um Processo de Poisson. Exemplos incluem o tempo até a próxima chamada telefônica ou o tempo entre cliques de um contador Geiger.
  • Log-Normal: distribuição de probabilidade de uma variável aleatória cujo logaritmo tem uma distribuição normal. Alguns exemplos que exibem essa distribuição são tamanhos de cidades, tempo de reparo de sistemas e pressão sanguínea de humanos adultos.

Muito mais detalhes podem ser encontrados no livro Hand-book on statistical distributions for experimentalists [20]. A referência utilizada para o material acima foi principalmente o conjunto de artigos da Wikipedia para cada distribuição e algumas notas de aula da UFRJ [21].

3.2. Ferramentas

3.3. Desafios

4. Otimização de Sistemas Humano-Computacionais

Diferente da colaboração auxiliada por computador, mencionada anteriormente no Capítulo 11, a área de Otimização de Sistemas Humano-Computacionais coloca o computador como um dos participantes destes sistemas cooperativos, responsável não por mediar ou auxiliar a comunicação, mas sim por agir como um dos participantes, contribuindo com a obtenção de soluções otimizadas para problemas geralmente intratáveis se abordados apenas por compuatdores ou por humanos isoladamente. Desenvolver sistemas humano-computacionais que exploram a natureza complementar dos humanos e computadores é também um dos principais objetivos da Inteligência Artificial.

Alguns exemplos de problemas difíceis de otimização com ampla aplicação na indústria que necessitam desse conhecimento humano para a obtenção de boas soluções são agendamento, roteamento e layout, entre outros [19]. Tradicionalmente, a pesquisa nestas áreas ignora vários aspectos importantes da interação homem-máquina, confiando apenas nos algoritmos e informação fornecida previamente pelos usuários, como a especificação do problema, restrições e critérios de seleção. Entretanto, tal abordagem não é realista, pois muitas vezes é demasiadamente difícil ou impraticável representar os problemas e preferências formalmente. Ademais, métodos automáticos, por concentrarem-se apenas nos algoritmos, encontram soluções que são ótimas apenas para a versão simplificada do problema real. Estas soluções muitas vezes não são viáveis ou tão eficientes quando aplicadas ao problema real.

A idéia principal da otimização interativa (ou semi-automática) é incluir humanos no loop de otimização e decisão, possibilitando a contribuição destes critérios não formalizáveis para os algoritmos de otimização durante sua execução. Existem várias abordagens diferentes para a criação deste tipo de sistemas de otimização colaborativos, mas alguns grandes grupos podem ser identificados:

  • Evolução Interativa: Abordagem onde o loop de otimização é composto de duas fases: na primeira o computador gera soluções através de métodos geralmente bio-inspirados e em seguida o usuário seleciona as soluções que vão ser utilizadas como base para evolução da próxima geração de soluções. Um exemplo de sistema que utiliza esta técnica é o Hunch Engine, da Icosystem.
  • Controle de Preferências: Usuários controlam interativamente os parâmetros utilizados para avaliar soluções candidatas. É a abordagem utilizada por Colgan et at. [22].
  • Análise de Modificações: O sistema permite ao usuário modificar quase que irrestritamente soluções geradas pelo computador e então invocar vários tipos de análises sobre solução modificada.
  • Busca Guiada por Humanos: Usuários têm como ponto de partida uma solução previamente obtida pelo computador. Então podem então tentar melhorar a soluções de três modos: 1) modificar a solução manualmente, 2) invocar uma busca focada para melhorar a solução, dizendo ao computador onde é mais promissor efetuar a busca em maior profundidades ou 3) voltar atrás e desfazer mudanças (backtracking). Esta técnica foi popularizada pelo sistema HuGS [23] [24].
  • Iniciativa Mista: Integram raciocínio automatizado e humano no loop através da utilização de agentes mediadores responsáveis pela cooperação entre o computador e o usuário, onde haja divisão assimétrica de trabalho [25], tal que contribuições feitas pelo computador e pelo usuário sejam distintas, tirando proveito de suas características complementares de estilos de racionínio e poder computacional [28].

Determinar quais tarefas são mais apropriadas para humanos e quais são para computadores é um ponto importante na escolha da abordagem utilizada na construção dos sistemas. O trabalho de Scott et al. [19] tratam este assunto, mostrando através de experimentos com grupos de usuários que estes podem, com sucesso, identificar áreas promissoras do espaço de busca e também gerenciar a quantidade de esforço computacional gasto em cada sub-problema.

No aspecto de interação, o trabalho de Kirkpatrick et al. [25] mostra que é importante que a comunicação entre computador e usuário seja clara e efetiva. A apresentação de soluções de forma visual e interativa é uma parte importante desta comunicação, pois tira vantagem da habilidade humana de agrupamento de objetos visualmente relacionados. Um sistema efetivo deve portanto exibir problemas e soluções de modo que permita ao usuário tirar conclusões a partir da proximidade e similaridade de objetos. Adicionalmente, o tipo de interação ideal deve ser rápido e exigir pouca atenção do usuário para não interromper e atrapalhar seu raciocínio. Estes compromissos devem ser considerados na otimização de um sistema humano-computacional. Scott et al. [19] reforçam que é igualmente importante que usuários possam compreender as soluções obtidas para que possam confiar nelas, justificá-las, implementá-las ou até mesmo modificá-las.

4.1. Sistemas de otimização bio-inspirados

Otimização de colônia de formigas

Os algoritmos de otimização que se baseiam em colônias de formigas são conhecidos como Ant Colonies. Estes algoritmos se baseiam na utilização de agentes que representam o comportamento de formigas de uma colônia quando exploram o mundo. A idéia para a implementação destes algoritmos se baseia na observação de como formigas seguem rastros de feromonios, deixados pelas próprias formigas, para encontrar o melhor caminho até uma fonte de alimento e também para o retorno à colônia.

Os conceitos básicos para a implementação destes algoritmos incluem: múltiplos agentes colaborando para uma mesma tarefa, memória coletiva representada por feromoneos, a modificação do ambiente como forma de comunicação (chamada de stigmergia) e a execução de diversas iterações em busca da solução ótima.

Estes algoritmos podem ser utilizados nas seguintes áreas e problemas de otimização: the traveling salesman problem, quadratic assignment, routing, cooperative transport, database visualization e scheduling tasks. Dois exemplos clássicos do emprego de algoritmos ant colonies:

  1. Localização de rotas, onde podemos considerar múltiplas rotas como múltiplas regras (variações de antecedentes). Estes algoritmos são chamados de Ant Miner.
  2. Lumer-Faieta: organização de tipos de objetos usando atributos e organização no espaço: alternativa para algoritmos de clustering.

A figura abaixo apresenta um exemplo de execução de um algoritmo Ant Colonies. Podemos observar três passos do algoritmo:

  1. As formigas utilizam caminhos aleatórios quando estão explorando o ambiente para levar o alimento do ponto B (fonte) para o ponto B (colônia);
  2. Elas deixam feromonios por onde passam. As formigam seguem a trilha de feromonios;
  3. O caminho mais curto é aquele que possuem o maior número de feromônios, pois ele se torna o caminho mais utilizado pelas formigas.
ants001.png

4.2. Otimização com humanos no loop

O termo "humanos no loop" historicamente vem da cibernética, mais precisamente de seu uso no controle de sistemas aeroespaciais, onde os pilotos nos cockpits faziam parte do loop de controle das aeronaves. Colocar "humanos no loop" de um sistema de otimização caracteriza um meio-termo entre abordagens bio-inspiradas e modelagem de humanos [14].

Planejamento

Um exemplo de área em que essa abordagem é aplicável é Planejamento em Inteligência Artificial, uma parte central de IA que lida com a questão de "o que fazer em seguida". Formalmente, planejamento busca planos de ações que, quando executados em um dado ambiente, satisfazem algum objetivo especificado. No modelo clássico, que faz a suposição de mundo fechado (onde algo não especificado como verdadeiro é considerado falso) sobre as preferências do usuário, dois casos são possíveis:

  1. Se nenhuma preferência é especificada, o sistema pode pressupor que o usuário é indiferente quanto às alternativas.
  2. Caso contrário, se preferências e objetivos são conhecidos, a meta é encontrar um plano que seja ótimo em relação aos objetivos especificados.

Nestes dois casos a solução é um único plano. Já no caso de Planejamento com humanos no loop, o sistema tem que lidar com um modelo incompleto das preferências dos usuários, do modelo de planejamento em si e do ambiente. Preferências podem ser totalmente desconhecidas ou parcialmente conhecidas, o que leva o sistema a ter de decidir um dentre múltiplos planos possíveis que alcançam o objetivo.

Uma estratégia para lidar com preferências desconhecidas [16] que não se aplica somente a planejamento é a de diversificar os resultados, devolvendo múltiplas respostas próximas à consulta ou contexto corrente, mas distantes entre si, sob alguma métrica relevante de distância de soluções admissíveis. No caso de planejamento, a melhor escolha é devolver um conjunto diverso de planos, pois usuários podem se preocupar com os diferentes aspectos envolvidos em cada um deles, e através da escolha é possível obter alguma informação sobre suas preferências. Em outros casos, as preferências já são parcialmente conhecidas [15]. Por exemplo, pode-se saber que uma das preocupações do usuário é com o custo do plano, mas retornar planos diversificados não é suficiente neste cenário, pois eles podem não diferir nos outros atributos relevantes. É preciso então definir formas de seleção de soluções representativas, mas não há uma abordagem geral para todas as áreas que envolvem tomada de decisão por parte de humanos e computadores.

Layout de grafos

Um outro exemplo clássico de aplicação destas técnicas é o problema de layout de grafos [17]. É muito difícil capturar as preferências estéticas do usuário mas também é muito trabalhoso editar manualmente as posições de nós e rotear arestas. Outro agravante é que existem incontáveis tipos de estruturas de grafos e as preferências podem variar com estes tipos, com seu tamanho e até com contexto onde os grafos serão exibidos. Com humanos no loop avaliando as soluções parciais, o computador fica então a cargo de manter simetria, espaçamento, minimizar área, entre outras propriedades da visualização do grafo.

O problema de exibição de grafos de forma efetiva é importante também para a visualização de estruturas de solução de problemas, sendo portanto fundamental para os outros tipos de sistemas de otimização de iniciativa mista e idealmente parte integrante e interativa destes sistemas.

4.2.1. Otimização auxiliada por humanos

Klau et al. [31] apresentam resultados experimentais comprovando que busca tabu é mais efetiva quando guiada por humanos ao invés de executada apenas por computadores e também que busca tabu guiada é superior à busca exaustiva guiada. Outro fato observado foi que usuários experientes podem, através de busca tabu guiada, melhorar soluções já otimizadas mais rápido que apenas busca tabu efetuada por computador.

Sob a suposição de que um sistema é mais guiável se é mais compreensível, sua implementação utiliza um algoritmo de busca que abre mão de estratégias tradicionais de otimização em troca de um processo de busca mais simples para o raciocínio humano. As modificações em soluções são representadas pela aplicação de diferentes operadores, que introduzem alguma restrição ou modificação na estrutura de busca de soluções.

O princípio de colaboração entre humanos e computadores nesse sistema é o ajuste do grau de "mobilidade" de cada elemento dentro das soluções candidatas. A estratégia empregada foi a de controlar a busca modificando mobilidades e exibir seu grau em cores diferentes, ao invés de efetuar a busca diversificando as opções por maximização do valor da solução corrente. Mobilidades são às vezes também usadas para prevenir que o algoritmo volte a explorar mínimos locais.

Este trabalho de Klau et al. [31] mostra também que uma estratégia efetiva é deixar o computador inicialmente buscar soluções sozinho por algum tempo, pois é quando este mais rapidamente consegue melhorar as soluções. Esta abordagem também evita o esforço humano em editar manualmente a representação de grandes partes mais óbvias da solução.

Uma outra contribuição desse artigo é mostrar exemplos de domínios onde o conhecimento humano é especialmente útil, por exemplo quando um operador individualmente não reduz consideravelmente o custo da solução, mas em que a aplicação de diferentes instâncias do mesmo operador a grupos grandes de elementos causa uma grande diferença.

4.2.2. Iniciativa Mista

Kirkpatrick et al. [25] definem um sistema de otimização de iniciativa mista como sendo um sistema de otimização que exibe contribuições entrelaçadas entre o sistema e o usuário, juntamente convergindo para uma solução para um único problema.

Planejamento com iniciativa mista

A abordagem de planejamento com iniciativa mista empregada por O-Plan [18] para a coordenação do planejamento e interação com o usuário emprega um modelo compartilhado do plano, na forma de um conjunto de restrições em vários níveis, que podem ser manipuladas colaborativamente pelo usuário e pelo sistema. Usuários e sistemas podem trabalhar bem em conjunto sob um regime de restrição mútua de comportamento, aceitando uma visão comum de seus papéis como sendo o de refinar um conjunto de planos parciais alternativos, delimitando seu espaço de comportamento aceitável.

A forma ideal de uso de um sistema de iniciativa mista como O-Plan é deixar que ambos usuário e sistema efetuem o refinamento do plano conforme seus pontos fortes lhes permitem. Duas formas comuns de trabalho são:

  1. O usuário humano define o corpo principal do plano e deixa o sistema preencher os detalhes;
  2. O sistema se encarrega da estrutura do plano e o usuário se encarrega das escolhas específicas segundo suas preferências.
oplan.png
Figura: O-Plan - Interface do usuário [18]

4.3. Interfaces de usuário inteligentes e adaptativas

Alguns sistemas adaptam a sua interface dependendo do contexto atual para aumentar a produtividade e satisfação do usuário. Alguns tópicos principais são:

  • Mostrar/esconder elementos do UI (como buttons, caixas…)
  • Apresentar informações relevantes
  • Elementos para facilitar a navegação

Seguindo Brusilovsky [12] [13], um sistema coleta dados sobre o usuário e sua interação com o sistema. Baseado nesses dados, o sistema cria um modelo do usuário. Em seguida, esse modelo é usado adaptar o UI. Muitas vezes, isso envolve metodos de Data Mining. O capítulo "Redes sociais" toca neste assunto.

Um estudo do departamento de defesa do Canadá [33] trata do uso de interfaces gráficas adaptativas (IGA) por pilotos de aeronaves em missões militares. O estudo apresenta resultados que apontam para o fato de que o uso de IGAs diminui a carga de trabalho dos pilotos e ainda lhes permite obter uma maior consciência sobre a situação em que se encontra.

5. Estudos de Casos

5.1. Impact of Future Technology (IoFT)

IoFT [38] é um modelo desenvolvido pela IBM Research que combina análise de texto e mineração de informação com a experiência de especialistas para ajudar organizações a terem uma idéia melhor do impacto positivo ou negativo causado por mudanças tecnológicas disruptivas. Resultados incluem validação de previsões de negócios, planejamento contingente, reconhecimento de potenciais ameaças e oportunidades e roteiro para futuro investimento em planejamento estratégico, pesquisa e desenvolvimento.

O IoFT segue um processo iterativo e com passos bem definidos onde humanos e sistemas computacionais cooperam em diferentes níveis para compreender o cenário de negócios, começando através de sessões de brainstorms e workshops, visando criar narrativas de cenários futuros significativos e influentes. Em seguida, são estabelecidas as paisagens tecnológicas, usando medidas e índices de tecnologia únicos para as necessidades de negócio, baseadas em conteúdo autoritativo e com validação por parte de especialistas. Esta fase é seguida do desenvolvimento e validação de indicadores, que fornecem um roteiro para a monitoração de eventos futuros desreguladores, que por sua vez sinalizam uma mudança significativa na possibilidade de acontecimento de um futuro estado e ligando-o ao estado presente. São então gerados modelos analíticos de eco-sistemas empresariais que podem emergir seguindo o acontecimento dos indicadores, para que os envolvidos no processo possam identificar ações e objetivos e analisar custo-benefício, utilizando modelos econômicos experimentais para desenvolver soluções específicas. Após o estudo inicial, indicadores são monitorados e as paisagens tecnológicas, modelos de eco-sistemas e ações recomendadas são atualizadas com a ajuda de mineração de informação e análise de texto.

5.2. Byrne&Gray03_HFj.pdf

6. Categorização de Modelamento e Simulação de SHCs

7. Discussão Final

Referências

1. Christian Kruschitz, Martin Hitz, "The Anatomy of HCI Design Patterns", COMPUTATIONWORLD '09 Proceedings of the 2009 Computation World: Future Computing, Service Computation, Cognitive, Adaptive, Content, Patterns. 05359582.pdf
2. Changchun Pan, Liuzhou Teachers' Coll., Liuzhou, China; "Human-computer interaction system design and implementation in network", Computer Engineering and Technology (ICCET), 2010 2nd International. 05485342.pdf
3. Experiences — A Pattern Language for User Interface Design [http://www.maplefish.com/todd/papers/Experiences.html]
4. Human Factors Engineering Technical Advisory Group (DOD HFE TAG) Meeting #47, Trip Report, Department of Defense, April 29th-2nd May 2002. http://safeassociation.com/TAG/TAG-47_Minutes_SanDiego2.htm, visitado em 2011-06-11.
:
5. Till Schümmer; Jan Borchers; John C. Thomas; Uwe Zdun, "Human-Computer-Human Interaction Patterns: Workshop on the Human Role in HCI Patterns, p1721-schuemmer
6. A survey on HCI considerations in the software development life cycle: from practitioner's perspective, ICIS '09 Proceedings of the 2nd International Conference on Interaction Sciences: Information Technology, Culture and Human p21-majid.pdf
7. John M. Carroll, HUMAN-COMPUTER INTERACTION: Psychology as a Science of Design, Annual Review of Psychology
Vol. 48: 61-83 (Volume publication date February 1997) carroll97.pdf
8. Schunk, D.W.; Bloechle, W.K.; Laughery, R.; Micro Saint modeling and the human element, Simulation Conference, 2002. Proceedings of the Winter. 01172883.pdf
9. Gerhard Fischer, User Modeling in Human–Computer Interaction, Journal User Modeling and User-Adapted Interaction archive Volume 11 Issue 1-2, 2001. user modeling.pdf
10. D. Benyon, Representations in Human–Computer Systems Development, COGNITION, TECHNOLOGY & WORK
Volume 4, Number 3, Springer 2002. representation HCS.pdf
11. Melissa Cefkin, Susanne M. Glissman, Peter J. Haas, Leila Jalali, Paul P. Maglio, Patricia Selinger, Wang-Chiew Tan: "SPLASH: A Progress Report on Building a Platform for a 360 Degree View of Health". In D. Sundaramoorthi, M. Lavieri, H. Zhao (Eds.), Proceedings of the 5th INFORMS Workshop on Data Mining and Health Informatics, DM-HI 2010 splashvision20100728.pdf
12. Brusilovsky, P. (1996). Methodes and techniques of adaptive Hypermedia; User Modeling and User Adapted Interaction 6, 87-129
13. Brusilovsky, P. (2001). Adaptive Hypermedia; User Modeling and User Adapted Interaction 11, 87-110
14. Kambhampati, S. (2010) Model-Lite Planning for Autonomy in the presence of Humans, slides de palestra em IPAM/ONR Machine Reasoning Workshops 2/3. onr-ipam-final-clean.pdf
15. Nguyen, T. A., Do, M. B., Kambhampati, S. e Srivastava, B. (2009) Planning with Partial Preference Models. IJCAI'09 Proceedings of the 21st international jont conference on Artifical intelligence. tuan-ijcai09.pdf
16. Srivastava, B., Nguyen, T. A., Gerevini, A., Kambhampati, S., Do, M. B. e Serina, I. (2007) Domain Independent Approaches for Finding Diverse Plans. IJCAI'07 Proceedings of the 20st international joint conference on Artifical intelligence. diverse-ijcai.pdf
17. Do Nascimento, H. A. D. (2001). A Framework for Human-Computer Interaction in Directed Graph Drawing. In APVis 01 Proc 2001 AsiaPacific symposium on Information Visualisation (In the Proceeding of the Australian Symposium on Information Visualisation), pp. 63-69. CRPITV9Nascimento.pdf
18. Tate, A. (1997). Mixed-initiative interaction in O-Plan. In Proceedings of AAAI Spring symposium on Computational models for mixed initiative interaction. SS97-04-031.pdf
19. Scott, S.D.; Lesh, N.; Klau, G.W., "Investigating Human-Computer Optimization", ACM Conference on Human Factors in Computing Systems (CHI), pp. 155-162, April 2002.
20. Walck, C. (2001). Hand-book on STATISTICAL DISTRIBUTIONS for experimentalists. University of Stockholm, 1-190
21. Figueiredo, Daniel R. (2010/3). Notas de aula da matéria de Redes Complexas, UFRJ/COPPE/PESC, CPS765. http://www.land.ufrj.br/~daniel/rc/
22. Colgan, L., Spence, R. e Rankin, P. (1995). The Cockpit Metaphor. Behaviour & Information Technology, 14(4), pgs. 251-263.
23. Gunnar W. Klau, Neal Lesh, Joe Marks, and Michael Mitzenmacher. "Human-guided search", Journal of Heuristics. Vol. 16, No. 3, pp. 289-310, 2010
24. Klau, Gunnar W. and Lesh, Neal and Marks, Joe and Mitzenmacher, Michael and Schafer, Guy T., "The HuGS platform: a toolkit for interactive optimization", Proceedings of the Working Conference on Advanced Visual Interfaces, AVI '02
25. Arthur E. Kirkpatrick, Bistra Dilkina e William S. Havens (2005). A Framework for Designing and Evaluating Mixed-Initiative Optimization Systems. Em Proceedings of the ICAPS-05 Workshop on Mixed-initiative Planning and Scheduling.
26. Adrian K. Agogino and Kagan Tumer (2010). A multiagent approach to managing air traffic flow. Autonomous Agents and Multi-Agent Systems. Springer Netherlands. Pp 1-25.
27. Pablo Grube, Felipe Nunez, Aldo Cipriano, An event-driven simulator for multi-line metro systems and its application to Santiago de Chile metropolitan rail network, Simulation Modelling Practice and Theory, Volume 19, Issue 1, Modeling and Performance Analysis of Networking and Collaborative Systems, January 2011, Pages 393-405, ISSN 1569-190X, DOI: 10.1016/j.simpat.2010.07.012. metro.pdf
29. Åsa Granlund, Daniel Lafrenière, David A. Carr. 2001. A Pattern-Supported Approach to the User Interface Design Process. Proceedings of HCI International 2001 9th International Conference on Human-Computer Interaction, August 5-10, 2001, New Orleans, USA.
30. Lewis, J. R. (2006). Usability Testing. Handbook of Human Factors and Ergonomics 12, e30. usabilitytesting-ral.pdf
31. Klau, G. W., Lesh, N., Marks, J. e Mitzenmacher, M. (2002). Human-Guided Tabu Search. Eighteenth national conference on Artificial intelligence, 41-47
32. Hix, D.; Hartson, H. Developing User Interfaces: Ensuring Usability through Product and Process. John Wiley and Sons, 1993.
33. Hou, M.; Kobierski, R. D. (2006). Intelligent Adaptive Interfaces: Summary Report on Design, Development, and Evaluation of Intelligent Adaptive Interfaces for the Control of Multiple UAVs from an Airborne Platform. Technical Report DRDC-TORONTO-TR-2006-292
34. Rocha, Heloisa Vieira da, Baranauskas, Maria Cecilia Calani. Design e Avaliação de Interfaces Humano-Computador. São Paulo - Escola Computação: IME - USP, 2000. v.1. 242p. Disponível em: http://www.nied.unicamp.br/publicacoes/publicacao_detalhes.php?id=40.
35. Nielsen, J. Usability Engineering. Academic Press, Cambridge, MA, 1993.
36. ECT: Jean Vanderdonckt, Morten Borup Harning. Closing the Gaps: Software Engineering and HCI. In Proceedings of INTERACT'2003. HarningVanderdonckt-Interact2003.pdf
37. Jason Pascoe, Nick Ryan, and David Morse. 2000. Using while moving: HCI issues in fieldwork environments. ACM Trans. Comput.-Hum. Interact. 7, 3 (September 2000), 417-437. DOI=10.1145/355324.355329 http://doi.acm.org/10.1145/355324.355329 UsingWhileMoving.pdf
38. Impact of Future Technology (IoFT), disponível em http://www.almaden.ibm.com/asr/projects/ioft/.

Links

Fluid Interfaces - MIT
HCI Group - Stanford

Arquivos

File nameFile typeSize
01172883.pdfPDF document621.85 kBInfo
05359582.pdfPDF document320.87 kBInfo
05485342.pdfPDF document120.36 kBInfo
ants001.pngPNG image73.88 kBInfo
a_pattern_language_for_hci.pdfPDF document44.22 kBInfo
Byrne&Gray03_HFj.pdfPDF document56.1 kBInfo
carroll97.pdfPDF document146.26 kBInfo
CRPITV9Nascimento.pdfPDF document931.66 kBInfo
diverse-ijcai.pdfPDF document506.19 kBInfo
HarningVanderdonckt-Interact2003.pdfPDF document4.41 MBInfo
HCI_DecisionSupport.pdfPDF document712.11 kBInfo
IntroChapter.pdfPDF document700.26 kBInfo
josang 03.pdfPDF document568.73 kBInfo
liu 07.pdfPDF document566.81 kBInfo
metro.pdfPDF document1.94 MBInfo
onr-ipam-final-clean.pdfPDF document2.74 MBInfo
oplan.pngPNG image200.52 kBInfo
p1721-schuemmer.pdfPDF document169.02 kBInfo
p21-majid.pdfPDF document139.65 kBInfo
pluchino 09.pdfPDF document217.05 kBInfo
PNAS-2000-Skyrms-9340-6 (1).pdfPDF document107.14 kBInfo
psa-fig1.pngPNG image39.97 kBInfo
representation HCS.pdfPDF document168.33 kBInfo
splashvision20100728.pdfPDF document960.35 kBInfo
SS97-04-031.pdfPDF document538.52 kBInfo
tabelaHCSD.jpgJPEG image data48.63 kBInfo
tuan-ijcai09.pdfPDF document232.38 kBInfo
usabilitytesting-ral.pdfPDF document537.07 kBInfo
user modeling.pdfPDF document290.03 kBInfo
UsingWhileMoving.pdfPDF document263.55 kBInfo
zeltyn 10.pdfPDF document459.74 kBInfo

Copyright Claudio Pinhanez, Carlos Humes, 2011.