vitor@ufc.br, gcb@fisica.ufc.br, mario.fiallos@gmail.com, prof.serra@gmail.com, marques.soares@gmail.com

Documentos relacionados
1

2 Atualidade de uma base de dados

Engenharia de Sistemas Computacionais

CAP 254 CAP 254. Otimização Combinatória. Professor: Dr. L.A.N. Lorena. Assunto: Metaheurísticas Antonio Augusto Chaves

Simulação e controle inteligente de tráfego veicular urbano

MÓDULO 7 Modelo OSI. 7.1 Serviços Versus Protocolos

1 INTRODUÇÃO Internet Engineering Task Force (IETF) Mobile IP

Faculdades Santa Cruz - Inove. Plano de Aula Base: Livro - Distributed Systems Professor: Jean Louis de Oliveira.

DAS Inteligência Artificial Aplicada à Controle de Processos e Automação Industrial

3 Trabalhos Relacionados

Multiplexador. Permitem que vários equipamentos compartilhem um único canal de comunicação

Sistemas Operacionais

Lista de verificação (Check list) para planejamento e execução de Projetos

Sistemas Distribuídos. Professora: Ana Paula Couto DCC 064

Tabela de roteamento

6 Construção de Cenários

Sistemas Distribuídos

Sistemas Operacionais. Prof. André Y. Kusumoto

Busca Estocástica Baseada em Planejamento para Maximizar Metas em Jogos de RTS

Inteligência Computacional Aplicada a Engenharia de Software

SISTEMAS DISTRIBUÍDOS

4. Qual seria o impacto da escolha de uma chave que possua letras repetidas em uma cifra de transposição?

Sistemas Distribuídos. Aleardo Manacero Jr.

Sistema Inteligente Não-Linear de Apoio à Aprendizagem 1 Rangel RIGO, Ana Paula Laboissière AMBRÓSIO

Sistemas de Informação I

Roteiro. Arquitetura. Tipos de Arquitetura. Questionário. Centralizado Descentralizado Hibrido

MÓDULO 9 METODOLOGIAS DE DESENVOLVIMENTO DE SISTEMAS

3. Explique o motivo pelo qual os protocolos UDP e TCP acrescentam a informação das portas (TSAP) de origem e de destino em seu cabeçalho.

7.Conclusão e Trabalhos Futuros

Universidade Federal de Pernambuco

Prof.: Roberto Franciscatto. Capítulo 1.2 Aspectos Gerais

Francisca Raquel de Vasconcelos Silveira Gustavo Augusto Lima de Campos Mariela Inés Cortés

Interconexão de Redes Parte 3. Prof. Dr. S. Motoyama


PLANEJAMENTO DA MANUFATURA

Capacidade = 512 x 300 x x 2 x 5 = ,72 GB

Sistemas Distribuídos. Professora: Ana Paula Couto DCC 064

4 Arquitetura básica de um analisador de elementos de redes

SISTEMAS OPERACIONAIS. Apostila 01 Assunto: Tipos de Sistemas Operacionais UNIBAN

Um Driver NDIS Para Interceptação de Datagramas IP

Aula-17 Interconexão de Redes IP (Internet Protocol) Prof. Dr. S. Motoyama

EXEMPLO: Processo para atualização da hora Processo para monitoramento da necessidade de proteção de tela. Figura Exemplo

Arquitetura de Rede de Computadores

Protocolo de comunicação para redes móveis aplicado ao trânsito

Computação Paralela. Desenvolvimento de Aplicações Paralelas João Luís Ferreira Sobral Departamento do Informática Universidade do Minho.

Gerenciamento de Incidentes

PROFESSOR: CRISTIANO MARIOTTI

Módulo 15 Resumo. Módulo I Cultura da Informação

BANCO DE DADOS DISTRIBUÍDOS e DATAWAREHOUSING

Curso: Redes II (Heterogênea e Convergente) Tema da Aula: Características Roteamento

Redes de Computadores

Arquitetura de Computadores - Arquitetura RISC. por Helcio Wagner da Silva

5.1 Exemplos de uso Mediante a instanciação de componentes específicos, o OiL pode ser configurado

REDES DE COMPUTADORES

Organização e Arquitetura de Computadores I

Referências internas são os artefatos usados para ajudar na elaboração do PT tais como:

A memória é um recurso fundamental e de extrema importância para a operação de qualquer Sistema Computacional; A memória trata-se de uma grande

Processo de Implementação de um Sistema de Gestão da Qualidade

MÓDULO 8 ARQUITETURA DOS SISTEMAS DE BANCO DE DADOS

PESQUISA-AÇÃO DICIONÁRIO

ISO/IEC 12207: Gerência de Configuração

IW10. Rev.: 02. Especificações Técnicas

Figura 1 Taxas de transmissão entre as redes

IMPLEMENTAÇÃO DE SOCKETS E THREADS NO DESENVOLVIMENTO DE SISTEMAS CLIENTE / SERVIDOR: UM ESTUDO EM VB.NET

Extração de Requisitos

Gerenciamento de Projetos Modulo II Ciclo de Vida e Organização do Projeto

PESQUISA OPERACIONAL: UMA ABORDAGEM À PROGRAMAÇÃO LINEAR. Rodolfo Cavalcante Pinheiro 1,3 Cleber Giugioli Carrasco 2,3 *

Exame de Fundamentos da ITIL

PLANOS DE CONTINGÊNCIAS

Módulo 2: Fase de Diagnóstico: Avaliando o uso e a gestão da TI

Introdução. 1. Introdução

Arquitetura dos Sistemas de Informação Distribuídos

Sistemas Operacionais Processos e Threads

IFPE. Disciplina: Sistemas Operacionais. Prof. Anderson Luiz Moreira

Forneça a próxima onda de inovações empresariais com o Open Network Environment

Sistemas Operacionais

4 Um Exemplo de Implementação

MASSACHUSETTS INSTITUTE OF TECHNOLOGY Sloan School of Management

Sistemas Operacionais

Sistemas de Nomes Planos

Governança de TI. ITIL v.2&3. parte 1

Engenharia de Software. Parte I. Introdução. Metodologias para o Desenvolvimento de Sistemas DAS

Capítulo 9. Gerenciamento de rede

Algoritmos: Lógica para desenvolvimento de programação de computadores. Autor: José Augusto Manzano. Capítulo 1 Abordagem Contextual

Introdução ao Modelos de Duas Camadas Cliente Servidor

CONCURSO PÚBLICO ANALISTA DE SISTEMA ÊNFASE GOVERNANÇA DE TI ANALISTA DE GESTÃO RESPOSTAS ESPERADAS PRELIMINARES

PR 2 PROCEDIMENTO. Auditoria Interna. Revisão - 2 Página: 1 de 9

ENGENHARIA DE SOFTWARE I

CONSTRUÇÃO DE VEÍCULO MECATRÔNICO COMANDADO REMOTAMENTE

softwares que cumprem a função de mediar o ensino a distância veiculado através da internet ou espaço virtual. PEREIRA (2007)

POSSIBILIDADES NA AÇÃO DIAGNÓSTICA PARA PESQUISA EXTERNA EM RELAÇÕES PÚBLICAS

O uso de Objetos de Aprendizagem como recurso de apoio às dificuldades na alfabetização

Gerenciamento de Problemas

} Monolíticas Aplicações em um computador centralizado. } Em Rede Aplicações com comunicação em rede. } Distribuídas Comunicação e cooperação em rede

Uma Heurística para o Problema de Redução de Padrões de Corte

Arquiteturas RISC. (Reduced Instructions Set Computers)

Projetos. Universidade Federal do Espírito Santo - UFES. Mestrado em Informática 2004/1. O Projeto. 1. Introdução. 2.

5. EXPERIÊNCIAS E ANÁLISE DOS RESULTADOS Os Programas de Avaliação

Transcrição:

UM SISTEMA MULTIAGENTES PARA O ESCALONAMENTO DE ATIVIDADES EM TIMES DE ROBÔS BASEADO EM COALIZÕES SOBREPOSTAS Vitor A. dos Santos, Giovanni C. Barroso, Mario F. Aguilar, Antonio de B. Serra, José Marques Soares 1 4 2 4 Depto. de Eng. de Teleinformática Universidade Federal do Ceará Fortaleza, Ceará, Brasil Instituto Federal de Educação, Ciência e Tecnologia do Ceará Fortaleza, Ceará, Brasil Emails: vitor@ufc.br, gcb@fisica.ufc.br, mario.fiallos@gmail.com, prof.serra@gmail.com, marques.soares@gmail.com Abstract In this work, we focus on problems modeled as a set of activities to be scheduled and accomplished by mobile autonomous devices that communicate via a mobile ad hoc network. In such situations, the communication cost, computational efforts and environment uncertainty are key challenges. It is intuitive to consider that keeping information about tasks globally known by devices can provide better schedules. However, there are some contexts - such as those where tasks require startup based on location - where information restricted to coalitions of devices can still produce satisfactory scheduling. The existing heuristics, however, do not consider this approach. In this paper, we propose a multiagent system that applies an heuristic for dynamic formation of overlapping coalitions and a variation of simulated annealing for scheduling of tasks within coalitions. The system is applied to solve the problem of area coverage in a simulated environment and the results show that good schedules are obtained with lower cost of communication and computation in comparison with the solution based on globally known information. Keywords Multiagent Systems, Scheduling, Coalitions. Resumo Neste trabalho, são tratados os problemas modelados como atividades a serem escalonadas e realizadas por times de dispositivos móveis autônomos que se comunicam através de uma rede móvel ad hoc. Em tais situações, o custo da comunicação e a incerteza do ambiente envolvido configuram dificuldades principais. É intuitivo considerar que manter a informação sobre atividades globalmente conhecida entre os dispositivos pode proporcionar melhores escalonamentos. Entretanto, há domínios de problemas em que informações restritas a coalizões de dispositivos podem, ainda assim, produzir escalonamentos satisfatórios. As heurísticas existentes, contudo, não consideram esta abordagem. Neste trabalho, é proposto um sistema multiagentes que aplica uma heurística para formação dinâmica de coalizões sobrepostas e uma variação da simulated annealing para o escalonamento de atividades dentro das coalizões. O sistema é aplicado para a solução do problema da cobertura de área em um ambiente simulado e os resultados mostram que bons escalonamentos são obtidos a um menor custo de comunicação e computação em comparação com a solução baseada em informação globalmente conhecida. Palavras-chave Sistemas Multiagentes, Escalonamento, Coalizões. 1 Introdução Há diversos problemas que envolvem a coordenação de times de dispositivos móveis que se comunicam através de uma rede móvel ad hoc no intuito de compartilharem e escalonarem atividades geograficamente dispersas em um ambiente desconhecido. Os problemas da cobertura de área (Choset, 2001) e transporte de carga (Murata and Nakamura, 2004) são exemplos deste contexto. O problema da cobertura de área é bem conhecido no campo da robótica, com diversas pesquisas relacionadas à cobertura realizada por um único robô. Uma forma de resolver este problema através de um time é particionar a área original em subáreas de forma que a cobertura de cada subárea é uma atividade a ser realizada por um robô dentro do time e o desafio que surge é escalonar tais atividades. No problema do transporte de carga, as atividades são decorrentes dos particionamentos da carga e dos caminhos a serem percorridos. Em ambas as situações, os dispositivos móveis reagem ao ambiente e às mensagens recebidas de seus pares para o compartilhamento de atividades e dados do domínio. Ao passo em que o ambiente é desconhecido, atividades podem ser atualizadas dinamicamente. O controle distribuído de dispositivos móveis autônomos que atuam cooperativamente para o escalonamento e realização de atividades é um problema desafiador. Uma razão é o fato de o escalonamento distribuído de atividades ser um problema NP-Completo (Tsitsiklis and Athans, n.d.). A outra razão decorre da comunicação para o compartilhamento de dados, a qual pode comprometer a escalabilidade. Como a comunicação é baseada em saltos uma mensagem pode requerer O(n) saltos para alcançar seu destino, onde n é a quantidade de agentes envolvidos. Se os agentes enviam mensagens concorrentemente, é possível que ISSN: 2175-8905 - Vol. X 217

cada canal de comunicação tenha que lidar com O(n 2 ) mensagens em um intervalo de tempo arbitrariamente curto e, portanto, a rede tenha que lidar com O(n 3 ) mensagens. Ambas as dificuldades aqui apresentadas são sensíveis ao número de agentes envolvidos e quantidade de atividades. Neste trabalho, é proposto um sistema multiagentes (SMA) que adota um mecanismo baseado em coalizões sobrepostas que restringe a distribuição de informação entre os agentes e, dessa forma, reduz os esforços computacional e de comunicação envolvidos. Cada agente é capaz de organizar suas próprias coalizões e calcular escalonamentos de atividades a partir do conhecimento obtido dentro destas coalizões. No levantamento de trabalhos relacionados, não foram encontradas soluções que envolvessem a formação de coalizões sobrepostas e informação parcialmente distribuída como mecanismos de redução do espaço de busca dos escalonamentos. Há algumas heurísticas para a redução do espaço de busca em escalonamentos nos casos em que atividades requerem um esforço de inicialização (Allahverdi et al., n.d.). Tais heurísticas seriam adequadas ao contexto aqui considerado, pois atividades geograficamente dispersas frequentemente requerem um deslocamento inicial. Contudo, esses escalonadores não consideram times móveis e custos de comunicação. Barbulescu et al. (Barbulescu et al., 2010) propõem um mecanismo de coordenação para o escalonamento de atividades por dispositivos móveis. Entretanto, os autores não tratam das questões de comunicação e formação de coalizões. O presente artigo está organizado da seguinte forma. A descrição do problema abordado é apresentada na seção 2. Na seção 3 são descritos trabalhos relacionados ao emprego de coalizões em sistemas multiagentes. A seção 4 descreve o sistema proposto. A seção 5 é dedicada ao estudo de caso realizado para avaliar o sistema. Por fim, a seção 6 apresenta as conclusões do trabalho. 2 Definição do Problema Um time móvel é aqui definido como o conjunto Γ = {γ 1, γ 2,..., γ n }, n 1, de dispositivos móveis. Cada agente do sistema proposto é associado a um dispositivo. Formalmente, o problema a ser resolvido pelo sistema proposto é representado pela seguinte tupla: (Γ, E), A, S, F s, R onde: (Γ, E) é o sistema físico de interesse, formado pelo time Γ e o ambiente E. A = {A 1, A 2,...} é o conjunto dinâmico de atividades, as quais são realizadas de forma individual pelos agentes. S = {s 1, s 2,...} é o conjunto de possíveis estados dos agentes após a realização de atividades. F s : Γ A S é a função que associa cada agente após a realização de uma atividade a um estado. R : A Γ S R é a função que associa cada atividade realizada por um agente em um dado estado a um resultado. O resultado do escalonamento Ξ : A Γ que se deseja encontrar é calculado pela expressão 1. A i A R(A i, Ξ(A i ), F s (Ξ(A i ), A i )) (1) 3 Trabalhos Relacionados Os primeiros trabalhos com aplicação de coalizões sobrepostas em sistemas multiagentes tem sido apenas recentemente desenvolvidos. Alguns destes algoritmos consideram a formação de coalizões para a realização conjunta de atividades, no caso em que tais atividades necessitam de diferentes habilidades para serem realizadas (Shehory and Kraus, 1998; Lin and Hu, 2007; Cheng and Dasgupta, 2008; Kraus et al., 2004). A abordagem do presente trabalho, entretanto, considera a formação de coalizões sobrepostas para a redução da necessidade da informação envolvida ser globalmente distribuída. Lin e Hu (Lin and Hu, 2007) propõem um algoritmo para formação de coalizões sobrepostas para a realização de atividades. O algoritmo, entretanto, é baseado em informação completa, ao contrário do domínio de problemas aqui considerado. Kraus et al. (Kraus et al., 2004) por sua vez, consideram a possibilidade de informação incompleta. Seu trabalho, entretanto, é direcionado para a sugestão de protocolos para a formação de coalizões baseado na divisão dos prêmios entre agentes envolvidos e não trata de escolanamento de atividades. 4 Descrição do sistema proposto O sistema proposto é composto por três módulos principais. A estrutura de dados principal mantém informações sobre os estados dos agentes e suas atividades. O Módulo de Apoio à Decisão é responsável pelo cálculo de escalonamentos e formação de coalizões. O Módulo de Coordenação atualiza a estrutura de dados e coordena o uso dos mecanismos de apoio à decisão. A arquitetura é ilustrada na Figura 1. 4.1 Módulo de Coordenação Cada agente DynaMOC executa um ciclo de controle comum no intuito de coordenar sua atuação. Este ciclo é modelado pelo fluxograma ilustrado na Figura 2. Cada passo do ciclo é detalhado ISSN: 2175-8905 - Vol. X 218

Figura 2: O ciclo de controle de cada agente. 4.2 Estrutura de Dados Principal Figura 1: Arquitetura de cada agente. abaixo e ou depende de uma interação remota dentro da coalizão do agente, ou depende de funções locais definidas pelo usuário ou depende de funções definidas pelo DyanaMOC. 1. Depois de iniciado, um agente não possui atividades escalonadas. O primeiro passo é atualizar sua coalizão através do algoritmo fornecido pelo Módulo de Apoio à Decisão. 2. O segundo passo do ciclo é a atualização remota da visão subjetiva - um termo utilizado para denotar as atividades conhecidas por um agente. A visão subjetiva é atualizada remotamente com atividades não realizadas por outros agentes em suas coalizões, ou porque eles falharam, ou porque tais atividades ainda não foram escalonadas. 3. O terceiro passo busca atualizar a visão subjetiva localmente através da remoção de atividades realizadas e definição de novas atividades, quando aplicável, devido à divisão de atividades existentes. Este passo é realizado por funções definidas pelo usuário, pois a definição de novas atividades é uma tarefa que depende do domínio. 4. O quarto passo trata do escalonamento de atividade da visão subjetiva. O Módulo de Apoio à Decisão provê o algoritmo aplicado. 5. A distribuição das atividades escalonadas dentro da coalizão é realizada no quinto passo do ciclo. 6. No sexto passo, mecanismos definidos pelo usuário são aplicados para a realização das atividades escalonadas. 7. No último passo, agentes da coalizão são notificados acerca da realização das atividades. Quanto aplicável, informações de domínio também são distribuídas. Há três elementos principais que compõem a esturura de dados: agentes e coalizões, atividades e os escalonamentos. Agentes possuem a capacidade de formar coalizões. Cada agente em uma coalizão pode ser um formador, isto é, aquele que inicia a coalizão, ou um visitante, o qual é convidado por um formador para compor uma coalizão. Atividades representam objetivos menores a serem alcançados para a solução do problema. As atividades conhecidas por um agente formam a sua visão subjetiva, uma vez que representam a parte do problema que o agente conhece. Atividades são realizadas através de ações, as quais são atribuídas tempos lógicos, que ordenam a sua realização. O resultado de uma atividade é representado por valores de métricas tais como custo, qualidade da realização, duração e inicialização. Um escalonamento é uma sequência de atividades a serem realizadas por um agente. 4.3 Módulo de Apoio à Decisão Este módulo provê os mecanismos de formação de coalizões e realização de escalonamentos. 4.3.1 Formação de Coalizões Coalizões são empregadas pelo DynaMOC no intuito de limitar o volume de mensagens trocadas, bem como reduzir o espaço de busca para a realização de escalonamentos. Neste contexto, quanto maiores as coalizões, mais informações estão envolvidas. No caso das grandes coalizões - as que envolvem todos os agentes - todas as possibilidades de escalonamentos são avaliadas. Contudo, atividades que dependem de localização pode ser convenientemente alocadas para agentes mais próximos, de forma que o escalonador pode se beneficiar de coalizões. Mais ainda, mensagens de domínio podem estar fortemente relacionadas com as atividades e esta é outra razão para manter a comunicação limitada às coalizões. O sistema DynaMOC propõe uma heurpistica para estimar o tamanho das coalizões no início de cada ciclo de controle e é baseado em Q-learning (Kaelbling et al., 1996). Neste método, para cada agente ISSN: 2175-8905 - Vol. X 219

γ i, a primeira coalizão é a c vizinhança de γ i, onde c é uma variável definida pelo usuário. A c vizinhança de um agente é um conjunto formado pelos c agentes mais próximos. O tamanho das próxima coalizão é dado pelo idéia principal da heurística: cada coalizão a ser formada por γ i é baseada em (i) no tamanho da coalizão anterior e (ii) nos agentes que contribuiram com atividades escalonadas para γ i no ciclo de controle anterior. Um fator de aprendizagem l i no intervalo [0,1] é aplicado e provê diferentes pesos para esses parâmetros. O tamanho θ(k) de uma coalizão no ciclo k é dado pela expressão 4.3.1, onde l i denota o fator de aprendizagem, Ci(k 1) é o tamanho da coalizão do ciclo k 1 (parâmetro (i)) e α é o valor que representa o parâmetro (ii). O valor β é um parâmetro de crescimento: um inteiro não negativo que permite que coalizões cresçam ao longo dos ciclos. Em caso contrário, considerando que α C i (k 1), θ(k + 1) sempre seria menor ou igual a θ(k). θ(k) { c, se k = 1. (l i ) C i (k 1) + (1 l i )α + β, se k > 1. O Algoritmo 1, que é apresentado a seguir, recebe a identificação i do agente, a identificação k do ciclo de controle, as atividades A i (k 1) escalonadas no ciclo de controle anterior, o tamanho c da primeira coalizão, o parâmetro de crescimento β e o fator de aprendizagem l i. Neste algoritmo, o valor α é calculado como a distância (em saltos) de γ i para o agente mais distante que contribuiu com uma atividade escalonada para γ i no ciclo anterior. O algoritmo usa esse valor como parâmetro para a formação de uma coalizão baseada em saltos. Algoritmo 1 1: procedimento DefineCoalizao(i, A i (k 1), k, c, β, l i ) 2: InicializaParâmetros(c, β, l i, CA) 3: se k = 1 então 4: C i c vizinhança. 5: senão 6: Identifica γ j C i tal que δ d (γ j, γ i ) = max γj C i (δ(γ j, γ i )) : γ j forneceu uma atividade A A i (k 1). 7: α δ d (γ j, γ i ) 8: θ (l i ) C i (k 1) + (1 l i )α + β 9: C i agentes a uma distância de até θ saltos. 10: fim se 11: fim procedimento De acordo com os valores c, β e l i, é possível construir diferentes abordagens para a definição de coalizões. O Algoritmo 1 chama o procedimento InicializaParâmetros o qual recebe esses três parâmetros bem como CA, que indica a abordagem de coalizão. Para grandes coalizões estáticas (que envolvem todos os agentes), c = n 1, l i = 1 e β = 0, e para coalizões dinâmicas, c = n 1, 0 < l i < 1 and 1 β n 1, onde n é o número total de agentes. No estudo de caso, as coalizões dinâmicas foram avaliadas com valores l i = 0.5 e β = 1. 4.3.2 Escalonamento de Atividades Uma heurística bem conhecida para problemas de otimização é aplicada aqui e adaptada ao contexto de coalizões: Simulated Annealing. A abordagem proposta aplica uma importante métrica referente às coalizões. Trata-se do grau de dispersão dos agentes, que é uma média das distâncias entre os caminhos entre agentes, consideran o grafo de comunicação. O algoritmo 2 apresenta essa abordagem. Ao passo em que as iterações de Simulated Annealing tenta convergir a solução para um escalonamento ótimo, ela aplica o grau de dispersão como parâmetro para decidir quanto continuar o busca por melhores esclonamentos: se os agentes estão se tornando dispersos, o algoritmo decide parar. Além disso, o algoritmo decide parar se o escalonamento está piorando. Portanto, o método proposto combina uma característica de coalizões (o grau de dispersão) com uma características das atividades (qualidade do escalonamento) como mecanismos de apoio à decisão. O algoritmo recebe como parâmetros a identificação do agente, sua coalizão e as atividades A = γ A j Γ j da coalizão do agente. O grau de dispersão da coalizão C após realizar o conjunto de atividades A é denotado por GD(C, A). Algoritmo 2 1: função SAAC(i, C, A) 2: k 0 3: Sort A i baseado em R i 4: enquanto k < A i faça 5: A NovoEscalonamento(k, i, A) 6: se ρr i (A ) > R i (A i ) e GD(C, A ) < σgd(c, A) então 7: A A 8: k k + 1 9: senão 10: k A i 11: fim se 12: fim enquanto 13: retorne A 14: fim função O escalonamento inicial de γ i é calculado a partir da ordenação de A i baseada nos resultados, ou seja, cada atividade escolhida produz o melhor resultado após a atividade realizada anteriormente. O laço principal do algoritmo é repetido, no máximo, A i vezes, isto é, a quantidade de ISSN: 2175-8905 - Vol. X 220

atividades de γ i. O novo escalonamento calculado busca por uma atividade em A A i que substituiria a k-ésima atividade de A i e produziria um melhor resultado. O laço é encerrado se o resultado do escalonamento torna-se pior a um fator ρ do que o anteriormente calculado ou a coalizão torna-se mais dispersa a um fator σ. Em caso contrário, o novo escalonamento calculado substitui o anterior. No estudo de caso, ρ = σ = 1.1. 5 Estudo de Caso O sistema multiagentes proposto foi implementado e avaliado a partir da sua aplicação sobre o problema da cobertura de área (Choset, 2001), que consiste do mapeamento de uma extensão em área utilizando-se um grupo de robôs ou veículos não tripulados. Este trabalho adota uma abordagem de cobertura em forma de espirais baseada no algoritmo BSA (Gonzalez and Gerlein, 2009). Neste algoritmo, o robô inicia o caminho na forma de espiral até chegar em um ponto em que ele fica rodeado por pontos já percorridos ou por obstáculos. Neste momento, ele retorna para um backtracking point (BP), que é uma coordenada a partir da qual uma nova espiral pode ser construída. A versão BSA-CM (Gonzalez and Gerlein, 2009) trata-se de uma versão distribuída para o algoritmo BSA. Nela, quando um dispositivo necessita retornar a um BP, a escolha deste ponto envolve a participação de todos os dispositivos. Os testes foram realizados em um ambiente simulado em forma de grade com dimensões 80x80 com obstáculos de formas arbitrárias distribuídos aleatoriamente. A simulação trata-se de uma aplicação multithread executada em um computador Core i5 com 4GB de memória RAM, onde cada thread era responsável por um agente. Na simulação, os agentes possuiam velocidades iguais e constantes. 5.1 Aplicação do sistema no problema da cobertura de área Cada atividade é aqui definida como uma subregião a ser coberta de acordo com o algoritmo BSA. Inicialmente, portanto, cada agente possui somente uma atividade. Novas regiões, entretanto, podem surgir a partir dos pontos de retorno encontrados. As diferentes abordagens para o cálculo de escalonamentos e formação de coalizões permitem que variações de uma mesma solução sejam construídas dentro do sistema multiagentes proposto. No estudo de caso realizado, além da versão BSA- CM original, duas variações, considerando a utilização do DynaMOC, foram avaliadas. DynaMOC com escalonamento SAAC e grandes coalizões: Esta versão da solução de cobertura de área envolve a estratégia BSA, o algoritmo SAAC para o cálculo de escalonamentos e o compartilhamento de dados entre todos os agentes envolvidos, isto é, a definição de grandes coalizões. Os parâmetros para o algoritmo de definição de coalizões foram c = n 1, l i = 1 e β = 0. DynaMOC com escalonamento SAAC e coalizões dinâmicas: Esta versão proposta visa avaliar o emprego de coalizões dinâmicas. Desta forma, esta variação adota o algoritmo SAAC para o escalonamento de atividades, mas restringe o compartilhamento de dados às coalizões formadas dinamicamente. Os parâmetros para o algoritmo de definição de coalizões foram c = n 1, l i = 0.5 e β = 1. 5.2 Testes de desempenho e resultados obtidos Testes envolvendo o algoritmo BSA-CM e as suas duas variações propostas foram realizados a partir de conjuntos de testes. Cada execução de um conjunto de testes é uma missão. Para cada conjunto de testes foram realizadas 8 missões que possuiam posições iniciais dos dispositivos diferentes e arbitrárias. Mais precisamente, o ambiente a ser coberto é dividido igualmente em subáreas virtuais de acordo com o número de dispositivos. Cada dispositivo é posicionado arbitrariamente dentro da sua subárea virtual. Os resultados finais, para cada conjunto de testes, foram calculados como uma média aritmética dos resultados de cada uma das missões. O tempo final de realização de uma missão aqui considerado corresponde à maior quantidade de ações realizadas por um dispositivo. No caso da cobertura de área, cada ação corresponde a uma unidade mínima de área do ambiente simulado percorrida. Em uma situação real, o tempo final seria um múltiplo deste valor. Os tempos finais absolutos mostram-se descrescentes em todas as versões testadas. Tais valores, entretanto, ganham significado quando comparados com limites inferiores de tempo. Um limite inferior de tempo é dado pela área livre (sem obstáculos) dividida pelo número de agentes da missão. Para o estudo de caso realizado, as áreas livres dos ambientes considerados possuiam aproximadamente 6000 unidades de área. Os gráficos da Figura 3 apresentam estas relações através de percentuais. A quantidade de mensagens enviadas considera os saltos decorrentes da comunicação na rede ad hoc correspondente, porque os recursos de comunicação e o tempo de transmissão dependem desta quantidade de saltos. A Figura 4 apresenta os gráficos das mensagens enviadas. 6 Conclusões O mecanismo do coalizões sobrepostas do sistema multiagentes proposto mostrou-se capaz de redu- ISSN: 2175-8905 - Vol. X 221

Referências Figura 3: Percentuais de tempos finais em relação ao limite inferior de tempo. Figura 4: Quantidades de mensagens enviadas. zir o espaço de busca referente à construção de escalonamentos e o volume de mensagens enviadas. A redução do espaço de busca não afetou substancialmente a capacidade de construção de bons escalonamentos, uma vez que as atividades eram sensíveis às localizações dos dispositivos, e a formação de coalizões por dispositivos próximos já possibilitaram escalonamentos satisfatórios. Isto foi observado a partir dos gráficos de tempo final, que mostraram tempos finais para as soluções baseadas no sistema proposto não superiores a 150% do limite inferior de tempo. Foi possível perceber o efeito do emprego de coalizões dinâmicas sobre as quantidades de mensagens enviadas. Ainda que a necessidade de envio de mensagens seja grande, como ocorre em todas as versões do BSA-CM aqui consideradas, o mecanismo de formação de coalizões permite que, em média, coalizões de pequeno porte sejam formadas, o que reduz singnificativamente o volume final de mensagens. Como trabalhos futuros, estão sendo considerados a ocorrências de falhas de comunicação, ambientes com diferentes distribuições de obstáculos e dispositivos com diferentes características tais como autonomias e velocidades. Além disso, diferentes fatores de apredizagem para a definição de coalizões podem ser investigados. Uma avaliação analítica da proposta também deve ser considerada no intuito de proporcionar uma validação do experimentos. Allahverdi, A., Ng, C. T., Cheng, T. C. E. and Kovalyov, M. Y. (n.d.). Barbulescu, L., Rubinstein, Z. B., Smith, S. F. and Zimmerman, T. L. (2010). Distributed coordination of mobile agent teams: the advantage of planning ahead, Proceedings of the 9th International Conference on Autonomous Agents and Multiagent Systems: volume 1 - Volume 1, AAMAS 10, pp. 1331 1338. Cheng, K. and Dasgupta, P. (2008). Coalition game-based distributed coverage of unknown environments by robot swarms, Proceedings of the 7th international joint conference on Autonomous agents and multiagent systems - Volume 3, AAMAS 08, pp. 1191 1194. Choset, H. (2001). Coverage for robotics a survey of recent results, Annals of Mathematics and Artificial Intelligence 31: 113 126. Gonzalez, E. and Gerlein, E. (2009). Bsa-cm: A multi-robot coverage algorithm, Proceedings of the 2009 IEEE/WIC/ACM International Joint Conference on Web Intelligence and Intelligent Agent Technology - Volume 02, WI- IAT 09, pp. 383 386. Kaelbling, L. P., Littman, M. L. and Moore, A. W. (1996). Reinforcement Learning: A Survey, Journal of Artificial Intelligence Research 4: 237 285. Kraus, S., Shehory, O. and Taase, G. (2004). The advantages of compromising in coalition formation with incomplete information, Proceedings of the Third International Joint Conference on Autonomous Agents and Multiagent Systems - Volume 2, AAMAS 04, pp. 588 595. Lin, C.-F. and Hu, S.-L. (2007). Multi-task overlapping coalition parallel formation algorithm, Proceedings of the 6th international joint conference on Autonomous agents and multiagent systems, AAMAS 07, pp. 211:1 211:3. Murata, T. and Nakamura, T. (2004). Multiagent cooperation using genetic network programming with automatically defined groups, Genetic and Evolutionary Computation GECCO 2004, Vol. 3103 of Lecture Notes in Computer Science, Springer Berlin / Heidelberg, pp. 712 714. Shehory, O. and Kraus, S. (1998). Methods for task allocation via agent coalition formation, Artif. Intell. 101: 165 200. Tsitsiklis, J. and Athans, M. (n.d.). On the complexity of decentralized decision making and detection problems, Automatic Control, IEEE Transactions on (5): 440 446. ISSN: 2175-8905 - Vol. X 222