SOES #55
Introdu¸c˜ ao Trabalhos Relacionados Agentes Inteligentes
Utilizando Machine Learning e um Agente de Monitoramento para Otimiza¸c˜ao Interativa
Proposta Considera¸co ˜es Finais
Allysson Allex Universidade Estadual do Cear´a - UECE Brasil goes.uece.br
25/07/2014
SOES #55
Sum´ario Introdu¸c˜ ao Trabalhos Relacionados Agentes Inteligentes
1 Introdu¸c˜ ao
Proposta Considera¸co ˜es Finais
2 Trabalhos Relacionados 3 Agentes Inteligentes 4 Proposta 5 Considera¸c˜ oes Finais
SOES #55
Introdu¸c˜ao Introdu¸c˜ ao Trabalhos Relacionados Agentes Inteligentes Proposta Considera¸co ˜es Finais
• Durante o processo iterativo e incremental de
desenvolvimento de software existem problemas complexos de se lidar. • Next Release Problem (NRP).
• As atuais abordagens mono-objetivas de SBSE para o
NRP podem ser consideradas como ferramentas de tomada de decis˜ao.
SOES #55
Introdu¸c˜ao Introdu¸c˜ ao Trabalhos Relacionados Agentes Inteligentes Proposta
• Computa¸c˜ ao Evolucion´aria Interativa.
Considera¸co ˜es Finais
• Algoritmo Gen´ etico Interativo.
• Fadiga Humana.
• IGA + Machine Learning + Agentes Inteligentes.
SOES #55
Trabalhos Relacionados Introdu¸c˜ ao Trabalhos Relacionados Agentes Inteligentes Proposta
• Christopher L Simons, Ian C Parmee, and Rhys Gwynllyw.
Interactive, evolutionary search in upstream object-oriented class design. Software Engineering, IEEE Transactions on, 36(6):798–816, 2010
Considera¸co ˜es Finais
• Paolo Tonella, Angelo Susi, and Francis Palma. Using
interactive ga for requirements prioritization. In Search Based Software Engineering (SSBSE), 2010 Second International Symposium on, pages 57–66. IEEE, 2010. • Hideyuki Takagi. Interactive evolutionary computation:
Fusion of the capabilities of ec optimization and human evaluation. Proceedings of the IEEE, 89(9):1275–1296, 2001.
SOES #55
Agentes Inteligentes Introdu¸c˜ ao Trabalhos Relacionados
• Alternativas que possam contribuir efetivamente no
processo de desenvolvimento de software.
Agentes Inteligentes Proposta Considera¸co ˜es Finais
• Um Agente ´ e tudo aquilo que pode ser considerado capaz
de perceber atrav´es de sensores seu ambiente e consequentemente agir sobre o mesmo por interm´edio de atuadores.
SOES #55
Agentes Inteligentes Introdu¸c˜ ao Trabalhos Relacionados Agentes Inteligentes
• Agentes s˜ ao capazes de se adaptar as mudan¸cas
provocadas pelo ambiente, realizando a¸c˜oes para que seus objetivos sofram o menor impacto poss´ıvel.
Proposta Considera¸co ˜es Finais
• O comportamento de um agente ´ e definido atrav´es de
uma Fun¸c˜ ao de Agente que consiste em dada uma certa a¸c˜ao, mapear qualquer sequˆencia de percep¸c˜oes. • A Fun¸ c˜ ao de Agente ´e projetada baseando-se em um
resultado almejado. Assim, necessita-se estabelecer um determinado crit´erio para se auferir o desempenho do agente. Tal fun¸c˜ao pode ser uma tabela com todas a¸c˜oes e percep¸c˜oes.
SOES #55
Agentes Inteligentes Introdu¸c˜ ao Trabalhos Relacionados Agentes Inteligentes
• Agentes s˜ ao capazes de se adaptar as mudan¸cas
provocadas pelo ambiente, realizando a¸c˜oes para que seus objetivos sofram o menor impacto poss´ıvel.
Proposta Considera¸co ˜es Finais
• O comportamento de um agente ´ e definido atrav´es de
uma Fun¸c˜ ao de Agente que consiste em dada uma certa a¸c˜ao, mapear qualquer sequˆencia de percep¸c˜oes. • A Fun¸ c˜ ao de Agente ´e projetada baseando-se em um
resultado almejado. Assim, necessita-se estabelecer um determinado crit´erio para se auferir o desempenho do agente. Tal fun¸c˜ao pode ser uma tabela com todas a¸c˜oes e percep¸c˜oes.
SOES #55
Agentes Inteligentes Introdu¸c˜ ao Trabalhos Relacionados Agentes Inteligentes Proposta Considera¸co ˜es Finais
• Quando um agente esta inserido em um ambiente e recebe
uma sequˆencia de percep¸c˜ oes, ele reage com uma sequˆencia de a¸c˜ oes que faz com que o ambiente passe por uma sequˆencia de estados. • Se esses estados forem desej´ aveis pode-se dizer que o
agente teve um bom desempenho. • Esse desempenho do agente descreve o qu˜ ao bem ele
cumpriu seu objetivo. N˜ao existe uma medida padr˜ao de desempenho para um agente, cabendo ao desenvolvedor adequ´a-lo ao seu problema.
SOES #55
Introdu¸c˜ ao
Agentes Inteligentes Especifica¸c˜ao do Ambiente
Trabalhos Relacionados Agentes Inteligentes Proposta Considera¸co ˜es Finais
• O mapeamento de um ambiente est´ a ligado a real
compreens˜ao no qual o agente est´a inserido, podendo ser um ambiente f´ısico ou virtual. • Ao se projetar um ambiente ´ e necess´ario definir PEAS -
Performance, Enviroment, Actuators e Sensors.
SOES #55
Agentes Inteligentes Especifica¸c˜ao do Ambiente
Introdu¸c˜ ao Trabalhos Relacionados Agentes Inteligentes Proposta Considera¸co ˜es Finais
• Algumas propriedades que auxiliam na caracteriza¸c˜ ao de
um ambiente: • • • • • •
Sobre a mudan¸ca de estados; Sobre o n´ umero de estados do ambiente; Quanto as observa¸c˜ oes durante as mudan¸cas de estado; Quanto ao conhecimento em rela¸c˜ao ao ambiente; Sobre mudancas no pr´ oprio ambiente; Quanto a atua¸c˜ao.
SOES #55
Agentes Inteligentes - Arquitetura Introdu¸c˜ ao Trabalhos Relacionados Agentes Inteligentes Proposta Considera¸co ˜es Finais
• A arquitetura est´ a relacionada a necessidade de um
programa no qual implementa uma fun¸c˜ao de agente ser executado em algum dispositivo composto por sensores e atuadores. • Respons´ avel por disponibilizar percep¸c˜ oes, executar o
programa e alimentar as a¸c˜ oes definidas pelos atuadores.
SOES #55
Agentes Inteligentes - Arquitetura Introdu¸c˜ ao Trabalhos Relacionados Agentes Inteligentes Proposta Considera¸co ˜es Finais
• Tais estruturas internas s˜ ao classificadas em quatro tipos: 1 Agentes reativos: ignora o hist´ orico de percep¸c˜oes e seleciona a¸c˜ oes apenas com base na percep¸c˜ao atual. 2 Agentes baseados em modelo: quando o agente consegue controlar parte do mundo que ele n˜ao vˆe. Utiliza-se de uma mem´ orias 3 Agentes baseados em objetivos: dado uma situa¸ c˜ao desejavel, os agentes buscam atingir os objetivos que a explora. Pr´ oprio para situa¸c˜ oes nas quais o agente decide tomar uma a¸c˜ao sem conhecimento suficiente do estado. 4 Agentes baseados em utilidade: relevante quando se depara com muitos objetivos ou que sejam conflitantes.
SOES #55
Agentes Inteligentes - Exemplos Introdu¸c˜ ao Trabalhos Relacionados Agentes Inteligentes Proposta Considera¸co ˜es Finais
Figure: Agentes Inteligentes - Exemplos de Modelagens
SOES #55
Proposta Introdu¸c˜ ao Trabalhos Relacionados Agentes Inteligentes Proposta Considera¸co ˜es Finais
• O IGA ´ e capaz de incorporar as preferˆencias do ser
humano no processo de busca. • Como tratar a fadiga humana? • Machine Learning para modelar os perfis dos engenheiros. • Um Agente de Monitoramento que auxilie nesse processo.
SOES #55
Proposta Introdu¸c˜ ao Trabalhos Relacionados Agentes Inteligentes Proposta Considera¸co ˜es Finais
• Incluindo o modelo de aprendizagem ao IGA, espera-se
que: • os resultados permane¸cam consistentes com o perfil de
avalia¸c˜ao do engenheiro de requisitos. • um significante decr´ escimo no n´ umero de avalia¸c˜oes
remetidas ao ser humano.
• Tempo e presen¸ca do ser humano s˜ ao valiosos para o
projeto. Portanto, como aproveitar da melhor forma a participa¸c˜ao do mesmo?
SOES #55
Proposta Introdu¸c˜ ao Trabalhos Relacionados Agentes Inteligentes Proposta Considera¸co ˜es Finais
• Rela¸c˜ ao entre N´ıvel de Cansa¸co e Qualidade de
Aprendizagem levando-se em conta aspectos como o N´ umero de Avalia¸c˜ oes. • N´ıvel de Cansa¸co est´ a ligado ao N´ umero de Avalia¸c˜oes. • Qualidade da Aprendizagem est´ a ligada ao N´ umero de
Avalia¸c˜ oes. • Se o N´ıvel de Cansa¸co ´ e alto, deduze-se que houveram
muitas avalia¸c˜ oes e consequentemente uma Qualidade de Aprendizagem consideravelmente boa.
SOES #55
Proposta Introdu¸c˜ ao Trabalhos Relacionados Agentes Inteligentes Proposta
• Prop˜ oe-se o desenvolvimento de um Agente Reativo
Simples cujo objetivo ´e monitorar a intera¸c˜ao entre o IGA e o engenheiro de requisitos, possibilitando um melhor trade-off entre N´ıvel de Cansa¸co e Qualidade de Aprendizagem.
Considera¸co ˜es Finais
• Um Agente Reativo Simples seleciona uma a¸c˜ ao com
base na atual percep¸c˜ao sem registrar o hist´orico de a¸c˜oes anteriores. • Apenas responde ` as mudan¸cas que ocorrem em seu
ambiente. • Os Agentes Reativos s˜ ao mais adequados a subproblemas
que exigem respostas r´ apidas.
SOES #55
Proposta Introdu¸c˜ ao Trabalhos Relacionados Agentes Inteligentes Proposta Considera¸co ˜es Finais
Figure: Arquitetura de um Agente Reativo Simples
SOES #55
Proposta Introdu¸c˜ ao Trabalhos Relacionados Agentes Inteligentes Proposta Considera¸co ˜es Finais
• Na arquitetura do agente, define-se um conjunto de
regras condi¸c˜ ao-a¸c˜ ao que permite-se agir no ambiente de acordo com os estados percebidos. • Essas regras s˜ ao um conjunto de a¸c˜ oes pr´e-definidas e
computadas para diversas situa¸c˜ oes previstas.
SOES #55
Proposta Introdu¸c˜ ao Trabalhos Relacionados Agentes Inteligentes Proposta Considera¸co ˜es Finais
• O agente monitora e prop˜ oe a¸c˜ oes para o engenheiro de
requisitos baseado nas regras de inferˆencia: • N´ıvel de Cansa¸co (descansado, parcialmente cansado,
cansado, muito fatigado). • N´ umero de Avalia¸c˜ oes (improdutivo, razo´avel, produtivo,
muito produtivo). • Qualidade de Aprendizagem (ruim, mais ou menos, boa,
otima). ´
• Dessa forma, consegue-se alertar sobre eventuais
necessidades do modelo de aprendizagem.
SOES #55
Proposta Introdu¸c˜ ao Trabalhos Relacionados Agentes Inteligentes Proposta Considera¸co ˜es Finais
• O monitoramento ´ e uma tarefa gen´erica que consiste em
um registro cont´ınuo dos estados de um processo ou objeto e, posteriormente, emitem mensagens sobre alguns casos extremos. • O monitoramento ´ e o processo de interpreta¸c˜ao cont´ınua
das informa¸c˜ oes de entrada e, se necess´ario, recomendar uma interven¸c˜ao.
SOES #55
Proposta Introdu¸c˜ ao Trabalhos Relacionados Agentes Inteligentes Proposta Considera¸co ˜es Finais
Figure: Arquitetura de um IGA com um Modelo de Aprendizagem em Conjunto com o Agente de Monitoramento
SOES #55
Considera¸co˜es Finais Introdu¸c˜ ao Trabalhos Relacionados
• Dificuldade para t´ ecnicas de busca em incorporar o
conhecimento humano de maneira mais efetiva.
Agentes Inteligentes Proposta Considera¸co ˜es Finais
• O objetivo dessa proposta ´ e apresentar uma abordagem
fact´ıvel que resolva o NRP, mas que tamb´em lide com a fadiga humana. • Foi proposto a utiliza¸c˜ ao de t´ecnicas de Machine
Learning na modelagem do engenheiro de requisitos e um Agente Inteligente que auxilie na monitoria desse processo. • Aprimorar e evoluir o contexto referente a etapa de
monitoramento.
SOES #55
Obrigado! Introdu¸c˜ ao Trabalhos Relacionados Agentes Inteligentes Proposta
D´uvidas?
Considera¸co ˜es Finais
Grupo de Otimiza¸c˜ao em Engenharia de Software goes.uece.br