LISTA DE EXERCÍCIOS

Aula 1 - Agentes: Introdução
  1. Existe consenso na comunidade quanto a uma definição do que seja um agente ? Explique.
  2. Como poderíamos comparar agentes humanos a agentes artificiais ? Quais são as similaridades existentes ? 
  3. O conceito de agente é novo, ou é uma idéia antiga ? 
  4. Como a ficção e a literatura se utilizaram do conceito de agente ? 
  5. Qual a diferença entre agentes "de hardware" e agentes "de software" ? 
  6. Escolha o conceito de agente da literatura que lhe parece ser o mais apropriado, e justifique o porquê de sua escolha.
Aula 2 - Propriedades e Aplicações de Agentes
  1. Explique o que é a "independência" de uma agente.
  2. Explique o que é a "rastreabilidade" de um agente e em que contexto essa propriedade é importante.
  3. Explique a diferença entre "autonomia" e "auto-gerenciabilidade" como propriedades desejáveis de um agente.
  4. Explique o que significa dizer que um agente é "reativo".
  5. Explique o que é "pró-atividade" e qual a importância que um agente possua esse atributo.
  6. Explique o que é a "credibilidade" de um agente.
  7. Dê pelo menos um exemplo dos seguintes motivos para se utilizar agentes:
    • Motivos Econômicos
    • Motivos Ergonômicos
    • Motivos Científicos
    • Motivos Computacionais
  8. Dê um exemplo de uma aplicação de agentes para uso pessoal.
  9. Dê um exemplo de uma aplicação de agentes para o gerenciamento de redes de computadores
  10. Dê um exemplo do uso de agentes na busca de informações e acesso à Internet.
  11. Dê um exemplo do uso de agentes no Gerenciamento da Mobilidade
  12. Dê um exemplo do uso de agentes no comércio eletrônico.
  13. Dê um exemplo do uso de agentes em aplicações estratégicas.
  14. Dê um exemplo do uso de agentes na saúde.
  15. Dê um exemplo do uso de agentes no gerencimento de finanças pessoais.
  16. Dê um exemplo do uso de agentes na mídia.
  17. Dê um exemplo do uso de agentes no entretenimento eletrônico.
Aula 3 - Tipos de Agentes
  1. Explique os 4 requisitos mínimos para um sistema natural ou artificial poder ser chamado de um agente.
  2. Especifique 4 diferentes variáveis que poderiam caracterizar um sistema de agentes.
  3. Com relação aos objetivos que um agente pode ter, qual a diferença entre objetivos implícitos e objetivos explícitos ? Qual a diferença no agente, considerando-se estes dois tipos de objetivos ? 
  4. Explique o que é um agente reflexivo.
  5. Por que o termo "reativo" pode ser considerado inadequado para descrever um agente "reflexivo", apesar do mesmo ser muitas vezes utilizado ? 
  6. Explique a diferença entre um agente comportamental e um agente reflexivo.
  7. Explique a diferença entre um agente comportamental e um agente planejador (deliberativo).
  8. Explique o porquê de se ter aperfeiçoado os agentes planejadores, de forma a originar os agentes emocionais. Qual a diferença entre eles ? 
  9. Como podemos entender o conceito de "emoção" em termos de teoria de agentes ? 
  10. Explique o que são agentes comunicativos e como eles podem ser comparados com agentes planejadores.
  11. Explique qual a diferença entre agentes comunicativos e agentes semióticos
Aula 4 - Agentes e Objetos
  1. Explique a diferença entre os conceitos de Agentes e Objetos. Agentes podem ser objetos ? 
  2. Explique o que são modelos de computação e dê dois exemplos distintos de modelos de computação.
  3. Explique a diferença entre modelos de computação e modelos de interação
  4. Explique a diferença entre os modelos de interação dataflow, passagem de mensagem e busca por mensagem. Dê um exemplo de cada um deles.
  5. Que tipo de modelo de interação se têm em cada um dos seguintes casos:
    • Uma Rede Neural
    • Um controlador Fuzzy
    • Um sistema de objetos distribuídos utilizando CORBA
    • Um sistema de objetos distribuídos utilizando DCOM
    • Javaspace
    • Linda
  6. Qual a vantagem que se tem quando se passa de um modelo de interação do tipo passagem de mensagem para o modelo do tipo busca por mensagens ? 
  7. Explique a diferença entre os modelos de comunicação entre processos do tipo Socket e os Objetos distribuídos.
Aula 5 - Agentes de Internet
  1. Explique o que são agentes de internet.
  2. Explique qual é a diferença entre os termos web robot, spiders, web walkers e wanderers. 
  3. Dê 4 diferentes aplicações para web robots.
  4. Por que um web-robot mal configurado pode gerar problemas ? Dê 3 exemplos. 
  5. Explique o que é um acesso do tipo "rapid-fire". Como fazer para evitar que um web-robot faça esse tipo de acesso ? 
  6. Explique como resolver o problema de URLs sintaticamente equivalentes. 
  7. Que tipo de problemas uma página dinâmica pode oferecer a um web-robot ? 
  8. Explique o que são os "Guidelines for Robot Writers". Dê o exemplo de 3 recomendações colocadas nestes guidelines. 
  9. Explique o que é como funciona o SRE (Standards for Robot Exclusion".
  10. Dê o exemplo de 3 elementos não contemplados no SRE e que seriam importantes. 
  11. Explique qual a importância do XML para os web-robots. 
  12. Dê 3 exemplos de agentes de internet que não sejam web-robots.
Aula 6 - Agentes de Interface
  1. Explique o que é a metáfora do desktop para interfaces humano-computador.
  2. Explique o que é a metáfora do antropomorfismo para interfaces humano-computador.
  3. Explique o que são agentes de desktop.
  4. Dê o exemplo de 4 características de um agente de desktop.
  5. Escolha 3 perguntas dentre as perguntas não respondidas para agentes de desktop e tente desenvolver uma resposta.
  6. Qual a importância do fator "credibilidade" em agentes de interface ? 
  7. Por que normalmente quando se implementa um agente de interface, se dissocia a "inteligência" do agente de sua apresentação física ? 
  8. Explique o que é o "perfil" de um agente de interface e por que é importante que se construa um para um agente de interface ? 
  9. Dê 3 papéis que um agente de interface pode assumir e forneça exemplos de cada um deles, em termos de aplicações finais. 
  10. Qual a importância da relação de emoções com credibilidade. Explique como podemos utilizar esse conhecimento em agentes de interface.
  11. Explique o que é a questão da "gradabilidade" das emoções em agentes de interface. 
  12. Explique, por meio de exemplos concretos, o que são "emoções verbais". 
  13. Explique o que é "computação afetiva" e por que isso é importante na construção de agentes de interface. 
  14. Explique a diferença entre fatores físicos e fatores cognitivos de uma emoção. 
  15. Explique o que é um avatar, e qual sua importância em agentes de interface. 
  16. Explique o que é conhecimento apraisivo e qual sua importância no desenvolvimento de agentes.
  17. Explique o que é a teoria de "inteligência emocional" e como isso afeta a construção de agentes. 
  18. Com relação à implementação de agentes de interface, quais as duas grandes áreas em que podemos dividí-la ? Quais seriam os conhecimentos necessários para contemplar cada uma dessas duas áreas ?
Aula 7 - Agentes Móveis
  1. Explique por que a mobilidade pode ser vista como uma propriedade ortogonal de um agente.
  2. Explique por que a falta de mobilidade não pode ser vista necessariamente como uma fraqueza de um agente.
  3. Explique a diferença entre mobilidade de estado e mobilidade de código em sistemas de agentes móveis.
  4. O que é um agente móvel ? 
  5. Descreva e explique 4 das boas razões para utilizar agentes móveis.
  6. Explique por que o uso de agentes móveis pode reduzir o tráfego na rede.
  7. Explique por que o uso de agentes móveis pode resolver o problema de latência na rede, em sistemas críticos de tempo real. 
  8. Explique por que a capacidade de encapsular protocolos de um agente móvel pode ser útil em um sistema de agentes.
  9. Explique por que a habilidade de um agente móvel em atuar de maneira assíncrona e autônoma pode ser útil em um sistema de agentes.
  10. Explique por que a capacidade dos agentes móveis de se adaptar dinamicamente pode ser útil em um sistema de agentes. 
  11. Explique por que a natural heterogeneidade dos agentes móveis pode ser uma boa razão para utilizá-los, na construção de um sistema de agentes.
  12. Explique como um sistema a base de agentes móveis pode ser robusto e tolerante a falhas.
  13. Explique os três paradigmas de programação em redes, e por que o paradigma de agentes móveis pode ser mais interessante que os outros dois.
  14. Dê exemplos do uso de cada um dos três paradigmas de programação em redes. 
  15. Desenvolva três exemplos possíveis de aplicações de agentes móveis.
  16. Explique por que além do Java, a grande maioria dos sistemas de agentes móveis é desenvolvida em TCL/TK.
  17. Explique o que é o MASIF.
Aula 8 - Comparação entre Tecnologias de Agentes Móveis
  1. Explique por que o Java é uma das linguagens mais utilizadas para o desenvolvimento de plataformas de agentes móveis.
  2. Explique o que é o Aglets Workbench, e qual o estado deste projeto hoje. 
  3. Explique qual a relação entre objetos das classes "Aglet" e "AgletProxy" no Aglets Workbench. 
  4. Explique os três tipos de mensagens possíveis de serem trocadas entre Aglets, na plataforma Aglets Workbench. 
  5. Explique o que é o Concordia, e qual o estado deste projeto hoje. 
  6. Explique quais eram os maiores ploblemas no desenvolvimento de sistemas utilizando o Concordia.
  7. Explique o que é o Odissey e qual o estado deste projeto hoje. 
  8. Explique por que a forma padrão para o envio de mensagens no Voyager é superior a das plataformas Aglets, Odissey e Concordia.
  9. Faça uma comparação entre os modos de mensagens possíveis nas plataformas Aglets e Voyager.
  10. Faça uma comparação entre as formas de criação de novos agentes nas plataformas Aglets e Voyager.
  11. Explique o que é a mobilidade de objetos, e como as plataformas Aglets e Voyager tratam esta questão.
Aula 9 - O Toolkit Voyager para Agentes Móveis
  1. Por que podemos dizer que o Voyager é mais do que simplesmente uma plataforma para agentes móveis ? 
  2. Explique como o Voyager utiliza o conceito de interface do Java e o leva ao extremo ? 
  3. Explique o que é um "Factory" no Voyager e para que ele serve. 
  4. Explique o que é um "Proxy" no Voyager e para que ele serve. 
  5. Por que precisamos da classe "Namespace" do Voyager ? 
  6. Explique o que é "agregação dinâmica" e como ela é implementada no Voyager.
  7. Explique o que é um "Facet" no Voyager para que ele serve.
  8. Explique como o Voyager implementa mensagens síncronas e assíncronas. 
  9. Explique como funciona o mecanismo de "publish-subscribe" no Voyager.
  10. Explique a diferença no tratamento entre objetos móveis e agentes móveis no Voyager. 
  11. Explique os mecanismos por meio dos quais se pode implementar mobilidade de código no Voyager.
Aula 10 - Sistemas Multi-Agentes e Linguagens de Agentes
  1. Ofereça 5 argumentos que justifiquem o desenvolvimento de sistemas multi-agentes.
  2. Explique a diferença entre cooperação e colaboração em sistemas multi-agentes.
  3. Explique a diferença entre coordenação centralizada e coordenação distribuída em sistemas multi-agentes.
  4. Explique a diferença entre agentes especializáveis e especializados em sistemas multi-agentes.
  5. Explique por que a comunicação entre agentes pode ser um problema no desenvolvimento de sistemas multi-agentes, e apresente a solução que é utilizada nestes casos. 
  6. Explique o que é uma "ontologia" no contexto de sistemas multi-agentes, e qual a sua estrutura. Ilustre sua explicação com um exemplo prático. 
  7. Explique o que é a teoria dos atos comunicativos (ou atos de fala). 
  8. Como são interpretados os atos comunicativos na linguagem humana ? Como isso é feito na comunicação entre agentes ? 
  9. Explique quais os dois tipos de linguagens que são utilizadas para comunicação entre agentes, qual a relação entre eles e dê exemplos de cada um deles. 
  10. Explique o que é Interlíngua e qual sua utilidade.
  11. Explique o que é uma performativa em uma linguagem de comunicação entre agentes. 
  12. Explique quais são os principais problemas com o KQML. 
  13. Explique o que é FIPA, e quais recomendações ela propõe para a comunicação entre agentes.
  14. Faça uma comparação entre o FIPA-ACL e o KQML apontando as vantagens/desvantagens de cada um.
Aula 11 - Engenharia de Software Orientada a Agentes
  1. Explique o que é a "Engenharia de Software Orientada a Agentes" e qual seu estado da arte. Como essa se diferencia da "Engenharia de Software Orientada a Objetos" ? 
  2. Quais as vantagens e desvantagens de se utilizar uma metodologia de desenvolvimento de software orientada a agentes ?
  3. Explique o que é a AUML. A AUML é uma metodologia orientada a agentes ? 
  4. Qual a relação da AUML com a UML ? 
  5. Explique o que é a Metodologia MASE. 
  6. Explique o que é a Metodologia Prometheus. 
  7. Explique o que é a Metodologia Tropos.
  8. Considerando a abrangência do processo de desenvolvimento, por que a Metodologia Tropos pode ser dita mais abrangente do que o MASE e o Prometheus ? 
  9. Explique qual é a idéia por trás da Metodologia Unificada.
Aula 12 - Agentes Autônomos Inteligentes e Criaturas Artificiais
  1. Como os agentes autônomos inteligentes se inserem na história da Inteligência Artificial ? 
  2. Explique o que é situabilidade e qual sua importância na compreensão do fenômeno cognitivo. 
  3. Explique o que são "Animats" e caracterize uma área de pesquisa que os estude. 
  4. Explique o que são as criaturas de Braitenberg e qual sua importância no estudo de agentes autônomos inteligentes. 
  5. Faça uma comparação entre ambientes reais e/ou simulados em experimentos com agentes autônomos inteligentes. 
  6. Explique o que é diferente e o que é semelhante quando se considera ambientes reais ou ambientes simulados no estudo de criaturas artificiais. 
  7. Dê exemplos práticos dos objetivos que se almeja atingir no estudo de agentes autônomos inteligentes. 
  8. Explique o que é o Khepera, e qual sua importância no estudo de agentes autônomos inteligentes.
  9. Explique o que é o Webot e quais são as vantagens e/ou desvantagens em relação a outras plataformas de estudo de agentes autônomos inteligentes. 
  10. Com relação a experimentos de navegação autônoma, explique as diferenças entre os comportamentos puramente reativos e os comportamentos baseados em modelo do mundo. 
  11. Dê 3 exemplos de métodos reflexivos para o controle de agentes autônomos inteligentes
  12. Dê 3 exemplos de métodos de resolução com modelo do mundo para o controle de agentes autônomos inteligentes. 
  13. Explique a idéia principal por trás do método de campos potenciais para navegação autônoma. 
  14. Explique a diferença entre potenciais atrativos e potenciais repulsivos em métodos de campos potenciais em navegação autônoma. 
  15. Explique o que são criaturas artificiais e caracterize essa área de pesquisa. 
  16. Explique o que são criaturas darwinianas, segundo Dennet e descreva seu mecanismo de funcionamento básico.
  17. Explique o que são criaturas skinnerianas, segundo Dennet e descreva seu mecanismo de funcionamento básico.
  18. Explique o que são criaturas popperianas, segundo Dennet e descreva seu mecanismo de funcionamento básico.
  19. Explique o que são criaturas gregorianas, segundo Dennet e descreva seu mecanismo de funcionamento básico.
  20. Explique qual a contribuição de Hull para o estudo de criaturas artificiais. 
  21. Explique a diferença entre módulos comportamentais, módulos de aprendizagem/adaptação e módulos motivacionais, segundo Balkenius, para a composição de criaturas artificiais. 
  22. Explique o que é um "drive" e como este se diferencia de um "incentivo" em módulos motivacionais. 
  23. Descreva os 4 comportamentos elementares sugeridos por Balkenius para criaturas artificiais.
  24. Explique o que é aprendizagem categorial, segundo Balkenius, e qual sua utilidade em criaturas artificiais.
  25. Explique a diferença entre aprendizado imediato e aprendizado por reforço repetitivo, segundo Balkenius.
  26. Com relação às contribuições originadas da psicologia animal, explique o que é a noção de preparação para o aprendizado. 
  27. Explique o que é o comportamento de redução de drive. Como se pode comparar esse comportamento com um comportamento estímulo-resposta, por exemplo ? 
  28. Explique a diferença entre aprendizagem prematura, síncrona ou tardia em criaturas artificiais. 
  29. Explique por que pode ser difícil avaliar a qualidade de uma pesquisa em agentes autônomos artificiais.
  30. Dê 4 exemplos de aplicações reais de agentes autônomos inteligentes.
Aula 13 - Agentes com Emoções e Agentes BDI
  1. Explique o que é o modelo OCC e explique onde o mesmo pode ser aplicado. 
  2. Explique a diferença entre desejo, merecimento e apelo no potencial das emoções no modelo OCC.
  3. Explique a diferença entre o potencial detonador da emoção, o limiar para a detonação da emoção e a intensidade para a emoção no modelo OCC. 
  4. Explique a diferença entre emoção e sentimento, e como estes estão relacionados, de acordo com Damásio. 
  5. Explique os dois princípios básicos que norteiam o modelo de emoções de Damásio.
  6. Explique o que são emoções no modelo de Sloman, e como este conceito se diferencia do conceito de emoções em Damásio.
  7. Explique a diferença entre motivos e emoções no modelo de Sloman.
  8. Comente sobre a abrangência do modelo de computação afetiva de Picard. 
  9. Como Picard sugere que se avalie o desempenho emocional de um sistema ? 
  10. Explique os níveis de representação baixo, médio e alto para emoções segundo Picard.
  11. Indique os problemas apontados por Blumberg que devem ser respondidos quando se enseja o desenvolvimento de uma criatura artificial.
  12. Explique o modelo de emoções adotado por Blumberg em sua aplicação "Silas".
  13. Descreva em termos gerais como funciona a aplicação "Silas", desenvolvida por Blumberg.
  14. Explique a diferença entre motivações, drives e emoções segundo o modelo de Cañamero.
  15. Explique o que são e qual a origem dos agentes BDI.
  16. Explique por que as abordagens atuais em agentes BDI pode ser considerada por demais limitada.
Aula 14 - Redes de Agentes e Simulação de Processos Organizacionais
  1. Dê 3 exemplos de usos possíveis de redes de agentes.
  2. Explique a estrutura de um agente semiônico.
  3. Explique as 5 fases do comportamento de um agente semiônico. 
  4. Explique por que os agentes fonte ou agentes vertedouros são casos especiais de agentes semiônicos.
  5. Explique a diferença entre portas públicas e portas privadas em redes de agentes semiônicos.
  6. Explique o que é o modo de acesso em um agente semiônico. 
  7. Explique o que é um Processo Organizacional, e qual o benefício de se usar simulações para estes. 
  8. Dê 3 exemplos de processos organizacionais que poderiam ser simulados com redes de agentes. 
  9. Escolha um processo organizacional com 5 tipos diferentes de agentes/recursos. Defina um conjunto de lugares (mínimo de 5 e máximo de 10) onde estes agentes poderiam atuar, e desenhe a topologia de uma rede de agentes que modela o processo organizacional que v. escolheu.
Aula 15 - O Uso do SNTookit
  1. Explique qual o uso das classes IntHolder e DoubleHolder no SNToolkit
  2. Explique para que serve a função setBid no SNToolkit
  3. Em que lugar se utiliza a função access_<xxx> no SNToolkit ? 
  4. Explique a diferença entre as funções get_<xxx> e read_<xxx>  no SNToolkit.
  5. Explique, com um caso prático, para que serve a função setInitialBalance no SNToolkit. Onde essa função deve ser utilizada ? 
  6. Explique para que serve a função setMaxFireCount no SNToolkit. Onde essa função deve ser utilizada ? 
  7. Explique para que servem os "Viewers" no SNToolkit.
  8. Explique o que são as funções "match" e "perform" no SNToolkit, e em que situação elas são utilizadas.