APLICAÇÃO DA TÉCNICA DE SATISFAÇÃO DE RESTRIÇÕES DISTRIBUÍDAS NO SINCRONISMO DE SEMÁFOROS DE UMA MALHA VIÁRIA

Documentos relacionados
APLICAÇÃO DA TÉCNICA DE SATISFAÇÃO DE

Implementação de um Algoritmo Heurístico para Problemas de Restrições. Por: Alexsandro Santos Pires Orientação: Prof.

SISTEMA DE CONTROLE DE TRÁFEGO URBANO UTILIZANDO SISTEMA MULTI-AGENTES

IMPLEMENTAÇÃO DE UM ALGORITMO HEURÍSTICO PARA PROBLEMAS DE RESTRIÇÕES

DESENVOLVIMENTO DE UM ALGORITMO PARA PROBLEMA DE SATISFAÇÃO DE

Simulação do controle de tráfego de automóveis em uma malha rodoviária urbana: Versão 3.0

IMPLEMENTAÇÃO DISTRIBUÍDA DO ALGORITMO ADOPT

Roteirização de veículo para realização de coleta utilizando algoritmo evolucionários

UNIVERSIDADE REGIONAL DE BLUMENAU CENTRO DE CIÊNCIAS EXATAS E NATURAIS DEPARTAMENTO DE SISTEMAS E COMPUTAÇÃO CURSO: CIÊNCIAS DA COMPUTAÇÃO

Protótipo de Software para Logística de Distribuição

CONTROLE DE TRÁFEGO FERROVIÁRIO UTILIZANDO MICROCONTROLADOR PIC16F628A

WEBIDE 2.0 Um ambiente web usando Gwt-Ext para acompanhamento e desenvolvimento de exercícios de programação

Uso de SMA para avaliar estratégias de decisão no controle de tráfego urbano

Ferramenta para criaçã. ção o e execuçã

SOFTWARE DE APOIO A GESTÃO DE SOLICITAÇÃO DE MUDANÇAS

VISEDU-CG: Aplicação Didática para Visualizar Material Educacional, Módulo de Computação Gráfica

Simulação do controle de tráfego de automóveis em uma malha rodoviária urbana: Versão 2.0

Distribuição otimizada de polígonos em um plano bidimensional. Acadêmica: Denise Brandt Orientador: Dalton Solano dos Reis

Francisco Roeder. Orientador: Prof. Adilson Vahldick

MJ3I- PA - AMBIENTE VIRTUAL 3D PARA VISUALIZAÇÃO DE BRAÇOS ARTICULADOS NO IOS

Protótipo tipo de um ambiente virtual distribuído

Extensão Swarm Intelligence para o Simulador Robocup Rescue

Algoritmos Tentativa e Erro (Backtracking) Prof.: Jonas Potros

ROBOTOY: ferramenta para ensino de programação para crianças usando robôs Arduino. Aluna: Juliana Carolina Batista Orientadora: Joyce Martins

FRAMEWORK PARA GERENCIAMENTO E DISPONIBILIZAÇÃO DE INFORMAÇÕES MULTIMÍDIA GEOLOCALIZADAS NA PLATAFORMA ANDROID

SERVIÇO PÚBLICO FEDERAL MINISTÉRIO DA EDUCAÇÃO INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DE MINAS GERAIS IFMG

Portal Inteligente Senior TI Baseado em Data Webhouse

SERVIÇO PÚBLICO FEDERAL MINISTÉRIO DA EDUCAÇÃO INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DE MINAS GERAIS IFMG

SERVIÇO PÚBLICO FEDERAL MINISTÉRIO DA EDUCAÇÃO INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DE MINAS GERAIS IFMG

Interpretação de Imagens com CSP

PROTÓTIPO DE APLICATIVO PARA ACOMPANHAMENTO E CONTROLE DE

Sistema Multiagentes Utilizando a Linguagem AgentSpeak(L) para Criar Estratégias de Armadilha e Cooperação em um Jogo Tipo PacMan

Escalonador de Ordens de Produção Utilizando Algoritmos Genéticos

Inteligência Artificial

Inteligência Artificial Agentes Inteligentes

João Max Deggau Orientador: Prof. Mauro Marcelo Mattos, Doutor 2013/2

Processamento distribuído em ambiente peer-to-peer

MOBILE-FURBOT: UMA VERSÃO DO FURBOT PARA CRIAÇÃO DE JOGOS EM DISPOSITIVOS MÓVEIS

Automação do tráfego de veículos: sistema de busca de caminho de menor custo entre dois pontos

SISTEMA DE ALOCAÇÃO DE MÁQUINAS DE TINGIMENTO UTILIZANDO A TÉCNICA CSP

FERRAMENTA PARA CRIAR E VISUALIZAR REGRAS UTILIZADAS NA FORMAÇÃO DA POLÍTICA DE PREÇO

SERVIÇO PÚBLICO FEDERAL MINISTÉRIO DA EDUCAÇÃO INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DE MINAS GERAIS IFMG

Programação Concorrente com Thread Java. Luiz Affonso Guedes Sistemas Distribuidos

EDITOR DE MALHAS FERROVIÁRIAS EMF

Problemas e Estratégias. March 31, 2016

Ferramenta para auxílio na análise de impacto e rastreabilidade de requisitos na gestão de mudanças

SERVIÇO PÚBLICO FEDERAL MINISTÉRIO DA EDUCAÇÃO INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DE MINAS GERAIS IFMG

SERVIÇO PÚBLICO FEDERAL MINISTÉRIO DA EDUCAÇÃO INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DE MINAS GERAIS IFMG

CONTROLE POR VOZ UTILIZANDO A ENGINE JULIUS COM FALA CONTÍNUA

Universidade Presbiteriana Mackenzie Escola de Engenharia Depto. de Engenharia Civil 1 0 semestre de Aula 7. Sinalização semafórica: definições

SERVIÇO PÚBLICO FEDERAL MINISTÉRIO DA EDUCAÇÃO INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DE MINAS GERAIS IFMG

Marilan Ricardo Tagliari - TCC Marilan Ricardo Tagliari - TCC Orientando: Marilan Ricardo Tagliari Orientador: Everaldo Artur Grahl

PLANO DE PROGRAMAÇÃO DE SEMÁFOROS ELETRÔNICOS PARA A CIDADE DE BOTUCATU

Sistema de Workflow para Gestão de Processos Aplicado a Confecção Têxtil

USO DE MICROSSIMULAÇÃO PARA AVALIAR BENEFÍCIOS NA REDUÇÃO DE ESTÁGIOS EM INTERSEÇÕES SEMAFORIZADAS

Protótipo de um Simulador de um Aspirador de Pó, Utilizando Algoritmo de Busca e Agentes Inteligentes, em Ambientes com Barreiras

FURBUP: UM PROCESSO DE SOFTWARE PARA USO ACADÊMICO BASEADO NO OPENUP. Acadêmico: João Paulo Pedri Orientador: Everaldo Artur Grahl

Ferramenta de Suporte a Decisão caracterizada por Consultas OLAP

Fundamentação para Implementação de Abafadores Dinâmicos de Ruído

Curso de Engenharia Civil

Utilizando Threads em Java

Desenvolvimento do Sistema de Intermediação para Prestadores de Serviço KLEITON STIVEN FINGER ORIENTADOR: PROF. OSCAR DALFOVO, DOUTOR

SISTEMA PARA AUTOMATIZAÇÃO RESIDENCIAL CONTROLADO POR

QEA Integração entre a ferramenta para desenvolvimento de sistemas web Quellon e o Enterprise Architect

Orientador Prof. Marcel Hugo

GERADOR DE INTERFACES GRÁFICAS PARA IOS GABRIEL SEBASTIAN RAMIREZ JOYCE MARTINS

DESENVOLVIMENTO DE UM ALGORITMO PARALELO PARA APLICAÇÃO EM CLUSTER DE COMPUTADORES

UNIVERSIDADE REGIONAL DE BLUMENAU CURSO DE SISTEMAS DE INFORMAÇÃO - BACHARELADO. Eduardo Cesar Eberle Prof. Wilson Pedro Carli, Orientador

Ricardo Sorroche Orientando Prof. Wilson Pedro Carli - Orientador

Programação Orientada a Objectos - P. Prata, P. Fazendeiro

Aprendendo Braille: O Ensino do Sistema Braille com o uso do Tagarela

Mateus Viel. Prof. Cláudio Ratke, Orientador

Gustav Dallmann Júnior

IMPLEMENTAÇÃO DE VISUALIZAÇÃO DE PERSONAGEM NÃO JOGADOR NA MOBILE 3D GAME ENGINE (M3GE)

Trabalho Campeonato de Futebol Programação Orientada a Objetos (SCC204) Prof. Moacir Pereira Ponti Junior 26 de abril de 2011

ANÁLISE DE DADOS DE LINHA DE PRODUÇÃO

Vários modelos: um SAD pode incluir vários modelos, cada um representando uma parte diferente do problema de tomada de decisão Categorias de modelos

OBD-JRP Monitoramento Veicular com Java e Raspberry Pi. Ricardo Artur Staroski Miguel Alexandre Wisintainer

Emissão de poluentes de veículos na cidade através de microssimulação de Tráfego

CELINE LIP: UM FRAMEWORK QUE UTILIZA O MODELO IMS LIP EM APLICAÇÕES WEB JEE. Marcelo Gonzaga. Orientador: Prof. Adilson Vahldick

PUC-SP Depto. de Ciência da Computação

Gerador de grade de horários com Algoritmos Genéticos

Inteligência Artificial

SIMULAÇÃO DE FUTEBOL EM AMBIENTE WEB: VERSÃO 4.0

AULA ANTERIOR: MODELOS FUNDAMENTAIS

Ubiratam Carvalho de Paula Junior Rafaelli de Carvalho Coutinho

Iteradores. Iteradores. Isabel Harb Manssour. Roteiro. Coleções

FERRAMENTA WEB PARA APOIAR O SETOR DE QUALIDADE NOS TESTES DE RELATÓRIOS DA LEI DE RESPONSABILIDADE FISCAL.

Acadêmico: Mateus Artur Schneiders Prof. Orientador: Dr. Mauro Marcelo Mattos

Desenvolvimento e Projeto de Aplicações Web

Protótipo de software para auxiliar no aprendizado das cores e formas geométricas

SISTEMA DE INFORMAÇÃO EXECUTIVO PARA ENVIO DE DADOS APLICADO NA UNIMED BLUMENAU

// quando o estado do Sujeito muda

UNIVERSIDADE FEDERAL RURAL DE PERNAMBUCO Bacharelado em Sistemas de Informação. Processamento Paralelo Threads. Aluno: Wagner Palacio

Gerenciador de ambientes para testes manuais

Tentativa e Erro (Backtracking)

Biblioteca de componentes de interface para iphone OS

DOCUMENTO DE ADEQUAÇÃO MESTRADO EM ENGENHARIA INFORMÁTICA FACULDADE DE CIÊNCIAS E TECNOLOGIA UNIVERSIDADE NOVA DE LISBOA PEÇA B

Protótipo de Software de Reconhecimento de Voz Para Navegação em Jogos, Utilizando Rede Neural Artificial

Transcrição:

APLICAÇÃO DA TÉCNICA DE SATISFAÇÃO DE RESTRIÇÕES DISTRIBUÍDAS NO SINCRONISMO DE SEMÁFOROS DE UMA MALHA VIÁRIA Orientando: Mauricio Bruns Orientador: Jomi Fred Hübner

Roteiro da Apresentação: Introdução Fundamentação Desenvolvimento Implementação Resultados Conclusões

Introdução > Contextualização: Trânsito Aumento da Demanda Congestionamento, poluição, insegurança Semáforos inteligentes, Sistemas de Informação Problema de satisfação de restrições Variáveis Domínio Restrições Problemas de satisfação de restrições distribuídas Conhecimento distribuído

Introdução > Objetivos: Sincronismo de semáforos Técnica de DCSP DCSP Variáveis locais Otimização Restrições dinâmicas

Fundamentação: Constraint Satisfaction Problem (CSP) Definição (TSANG 1993): conjunto de variáveis domínio conjunto de restrições Exemplo: jogo das N-Rainhas

Fundamentação: Distributed Constraint Satisfaction Problem (DCSP) Variáveis são distribuídas entre agentes automatizados Conhecimento do problema encontra-se distribuído entre os agentes Segurança, restrições geográficas, problemas dinâmicos

Fundamentação: Algoritmo Asynchronous Backtracking (AB) Proposto por Yokoo (2001) e sua equipe para resolver problemas de DCSP Agentes executam concorrentemente, de maneira assíncrona e sem controle global Algoritmo completo, sempre encontrando uma solução caso ela exista Características dos agentes: um identificador único um conjunto de agentes diretamente conectados chamados vizinhos (outgoing e incoming) uma variável com domínio e um conjunto de restrições

Fundamentação: Algoritmo Asynchronous Backtracking (AB) Execução do AB:

Fundamentação > Trabalhos Correlatos: SincMobil: Projeto da Universidade Federal de Santa Catarina Visa disponibilizar informações em tempo real sobre o trânsito urbano e o controle em tempo real dos semáforos para garantir o desempenho ótimo da malha viária Sistema de Controle de Tráfego Urbano Utilizando Sistemas Multi-Agentes: Trabalho desenvolvido por Schmitz (2002) Visa utilizar a técnica de Sistemas Multi-Agentes no controle de interseções semafóricas Agentes negociam entre si o direito de passagem dos veículos no cruzamento

Fundamentação > Trabalhos Correlatos: Desenvolvimento de um Algoritmo para Problema de Satisfação de Restrição Distribuída: Trabalho desenvolvido por Tralamazza (2004) Especificou, implementou e analisou empiricamente os algoritmos para resolução de DCSP propostos por Makoto Propôs alterações no AWC original para adaptação da heurística do menor valor utilizado, ordenação das restrições e não armazenamento de nogoods recebidos pelos agentes

Desenvolvimento > Requisitos Principais Implementação de variáveis locais Implementação de restrições dinâmicas Implementação de otimização de DCSP Modelagem de um DSCP para resolução do problema de sincronismo de semáforos viários Permitir a criação de malhas viárias que serão utilizadas no simulador Obtenção de resultados rápidos para estados dos semáforos

Desenvolvimento > Ferramentas Utilizadas Utilização do framework DynDCSP desenvolvido pelo grupo de pesquisa em Inteligência Artificial da FURB Implementação utilizando Java Utilização do ambiente de programação Eclipse

Desenvolvimento > Especificações Modificação no pacote dcsp.alg Pacote dcsp.alg Pacote dcsp.alg modificado

Desenvolvimento > Especificações Variáveis locais Mensagens: addlocalvariables addlocalvariable putvariablevalue dellocalvariable Classe MBaseAlg

Desenvolvimento > Especificações Variáveis locais Exemplo adição de variáveis locais: Iterator it = fsemaphores.iterator(); while (it.hasnext()) { MSemaphore msem = (MSemaphore) it.next(); Message mlvar = createmessage( "addlocalvariable" ); mlvar.put( "receiver", msem.getid() ); mlvar.put( "localvariable", new Variable( "NrCarros" ) ); mlvar.put( "value", new Value( new Double( msem.getqtdecarros() ) ) ); tell(mlvar, true); try {Thread.sleep(500);} catch (InterruptedException e) {} }

Desenvolvimento > Especificações Variáveis locais Exemplo de restrição sobre variáveis locais: Message mdynconst = createmessage("adddyncontraint"); mdynconst.put("receiver", msem.getid()); ConstantExpression ce1 = new ConstantExpression( new Double ( msem.getmaxcarrosespera() ) ); VariableExpression ve1 = new VariableExpression( new Variable ( "AAANrCarros" ) ); GreaterExpression ge = new GreaterExpression( ve1, ce1 ); VariableExpression ve2 = new VariableExpression( new Variable ( msem.getid() ) ); ConstantExpression ce2 = new ConstantExpression( new Integer (MSemaphore.VERDE) ); EqualsExpression ee = new EqualsExpression(ve2, ce2); ImplicationExpression ie = new ImplicationExpression(ge, ee); TTLConstraint co = new TTLConstraint(ie, 0); mdynconst.put("dynconstraint", co); tell(mdynconst, true);

Desenvolvimento > Especificações Restrições Dinâmicas Mensagens: adddynconstraints adddynconstraint deldynconstraint Características: Tempo de vida Thread que limpa restrições que não tem mais validade Classe TTLConstraint

Desenvolvimento > Especificações Otimização Classes MBaseManager e MSaciManager

Desenvolvimento > Especificações Otimização Funcionamento da busca por todas as soluções: enquanto existir solução busca por solução se encontrou solução armazena solução envia solução aos agentes como solução inválida fim se fim enquanto

Desenvolvimento > Especificações CSP do Semáforo Classes CruzamentoCSP e CruzamentoCSPFactory

Desenvolvimento > Especificações Simulador Classes MSimulator e MSemaphore

Implementação > Estudo de Caso Operacionalidade: Arquivo XML com definição do ambiente a ser simulado Classes para execução do CSP Executar SACI Executar framework DynDCSP Escolher CSP do Cruzamento Iniciar execução

Implementação > Estudo de Caso Ambiente a ser simulado:

Implementação > Estudo de Caso Arquivo XML com definição do ambiente <Cidade> <cruzamento id_cruzamento="c1" verde="c1s1"> <semaforo id_local="c1s1" id_superior="c3s9" id_esquerdo="c2s8" id_direito="c0s0" id_inferior="c0s0" largura="10" velocidade="11" comprimento="280" verde="s1" prox_onda="" taxa_entrada="1"/> <semaforo id_local="c1s2" id_superior="c0s0" id_esquerdo="c3s9" id_direito="c0s0" id_inferior="c2s6" largura="10" velocidade="11" comprimento="300" verde="s1" prox_onda="" taxa_entrada="2"/> <semaforo id_local="c1s3" id_superior="c0s0" id_esquerdo="c0s0" id_direito="c2s8" id_inferior="c3s11" largura="10" velocidade="11" comprimento="250" verde="s1" prox_onda="c2s8" taxa_entrada="1"/> <semaforo id_local="c1s4" id_superior="c2s8" id_esquerdo="c0s0" id_direito="c3s9" id_inferior="c0s0" largura="10" velocidade="11" comprimento="400" verde="s1" prox_onda="" taxa_entrada="1"/> </cruzamento>... </Cidade>

Implementação > Estudo de Caso CSP para os cruzamentos public CruzamentoCSP() { super("cruzamentocsp"); Integer verde = new Integer(1); Integer vermelho = new Integer(2); // creating domains Domain semaphoresdomain = new IntegerDomain("semaphoresDomain", verde.intvalue(), vermelho.intvalue()); // Cria 4 cruzamentos. for (int i = 0; i < 4; i++) { for (int j = 0; j < 4; j++) { Variable av = new Variable("c" + (i + 1) + "s" + ((i * 4) + j + 1)); av.setdomain(semaphoresdomain); addvariable(av); } } // Cria restrições para todos os semáforos do cruzamento 1 ArrayList valuesc1 = new ArrayList(0); for (int i = 0; i < 4; i++) { valuesc1.add(new VariableExpression((Variable) getvariable("c1s" + (i + 1)))); } Expression atlc1 = new AtLeastExpression(valuesC1, 1, verde); Expression amc1 = new AtMostExpression(valuesC1, 1, verde); addconstraint(new Constraint(atlC1)); addconstraint(new Constraint(amC1));... }

Implementação > Estudo de Caso Visualização do estado dos semáforos Log com estado dos semáforos Em Thu Jan 27 13:30:29 BRST 2005 c3s9 iniciou fase Vermelho Em Thu Jan 27 13:30:30 BRST 2005 c3s10 iniciou fase Verde Em Thu Jan 27 13:30:34 BRST 2005 c1s1 iniciou fase Vermelho Em Thu Jan 27 13:30:34 BRST 2005 c1s4 iniciou fase Verde Em Thu Jan 27 13:30:34 BRST 2005 c2s5 iniciou fase Vermelho Em Thu Jan 27 13:30:34 BRST 2005 c2s8 iniciou fase Verde

Resultados Implementação de variáveis locais, restrições dinâmicas e busca por todas as soluções Sincronismo dos semáforos. Utilização de uma função auxiliar para decidir qual semáforo ficaria verde caso o CSP não fosse resolvido a tempo Framework DynDCSP implementa algoritmos mas utilizados para resolver um DCSP

Conclusões Modelagem utilizando CSP para o problema de sincronismo de semáforos viários Implementação de variáveis locais, restrições dinâmicas e obtenção de todos os resultados possíveis DCSP pode ser utilizado em vários tipos de problemas sem alteração nos algoritmos

Conclusões > Extensões Simulador: enriquecimento da simulação priorização de veículos especiais desenvolvimento de uma interface gráfica para o simulador definição dinâmica da onda verde Framework: implementação de algoritmos para otimização de DCSP implementação de variáveis locais com domínio

Bibliografia SCHMITZ, Marcelo. Sistema de controle de tráfego urbano utilizando sistemas multi-agentes. 2002. 62 f. Trabalho de Conclusão de Curso (Bacharelado em Ciências da Computação) Centro de Ciências Exatas e Naturais, Universidade Regional de Blumenau, Blumenau. TRALAMAZZA, Daniel. Desenvolvimento de um algoritmo para problema de satisfação de restrição distribuída. 2004. 37 f. Trabalho de Conclusão de Curso (Bacharelado em Ciências da Computação) Centro de Ciências Exatas e Naturais, Universidade Regional de Blumenau, Blumenau. TSANG, Edward. Foundations of constraint satisfaction. London: Academic Press, 1993. ISBN 0-12-701610-4. YOKOO, Makoto. Distributed constraint satisfaction. Berlin: Springer, 2001.