Geração Automática de Programas Concorrentes Dirigida por Agentes Inteligentes Baseados em Aprendizado por Reforço
Author:
Pereira, Luiz Maurício do Valle
Abstract:
Esta proposta aborda o desenvolvimento de agentes inteligentes baseados no paradigma de Aprendizado por Reforço ou Reinforcement Learning para a geração automática de programas concorrentes, visando uma aplicação específica: a verificação funcional do projeto de um multicore chip. O objetivo é verificar se a interação entre os núcleos (cores) está de acordo com o comportamento esperado. Por isso, os programas gerados deverão ser capazes de cobrir todos os comportamentos que se planeja garantir. Durante a execução de um programa em uma simulação do multicore chip, um verificador dinâmico (runtime checker) afere se cada comportamento observado é compatível com um dos comportamentos esperados e, em caso contrário, sinaliza imediatamente um erro de projeto. Por isso, cada agente deverá ser desenvolvido para dirigir a geração de programas concorrentes de forma a maximizar a cobertura de comportamentos esperados e a minimizar o tempo para se encontrar eventuais erros de projeto. A viabilidade deste trabalho deve-se à disponibilidade no Embedded Computing Lab (ECL) da UFSC de um framework para verificação funcional, contendo um gerador automático de programas, um verificador dinâmico e um simulador de multicore chips. Cada agente inteligente será construído através da modificação de um dos módulos do gerador automático de programas. Diferentes agentes serão desenvolvidos variando-se o conjunto de ações e a topologia da rede neural. O desempenho relativo dos agentes desenvolvidos será avaliado através da comparação de curvas de cobertura como função do tempo (uma curva para cada agente). Além disso, o desempenho dos geradores construídos com esses agentes será comparado com o desempenho de um gerador baseado em Programação Genética, o qual foi desenvolvido por terceiros.