uma abordagem da automação distribuída com sistemas ... · sistemas embutidos sistemas...
TRANSCRIPT
IntroducaoMetodologia
Analise de ComplexidadeExperimentos
Conclusoes
Uma abordagem da automacao distribuıda comsistemas embutidos utilizando tecnologiasmultiagentes para resolucao do puzzle-8
Fabiano Tomas Novais
Orientador: Frederico Gadelha Guimaraes
Departamento de ComputacaoUFOP
25 de julho de 2011
Fabiano Tomas Novais Seminario - Projeto e Analise de Algoritmos 1 / 31
IntroducaoMetodologia
Analise de ComplexidadeExperimentos
Conclusoes
Sistemas EmbutidosSistemas MultiagentesPuzzle-8Objetivos
1 IntroducaoSistemas EmbutidosSistemas MultiagentesPuzzle-8Objetivos
2 MetodologiaMetodosAbordagem com Sistemas MultiagentesAlgoritmo de Tentativa e Erro
3 Analise de Complexidade
4 Experimentos
5 Conclusoes
Fabiano Tomas Novais Seminario - Projeto e Analise de Algoritmos 2 / 31
IntroducaoMetodologia
Analise de ComplexidadeExperimentos
Conclusoes
Sistemas EmbutidosSistemas MultiagentesPuzzle-8Objetivos
Sistemas Embutidos
Um sistema embarcado (ou sistema embutido) e um sistemamicroprocessado no qual o computador e completamente
encapsulado ou dedicado ao dispositivo ou sistema que elecontrola. Diferente de computadores de proposito geral, como ocomputador pessoal, um sistema embarcado realiza um conjunto
de tarefas predefinidas, geralmente com requisitos especıficos.
Fabiano Tomas Novais Seminario - Projeto e Analise de Algoritmos 3 / 31
IntroducaoMetodologia
Analise de ComplexidadeExperimentos
Conclusoes
Sistemas EmbutidosSistemas MultiagentesPuzzle-8Objetivos
Microcontrolador
Fabiano Tomas Novais Seminario - Projeto e Analise de Algoritmos 4 / 31
IntroducaoMetodologia
Analise de ComplexidadeExperimentos
Conclusoes
Sistemas EmbutidosSistemas MultiagentesPuzzle-8Objetivos
Modulo
Fabiano Tomas Novais Seminario - Projeto e Analise de Algoritmos 5 / 31
IntroducaoMetodologia
Analise de ComplexidadeExperimentos
Conclusoes
Sistemas EmbutidosSistemas MultiagentesPuzzle-8Objetivos
Agente
Um agente e qualquer coisa que pode perceber o ambiente pormeio de sensores e atuar sobre este ambiente por meio de
atuadores.
Fabiano Tomas Novais Seminario - Projeto e Analise de Algoritmos 6 / 31
IntroducaoMetodologia
Analise de ComplexidadeExperimentos
Conclusoes
Sistemas EmbutidosSistemas MultiagentesPuzzle-8Objetivos
Formigas
Fabiano Tomas Novais Seminario - Projeto e Analise de Algoritmos 7 / 31
IntroducaoMetodologia
Analise de ComplexidadeExperimentos
Conclusoes
Sistemas EmbutidosSistemas MultiagentesPuzzle-8Objetivos
Problema
Dado um tabuleiro com N pecas
O problema consiste em reorganizar o tabuleiro
A extensao de N x N do puzzle-8 e NP-difıcil
Fabiano Tomas Novais Seminario - Projeto e Analise de Algoritmos 8 / 31
IntroducaoMetodologia
Analise de ComplexidadeExperimentos
Conclusoes
Sistemas EmbutidosSistemas MultiagentesPuzzle-8Objetivos
Problema
Dado um tabuleiro com N pecas
O problema consiste em reorganizar o tabuleiro
A extensao de N x N do puzzle-8 e NP-difıcil
Fabiano Tomas Novais Seminario - Projeto e Analise de Algoritmos 8 / 31
IntroducaoMetodologia
Analise de ComplexidadeExperimentos
Conclusoes
Sistemas EmbutidosSistemas MultiagentesPuzzle-8Objetivos
Problema
Dado um tabuleiro com N pecas
O problema consiste em reorganizar o tabuleiro
A extensao de N x N do puzzle-8 e NP-difıcil
Fabiano Tomas Novais Seminario - Projeto e Analise de Algoritmos 8 / 31
IntroducaoMetodologia
Analise de ComplexidadeExperimentos
Conclusoes
Sistemas EmbutidosSistemas MultiagentesPuzzle-8Objetivos
Puzzle-8
Fabiano Tomas Novais Seminario - Projeto e Analise de Algoritmos 9 / 31
IntroducaoMetodologia
Analise de ComplexidadeExperimentos
Conclusoes
Sistemas EmbutidosSistemas MultiagentesPuzzle-8Objetivos
Espaco de Busca
8-puzzle → 9! = 362880 estados
15-puzzle → 16! = ± 2, 09x1013 estados
24 -puzzle → 25! = ± 1025 estados
Mas somente metade destes estados e alcancavel.
Fabiano Tomas Novais Seminario - Projeto e Analise de Algoritmos 10 / 31
IntroducaoMetodologia
Analise de ComplexidadeExperimentos
Conclusoes
Sistemas EmbutidosSistemas MultiagentesPuzzle-8Objetivos
Espaco de Busca
8-puzzle → 9! = 362880 estados
15-puzzle → 16! = ± 2, 09x1013 estados
24 -puzzle → 25! = ± 1025 estados
Mas somente metade destes estados e alcancavel.
Fabiano Tomas Novais Seminario - Projeto e Analise de Algoritmos 10 / 31
IntroducaoMetodologia
Analise de ComplexidadeExperimentos
Conclusoes
Sistemas EmbutidosSistemas MultiagentesPuzzle-8Objetivos
Espaco de Busca
8-puzzle → 9! = 362880 estados
15-puzzle → 16! = ± 2, 09x1013 estados
24 -puzzle → 25! = ± 1025 estados
Mas somente metade destes estados e alcancavel.
Fabiano Tomas Novais Seminario - Projeto e Analise de Algoritmos 10 / 31
IntroducaoMetodologia
Analise de ComplexidadeExperimentos
Conclusoes
Sistemas EmbutidosSistemas MultiagentesPuzzle-8Objetivos
Espaco de Busca
8-puzzle → 9! = 362880 estados
15-puzzle → 16! = ± 2, 09x1013 estados
24 -puzzle → 25! = ± 1025 estados
Mas somente metade destes estados e alcancavel.
Fabiano Tomas Novais Seminario - Projeto e Analise de Algoritmos 10 / 31
IntroducaoMetodologia
Analise de ComplexidadeExperimentos
Conclusoes
Sistemas EmbutidosSistemas MultiagentesPuzzle-8Objetivos
Objetivos
Analisar os sistemas multiagentes de forma aplicada asistemas embutidos a fim a verificar sua utilizacao e seusganhos na automacao distribuıda
Fazer analise de complexidade e comparativo das solucoes dopuzzle-8
Fabiano Tomas Novais Seminario - Projeto e Analise de Algoritmos 11 / 31
IntroducaoMetodologia
Analise de ComplexidadeExperimentos
Conclusoes
Sistemas EmbutidosSistemas MultiagentesPuzzle-8Objetivos
Objetivos
Analisar os sistemas multiagentes de forma aplicada asistemas embutidos a fim a verificar sua utilizacao e seusganhos na automacao distribuıda
Fazer analise de complexidade e comparativo das solucoes dopuzzle-8
Fabiano Tomas Novais Seminario - Projeto e Analise de Algoritmos 11 / 31
IntroducaoMetodologia
Analise de ComplexidadeExperimentos
Conclusoes
MetodosAbordagem com Sistemas MultiagentesAlgoritmo de Tentativa e Erro
1 IntroducaoSistemas EmbutidosSistemas MultiagentesPuzzle-8Objetivos
2 MetodologiaMetodosAbordagem com Sistemas MultiagentesAlgoritmo de Tentativa e Erro
3 Analise de Complexidade
4 Experimentos
5 Conclusoes
Fabiano Tomas Novais Seminario - Projeto e Analise de Algoritmos 12 / 31
IntroducaoMetodologia
Analise de ComplexidadeExperimentos
Conclusoes
MetodosAbordagem com Sistemas MultiagentesAlgoritmo de Tentativa e Erro
Metodos utilizados
Os dois metodos utilizados para resolucao do puzzle-8 sao:
Abordagem com Sistemas Multiagentes
Algoritmo de Tentativa e Erro
Fabiano Tomas Novais Seminario - Projeto e Analise de Algoritmos 13 / 31
IntroducaoMetodologia
Analise de ComplexidadeExperimentos
Conclusoes
MetodosAbordagem com Sistemas MultiagentesAlgoritmo de Tentativa e Erro
Metodos utilizados
Os dois metodos utilizados para resolucao do puzzle-8 sao:
Abordagem com Sistemas Multiagentes
Algoritmo de Tentativa e Erro
Fabiano Tomas Novais Seminario - Projeto e Analise de Algoritmos 13 / 31
IntroducaoMetodologia
Analise de ComplexidadeExperimentos
Conclusoes
MetodosAbordagem com Sistemas MultiagentesAlgoritmo de Tentativa e Erro
Abordagem com Sistemas Multiagentes
Utiliza conceitos e algoritmos de pesquisa de inteligencia artificial,ou seja, planejamento, metodos de raciocınio, os metodos depesquisa e aprendizado de maquina.
Fabiano Tomas Novais Seminario - Projeto e Analise de Algoritmos 14 / 31
IntroducaoMetodologia
Analise de ComplexidadeExperimentos
Conclusoes
MetodosAbordagem com Sistemas MultiagentesAlgoritmo de Tentativa e Erro
Decompondo o Problema
Utilizando uma abordagem distribuıda, inicialmente decompomos oproblema de resolver um puzzle-N em subproblemas, onde cadauma das n pecas do tabuleiro do puzzle tenta alcancar um objetivoespecıfico. O objetivo geral consiste em satisfazer todos ossubproblemas. Assim, se G e a meta global, temos:
G = {g1, ..., gn} (1)
Fabiano Tomas Novais Seminario - Projeto e Analise de Algoritmos 15 / 31
IntroducaoMetodologia
Analise de ComplexidadeExperimentos
Conclusoes
MetodosAbordagem com Sistemas MultiagentesAlgoritmo de Tentativa e Erro
Satisfacao dos agentes
Descrevemos a satisfacao de cada objetivo com uma funcaoBooleana de um conjunto de dois elementos que chamamos deagentes:
∀gi∀ai = gi , satisfeito(gi ) = f (ai ,meta(ai ))→ 0, 1 (2)
Fabiano Tomas Novais Seminario - Projeto e Analise de Algoritmos 16 / 31
IntroducaoMetodologia
Analise de ComplexidadeExperimentos
Conclusoes
MetodosAbordagem com Sistemas MultiagentesAlgoritmo de Tentativa e Erro
Agentes
Podemos entao definir mais precisamente os agentes como:
∀ai , ai =< meta(ai ), estado(ai ), comportamento(ai ), fugir(ai ) >(3)
Fabiano Tomas Novais Seminario - Projeto e Analise de Algoritmos 17 / 31
IntroducaoMetodologia
Analise de ComplexidadeExperimentos
Conclusoes
MetodosAbordagem com Sistemas MultiagentesAlgoritmo de Tentativa e Erro
Objetivo geral
O problema e entao considerado como solucionado quando todosagentes tenham alcancado suas metas
InicioPuzzle = {(pα), comp(t1), ..., (pλ), comp(t1)} (4)
FinalPuzzle = {meta(t1) = pi ,meta(tn) = pj} (5)
Fabiano Tomas Novais Seminario - Projeto e Analise de Algoritmos 18 / 31
IntroducaoMetodologia
Analise de ComplexidadeExperimentos
Conclusoes
MetodosAbordagem com Sistemas MultiagentesAlgoritmo de Tentativa e Erro
Gerando caminho
Apos decompor o problema do N-puzzle em subproblemas devemosordenar a acao de cada agente
Fabiano Tomas Novais Seminario - Projeto e Analise de Algoritmos 19 / 31
IntroducaoMetodologia
Analise de ComplexidadeExperimentos
Conclusoes
MetodosAbordagem com Sistemas MultiagentesAlgoritmo de Tentativa e Erro
Fluxograma
Fabiano Tomas Novais Seminario - Projeto e Analise de Algoritmos 20 / 31
IntroducaoMetodologia
Analise de ComplexidadeExperimentos
Conclusoes
MetodosAbordagem com Sistemas MultiagentesAlgoritmo de Tentativa e Erro
Exemplo
Fabiano Tomas Novais Seminario - Projeto e Analise de Algoritmos 21 / 31
IntroducaoMetodologia
Analise de ComplexidadeExperimentos
Conclusoes
MetodosAbordagem com Sistemas MultiagentesAlgoritmo de Tentativa e Erro
Algoritmo de Tentativa e Erro
Suas principais caracterısticas sao:
O processo de tentativa gradualmente constroi e percorre umaarvore de sub-tarefas
Algoritmos tentativa e erro nao seguem uma regra fixa decomputacao
Passos em direcao a solucao final sao tentados e registrados
Caso esses passos tomados nao levem a solucao final, elespodem ser retirados e apagados do registro
Quando a pesquisa na arvore de solucoes cresce rapidamentee necessario usar algoritmos aproximados ou heurısticas quenao garantem a solucao otima mas sao rapidas.
Fabiano Tomas Novais Seminario - Projeto e Analise de Algoritmos 22 / 31
IntroducaoMetodologia
Analise de ComplexidadeExperimentos
Conclusoes
1 IntroducaoSistemas EmbutidosSistemas MultiagentesPuzzle-8Objetivos
2 MetodologiaMetodosAbordagem com Sistemas MultiagentesAlgoritmo de Tentativa e Erro
3 Analise de Complexidade
4 Experimentos
5 Conclusoes
Fabiano Tomas Novais Seminario - Projeto e Analise de Algoritmos 23 / 31
IntroducaoMetodologia
Analise de ComplexidadeExperimentos
Conclusoes
Sistemas Multiagentes
A complexidade de espaco do algoritmo com SistemasMultiagentes e proporcional ao numero de agentes
SP(N) = O(N) (6)
Ja a complexidade de tempo e O(n3)
Fabiano Tomas Novais Seminario - Projeto e Analise de Algoritmos 24 / 31
IntroducaoMetodologia
Analise de ComplexidadeExperimentos
Conclusoes
Algoritmo de Tentativa e Erro
A complexidade de espacoSP(N) = O(P) = O(1)
A complexidade de tempo
SP(N) = O(N!/2) = O(N!) (7)
Fabiano Tomas Novais Seminario - Projeto e Analise de Algoritmos 25 / 31
IntroducaoMetodologia
Analise de ComplexidadeExperimentos
Conclusoes
1 IntroducaoSistemas EmbutidosSistemas MultiagentesPuzzle-8Objetivos
2 MetodologiaMetodosAbordagem com Sistemas MultiagentesAlgoritmo de Tentativa e Erro
3 Analise de Complexidade
4 Experimentos
5 Conclusoes
Fabiano Tomas Novais Seminario - Projeto e Analise de Algoritmos 26 / 31
IntroducaoMetodologia
Analise de ComplexidadeExperimentos
Conclusoes
Tempo de execucao
Tabela: Tempo de execucao
Tempo de execucao em milissegundosSistema Multiagente Algoritmo de Tentativa e Erro
23 24
23 20
12 19
69 22
76 80
55 30
89 22
26 22
Fabiano Tomas Novais Seminario - Projeto e Analise de Algoritmos 27 / 31
IntroducaoMetodologia
Analise de ComplexidadeExperimentos
Conclusoes
Numero de trocas de pecas
Tabela: Numero de trocas de pecas
Numero de trocasSistema Multiagente Algoritmo de Tentativa e Erro
29 1708386
24 270700
28 54664
29 338115
26 31407
10 140000
18 45631
21 156000
Fabiano Tomas Novais Seminario - Projeto e Analise de Algoritmos 28 / 31
IntroducaoMetodologia
Analise de ComplexidadeExperimentos
Conclusoes
1 IntroducaoSistemas EmbutidosSistemas MultiagentesPuzzle-8Objetivos
2 MetodologiaMetodosAbordagem com Sistemas MultiagentesAlgoritmo de Tentativa e Erro
3 Analise de Complexidade
4 Experimentos
5 Conclusoes
Fabiano Tomas Novais Seminario - Projeto e Analise de Algoritmos 29 / 31
IntroducaoMetodologia
Analise de ComplexidadeExperimentos
Conclusoes
Conclusao
Neste trabalho foram apresentados duas abordagens para resolucaodo puzzle-N, uma utilizando Sistemas Multiagentes e outra comum algoritmo de Tentativa e Erro. Como pode ser observado aabordagem com Sistemas Multiagentes possibilita resolverproblemas grandes em tempo polinomial, porem as solucoesencontradas nao sao otimas. Ja o algoritmo o algoritmo deTentativa e Erro para o puzzle-8, conseguiu encontrar a solucao,porem em um tempo maior e sem garantias dela ser otima.
Fabiano Tomas Novais Seminario - Projeto e Analise de Algoritmos 30 / 31
IntroducaoMetodologia
Analise de ComplexidadeExperimentos
Conclusoes
Trabalhos Futuros
Fica como trabalho futuro a criacao de um protocolo decomunicacao entre os sistemas embutidos que permita a troca deinformacao para resolucao de problemas complexos como opuzzle-N.
Fabiano Tomas Novais Seminario - Projeto e Analise de Algoritmos 31 / 31