um estudo sobre aprendizado de agentes … · banca examinadora do curso de ciência da...
TRANSCRIPT
0
MARCO ANTÔNIO GOMES DE ASSUNÇÃO
UM ESTUDO SOBRE APRENDIZADO DE AGENTES INTELIGENTES
BASEADO EM AMBIENTES DE TRÂNSITO
CANOAS, 2010
1
MARCO ANTÔNIO GOMES DE ASSUNÇÃO
UM ESTUDO SOBRE APRENDIZADO DE AGENTES INTELIGENTES
BASEADO EM AMBIENTES DE TRÂNSITO
Trabalho de conclusão apresentado para a banca examinadora do curso de Ciência da Computação do Centro Universitário La Salle - Unilasalle, como exigência parcial para a obtenção do grau de Bacharel em Ciência da Computação.
Orientação: Prof. Dr. Mozart Lemos de Siqueira
CANOAS, 2010
2
MARCO ANTÔNIO GOMES DE ASSUNÇÃO
UM ESTUDO SOBRE APRENDIZADO DE AGENTES INTELIGENTES
BASEADO EM AMBIENTES DE TRÂNSITO
Trabalho de conclusão aprovado como requisito parcial para a obtenção do grau de bacharel em Ciência da Computação do Centro Universitário La Salle – Unilasalle.
Aprovado pela banca examinadora em 3 de dezembro 2010.
BANCA EXAMINADORA:
Profª Dra. Patrícia Kayser Vargas Mangan Unilasalle
Prof. Me. Rafael Kunst
Unilasalle
3
Aos meus pais, Lúcia e Edson
pelo amor, carinho e determinação,
à minha avó Iolanda e minhas
irmãs Tamara, Vanessa e Katelen
pelo apoio e dedicação.
4
AGRADECIMENTOS
Agradeço aos meus tios Marta Regina, José Luiz, Antonio Luiz e Regina pelo apoio e
eterna dedicação, incentivo e carinho. Aos meus queridos primos Diogo e Sabrina pela
Amizade.
Agradeço ao meu orientador e amigo Mozart Lemos de Siqueira pela paciência,
comprometimento e dedicação no auxilio ao desenvolvimento desse trabalho.
Aos meus grandes amigos Rodrigo Gomes, André Martins, Vanessa Venturi, Ísis
Vargas, Caroline Venturi, Paola Sbroglio, Camila Hamerski, Daniela Freitas e demais amigos
por todo esse tempo de amizade e dedicação.
Agradeço aos professores Patrícia Kayser, Rafael Kunst e Eder Fontoura pelas
sugestões e melhorias deste trabalho. Aos demais professores que conheci durante a
graduação Javier Lopez, Neide Angelo, Marcos Barreto, Eurico Antunes, Márcia Franco e
Abraham Lincoln que ajudaram e enriqueceram o meu conhecimento.
Agradeço aos meus colegas e amigos Roberto Dedomenico, Marcelo Menger, Leandro
Tavares, Mauricio Perdomo, Fernanda Zerbin, e demais colegas pela amizade e
companheirismo durante esse tempo.
5
RESUMO
Com o passar dos anos ficou mais evidente a necessidade para realização de tarefas com o uso
da tecnologia. Pesquisadores, universidades e empresas voltadas à tecnologia buscam o
aprimoramento das ferramentas. O uso de técnicas de inteligência artificial em ambientes
onde entidades virtuais realizam tarefas com a mesma habilidade humana, torna-se comum.
Esse trabalho propõe-se elaborar um ambiente virtual de trânsito que possibilite analisar a
capacidade de aprendizado do agente inteligente no ambiente de simulação. Além disso,
utilizar os conceitos de aprendizado de máquina, como aprendizado por reforço e aprendizado
supervisionado no desenvolvimento do conhecimento do agente inteligente. Assim como
implementação das redes neurais artificiais que desempenhará no agente inteligente o
reconhecimento dos eventos do ambiente de trânsito e possibilitará ao agente inteligente
desenvolver o seu aprendizado de forma autônoma. Para avaliação dos resultados do
aprendizado do agente no ambiente de trânsito serão aplicados métodos estatísticos como
teoria da probabilidade para analisar a média dos acertos e erros que o agente inteligente
obteve interagindo no ambiente. Ferramentas como JavaNNS que simulam o treinamento das
redes neurais artificiais e realizam cálculos de ajustes de reconhecimento de padrões das redes
neurais artificiais utilizando o algoritmo back-propagation.
Palavras-chave: Redes neurais artificiais. Agentes. Padrão de aprendizado. Aprendizagem de
máquina.
6
ABSTRACT
Over the years it became more evident the need to perform tasks with the use of technology.
Researchers, universities and technology-driven companies seek to improve the tools. The use
of artificial intelligence techniques in virtual environments where entities carry out tasks with
the same human ability, it becomes common. This work proposes to develop a virtual
environment that allows traffic to analyze the learning capacity of the intelligent agent
simulation environment. Furthermore, using the concepts of machine learning, such as
reinforcement learning and supervised learning in the development of the knowledge of
intelligent agent. As implementation of artificial neural networks that perform intelligent
agent in recognition of the events of the traffic environment and enable the intelligent agent to
develop their learning autonomously. To evaluate the results of the learning environment of
the agent in transit will be applied statistical methods such as probability theory to analyze the
average of the rights and wrongs that had intelligent agent interacting in the environment.
Tools that simulate how JavaNNS training of artificial neural networks perform calculations
and adjustments for pattern recognition of artificial neural networks using back-propagation
algorithm.
Key words: Artificial neural networks. Agents. Pattern of learning. Machine learning.
7
LISTA DE FIGURAS
FIGURA 1- A HIERARQUIA DO APRENDIZADO ............................................................. 19
FIGURA 2 - NEURÔNIO BIOLÓGICO ................................................................................. 21
FIGURA 3 – MODELO NÃO-LINEAR DE UM NEURÔNIO .............................................. 22
FIGURA 4 – EXEMPLO DE REDE NEURAL DE MÚLTIPLAS CAMADAS FEED-
FORWARD .............................................................................................................................. 24
FIGURA 6 - ARQUITETURA DO AGENTE INTELIGENTE .............................................. 28
FIGURA 7- MODELO DE SISTEMA DE CONTROLE DE TRÁFEGO DE REGIÃO
URBANA ................................................................................................................................. 37
FIGURA 8 – MODELO DOS MÓDULOS DE AGENTES DE TRÂNSITOS ...................... 38
FIGURA 9 – MODELO DE VEÍCULO AGENTE CONDUTOR .......................................... 39
FIGURA 10 - FLUXO DE SIMULAÇÃO DO SISTEMA ...................................................... 40
FIGURA 11 - ARQUITETURA EM CAMADAS DO SIMULADOR ................................... 46
FIGURA 12 – DIAGRAMA DE PACOTES DO SISTEMA .................................................. 48
FIGURA 13 – DIAGRAMA DE CASO DE USO DO SISTEMA .......................................... 50
FIGURA 14 – DIAGRAMA DE ATIVIDADES DO SIMULADOR ..................................... 52
FIGURA 15 – DIAGRAMA DE CLASSES ATRIBUTOS DO AGENTE DE TRÂNSITO . 53
FIGURA 16- AMBIENTE DO AGENTE DE TRÂNSITO NO SIMULADOR ..................... 55
FIGURA 17 – AGENTE DE TRÂNSITO NO AMBIENTE VIRTUAL ................................ 56
FIGURA 18 - REPRESENTAÇÃO DAS REDES PMC NO JAVANNS ............................... 60
FIGURA 19 - TREINAMENTO DAS REDES PMC E AJUSTES DE PESOS ..................... 60
FIGURA 20 – REPRESENTAÇÃO DA RNAS IDENTIFICANDO SAÍDA VALIDA PARA
REDE ........................................................................................................................................ 61
FIGURA 21 - COMPARAÇÃO DO APRENDIZADO DA RNA COM TOPOLOGIA 12 X
12 X 4 ....................................................................................................................................... 63
FIGURA 22 - COMPARAÇÃO DO APRENDIZADO DA RNA COM TOPOLOGIA 12 X
24 X 24 X 4 .............................................................................................................................. 64
FIGURA 23 - COMPARAÇÃO DO APRENDIZADO DA RNA COM TOPOLOGIA 35 X
12 X 12 X 12 ............................................................................................................................ 64
FIGURA 24 - REPRESENTAÇÃO DO SEMÁFORO EM VERDE NA CAMADA DE
ENTRADA DA RNA ............................................................................................................... 78
8
FIGURA 25 - REPRESENTAÇÃO DO SEMÁFORO EM VERMELHO NA CAMADA DE
ENTRADA DA RNA ............................................................................................................... 78
FIGURA 26 - REPRESENTAÇÃO DA VAGA LIVRE NA CAMADA DE ENTRADA DA
RNA .......................................................................................................................................... 79
FIGURA 27 - REPRESENTAÇÃO DA VAGA PROIBIDA NA CAMADA DE ENTRADA
DA RNA ................................................................................................................................... 79
FIGURA 28 - REPRESENTAÇÃO AGENTE PARADO NA CAMADA DE ENTRADA DA
RNA .......................................................................................................................................... 80
FIGURA 29 - REPRESENTAÇÃO VELOCIDADE BAIXA NA CAMADA DE ENTRADA
DA RNA ................................................................................................................................... 80
FIGURA 30 - REPRESENTAÇÃO VELOCIDADE MÉDIA NA CAMADA DE ENTRADA
DA RNA ................................................................................................................................... 81
FIGURA 31 - REPRESENTAÇÃO VELOCIDADE ALTA NA CAMADA DE ENTRADA
DA RNA ................................................................................................................................... 81
FIGURA 32 - REPRESENTAÇÃO DE DIREÇÃO PARA FRENTE NA CAMADA DE
ENTRADA DA RNA ............................................................................................................... 82
FIGURA 33 - REPRESENTAÇÃO DE DIREÇÃO PARA TRÁS NA CAMADA DE
ENTRADA DA RNA ............................................................................................................... 82
FIGURA 34 - REPRESENTAÇÃO DE DIREÇÃO PARA DIREITA NA CAMADA DE
ENTRADA DA RNA ............................................................................................................... 83
FIGURA 35 - REPRESENTAÇÃO DE DIREÇÃO PARA ESQUERDA NA CAMADA DE
ENTRADA DA RNA ............................................................................................................... 83
9
LISTA DE TABELAS
TABELA 1 – INTERVALO DE TEMPO ENTRE OS SEMÁFOROS ................................... 55
TABELA 2 – COMPARAÇÃO DE ACERTOS DE APRENDIZADOS NAS REDES
NEURAIS ARTIFICIAIS ........................................................................................................ 65
TABELA 3 - INTERVALO DE CONFIANÇA NAS TOPOLOGIAS DAS RNAS. .............. 65
10
LISTA DE ABREVIATURAS E SIGLAS
AIA Agentes Inteligentes Artificiais
AIV Agentes Inteligentes Virtuais
AM Aprendizado de Máquina
ANS Aprendizado Não Supervisionado
AO Aprendizado Observacional
API Application Programming Interface
APR Aprendizado por Reforço
AS Aprendizado Supervisionado
AT Agente de Trânsito
AV Ambiente Virtual
DAO Data Access Object
EA Elemento de Aprendizado
EAD Educação a Distância
ED Elemento de Desempenho
IA Inteligência Artificial
JAVANNS Java Neural Network Simulator
JPA Java Persistence API
MOR Mapeamento Objeto Relacional
MVC Model-View-Controller
PMC Perceptrons Múltiplas Camadas
POA Programação Orientada a Agentes
RNA Redes Neurais Artificiais
SNNS Stuttgart Neural Network Simulator
UML Unified Modeling Language
11
SUMÁRIO
1. INTRODUÇÃO ................................................................................................................ 13
1.1 Objetivos .......................................................................................................................... 14
1.2 Estrutura do texto ........................................................................................................... 15
2. APRENDIZADO DE MÁQUINA ................................................................................... 16
2.1 Métodos de aprendizagem ............................................................................................. 16
2.1.1 Aprendizado por reforço ........................................................................................... 17
2.1.2 Aprendizado observacional ...................................................................................... 17
2.1.3 Aprendizado supervisionado .................................................................................... 18
2.1.4 Aprendizado não-supervisionado, ............................................................................ 18
2.2 Redes neurais artificiais ................................................................................................. 20
2.2.1 Neurônios biológicos e artificiais ............................................................................. 21
2.2.2 Redes perceptrons de múltiplas camadas ................................................................. 22
2.3 Considerações sobre aprendizado de máquina ............................................................ 24
3. AGENTES INTELIGENTES ARTIFICIAIS .................................................................. 26
3.1 Agentes inteligentes virtuais .......................................................................................... 27
3.2 Ambientes virtuais .......................................................................................................... 29
3.3 Aplicações com agentes inteligentes .............................................................................. 31
3.3.1 Avaliação e futuro dos agentes inteligentes em ambientes virtuais ......................... 33
3.4 Ambientes com agentes de trânsito ............................................................................... 34
3.4.1 Aplicação de agentes no trânsito .............................................................................. 35
3.4.2 Comportamento do agente veículo no trânsito ......................................................... 39
3.4.3 Processo de simulação do trânsito ............................................................................ 40
3.4.4 Aprendizado por reforço em agentes de trânsito ...................................................... 41
3.4.5 Considerações e avaliação sobre agente de trânsito ................................................. 41
4. DESENVOLVIMENTO ................................................................................................... 43
4.1 Metodologia ..................................................................................................................... 43
4.1.1 Características do agente inteligente para aplicação ................................................ 43
4.1.2 Critérios para classificação das redes neurais artificiais .......................................... 44
4.1.3 Ferramentas de aplicação nas redes neurais artificiais ............................................. 45
4.2 Arquitetura do sistema ................................................................................................... 46
4.3 Desenvolvimento do ambiente de trânsito .................................................................... 49
12
5. AVALIAÇÃO E RESULTADOS .................................................................................... 57
5.1 Desempenho do aprendizado do agente de trânsito .................................................... 57
5.2 Treinamento da RNAs para ambiente de trânsito ...................................................... 58
5.3 Comparações com outros trabalhos .............................................................................. 66
6. CONCLUSÃO E TRABALHOS FUTUROS .................................................................. 67
REFERÊNCIAS ....................................................................................................................... 69
APÊNDICE A - PADRÕES DE ENTRADAS E SAÍDAS DESEJADAS DAS RNAS ......... 72
APÊNDICE B – REPRESENTAÇÃO DA RNA TOPOLOGIA 35 X 12 X 12 X 12 ............. 78
13
1. INTRODUÇÃO
Estudos sobre inteligência artificial (IA) vêm sendo abordados em diferentes áreas de
pesquisa cientificas. As técnicas de IA possibilitam a criação de sistemas inteligentes que
podem auxiliar nas pesquisas sobre comercio eletrônico, educação a distância, jogos
eletrônicos, ambientes virtuais entre outros.
Dessas aplicações o desenvolvimento de ambientes virtuais possibilita um estudo que
analisa o comportamento de uma entidade no ambiente virtual de acordo com as interações
obtidas com eventos do ambiente virtual. Os resultados das amostras dessas analises podem
auxiliar no comportamento de aplicações que são utilizadas no mundo real.
Segundo os estudos sobre IA aprendizagem de máquina possibilita o desenvolvimento
de sistema inteligente e técnica de forma autônoma, assim o sistema tem a capacidade de
aprender e reconhecer padrões de forma automática. Aprendizagem de máquina possui
diferentes conceitos para ser aplicada em sistema inteligente, como aprendizado por reforço,
aprendizado supervisionado entre outras.
Conforme os estudos em aplicações de sistemas inteligentes citam-se os conceitos
sobre agentes inteligentes artificiais (AIA) vem crescendo na área cientifica sendo um dos
interesses, desenvolver o aprendizado autônomo nos AIA, semelhante ao comportamento dos
seres humanos.
Para este trabalho será apresentado à proposta de analise de aprendizado de um agente
inteligente no ambiente virtual de trânsito. Nos estudos apresentados nos trabalhos
relacionados a técnicas de sistemas com agentes é adequada para resolução de sistemas de
gestão de trânsito e problema de congestionamento em cruzamentos e demais trechos das
rodovias. Além disso, apresenta resultados de pequenas amostras nas simulações que pode ser
aplicadas nos ambientes reais de trânsito.
Nesse trabalho será abordado o comportamento do agente inteligente conforme o
conceito de aprendizado por reforço e será observada capacidade de interação com o ambiente
e será analisado o aprendizado por tentativa e erro de acordo com as iterações no ambiente
virtual.
O problema desta pesquisa é capacitar um agente inteligente artificial à desenvolver o
seu conhecimento de forma autônoma no ambiente que está interagindo. Sendo que através
dessas interações execute suas tarefas com mais eficiência sem o auxilio de outras entidades.
14
Dentre as técnicas de inteligência artificial estudas para resolução desse estudo,
algoritmos genéticos, programação orientada a agentes, teoria dos jogos e redes neurais
artificiais (RNA) a proposta na utilizada da RNA foi considerada adequada conforme seu
reconhecimento de padrões de dados, comportamento semelhante às estruturas neurológicas
dos seres humanos e sua eficiência nos ajustes de erros desenvolvidos pelo algoritmo back-
propagation. O modelo da RNA implementada no trabalho Perceptron de múltiplas camadas.
Para desenvolvimento do ambiente virtual do trânsito será utilizado os conceito de
modelagem UML, linguagem de programação orientada a objeto Java e frameworks para
auxiliar no desenvolvimento do protótipo. Para extrair os resultados do agente inteligente será
avaliado o aprendizado do agente através dos conceitos de estatística da teoria da
probabilidade para avaliar a média do aprendizado do agente por rotas no ambiente.
Para avaliar o resultado das RNA serão simuladas as topologias de três RNAs para
avaliar qual RNA o agente inteligente pode desenvolver o seu conhecimento do ambiente de
forma mais eficiente.
1.1 Objetivos
Apresentar estudos sobre aprendizado por reforço (APR) e o aprendizado
observacional (AO) para capacitar à evolução do agente inteligente no ambiente de simulação.
Analisar o processo de aprendizado do agente inteligente no ambiente de trânsito e
extrair resultados do desempenho de aprendizagem do agente inteligente nesse cenário.
Desenvolver as RNAs que possibilita ao agente evoluir o seu processo de
aprendizagem no ambiente de simulação, treinar o desempenho de aprendizagem da RNA e
avaliar a taxa de aprendizado na aplicação.
Elaborar um protótipo que desenvolva simulação do comportamento do agente
inteligente em um ambiente virtual de trânsito.
15
1.2 Estrutura do texto
Essa pesquisa foi dividida na seguinte ordem. No capítulo 2 serão abortadas as
técnicas de aprendizado de máquina. Serão explicados os conceitos sobre aprendizado
supervisionado (AS), não-supervisionado (ANS), APR e AO. Nesse capítulo ainda serão
citados os conceitos sobre redes neurais artificiais, arquitetura da rede Perceptrons de
múltiplas camadas (PMC) e o algoritmo back-propagation.
No capítulo 3 são apresentados os conceitos e arquitetura sobre AIA e as
características dos agentes e o seu comportamento em diferentes ambientes. Nesse capítulo
também serão abordados as aplicações de agentes em simulações de trânsito e a forma que o
agente executa o seu aprendizado nesse AV. Assim como citar trabalhos relacionados com a
utilização de agentes inteligentes com a utilização de diferentes técnicas de IA.
O capítulo 4 apresenta a proposta de solução para o projeto, o cenário os quais serão
codificados as simulações e as técnicas de inteligência artificial que serão utilizadas. Nesse
capítulo será explicado o desenvolvimento do protótipo. Também será explicado o
comportamento dos agentes no experimento de trânsito, forma que cada entidade do ambiente
de trânsito deve se comportar conforme a interação com o agente no cenário apresentado.
No capítulo 5 são discutidas as métricas de avaliação para a solução do projeto. Foram
elaborados gráficos com os resultados do desempenho obtidos no experimento das RNAs.
Além disso, um estudo comparativo entre os métodos de aprendizado por reforço no cenário
de trânsito com estudo feito sobre agentes nos trabalhos relacionados.
O capítulo 6 será finalizado com a conclusão citando os conceitos de agentes, RNAs e
o modelo de aprendizado que será utilizado na solução desse trabalho e apresentação de
propostas para trabalhos futuros.
16
2. APRENDIZADO DE MÁQUINA
Segundo Monard e Baranauskas (2005) aprendizado de máquina (AM) é uma área da
Inteligência Artificial (IA) cujo objetivo é o desenvolvimento de técnicas computacionais
sobre o aprendizado bem como a construção de sistemas capazes de adquirir conhecimento de
forma automática. Um sistema de aprendizado é um programa de computador que toma
decisões baseado em experiências acumuladas por meio de solução bem-sucedida de
problemas anteriores. Existem diversos paradigmas de aprendizado de máquina tais como:
Simbólico (aprendizado por reforço e não supervisionado) e Conexionista (aprendizado
supervisionado).
• Simbólico: Compreende a construção da representação de conceitos a partir da análise
de exemplos. Neste paradigma o modelo de conhecimento é representado por meio de
expressões lógicas, árvores, regras, redes semânticas, dentre outras (REZENDE,
2005);
• Conexionista: Utiliza modelos matemáticos simplificados inspirados no modelo
biológico do sistema nervoso para tentar abstrair mapeamentos de novos exemplos nas
saídas desejadas ou agrupamentos de exemplos similares (REZENDE, 2005).
2.1 Métodos de aprendizagem
A habilidade de aprender deve fazer parte de qualquer sistema que reivindique possuir
inteligência num sentido geral. De fato, no nosso mundo de interpretações e símbolos, a noção
de intelecto imutável parece ser uma contradição. Agentes inteligentes devem ser capazes de
se modificarem ao longo do curso de suas interações com o mundo, bem como pela
experiência de seus próprios estados e processos internos (LUGER, 2004).
Herbert apud Luger (2004 p. 334) descreve o aprendizado com que o sistema “melhore
o seu desempenho na segunda vez”. Selecionar as mudanças possíveis de um sistema, de
modo que ele melhore o seu desempenho, é uma tarefa difícil. As pesquisas em aprendizado
devem lidar com a possibilidade de que as mudanças possam, na realidade, piorar o
desempenho do sistema. Outra questão para um algoritmo de aprendizagem é prevenir e
detectar tais problemas (LUGER, 2004).
17
2.1.1 Aprendizado por reforço
O Aprendizado por reforço (APR) se aplica principalmente à problema de aprendizado
envolvendo tarefas de controle nos quais são permitidos à rede errar durante o processo de
interação com o sistema a ser controlado. De acordo com o trabalho original de Barto, Sutton
e Anderson apud Braga, Carvalho e Ludemir (2007), por exemplo, utiliza aprendizado por
reforço para o controle de um pêndulo invertido conectado a um carrinho que pode mover-se
horizontalmente.
Segundo Hacibeyoglu e Arslan (2010) aprendizado por reforço é aprendizado de
máquina que um agente tem o comportamento por meio de interações de tentativa e erro com
um ambiente dinâmico, que carece de exemplos de ensino. No APR o agente interage com os eventos do ambiente usando a sua percepção e os
mecanismos de ação. Primeiro o agente percebe o estado atual do ambiente através de seus
sensores, em seguida, avalia as informações que receberá para selecionar uma das possíveis
ações que possa tomar no ambiente, após a ação tomada, recebe o resultado do ambiente a
partir da sua ação (HACIBEYOGLU; ARSLAN, 2010).
2.1.2 Aprendizado observacional
De acordo com Bandura e Walters apud Luaces, Gayoso e Suarez (2006) a
aprendizagem observacional (AO) é formulada, o que significa aprender por imitação.
Segundo Bandura e Walters apud Luaces, Gayoso e Suarez (2006) a aprendizagem
observacional exige decodificação (compreensão do que ele observa), então uma avaliação
(compreender as conseqüências: vantagens e desvantagens da aplicação dos comportamentos
observados) e, finalmente, uma execução (ação com o comportamento observado).
De acordo com Luaces, Gayoso e Suarez (2006) para aprendizagem observacional
existem quatro etapas importantes para realizar o processo do aprendizado:
1. Perceber aspectos relevantes sobre o comportamento da outra entidade; 2. Memorizar o comportamento observado; 3. Repitir a ação observada; 4. Estar motivado para aprender e agir em conseqüência.
18
Para isso, a aprendizagem por observação ocorre quando o agente observa uma ação
entre outros agentes que se enquadram em seu campo visual (etapa 1). Neste caso, uma vez
terminado ação, a técnica de aprendizado do observador prevê o resultado e ajustar a sua
configuração de conhecimento baseado no resultado observado (etapa 2). Posteriormente,
quando o agente for realizar a sua ação, o agente será capaz de aplicar os conhecimentos
adquiridos (etapa 3). Além disso, o agente analisa constantemente o seu campo visual, não
apenas observando ações que ocorrem a sua frente, mas também outros eventos para observar
a fim de acelerar a sua própria etapa de conhecimento (etapa 4).
2.1.3 Aprendizado supervisionado
O aprendizado supervisionado (AS) se aplica a problemas em que se deseja obter um
mapeamento entre padrões de entrada e saída. Os exemplos mais conhecidos de algoritmos
para aprendizado supervisionado são a regra delta (WIDROW; HOFF, apud BRAGA;
CARVALHO; LUDEMIR, 2007, p. 13) e a sua generalização para redes de múltiplas
camadas, o algoritmo back-propagation (RUMELHART; MCCLELLAND, apud
BRAGA;CARVALHO; LUDEMIR, 2007, p. 13).
O AS pode ser implementado basicamente de duas formas: off-line e on-line. Para
treinamento off-line, os dados do conjunto de treinamento não mudam, e, uma vez obtida uma
solução para rede, esta deve permanecer fixa. Caso novos dados sejam adicionados, um novo
treinamento, envolvendo também os dados anteriores, deve ser realizado para se evitar
interferência no treinamento anterior. Por sua vez no aprendizado on-line o conjunto de dados
muda continuamente, e a rede deve estar em contínuo processo de adaptação (BRAGA;
CARVALHO; LUDEMIR, 2007).
2.1.4 Aprendizado não-supervisionado,
O aprendizado não-supervisionado (ANS) se aplica a problemas que visam à
descoberta de características estatisticamente relevantes nos dados de entrada, como, por
exemplo, a descoberta de agrupamentos, ou classes. Os modelos mais conhecidos de
19
aprendizado não supervisionado são os mapas auto-organizativos de (KOHONEN, apud
BRAGA; CARVALHO; LUDEMIR, 2007, p. 17) e os modelos (CARPENTER;
GROSSBERG, apud BRAGA; CARVALHO; LUDEMIR, 2007 p. 17). Os algoritmos
baseados na regra de Hebb (HEBB, apud BRAGA; CARVALHO; LUDEMIR, 2007 p. 17)
são também classificados como não-supervisionados, embora necessitem também de pares de
entrada e saída para o treinamento. No ajuste dos pesos feitos independentemente de qualquer
critério de desempenho da resposta da rede, por meio de um mecanismo local as sinapses.
Segundo Luger (2004, p. 372) a aprendizado não-supervisionado não existe o conceito
de professor como tem no aprendizado supervisionado o próprio algoritmo de aprendizado
avalia os conceitos.
Para Braga, Carvalho e Ludemir (2007) no treinamento do ANS somente os padrões
de entrada estão disponíveis para a rede ao contrário do AS cujo conjunto de treinamento
possui pares de entrada e saída.
Aprendizado Indutivo
Aprendizado Supervisionado Aprendizado
Não-Supervisionado
Classificação Regressão Clustering
Outras
Regras de Associação
Figura 1- A hierarquia do aprendizado Fonte: Rezende, 2005.
A figura 1 apresenta a hierarquia do aprendizado, a seguir é descrita as características
de cada tipo de aprendizado:
• Aprendizado Indutivo: no aprendizado indutivo, que é base para os principais
algoritmos de aprendizado de máquina, é comum que o modelo de conhecimento seja
abstraído a partir de sucessivas iterações sobre o conjunto de exemplos históricos
disponíveis (REZENDE, 2005). Possui sub-divisão em AS e ANS;
20
• Aprendizado Supervisionado: nessa forma de aprendizado indutivo, os exemplos
históricos disponíveis devem conter qual a informação esperada a ser produzida pelo
modelo de conhecimento que está sendo construído (REZENDE, 2005);
- Classificação: analisa um conjunto de dados de treinamento (um conjunto de
objetos cuja classificação já é conhecida) e constrói um modelo para cada classe
baseado nas características dos dados (REZENDE, 2005);
- Regressão: é conceitualmente similar à classificação. A principal diferença é
que o atributo a ser predito é contínuo em vez de discreto (REZENDE, 2005);
• Aprendizado Não-Supervisionado: nesse modelo de aprendizado, os algoritmos
procuram agrupar os exemplos históricos em função da similaridade que eles
apresentem entre si. Desta forma, exemplos mais similares tendem a ficar em um
mesmo grupo, enquanto que exemplos diferentes tendem a ser organizados em grupos
distintos (REZENDE, 2005);
- Clustering (Agrupamento): Este tipo de aprendizado é aplicável em
problemas que visam à descoberta de características relevantes nos dados de entrada
como, por exemplo, nas tarefas de agrupamento de dados (REZENDE, 2005);
- Regras de Associação: caracteriza o quanto a presença de um conjunto de
atributos nos registros de uma base de dados implica a presença de outro conjunto
distinto de atributos nos mesmos registros da base de dados (REZENDE, 2005).
2.2 Redes neurais artificiais
As redes neurais artificiais (RNAs) são modelos matemáticos que se assemelham às
estruturas neurais biológicas e que tem capacidade computacional adquirida por meio de
aprendizado e generalização (BRAGA; CARVALHO; LUDEMIR, 2007). O aprendizado em
RNAs está normalmente associado à capacidade das mesmas adaptarem os seus parâmetros
como conseqüência da sua interação com o meio externo. O processo de aprendizado é
interativo e por meio dele a RNA deve melhorar o seu desempenho gradativamente à medida
que interage com o meio externo.
21
2.2.1 Neurônios biológicos e artificiais
Nessa seção serão explicados os modelos que foram aplicados para desenvolver os
conceitos das redes neurais artificiais a partir dos modelos dos neurônios biológicos e as
funções que foram representadas nos neurônios artificiais.
No cérebro humano, os neurônio são divididos em 3 seções: dendritos, corpo da célula
e axônio. Os dendritos têm a função de receber as informações (ou impulsos nervosos) vindas
de outros neurônios e encaminhá-las até o corpo da célula, onde a informação é processada e
gera novos impulsos. Assim, os impulsos são transmitidos para demais neurônios, passando
pelo axônio até os dendritos dos outros neurônios. O caminho onde é passada a informação do
axônio de um neurônio até o dendrito do próximo é chamado de sinapse, e é pelas sinapses
que os nodos se unem formando as redes neurais (BRAGA; CARVALHO; LUDEMIR,
2007). A figura 2 representa a estrutura de um neurônio.
Figura 2 - Neurônio biológico Fonte: Neves, 2006.
O neurônio artificial é uma estrutura lógica e matemática que reproduz a simulação do
comportamento e das funções de um neurônio biológico. Assim sendo, os dendritos são
substituídos por entradas, cujas ligações com o corpo celular artificial são realizadas através
de elementos chamados de peso (simulando as sinapses). Os estímulos captados pelas
entradas são processados pela função de soma, e o limiar de disparo do neurônio biológico foi
substituído pela função de transferência (BRAGA; CARVALHO; LUDEMIR, 2007).
22
Na figura 3 a estrutura do modelo do neurônio artificial e a substituição das funções
dos neurônios biológicos por funções matemáticas e lógicas para reprodução do neurônio
artificial são apresentadas.
Figura 3 – Modelo não-linear de um neurônio Fonte: Haykin, 2001.
• Entrada fixa (Xi): são valores dos quais são fornecidos pelas funções de ativação ou de
outra fonte de dados, que são passados de um neurônio para outro durante o
treinamento;
• Sinais de entrada: x1, x2, ...xn são as variáveis dos sinais de entrada;
• Bias(bk): o bias funciona aumentando ou diminuindo a influência do valor da entrada
líquida para a ativação do neurônio;
• Pesos sinápticos (Wki): são os elementos os quais possuem conhecimento da rede, que
são adaptados durante os processos de treinamentos da rede;
• Junção aditiva: A junção aditiva possui o propósito de somar todos os sinais de
entrada (xj) ponderados pelos pesos sinápticos de cada neurônio;
• Função de ativação(φ): calcula o valor de ativação de cada neurônio, em função de
seus pesos e dados de entrada;
• Saída (Yk): é a saída fornecida pela RNA como resposta aos cálculos realizados entre
os valores de entrada, pesos e funções de ativação: y = F(WX).
2.2.2 Redes perceptrons de múltiplas camadas
Segundo Massad et al. (2004), para que uma rede neural artificial tenha alguma
habilidade em solucionar problemas práticos, é necessário que ela represente funções lineares
23
e não-lineares, assim como o algoritmo de treinamento deve ser necessariamente robusto e
genérico, não restringindo a eficácia na resolução de problemas. Demonstrou-se que redes
neurais artificiais de múltiplas camadas possuem essas características.
O algoritmo de back-propagation foi pioneiramente proposto, (WERBOS, apud
BRAGA; CARVALHO; LUDEMIR, 2007) e depois redescoberto e popularizado por
(RUMELHART; MCCLELLAND, apud BRAGA; CARVALHO; LUDEMIR, 2007) e seus
colaboradores.
Duas características das RNAs PMCs são treinadas com o algoritmo back-
propagation, que popularizaram e difundiram seu uso nas mais diversas áreas científicas, foi
simplicidade computacional para ajuste dos pesos sinápticos e a capacidade de representar
relações não-lineares e lineares (MASSAD et al., 2004).
Segundo Steiner (2006) o algoritmo back-propagation decorre da minimização do erro
quadrático entre as saídas desejadas e saídas da rede localizando parâmetros que conduzam o
erro quadrático assintóticamente para zero. Para Steiner (2006), o número de camadas ou de
número de neurônios adequados não é de simples determinação. Podem-se usar diferentes
conjuntos de soluções inicias na busca por uma melhor solução para o problema.
Uma rede feed-forward com múltiplas camadas pode ser treinada com o algoritmo
back-propagation, adotando a função sigmóide que, a partir de entradas variando de
(− ∞,+∞ ) gera saídas do tipo “0” ou “1” (STEINER, 2006).
A figura 4 apresenta a estrutura da rede PMC feed-forward com 8 entradas na
primeira camada, uma camada intermediária com 8 neurônios e 4 neurônios na camada de
saídas.
24
Camada de Entrada Camada Intermediária Camada de Saída
Figura 4 – Exemplo de rede neural de múltiplas camadas feed-forward Fonte: traduzido de Hacibeyoglu e Arslan, 2010
2.3 Considerações sobre aprendizado de máquina
Nesse capítulo foram abordados os conceitos sobre aprendizado de máquina, os
modelos apresentados, podem desenvolver o comportamento para que um sistema inteligente
possa abstrair o seu conhecimento.
De acordo com Braga, Carvalho e Ludemir (2007) o aprendizado supervisionado
requer um treinador ou “professor” para que os resultados finais possam ser treinados
conforme os valores informados nas saídas desejadas. Segundo Braga, Carvalho e Ludemir
(2007) o aprendizado não-supervisionado possui características diferente, pois, não utiliza o
conceito de treinador para obter os resultados esperados na saída da rede.
Para Hacibeyoglu e Arslan (2010) o aprendizado por reforço possui características que
possibilita a base de conhecimento corrigir os valores conforme a interação que ocorre para
um determinado sistema inteligente recebe uma penalidade, o qual ocorre em redução na taxa
de aprendizado do sistema e recebe uma taxa de acerto de aprendizado quando obtém o
resultado correto no sistema. Esse comportamento de alteração de valores da base de
conhecimento é caracterizado por ser aprendizado por tentativa e erro.
Segundo Luaces, Gayoso e Suarez (2006) aprendizado observacional possibilita que
um sistema inteligente, através do processo de imitação consiga desenvolver uma base de
25
conhecimento assimilando o comportamento de outra entidade sem que necessite interagir
com ela diretamente.
Segundo Braga, Carvalho e Ludemir (2007), redes neurais artificiais reproduzem na
forma lógica e matemática os conceitos dos neurônios biológicos. De acordo com Massad et
al. (2004) através das funções lineares e não-lineares se obtém resultados eficientes para
resolução de problemas práticos.
Os conceitos de aprendizado de máquinas e redes neurais artificiais representam
soluções que possibilitam que sistemas inteligentes desenvolvam seu comportamento de
forma autônoma e eficaz.
As técnicas de inteligência artificial apresentadas nesse capítulo serão aplicadas para
resolução do problema de pesquisa desse trabalho que será explicado no capitulo 4 com o
desenvolvimento do agente de trânsito.
26
3. AGENTES INTELIGENTES ARTIFICIAIS
Neste capítulo será abordado o conceito sobre agente inteligente e seu comportamento
característico com outros agentes e sua interação com o ambiente. O capítulo também
apresentará os trabalhos relacionados e o estado da arte sobre esse estudo de pesquisa.
Assim como a IA, ainda não há um consenso entre as diversas definições fornecidas
por diferentes autores para os agentes. Na verdade o que se percebe é que os conceitos são
elaborados de acordo com o objetivo que se quer atingir com o desenvolvimento de um
agente.
Um agente é uma entidade real ou virtual, capaz de agir num ambiente, de se
comunicar com outros agentes, que possui recursos próprios, é capaz de perceber seu
ambiente (FERBER; GASSER, apud REZENDE, 2005) e eventualmente se reproduzir e cujo
comportamento tende a atingir seus objetivos. Utilizando as competências e os recursos que
dispõe e levando em conta resultados de suas funções de percepção e comunicação, bem
como suas representações internas (FERBER; GASSER, apud REZENDE, 2005).
Em Sowa (2002) encontra-se a definição de que, lingüisticamente, um agente é uma
entidade animada (por animação entenda-se o princípio que determina que uma entidade é
“viva”) que pode executar uma ação, e que uma ação é um evento iniciado ou realizado por
alguma entidade. O comportamento apresentado por esta definição pode ser quebrada
definindo-se as características necessárias a uma entidade para que ela represente um agente.
De acordo com Wooldridge (1995) um agente é "um sistema de computador baseado
em hardware ou software (mais usual) que desfruta as propriedades de: autonomia,
capacidade social, reatividade e pró-atividade". Já Martins (2001) considera que, sob o
enfoque cognitivo, um software pode ser considerado agente se possuir qualidades que
evidenciem seu comportamento inteligente, tais como as apresentadas a seguir:
• Abstração: Detectar a relevância da informação ou ação para uma situação específica;
• Aprendizagem: Acumular conhecimento baseado em experiências anteriores e
modificar o seu comportamento em resposta a novas situações;
• Autonomia: Operar e controlar suas próprias ações ou estados internos, sem a
intervenção humana ou de outros agentes;
• Coerência: Resolver conflitos entre objetivos concorrentes ou conflitantes;
27
• Comportamento adaptativo: Examinar o ambiente externo e os processos efetuados
anteriormente sob condições similares e adaptar suas ações futuras com o intuito de
aumentar a probabilidade de alcançar os objetivos;
• Comunicabilidade: Comunicar-se com outros agentes, incluindo pessoas, com o
objetivo de obter informações ou conseguir ajuda para atingir suas metas.
Um agente de aprendizado pode ser dividido em quatro componentes conceituais,
como mostra a figura 5. O elemento de aprendizado (EA), responsável pela execução de
aperfeiçoamento e o elemento de desempenho (ED), responsável pela seleção de ações
externas. O EA utiliza realimentação do crítico sobre como o agente está funcionando e
determina como o ED funcionará no futuro (RUSSEL; NORVIG, 2004).
Crítico
elemento deaprendizagem
Gerador de Problema
elemento de
desempenho
Padrão de Desempenho
Sensores
realimentação
objetivos de aprendizagem
Alterações
Conhecimento
Atuadores
Am
bie
nte
Agente
Figura 5 – Agentes com aprendizagem Fonte: Russel e Norvig, 2004
3.1 Agentes inteligentes virtuais
No trabalho proposto por Li e Miao (2006), Agentes Inteligentes Virtuais (AIV)
implementa os objetos inteligentes humanos com agentes inteligentes. O comportamento de
um agente com inteligência autônoma deve refletir características da sua inteligência.
Geralmente considera-se que uma determinada circunstância, um agente deve ser previsto
com as características como citadas abaixo:
• Autonomia: agentes são capazes de realizar certos comportamentos de acordo com a
sua intenção, fé ou hábito sem intervenção direta ou supervisão de humanos ou outros
agentes;
28
• Reatividade: agentes não só entendem e influenciam o ambiente, mas reagem de
acordo com a mudança do ambiente;
• Sociabilidade: agentes devem ser capazes de se comunicar com outros agentes pela
transmissão de informações e têm capacidade de colaboração forte;
• Independência: agente tem a característica de executar sua missão de forma
independente que possibilita que o agente não necessite de colaboração de outros
agentes;
• Evolução: Durante a interação, os agentes devem ser capazes de se adaptar ao meio
ambiente, auto-aprendizagem e auto-evoluir passo a passo.
De acordo com as características citadas por Martins (2001), e por Li e Miao (2006)
agentes podem desenvolver a capacidade de raciocinar de forma autônoma em ambientes
desconhecidos e influenciar esse meio. Assim como comunicar-se com outros agentes e obter
informações que possam ajudar a conquistar um objetivo. A figura 6 mostra a arquitetura do
agente e a forma que a fonte externa e o usuário alimentam a base de conhecimento e essa
interage com o comportamento do agente através da ação, decisão e percepção do ambiente.
Arquitetura do Agente
Base de Conhecimento
Percepção
Decisão
Ação
Usuário
RepresentaçãoGráfica
Fonte Externa
Figura 6 - Arquitetura do agente inteligente Fonte: Trojahn; Osório, 2003
29
3.2 Ambientes virtuais
Nessa seção serão contextualizados os conceitos sobre ambientes virtuais e suas
influências que podem determinar a alteração no comportamento de um agente ou de multi-
agentes no desenvolvimento das ações e percepções no ambiente.
Segundo Wooldridge (1995), um agente está situado em algum ambiente. DAMICO
(1995) entende que o ambiente pode ser visto como tudo o que envolve um agente. Através do
ambiente ocorre a dispersão do controle, dos dados e do conhecimento pela comunidade de
agentes. O mundo refere-se à descrição completa e instantânea do ambiente em que um agente
encontra-se.
Segundo Russel e Norving (2004) cada implementação de um sistema multi-agente
possui as suas particularidades. De fato não existe uma única forma de construir um ambiente
de execução de agentes. Podem-se citar alguns tipos de ambientes: Acessível x Inacessível,
Determinístico x Não Determinístico, Episódico x Não Episódico, Estático x Dinâmico e
Discreto x Contínuo.
No quadro1 é apresentado um resumo sobre o comportamento do agente em cada um
dos cenários que Russel e Norving definiram sobre cada um dos tipos de ambientes citados o
ambiente de tarefas são os objetivos que devem ser realizados no ambiente. Os sensores do
ambiente têm comportamento que podem influenciar no ambiente parcialmente ou totalmente,
assim como as ações do ambiente que podem repetitivas no ambiente ou podem ser alteradas
conforme um novo evento e apresentado.
30
Quadro 1 - Exemplos de ambientes de tarefas e suas características Fonte: Adaptado de Russel e Norvig, 2004
Segundo Li e Miao (2006) ambientes virtuais são interações de um Simulador de
ambientes computadorizados que combinam vários sentidos humanos, tais como auditivos,
táteis e visuais. De acordo com Li e Miao (2006) os usuários podem interagir no ambiente
virtual utilizando dispositivos que interajam com o simulador.
Segundo Luaces, Gayoso e Suarez (2006) os AV são freqüentemente usados para a
simulação de situações onde muitos agentes interagem entre si, com ou sem interação de
usuários. Para Luaces, Gayoso e Suarez (2006) AV foi definido como interações geradas
computacionalmente que realizam visualizações e sensações em tempo real de ambientes
reais.
De acordo com Gelenbe, Seref e Xu (2001) conforme a adaptação no AV o agente vai
desenvolvendo seu próprio modelo de aprendizado conforme o avanço da simulação.
Segundo Wei, Han e Fan (2008) agente podem ser vistos como uma entidade que
residem e que move-se em algum ambiente, e pode perceber um ambiente particular e analisar
o seu próprio comportamento e de outras entidades no ambiente. O quadro 2 apresenta
comparações entre ambientes de simulação com agentes inteligentes.
31
Simulador Interação Plataforma Ambiente Agente Técnicas de
Inteligência Artificial
Jogos eletrônicos Usuário 2D Entretenimento Agente Redes Neurais Artificiais
Xpilot Autônomo/
Usuário
2D Combate Militar Agente Algoritmos Genéticos
Tráfego Rodoviário Autônomo 2D Trânsito Agente Aprendizado por Reforço
Conflitos entre Agentes Autônomo 2D Conflitos de
Emoções
Agente Aprendizado
Observacional
Tráfego Urbano Autônomo Trânsito Muti-
agentes
Programação orientada a
agentes
Quadro 2 - Comparações entre ambientes virtuais Fonte: Autoria própria, 2010
3.3 Aplicações com agentes inteligentes
Segundo a proposta de Luaces, Gayoso e Suarez (2006) os AV são freqüentemente
usados para a simulação de situações em que muitos agentes interagem entre si, com ou sem
interação do usuário.
Em muitos casos, a inteligência é necessária para os agentes não só a capacidade de
sentir o ambiente, mas também tomar decisões e agir como um resultado, mas incluindo
também a capacidade de aprendizagem.
De acordo com Luaces, Gayoso e Suarez (2006), no campo da psicologia, vários
estudos têm sido feitos incluindo a observação humana e da experimentação animal e como
resultado, muitas teorias diferentes sobre a aprendizagem têm sido formuladas, como a
qualificação de condicionamento, o condicionamento de funcionamento, a aprendizagem
cognitiva e aprendizagem observacional.
A solução de Luaces, Gayoso e Suarez (2006) aborda os comportamentos necessários
sobre aprendizado e habilidades de evolução dos agentes, além de classificar as redes neurais
artificiais mais adequadas nos quesitos de (complexidade, topologia flexível, base matemática
sólida e capacidade de gerenciar grande quantidade de dados) para resolução do seu problema
proposto:
• Agentes Inteligentes Virtuais: utilizar os AIVs para dotar as habilidades de
aprendizagem, o que significa o processo pelo qual uma atividade ocorre em reação a
uma situação particular;
32
• Processo de Aprendizagem: utilizam modelos de aprendizados os quais são analisados
na área da psicologia para implementar o conhecimento nos agentes virtuais para
desenvolver o raciocínio;
• Redes Neurais Artifciais: utilizar uma técnica diferente (RNA), como parte do AIVs
Sistema de avaliação para permitir uma reação inteligente ao ambiente e, ao mesmo
tempo, a capacidade de aprendizagem;
A proposta de Hacibeyoglu e Arslan (2010) aplica os conceitos de agentes autônomos
utilizando aprendizado por reforço com algoritmo Q-learning e implementação das redes
neurais artificiais com o modelo perceptrons de múltiplas camadas. Na proposta de
Hacibeyoglu e Arslan (2010) o agente autônomo deve reconhecer os atributos do ambiente
sendo este um labirinto e percorrer este ambiente em menor tempo e por um menor caminho
para isso o processo de aprendizado do agente implementa o algoritmo Q-learning em
conjunto com RNAs.
Segundo Gelenbe, Seref e Xu (2001), sobre sua proposta os agentes de aprendizagem
devem ser incorporados a ambientes de simulação para modelar o comportamento adaptativo
dos seres humanos. Esse descreve como a aprendizagem de RNAs pode apoiar esta
abordagem e mostra que base de conhecimento de aprendizagem pode ser eficaz utilizando
neste contexto. É apresentado um exemplo de simulação em que os agentes representam
veículos tripulados. Eles têm objetivo de percorrer uma perigosa rede metropolitana de forma
segura e rápida, com objetivo de utilizar aprendizagem de reforço com redes neurais e
comparado com outros três algoritmos. Dentre os tópicos abordados no trabalho estão agentes
de aprendizado, APR e RNAs modelo PMC.
De acordo com Parker, Parker e Johnson (2005) sobre sua proposta o estudo da
aprendizagem em agentes autônomos é importante para o desenvolvimento de robôs que
podem operar de forma independente e têm a capacidade de se adaptar às alterações em suas
capacidades, o ambiente e missão. Nesse trabalho, os autores apresentaram o uso de xpilot
como um ambiente de aprendizagem que pode ser usado para evoluir comportamentos
reativos primitivo, mas pode ser complexo o suficiente para exigir estratégias de combate e
cooperação da equipe. Os tópicos abordados no trabalho: RNAs modelo PMC, algoritmo
genético, agentes autônomos de aprendizado e computação evolucionária.
Segundo Roisenberg, Barreto e Azevedo (1999) sobre sua proposta estuda diferentes
técnicas e métodos para implementar Agentes Autônomos utilização do comportamento
33
animal e dos mecanismos de evolução sob o aspecto de otimização de recursos, utilizados em
conjunto com as RNAs e computação evolucionária.
3.3.1 Avaliação e futuro dos agentes inteligentes em ambientes virtuais
A utilização de agentes inteligentes que desenvolvam suas atividades de forma
evolutiva sem interação de usuários vem criando um papel importante nas pesquisas de
simulação de habilidades humanas em entidades virtuais.
Essa área está crescendo com o advento das aplicações de entretenimento, jogos
eletrônicos, educação á distância (EAD) e simulações de treinamentos os quais exigem o
conhecimento do ambiente e as ações corretas que o agente deva realizar conforme a
interação com esse ambiente. O processo de aprendizado com RNAs de acordo com as
pesquisas apresentadas facilita a evolução dos agentes inteligentes nesses ambientes de
simulação, sendo que as RNAs além de capacitar o Agente no entendimento sobre as ações a
serem realizadas no ambiente virtual, contribuem no processo de aprendizado dos AIAs.
Nas seções 3.4 desse capítulo serão apresentados estudos sobre os agentes inteligentes
em ambientes que os mesmos desenvolvem seus conhecimentos de forma autônoma. Na seção
3.4 serão apresentados conceitos sobre agentes de trânsito e ambientes de trânsitos que
aplicando o comportamento estudado nessa pesquisa podem melhorar a eficiência do fluxo do
trânsito nos ambientes reais. O quadro 3 tem o objetivo de apresentar as principais
metodologias de algumas das soluções citadas nos trabalhos correlatos em comparativo com
proposta de pesquisa deste projeto.
34
XXComputação Evolucionária
XXAprendizado Observacional
XAlgoritmo Genético
XXXXXRNA feed-forward
XXAprendizado por Reforço
XXXXXAgentes Autônomos de Aprendizado
Trabalho Proposto
M. PARKER, B. PARKER, e JOHSON (2005)
GELENBE, SEREF, XU (2001),
LUACES,GAYOSO e SUAREZ (2006)
LI, MIAO (2006)
XXComputação Evolucionária
XXAprendizado Observacional
XAlgoritmo Genético
XXXXXRNA feed-forward
XXAprendizado por Reforço
XXXXXAgentes Autônomos de Aprendizado
Trabalho Proposto
M. PARKER, B. PARKER, e JOHSON (2005)
GELENBE, SEREF, XU (2001),
LUACES,GAYOSO e SUAREZ (2006)
LI, MIAO (2006)
Quadro 3 - Avaliação de comparação dos trabalhos correlatos Fonte: Autor Própria, 2010
3.4 Ambientes com agentes de trânsito
Nessa seção serão discutidas as simulações de trânsito, e os trabalhos que estão sendo
pesquisados para que possibilite que um ambiente virtual, esteja capacitado para recriar uma
simulação de tráfego de veículos analisando os problemas freqüentes desse cenário e
pesquisando soluções computacionais para resolução desse trabalho. Além disso, será citado o
comportamento dos agentes de trânsito nos ambientes dessas pesquisas e utilizar algumas
dessas propostas que foram desenvolvidas nesses experimentos para o desenvolvimento do
agente de trânsito e do ambiente virtual neste trabalho.
Nas últimas duas décadas, o congestionamento do tráfego tem sido um dos principais
problemas em muitos países. Para reduzir o congestionamento, muitos governos têm investido
em melhorias em sua infra-estrutura. Mas a melhoria nas infra-estruturas são muito caras.
Portanto, as atuais infra-estruturas têm que ser usado de forma eficiente. O estudo de novos
controles de tráfego e as estratégias de orientação do tráfego é necessário (LI, 2007).
A pesquisa para um novo controle de tráfego e estratégias de orientação de tráfego é
especialmente necessário e importante. A aplicação de técnicas de inteligência artificial, como
multi-agente em ferramentas para controle de tráfego urbano, torna-se possível a criação de
gestão do tráfego para melhorar a implantação (JIN et al., 2008).
Segundo Wei, Han e Fan (2008) define-se trânsito como um sistema distribuído, não-
linear e com variáveis estocásticas com tempo definido como características de ambientes. A
35
utilização de técnicas de agentes são adequadas para os sistemas de trânsito, pois, tem
comportamento semelhante ao de sistemas distribuídos.
De acordo com Du (2008) tráfego urbano tem diversas características complexas, como
a mutabilidade do ambiente, aleatoriedade e distribuição de controle de área. A proposta que
Du (2008) utilizou para elaborar um sistema de controle de tráfego urbano, foi os conceitos de
coordenação baseado em multi-agentes e teoria dos jogos para o controle do fluxo do trânsito
no ambiente urbano.
Na proposta de Li et al. (2004) é importante para a tomada de controle de tráfego e na
estratégia de orientação do trânsito o conceito de simulação computacional. Para Li et al.
(2004) pequenos experimento de simulações de trânsito podem modelar o fluxo de tráfego de
uma forma realista.
Segundo Wei, Han e Fan (2008) o uso de agentes em simulação de trânsito e coerente
para o sistema de transporte, pois, além de simular com precisão o comportamento do tráfego
em pequenas amostras, possibilita uma avaliação confiável para o comportamento de trânsito
de grande porte. Assim para Wei, Han e Fan (2008) a técnica de agentes torna-se o meio mais
eficiente para estudar os problemas e comportamentos do trânsito.
De acordo com Li et al. (2004), e necessário um novo estudo sobre controle, estratégia e
orientação de tráfego urbano. Antigamente utilizavam-se experimentos em ambientes reais.
Para Li et al. (2004) a simulação de sistemas de trânsito em AV deve ser medida para analisar
a sua eficiência.
No sistema de tráfego a estrada é composta de muitas entidades autônomas, tais como os
veículos de usuários, sistemas público de transporte, semáforos e um centro de gestão do
tráfego, que se distribuem sobre uma grande área e interagem uns com os outros para atingir
um objetivo individual (JIN et al., 2008).
3.4.1 Aplicação de agentes no trânsito
De acordo com Li, (2007) um agente inteligente, é uma entidade autônoma, um
programa de computador tendo comportamento de um usuário final em tarefas relacionadas a
um sistema de computacional sendo que qualquer agente possui um nível de inteligência. O
nível de inteligência pode variar desde papéis pré-determinados e responsabilidades para uma
entidade de aprendizagem (LI, 2007).
36
Segundo Wei, Han e Fan (2008) um agente de trânsito e um sistema de transporte são
entidades de um sistema de multi-agentes, sendo representados como um carro, estrada ou
semáforo possibilitam a interação com os demais elementos do ambiente que se caracterizem
também com um agente. Os agentes podem executar em tempo real interação com outros
agentes, e estes constituem a evolução dinâmica do sistema de trânsito (WEI; HAN; FAN,
2008).
De acordo com Wei, Han e Fan (2008) em pequenas simulações de trânsito as entidades
que são incluídas nesse ambiente são: as paradas de ônibus, as placas de sinalização de
trânsitos, automóveis, pedestres, semáforos de trânsito, nem todas as entidades de trânsito
necessitam de recursos de agentes. Apenas as entidades com autonomia e forte necessidade de
inteligência devem ser representadas como agente. O exemplo de agentes para esse ambiente
são os cruzamentos, os automóveis e as placas de sinalização de trânsito. Para Wei, Han e Fan
(2008) também deve haver agentes funcionais que controlam o fluxo de tráfego e dos
cruzamentos das rodovias, assim como agentes no apoio a decisão que possam alterar o
comportamento de uma entidade no ambiente conforme a sua influência.
Segundo Du (2008) no modelo de estrutura de coordenação de agentes de trânsito, a
característica para três tipos de agentes:
• Agente de região: pode continuar a interação com agente de interseção sob a condição
de satisfazer o sistema de conhecimento de regras do ambiente, de modo a obter
melhor comportamento e reduzir a comunicação não essencial para a maior extensão
do ambiente;
• Agente de interseção: geralmente é centro de controle desse cruzamento, que pode
formular estratégia de controle correspondente de acordo com a condição de tráfego
deste cruzamento;
• Agente de veículo: percorre a região urbana de forma autônoma;
A figura 7 apresenta arquitetura do sistema de controle de tráfego e o comportamento do agente de região, agente de interseção e o agente de veículo conforme a imagem ilustrada.
37
Agente de região Agente 4
Agente 1
Agente de interseção
Agente 3Agente 2
Agente de veículo
Figura 7- Modelo de sistema de controle de tráfego de região urbana Fonte: Traduzido de Du, 2008
De acordo com Du (2008), as arquiteturas do ambiente para os agentes de trânsito são
desenvolvidas conforme o modelo de módulo a seguir:
• Módulo de percepção ambiental: percepção das informações de tráfego produzido pelo
ambiente externo;
• Módulo de processamento de informação de Tráfego: é responsável pelo tratamento
preliminar, o armazenamento das informações de tráfego aceito e sensível;
• Módulo de comunicação: é responsável pela transmissão e interação da informação;
• Módulo de controle do Ambiente e tomada de decisão: é componente chave para dotar
o agente com inteligência. Ele utiliza a regra do conhecimento para uma análise mais
aprofundada. A razão externa de informações obtidas por meio do módulo de
processamento de informação do tráfego e de outros agentes para suas informações e
comunicações. E escolhe a tarefa mais adequada da tabela de tarefas para o módulo de
execução fazer a decisão mais coerente;
• Tabela de tarefas: é a função que define atribuições que o agente deve preencher;
• Módulo executivo: realimenta a decisão final feita pelo controle de tomada de decisão
módulo de ambiente externo. Esse comportamento do módulo também reflete a
capacidade do agente;
• Máquina de raciocínio: a informação recebida é conforme o conhecimento do próprio
agente;
• A base de regras: é o conjunto de regras da ação do agente;
• Base de conhecimento: o conhecimento é acumulado automaticamente e renova-se
constantemente. O agente pode atualizar a base de conhecimento, de modo a gerar
38
atualizações dinâmicas no controle de decisão. Quando o ambiente modifica o tráfego
os fatores de decisão de raciocínio também podem mudar, de modo que os
conhecimentos originais das regras de base não sejam mais eficientes, mas o agente
pode realimentar esse conhecimento para produzir automaticamente o ambiente de
conhecimento, que adapta a nova base;
• Aprendizagem de máquina: para proporcionar uma base de decisão. O módulo de
controle de tomada de decisão recebe informações relacionadas, com a experiência do
conhecimento obtida pelo estudo do agente e retransmite para a função de
aprendizagem de máquina que interagi diretamente com a base de regras e com a base
de conhecimento, e também pode renovar, complementar ou eliminar algumas regras,
se necessário.
A figura 8 representa a estrutura lógica do comportamento do agente de trânsito no
ambiente dentro do quadro tracejado estão os módulos que controlam o conhecimento do
agente.
Am
biente de Trafego
Módulo de percepção am
biental M
ódulo de execução
Módulo de controle do Ambiente e tomada de decisão
Modulo de processamentode informação de Trafego
Módulo de com
unicação
Outros agentes inteligentes
Aprendizagem de máquina
A base de regras
Base deconhecimentos
Máquina de raciocínio
Tabela
de tarefas
Figura 8 – Modelo dos módulos de agentes de trânsitos Fonte: Traduzido de Du, 2008.
39
3.4.2 Comportamento do agente veículo no trânsito
O Agente Veículo é a entidade inteligente captada a partir do tráfego, que combina o
comportamento do condutor e do veículo, pode adquirir automaticamente as informações
externas, tem o seu próprio conhecimento e capacidade de tomar decisões, e pode ajustar o
seu próprio comportamento em função da situação do tráfego ao seu redor (WEI; HAN; FAN,
2008).
A proposta de Li et al (2004) o agente condutor de veículo é a junção da entidade
veículo e da entidade motorista. Assim, o agente é projetado para decidir em tempo real que
manobras executar em cada situação e colocar as manobras em ação (LI et al, 2004). A figura
9 mostra os módulos do sistema que o agente condutor de veículo tem como atributos para
desenvolver seu conhecimento e decisões no ambiente.
Ambiente
Agente de interface
Sensores
Módulo de Coordenação
Módulo de Comunicação
Comportamento dos parâmetros
Regras decomportamento
Decisor
veículo – agente condutor
Modulo Executor
Figura 9 – Modelo de veículo agente condutor Fonte: Traduzido de Wei, Han e Fan, 2008.
O agente condutor do veículo é um híbrido de competências cognitivas e agentes
reativo. Isto é, normalmente determina a sua ação com base no seu conhecimento e as
informações dos sensores. Mas, quando enfrenta alguma emergência, como colisão, pode
reagir diretamente, sem a utilização do conhecimento (LI et al., 2004).
40
3.4.3 Processo de simulação do trânsito
Na proposta de Wei, Han e Fan (2008) o processo de simulação, o primeiro sistema a
inicializar é a rede de estradas em seguida inicializa-se a geração dos agentes de tráfego e a
geração do agente veículo. Os agentes veículos são inicializados na simulação logo na entrada
da rede rodoviária, os agentes de intersecção podem alterar o comportamento de entidades do
ambiente de trânsito enquanto o agente veículo locomove-se no ambiente virtual. O sistema
de simulação tem um método de tempo que, registra cada momento do estado do agente.
Segundo Wei, Han e Fan (2008) o sistema de simulação atualiza o agente veículo, o
agente seção (que tem o papel de informar o comportamento das estradas e os fluxos de
veículos para o agente veículo) e o sistema atualiza também o agente de intersecção que
controla as entidades do ambiente. O Simulador atualiza a interface do software (GUI) que
incrementa o registro de tempo do estado dos agentes na simulação. Tendo terminado todo
processo de simulação, o sistema irá calcular o fluxo de tráfego, o comprimento médio da fila.
A figura 10 mostra o fluxo do sistema de Simulação do agente veículo e agentes de
geração de tráfego.
Iniciar
Timeout
Inicialização da rede EntradaInicialização do agente de Seção
Inicialização do agente de Intersecção
Parâmetro definido
Iniciar a simulação
tempo t = t +1
Agente de geração de tráfegogerar agentes veículo
Atualização de agentes veículo
Atualização de agentes de Seção
Atualização de agentes de Intersecção
Final
NÃO
Atualização da GUI
Resultado de saída
Cálculo do Resultado da Simulação
SIM
Figura 10 - Fluxo de simulação do sistema Fonte: Traduzido de Wei, Han e Fan, 2008.
41
3.4.4 Aprendizado por reforço em agentes de trânsito
Aprendizado por reforço de acordo com Barto e Sutton apud Xia e Xu, (2010) é
considerado uma abordagem que oferece soluções de otimização de adaptação para problemas
de controle. Aprendizado por Reforço é uma abordagem clássica para soluções centralizada,
assim o agente tem todas as decisões sobre o ambiente.
Nas propostas de Ahmadabadi, Asadpour e Nakano apud Dowling, Cunningham e
Curran (2006), e posteriormente Xia e Xu (2010), no entanto, foram pesquisadas soluções
para os métodos de aprendizagem por reforço de forma descentralizada para resolver a
otimização de problemas descentralizada.
Assim o agente tem que interagir conforme o comportamento de outras entidades
representando assim um sistema distribuído. Atualmente, o conceito de Agentes, e o
aprendizado por reforço é essencialmente limitada a ser aplicada à interação entre um único
agente de controle de tráfego, sinalização e ambiente (XIA; XU, 2010).
3.4.5 Considerações e avaliação sobre agente de trânsito
Nessa seção foram apresentadas as propostas sobre aplicações de agentes em
simulações de trânsito.
Segundo pesquisas as simulações de trânsitos em ambientes virtuais possibilitam uma
melhoria no fluxo de veículos em grandes rodovias de acordo com os experimentos
desenvolvidos. Segundo Du (2008) e Jin et al. (2008) as técnicas de multi-agentes aplicadas
aos cenários de trânsito comportam-se com melhor eficiência e com características adequadas
ao sistema de tráfego.
De acordo com as propostas de Wei, Han e Fan (2008), Du (2008) e Li et al. (2004) o
agente veículo comporta-se conforme as interações com os demais agentes no ambiente,
podendo modificar o seu comportamento e aprendizagem. Além disso, as propostas de Du
(2008) e Wei, Han e Fan (2008) desenvolveram em seus sistemas estrutura de aprendizado
com regras de comportamento e base de raciocínio que determina que o agente veículo
desenvolva seu conhecimento de forma autônoma.
42
Esse estudo possibilita o desenvolvimento do agente de trânsito que será descrito no
capítulo 4, assim como o desenvolvimento das entidades nos ambientes de tráfego (estradas,
placas de sinalização e semáforos) baseados no comportamento dos agentes citados nesses
trabalhos.
43
4. DESENVOLVIMENTO
Nesse capítulo serão abordadas às características do agente inteligente e das redes
neurais artificiais aplicadas no projeto. Além das ferramentas utilizadas para treinar as RNAs
para implementar nas simulações do ambiente do trânsito. O capítulo apresentará a
implementação do ambiente virtual e a arquitetura utilizada para desenvolvimento desse
experimento.
4.1 Metodologia
O trabalho pesquisado tem como problema identificado, um agente inteligente
reconhece as suas habilidades em um ambiente desconhecido e de qual forma esse agente
inteligente consegue evoluir o seu conhecimento de maneira que não ocorram interferências
de entidades externas. Além disso, a forma que um AIA possa desenvolver o aprendizado e
habilidades que o mesmo não possui no AV que será simulado com auxílio de aplicações de
RNAs. Assim o AIA desenvolve o conhecimento de forma evolutiva sem a necessidade de
interferências de usuários externos.
Sendo o objetivo principal no projeto desenvolver as analises dos métodos de
aprendizado em AV em que o AIA utilize as técnicas de RNAs para desempenhar atividades
que estão no ambiente. Das atividades que o agente simulará no ambiente será extraída a
avaliação sobre a capacidade de evolução do agente em cenários distintos.
4.1.1 Características do agente inteligente para aplicação
Como já foi citado por Li e Miao (2006) para características do agente inteligente nesse
trabalho necessita que o mesmo possua a capacidade de evolução no ambiente. Assim como a
capacidade de desenvolver as suas habilidades segundo a exigência dos cenários que serão
criados.
44
O agente deve possuir as características de autonomia para realizar tarefas sem auxílio
de outro agente ou usuário externo, ou seja, ser reativo às mudanças do ambiente não podendo
só aceitar as influências do ambiente, ter capacidade evolutiva utilizando os métodos de
aprendizado por reforço para interagir no ambiente de forma que o capacite a desempenhar as
atividades com maior precisão conforme o passar do tempo.
4.1.2 Critérios para classificação das redes neurais artificiais
A idéia é utilizar uma técnica de RNAs como parte do sistema de avaliação do AIA
para permitir uma reação inteligente ao ambiente e ao mesmo tempo, a capacidade de
aprendizagem.
Dentre as redes neurais artificiais estudadas as redes Perceptrons de múltiplas camadas
com arquitetura feed-forward e utilização do algoritmo back-propagation foram escolhidas de
acordo com as características dados que serão processados na implementação. Os critérios
para escolha foram citados abaixo:
• Capacidade de gerenciar grandes quantidades de dados: RNA feed-forward não estão
limitadas a um número menor de entradas (como acontece em alguns outros casos).
Grande quantidade de dados pode ser processada com estas RNAs (FREEMAN apud
LUECES; GAYOSO; SUAREZ, 2006);
• Desempenho: Tanto a formação e processamento dos dados são razoavelmente rápido,
especialmente por meio de segunda ordem algoritmos para a formação (MARTINEZ,
2006);
• Topologia flexível: Topologias diferentes, a fim de melhorar a precisão e desempenho.
Desse ponto de vista, feed-forward são especialmente adequadas porque alguns
desvios de conexão pode ser implementado. Ainda assim a obtenção de feed-forward é
válido para a topologia. (LUECES; GAYOSO; SUAREZ, 2006);
• Eficiência Computacional: A complexidade computacional de um algoritmo é
normalmente medida em termos dos números de multiplicação, adição e
armazenamentos envolvidos na sua implementação. Um algoritmo de aprendizagem é
computacionalmente eficiente quando a sua complexidade computacional é polinomial
em relação ao número de parâmetros ajustáveis que devem ser atualizados de uma
45
iteração para a seguinte. Nesse sentido pode-se dizer que o algoritmo de back-
propagation é computacionalmente eficiente (HAYKIN, 2001);
• Análise de Sensibilidade: Outra vantagem computacional na aprendizagem por back-
propagation é a forma eficiente pela qual se pode realizar uma analise de sensibilidade
do mapeamento de entrada-saída realizado pelo algoritmo (HAYKIN, 2001);
• Detecção de Características: Os neurônios ocultos de um Perceptron de múltiplas
Camadas com algoritmo de back-propagation desempenham um papel crucial como
detectores de características (HAYKIN, 2001).
Entre outras vantagens também pode-se citar: conexionismo, robustez, escalamento,
sólida base matemática, convergência.
4.1.3 Ferramentas de aplicação nas redes neurais artificiais
Para a construção, treinamentos e testes da RNA serão utilizados o simulador de redes
neurais artificiais JavaNNS.
Java Neural Network Simulator: Java Neural Network Simulator (JavaNNS) é um
simulador de redes neurais com a parte visual elaborada em Java e com o núcleo do simulador
Stuttgart Neural Network Simulator (SNNS). Ambos foram desenvolvidos no Instituto
Wilhelm-Schickard-Institute para Ciência da Computação em Tübingen, na Alemanha.
Apresenta grande suporte às redes neurais artificiais, possuindo estruturas e treinamentos
variáveis.
Com definições de alguns parâmetros, as redes neurais artificiais podem ser criadas,
visualizadas e treinadas. Possui também um gráfico de erros para o acompanhamento dos
erros e opções de modificação em sua interface visual, além de ser compatível em diferentes
sistemas operacionais. Pelas características citadas, esta ferramenta será adequada ao Agente
Inteligente permitindo a mudança facilitada do método de aprendizado e a criação facilitada
da RNA.
46
4.2 Arquitetura do sistema
Nessa seção será explicada a modelagem da arquitetura do simulador desenvolvido
nesse projeto. Para a construção dos ambientes de simulações virtuais será aplicado o padrão
de arquitetura MVC (Model-View-Controller). Ele é baseado no princípio da separação do
conceito da informação (modelo) da interface do usuário (visão ou apresentação) de tal forma
que uma alteração em uma destas partes não afeta de maneira sensível a outra. A lógica de
negócio fica à parte do Modelo e da Visão pela implementação de um terceiro componente, o
Controle. O uso do MVC torna aplicação mais fácil de ser compreendida. Para implementar o
simulador de trânsito será adotado o modelo de três camadas desenvolvido na linguagem Java
e com orientação a objetos. A figura 11 apresenta a estrutura lógica do simulador em camadas
e com as APIs Java que serão utilizadas e os Frameworks para acesso a base de dados e para
implementação das RNAs, do agente e o cenário do ambiente virtual.
Apresentação
Negócio
Persistência
Framework
Banco de Dados
Swing, 2D Graphics
PostgresSQL
Hibernate
DAO, MOR, JPA
EJB
Controle
Figura 11 - Arquitetura em camadas do simulador Fonte: Autoria própria, 2010.
47
Apresentação: a camada de apresentação ou visão tem interação com o usuário. Para
essa aplicação será utilização as APIs Java Swing para modelagem das interfaces gráficas do
simulador com os botões de ativações para as simulações, além de apresentar ao usuário uma
tela de que mostre o menor caminho para o agente inteligente percorrer no ambiente virtual.
No sistema haverá outro display na interface mostrando os resultados obtidos nas
interações do agente nas simulações. A API Java 2D será utilizada para construção do
ambiente virtual gráfico em 2D (prédios, rodovias, veículos, semáforos entre outras entidades)
para o cenário do agente de trânsito.
Negócio: essa camada guarda efetivamente as regras de negócio do sistema, ou seja, as
operações que serão realizadas na aplicação. Portanto a lógica ou negócio desenvolverá todos
os métodos de ações dos agentes na aplicação como sensores e atuadores no ambiente virtual,
assim como a construção dos métodos para as redes neurais artificiais aplicadas nas
habilidades do agente inteligente.
Controle: é responsável por processar e responder a eventos e ações do agente
invocando mudanças nos dados do negócio. Ele guarda efetivamente as regras de negócio do
sistema, ou seja, as operações que serão realizadas na simulação.
Persistência: é a qualidade que um sistema tem de persistir (reter) dados em algum
mecanismo que permita armazenar e recupar esses dados para uso futuro. No simulador será
implementado o JPA (Java Persistence API) que utiliza mecanismo de mapeamento de
conceitos de orientação a objetos usando banco de dados relacionais o MOR (mapeamento
objeto relacional).
O JPA tem a independência da camada de persistência e completa a especificação de
mapeamentos objeto/relacional ou seja trabalha com a persistência de dados de forma
independente de qualquer banco de dados relacional utilizando os dados informados nas
classes do sistema ao invés das tabelas do modelo E-R. O simulador utilizará o DAO (Data
Access Object) que é um padrão arquitetural utilizado para representar interfaces que irão
oferecer funcionalidades relacionadas com entidades da aplicação na camada de persistência.
Banco de Dados: o banco de dados que armazenará os dados persistidos das simulações
dos agentes inteligentes na camada modelo (persistente) será o PostgreSQL.
Framework: Framework é um conjunto de classes que colaboram para realizar uma
responsabilidade para um domínio de um subsistema da aplicação (FAYAD; SCHMIDT;
JOHNSON, 1999). O Hibernate é um framework open-source, que fornece tanto a
persistência quanto a capacidade de consulta de objetos.
48
Na figura 12 é apresentado a organização da arquitetura em pacotes do simulador.
Conforme foi apresentado anteriormente o modelo MVC que estrutura a aplicação em três
camadas. Serão apresentados os comportamentos das classes do simulador de forma genérica
tanto para a simulação do agente de trânsito.
Figura 12 – Diagrama de pacotes do sistema Fonte: Autoria própria, 2010.
Ambiente Virtual: no pacote de ambiente virtual estarão distribuídas as classes que
desenvolverão os atributos como mapa dos cenários das simulações como assim como as
entidades que irão interagir com o agente e o desenvolvimento do algoritmo de menor
caminho em grafos.
Sensores de Ambiente: no pacote de Sensores de Ambientes serão desenvolvido as
classes que desenvolverá o comportamento do ambiente com as habilidades do agente.
Exemplo Classe SensorSinalizacao, está classe identificará se os atuadores do agente
identificarão o status da sinalização do semáforo.
Agente: Neste pacote terá as classes que possuir os atributos que o agente deve
desenvolver no ambiente.
49
DAO: Neste pacote terá as classes de persistência que armazenarão os dados que serão
apresentados nas simulações.
Gerenciador de Conexão: no pacote o Gerenciador de conexão terá uma classe que
fará conexão com as classes que estarão no pacote DAO.
Redes Perceptrons de Múltiplas Camadas: Neste pacote estarão as classes que
desenvolveram as redes neurais artificiais com suas camadas, neurônios e conexões.
Back-Propagation: Neste pacote estará a classe que desenvolvera o treinamento das
redes neurais e o algoritmo Back-propagation. A figura 18 mostra o diagrama de pacotes que
serão desenvolvidos no simulador e a distribuição das classes em pacotes distintos para
melhor organização do sistema.
4.3 Desenvolvimento do ambiente de trânsito
Nesta seção será explicado o comportamento do agente de trânsito no ambiente de
simulação.
No primeiro cenário foi escolhido um ambiente de trânsito, o qual o agente inteligente
representa um automóvel e o mesmo deve percorrer uma determinada rota até chegar ao
destino selecionado.
Esse agente não possui conhecimento de regras de trânsito, portanto nas primeiras
iterações com o ambiente o mesmo deve infringir as leis de trânsito. Para o agente se educar
no trânsito o mesmo desenvolverá aprendizagem por reforço, com o decorrer do experimento
o agente deve conhecer os eventos do ambiente o mesmo tem que seguir a rota indicada sem
cometer nenhuma infração.
O agente tem como interação do ambiente sinalização as quais deve respeitar de acordo
com status que a sinalização estiver (verde ou vermelha), assim como respeitar as vias que
têm percurso com velocidade média ou velocidade acima da média e local para estacionar
com placa de livre ou proibida.
A figura 13 apresenta o ambiente com as entidades que o agente de trânsito deverá
interagir na simulação.
50
Figura 13 – Diagrama de caso de uso do sistema
Fonte: Autoria própria, 2010.
Agente de Veículo: o agente veículo é uma combinação entre o veículo e o seu
condutor, o agente tem objetivo de percorrer uma rodovia urbana de um ponto do ambiente a
outro. Sendo que esse agente desconhece as regras de trânsito. Portanto esse agente
desenvolverá através das simulações aprendizagem por reforço.
A cada iteração com o ambiente o agente pode receber uma recompensa conforme
interação com outra entidade do ambiente de forma correta, sendo que a recompensa aumenta
a taxa de aprendizado do conhecimento do agente no ambiente, se o agente inteligente
cometer uma infração de trânsito o mesmo terá uma penalidade no desempenho de sua
aprendizagem.
O agente tem como atributos de direção seguir para direita, esquerda, frente e recuo
além de poder alterar a velocidade no percurso, parar ou seguir nas sinalizações e estacionar
em local autorizado.
Rota para Menor Caminho: O sistema quando recebe a instrução da rota a ser
percorrida, apresentará no visor um caminho mais curto para chegar ao destino. Nas
simulações que serão geradas será observado se o agente inteligente consegue através da
evolução do seu aprendizado percorrer a rota informada, conforme a que o sistema sugeriu.
51
Agente Velocidade Rodovia: A rodovia do ambiente terá três tipos de pistas uma com
velocidade alta onde o agente pode percorrer em alta velocidade, e outras duas pistas com
velocidade média e baixa. O AIA tem atributos com atuadores para interagir no ambiente que
possibilitam modificar a sua velocidade dependendo da rodovia em que está trafegando
podendo aumentar ou diminuir.
O agente pode modificar a sua velocidade de acordo com os sensores das pistas que
servirão como aviso para informar o limite da velocidade em determinado trecho da rodovia.
Caso o agente consiga percorrer uma determinada rodovia conforme a velocidade
determinada o agente terá uma recompensa no desempenho da sua aprendizagem, assim
ajudará na evolução do seu aprendizado no ambiente. Caso o agente siga numa velocidade
superior a estipulada do trecho, o agente terá uma penalidade na sua aprendizagem e o sistema
informará o número de infrações de velocidade que o mesmo obteve na simulação.
Agente Semáforo: no ambiente de comportamento de trânsito o agente semáforo tem o
status que possibilita o agente veículo seguir na rodovia com a sinalização verde ou que
informe que o mesmo deva parar com o sinal vermelho. Assim como nas outras entidades do
ambiente o agente veículo poderá aumentar o seu conhecimento se os seus atuadores de
sinalização se comportar de acordo com os sensores que informarão a sinalização de cada via
do ambiente.
Caso o comportamento do agente veículo for diferente da sinalização indicada o sistema
informará o número de infrações de sinalização e alterar a taxa de desempenho de sua
aprendizagem conforme a penalização por cada infração.
Agente Placa de Trânsito: na simulação de agente de trânsito a ultima entidade que o
agente veículo deve interagir e com a sinalização para estacionar no local de destino. O agente
veículo deve estacionar no local que informe que é autorizado para parar.
Se o agente veículo parar no local certo o mesmo receberá uma recompensa conforme o
conceito de aprendizagem por reforço caso pare no local proibido o sistema apresentará a
infração para estacionar em local proibido.
Na figura 14 é apresentado um diagrama de atividade que demonstra o processo da
simulação do agente de trânsito e o comportamento que o mesmo tem com as entidades do
ambiente no caso se acerta o procedimento ou errar.
52
Figura 14 – Diagrama de atividades do simulador Fonte: Autoria própria, 2010.
Na figura 15 foi representado o diagrama de classe do agente de trânsito e a associação
com a classe Direcao e com a classe Rota e essa classe tem dependência com os atributos que
serão desenvolvidos no ambiente de simulação apresentada nas classes (Ruas, Sinalizacao e
Vaga). Além disso, agregação da classe das redes neurais artificiais que reproduzem o nível
de aprendizado do agente e a classe Back-Propagation que treina o desempenho das RNAs.
53
Figura 15 – Diagrama de classes atributos do agente de trânsito Fonte: Autoria própria, 2010.
Na figura 16 é representado o cenário de trânsito, como foi implementado o ambiente
virtual e a forma que as entidades do ambiente devem se comportar de acordo com a
simulação. O cenário tem a representação de 11 prédios que o agente pode percorrer do ponto
de origem de um edifício ao destino de outro prédio. O simulador possui campos identificados
para escolher a rota que o agente percorrer na simulação. No ambiente virtual que o agente de
trânsito percorrerá possui em seu cenário 8 acessos para trafegar:
• Sendo 3 vias com textura cinza claro determina que nessas vias o agente pode
percorrer com a velocidade máxima do ambiente;
54
• Com 3 vias com textura cinza para representar que o acesso permite trafegar com
velocidade média no ambiente, devido essas faixas estarem no perímetro urbano
com cruzamentos entre ruas;
• Ainda 2 vias com textura cinza escuro que determina que o agente pode percorrer
essas vias de acordo com a velocidade mínima estipulado no ambiente de trânsito.
No cenário foi definida a distribuição de placas de sinalização para estacionamento na
frente de cada edifício sendo total de 11 placas de sinalizações amarelas que representam
acesso livre para vaga. Sendo 11 placas de sinalização em vermelho que foi definido como
proibido estacionar.
Foi definido que a distribuição das sinalizações dos semáforos era necessária nas vias
interna do ambiente de acordo com os cruzamentos existentes no ambiente. Sendo
representado no ambiente a distribuição de 9 sinalizações nos cruzamentos das ruas (Na tabela
1 será apresentado a distribuição de tempo de cada semáforo e o intervalo). Nas estradas de
alta velocidade não foi colocado semáforos, pois a simulação define que o ambiente deve ser
representado o mais próximo de um ambiente real.
Na figura 16 na parte superior do simulador possui os campos que controlam as
interações do agente no ambiente. Sendo que informa o número de simulações geradas, o total
de infrações que o agente cometeu na simulação que está ocorrendo e os resultados de acertos
que obteve nessa iteração da simulação e o tempo que o agente obteve para percorrer todo o
ambiente na simulação.
55
Figura 16- Ambiente do agente de trânsito no Simulador Fonte: Autoria própria, 2010.
Na figura 16 é apresentado a direita um cenário do ambiente em tamanho reduzido para
representar o percurso que o agente pode percorrer por uma rota mais curta para chegar ao
destino. Nessa implementação é utilizado o algoritmo de Dijkstra que percorre o menor
caminho entre as arestas de um grafo para localizar o vértice de destino. Será analisado se o
agente consegue seguir pela rota sugerida pelo simulador.
Na tabela 1 é apresentado o tempo entre as sinalizações que são simuladas no ambiente
virtual.
Tabela 1 – Intervalo de tempo entre os semáforos
T4 = 0,4sT3 = 0,6sTempo estimado
Tempo sinal vermelho
Tempo sinal verde
Semáforos em vias horizontais
T2 = 0,2sT1 = 0,8sTempo estimado
Tempo sinal vermelho
Tempo sinal verde
Semáforos em vias verticais
Intervalo de tempo entre sinalizações
T4 = 0,4sT3 = 0,6sTempo estimado
Tempo sinal vermelho
Tempo sinal verde
Semáforos em vias horizontais
T2 = 0,2sT1 = 0,8sTempo estimado
Tempo sinal vermelho
Tempo sinal verde
Semáforos em vias verticais
Intervalo de tempo entre sinalizações
Fonte: Autoria própria, 2010.
56
Foi definido para a simulação da sinalização dos semáforos que o tempo das
sinalizações em ruas no mapa com posicionamento na vertical (vias com velocidade média)
possui o tempo de sinalização livre maior que nos acessos com posicionamento dos semáforos
na horizontal devido ao fluxo de tráfego nas vias com velocidade alta. O tempo total entre a
soma da sinalização aberta e fechada é representada em 1 minuto na conversão para calcular e
medido em segundos.
Onde T1 com valor (0,8 * 60) representa o tempo de 48 s do sinal aberto na simulação
dos semáforos das vias verticais. O tempo T2 onde o valor 0,2 * 60 representa o tempo de 12
s de sinal fechado nas vias verticais.
O tempo T3 representa (0,6 * 60) representa o tempo do sinal aberto em 36s. O tempo
T4 é representado com tempo (0,4 * 60) em 24 s do sinal fechado nas vias horizontais do
mapa da rodovia.
Na figura 17 é representado o agente de trânsito no ambiente virtual de simulação onde
o mesmo deve aprender a reconhecer os eventos ocorridos no ambiente de forma autônoma.
Figura 17 – Agente de trânsito no ambiente virtual Fonte: Autoria própria, 2010.
57
5. AVALIAÇÃO E RESULTADOS
Neste capítulo serão apresentados os casos de teste que foram implementados no agente
de trânsito para avaliação do seu nível de aprendizagem e a construção das redes neurais
artificiais. A RNA que obtive o melhor resultado foi aplicada na aprendizagem do agente de
trânsito. Na seção 5.2 serão abordos os resultados das RNAs treinadas com as ferramentas de
simulações. E na seção 5.3 comparação e desempenhos dos seus resultados com de outros
trabalhos relacionados.
5.1 Desempenho do aprendizado do agente de trânsito
Para avaliar os resultados dos testes de aprendizado do agente de trânsito foi medido o
número de interações que o mesmo terá com os eventos ocorridos no ambiente. Avaliação do
agente ocorreu de acordo com o número de rotas que o mesmo disponibiliza no ambiente, foi
considerado as interações que o agente deve possuir em cada rota. E avaliar o número de
acertos e erros que o agente alcançou em determinada amostra para cada rota. Sendo que são
onze os destinos diferentes no ambiente de trânsito e que o agente possui oito vias para
percorrer para qualquer destino informado. Para realizar a média de precisão da aprendizagem
do agente foi escolhido o método da teoria da probabilidade que pode ocorrer no processo de
simulação no ambiente de trânsito. Para realizar o calculo de acerto e erros do agente serão
analisas três possíveis rotas (rota percurso curto, percurso médio e percurso grande), para
verificar o grau de aprendizado do agente de acordo com o número de interações que cada
rota apresenta. No percurso de menor trecho foi verificado se o agente possui um nível de
aprendizado alto ou baixo de acordo com a baixa interação com o ambiente. Está mesma
avaliação aplica-se ao percurso médio e grande. Sendo que deve constatar que o grau nesses
percursos possa ser mais complexo para o aprendizado do agente, a seguir cálculo de
aprendizagem do agente:
ME = EA/ NI (1)
58
Onde EA são os erros de aprendizado numa rodada de simulação. NI número total de
interações ocorridas na rodada da simulação. ME média de erros acumulados nas simulações.
MA = AA/ NI (2)
Onde AA são os acertos de aprendizado numa rodada de simulação. NI número total de
interações ocorridas na rodada da simulação. MA média de acertos acumulados nas
simulações. A princípio o agente deve ter mais facilidade nas rotas de percurso curto que
envolve poucas interações aumentando sua taxa de aprendizado.
5.2 Treinamento da RNAs para ambiente de trânsito
Para o desenvolvimento do simulador de agentes de trânsito com a implementação das
RNAs foi utilizado o JavaNNS como ferramenta de treinamento do aprendizado das redes
neurais artificiais. Os resultados obtidos nessas simulações serão utilizados como pré-
resultados para serem validadas nas camadas de entrada, intermediárias e de saídas que serão
implementadas nas classes das RNAs implementadas na linguagem Java.
Para o treinamento da RNAs foi utilizado três topologias para avaliar o que obtém o
melhor resultado de desempenho de aprendizado da RNA.A primeira topologia da RNA foi
propostos por Hacibeyoglu e Arslan (2010) conforme figura 4. Uma RNA com três camadas
uma de entrada uma oculta e uma de saída.
Segundo Hacibeyoglu e Arslan (2010) a rede neural artificial foi desenvolvida de
acordo com as propriedades do agente os valores percebidos pelos sensores que constituem a
camada de entrada da RNA. Sendo para este trabalho serão 12 neurônios na camada de
entrada. A camada oculta seguirá o mesmo número proporcional ao modelo de Hacibeyoglu e
Arslan (2010) nessa RNA serão 12 neurônios na camada oculta e 4 na camada de saida.
Segundo Hacibeyoglu e Arslan (2010) será utilizado a função de ativação sigmóide para
treinar a RNA.
(3)
59
Onde a é o parâmetro de inclinação da função sigmóide e v é o valor de ativação do
neurônio.
A topologia da segunda RNA para o treinamento terá 35 neurônios na camada de
entrada serão representado graficamente os 12 padrões de reconhecimento que o agente deve
perceber no ambiente de simulação. Será implementadas duas camadas ocultas para analisar
se o desempenho de aprendizagem aumenta conforme Braga, Carvalho e Ludemir (2007) e 12
neurônios na camada de saída de acordo com os valores dos 12 padrões de reconhecimento.
A terceira topologia seguirá a mesma estrutura de entrada e saída conforme foi proposta
na primeira topologia. Porém será implementada duas camadas ocultas com 24 neurônios
cada para verificar se aumenta o desempenho da aprendizagem da rede neural conforme é
suguerido na literatura.
O algoritmo padrão para o treinamento das RNAs é o Back-propagation com esses
valores no experimento:
• Taxa Aprendizado = 0,5; η = 0,5 (4)
onde η constante de proporcionalidade a taxa de aprendizado.
• Erro de propagação máximo = 0,1; e(t) = d(t) - y(t) (5)
onde d(t) é a saída desejada e y(t) é a resposta atual (calculada) no instante do tempo t.
• Ajustes de pesos iniciais wi (t+1) = wi (t) + η * e(t) * xi(t) (6)
onde wi valor do peso e xi (t) é a entrada para o neurônio i no tempo t. O ajuste dos pesos
deve ser proporcional ao produto do erro pelo valor de entrada da sinapse naquele instante
de tempo.
No JavaNNS têm a função aleatória com a opção de embaralhar os padrões (shuffle)
ativado.
As três redes neurais artificiais foram implementadas e treinadas no JavaNNS. Os
resultados obtidos desses treinamentos das três RNAs serão apresentados a partir da figura 21.
60
Na figura 18 é apresentada a estrutura da rede neural PMC do agente dividida em quatro
camadas: primeira camada de entrada com 12 neurônios (no quadro 4 será apresentado os
nomes dos neurônios de entrada e suas funções aplicadas no agente), duas camadas ocultas
com 24 neurônios para cada camada oculta e uma camada de saída com 4 neurônios de
reconhecimento de padrão da rede para o agente reconhecer as ações do ambiente.
Figura 18 - Representação das Redes PMC no JavaNNS Fonte: Autoria própria, 2010.
Na figura 19 é apresenta o modelo da RNA com 35 neurônios na camada de entrada
representando os padrões de reconhecimentos do Agente com conexão feed-forward e com
respectivos valores balanceados da RNA.
Figura 19 - Treinamento das Redes PMC e ajustes de pesos Fonte: Autoria própria, 2010.
61
O quadro 4 apresenta os atributos que são informados na camada de entrada da rede
neural e a descrição dos 12 neurônios que são representados na RNA.
Movimento de Direção Esquerda11
Movimento de Direção Direita10
Movimento de Direção Recuo9
Movimento de Direção Frente8
Limite de Velocidade Alto7
Limite de Velocidade Médio6
Limite de Velocidade Baixo5
Limite de Velocidade Zero4
Sinalização para Estacionar Proibida3
Sinalização para Estacionar Livre2
Sinal Semáforo Vermelho1
Sinal Semáforo Verde0
DESCRIÇÃONº Camada de Estrada
Movimento de Direção Esquerda11
Movimento de Direção Direita10
Movimento de Direção Recuo9
Movimento de Direção Frente8
Limite de Velocidade Alto7
Limite de Velocidade Médio6
Limite de Velocidade Baixo5
Limite de Velocidade Zero4
Sinalização para Estacionar Proibida3
Sinalização para Estacionar Livre2
Sinal Semáforo Vermelho1
Sinal Semáforo Verde0
DESCRIÇÃONº Camada de Estrada
Quadro 4 - Valores de entrada na camada da RNA do agente de trânsito Fonte: Autoria própria, 2010.
Na figura 20 é representado o modelo da RNA do agente de trânsito de acordo com a
proposta de Hacibeyoglu e Arslan (2010) com o número de neurônios da camada de entrada
similar ao número da camada intermediaria e quatro neurônios na camada de saída.
Figura 20 – Representação da RNAs identificando saída valida para rede Fonte: Autoria própria, 2010.
62
Para extrair os resultados foi utilizado intervalo de -1 a 1 no treinamento das redes
RNAS das três topologias das RNAs. Foram realizados um padrão de simulações no JavaNNS
para obter os resultados das RNAs.
Foram iniciados os testes com valores padrão de taxa de aprendizado conforme citado
anteriormente 0,5 e ajustes de pesos calculado aleatoriamente pelo simulador, e taxa de erro
mínimo de 0,1. Esses dados foram aplicados igualmente para às três topologias de Rede.
Inicialmente foram inseridas nos treinamentos das RNAs ciclos/epocas com valor
inicial 10 e inserido valor 1 para gerar o número de rodada para o ajustes de pesos e calcular
os erros das conexões que analisam o percentual de reconhecimento de padrão das saídas das
RNAs.
Posteriormente foram alterados para cada simulação das RNAs os valores dos ciclos
com as respectivas entrada (50, 100, 200, 500, 1500) e para cada valor de ciclos testados era
modificado o valor de iteração dos ajustes de pesos conforme a ordem de simulação dos ciclos
(5, 10, 20, 30, 50). Cada valor de iteração que gera o número de determinadas rodadas de
ajuste dos pesos possui um tempo de execução diferente, com cinco rodadas de ajuste da
RNA variava o tempo entre 1s a 2s com trinta rodadas de ajuste da rede o tempo de execução
estimado é de 15s e para cinqüenta rodadas de ajuste o tempo variava 35s a 50s dependendo
da topologia da RNA.
A RNA que foi implementada conforme com a proposta de Hacibeyoglu e Arslan
(2010) topologia 12 x 12 x 4 apresentou um reconhecimento dos padrões em média 93,465 %
essa RNA apresentou entre as rodadas de ajuste de pesos 20, 30 e 50 um acerto na maioria
das entradas das RNAs entre 98 à 100 % de reconhecimento. O desvio padrão para essa RNA
foi de 4,1946%.
A RNA com topologia 12x 24 x 24 x 4 apresentou um índice de acertos em média
superior a RNA anterior com média de acerto de aprendizado de 94,156%. Segundo a
literatura as RNAs que são implementadas com duas camadas intermediarias e com número
de neurônios elevados tendem a desempenhar um nível de acerto de reconhecimento maior
devido a função não-linear aumentar o ajuste dos pesos nas camadas ocultas e de saída. Essa
RNA embora tenha obtido média superior a anterior obteve um número de entradas com
100% de reconhecimento inferior a primeira RNA treinada. O desvio padrão para essa RNA
foi de 4,0475%. Na tabela 4 será informado os valores completos do intervalo de confiança
das três RNAs.
A terceira RNAs com topologia 35 x 12 x 12 baseada no problema do XOR foi treinada
e obteve resultados satisfatórios nas primeiras iterações do treinamento com margem de
63
reconhecimento de 90% para cada entrada da RNA conforme a figura 32. Contudo com o
aumento de ajustes dos pesos em cada rodada e taxa de erro a RNA não conseguia reconhecer
alguns dos padrões de entrada corretamente conforme assim a saída esperada obtinha outra
resposta ou não apresentava valor de saída conforme os valores de entrada eram informados
no javaNNS. A terceira RNA apresentou o menos dos resultados do reconhecimento de
padrões com média de 79,232%.
De acordo com os resultados analisados foi constatado que a rede neural artificial que o
agente de trânsito deve desenvolver o aprendizado de reconhecimento do ambiente com mais
eficiência e a RNA com a topologia 12 x 24 x 24 x 4 que obteve maior reconhecimento dos
padrões do ambiente. Esse resultado é importante para analisar a capacidade do agente
desenvolver a sua aprendizagem no ambiente de forma mais eficiente. Assim como, apresenta
uma RNA com bom nível de reconhecimento de padrões.
A figura 21 apresenta o gráfico de taxa de aprendizado da RNA com três camadas 12
neurônios camada de entrada, 12 camada oculta e 4 na camada de saída.
Nível de aprendizado RNA topologia 12x12x4
8486889092949698
100102
1 ro
dada
5 ro
dadas
10 ro
dada
s
20 ro
dada
s
30 ro
dada
s
50 ro
dada
s
Sinal_Verde
Sinal_Vermelho
Vaga_Livre
Vaga_Proibida
Vel_Zero
Vel_Baixa
Vel_Media
Vel_Alta
Direcao_Frente
Direcao_Recuo
Direcao_Direita
Direcao_Esquerda
Figura 21 - Comparação do aprendizado da RNA com topologia 12 x 12 x 4 Fonte: Autoria própria, 2010.
64
A figura 22 apresenta o gráfico de taxa de aprendizado da RNA que desenvolveu o
melhor percentual de aprendizado da rede entre as três topologias criadas.
Nível de aprendizado RNA topologia 12x24x24x4
8486889092949698
100102
1 rod
ada
5 rod
adas
10 ro
dada
s
20 ro
dada
s
30 ro
dada
s
50 ro
dada
s
Sinal_VerdeSinal_VermelhoVaga_LivreVaga_ProibidaVel_ZeroVel_BaixaVel_MediaVel_AltaDirecao_FrenteDirecao_RecuoDirecao_DireitaDirecao_Esquerda
Figura 22 - Comparação do aprendizado da RNA com topologia 12 x 24 x 24 x 4 Fonte: Autoria própria, 2010.
A figura 23 apresenta o gráfico de taxa de aprendizado da RNA que apresentou o a taxa
de aprendizado mais baixo entre as três topologias.
Nível de aprendizado RNA topologia 35x12x12x12
8486889092949698
100102
1 ro
dada
5 ro
dadas
10 ro
dada
s
20 ro
dada
s
30 ro
dada
s
50 ro
dada
s
Sinal_Verde
Sinal_Vermelho
Vaga_Livre
Vaga_Proibida
Vel_Zero
Vel_Baixa
Vel_Media
Vel_Alta
Direcao_Frente
Direcao_Recuo
Direcao_Direita
Direcao_Esquerda
Figura 23 - Comparação do aprendizado da RNA com topologia 35 x 12 x 12 x 12 Fonte: Autoria própria, 2010
65
Na tabela 2 é representado em percentuais a média dos resultados de cada entrada das
RNAs no treinamento executado no simulador JavaNNS.
Tabela 2 – Comparação de acertos de aprendizados nas redes neurais artificiais
79,23294,15693,465Media Geral
90,496,68394,65Dir_Esquerda
75,28396,4596,15Dir_Direita
90,43397,6597,583Dir_Recuo
75,2590,290,05Dir_Frente
90,93393,8593,683Vel_Alta
90,695,38393,15Vel_Média
75,31797,13396,967Vel_Baixa
75,2590,191,8Vel_Zero
75,497,1597,117Vaga_Proibida
75,1590,290Vaga_Livre
75,46794,73390,283Sinal_Vermelho
61,390,33390,15Sinal_Verde
Topologia RNA 35 x 12 x 12 x 12
Topologia RNA 12 x 24 x 24 x 4
Topologia RNA 12 x 12 x 4
Acerto de aprendizagem
79,23294,15693,465Media Geral
90,496,68394,65Dir_Esquerda
75,28396,4596,15Dir_Direita
90,43397,6597,583Dir_Recuo
75,2590,290,05Dir_Frente
90,93393,8593,683Vel_Alta
90,695,38393,15Vel_Média
75,31797,13396,967Vel_Baixa
75,2590,191,8Vel_Zero
75,497,1597,117Vaga_Proibida
75,1590,290Vaga_Livre
75,46794,73390,283Sinal_Vermelho
61,390,33390,15Sinal_Verde
Topologia RNA 35 x 12 x 12 x 12
Topologia RNA 12 x 24 x 24 x 4
Topologia RNA 12 x 12 x 4
Acerto de aprendizagem
Fonte: Autoria própria, 2010.
Na tabela 3 são apresentados 95% do intervalo de confiança (IC) obtido nas amostras
dos resultados das três topologias das redes neurais artificiais. A tabela apresenta em
percentuais os valores de desvio padrão, além dos resultados do limite inferior do intervalo de
confiança (LIIC) e do limite superior do intervalo de confiança (LSIC) os resultados mostram
a margem de reconhecimento mínimo e máximo de cada RNAs treinada.
Tabela 3 - Intervalo de confiança nas topologias das RNAs.
86,272,2646,968330,16879,2327235 x 12 x 12
95,09193,2210,93494,047594,1567212 x 24 x 24 x 4
94,43492,4960,96894,194693,4657212 x 12 x 4
LSICLIICICDesvio Padrão
Média das amostra
Número de amostras
Topologia RNA
86,272,2646,968330,16879,2327235 x 12 x 12
95,09193,2210,93494,047594,1567212 x 24 x 24 x 4
94,43492,4960,96894,194693,4657212 x 12 x 4
LSICLIICICDesvio Padrão
Média das amostra
Número de amostras
Topologia RNA
Fonte: Autoria própria, 2010.
66
5.3 Comparações com outros trabalhos
Os resultado extraídos nas simulações realizadas nesse trabalho apresentaram o
reconhecimento na taxa de aprendizagem com percentual de 94,156%. No trabalho proposto
por Gelenbe, Seref e Xu (2001) onde foi aplicado o processo de aprendizado por reforço e
redes neurais artificiais no agente no ambiente que o mesmo deveria percorrer uma rodovia
em alta velocidade o nível de aprendizado da rede varia em 90% de aprendizado.
Na aplicação feita por Hacibeyoglu e Arslan (2010), objetivo do agente localizar um
caminho mais curto com a utilização do algoritmo por reforço Q-learning e redes Perceptrons
de multiplas camadas o agente obteve resultados que demonstram que o agente pode
desenvolver seu aprendizado por caminho mais curto de 4 x 5 mais rápido que os demais
estudos apresentado na literatura.
Contudo com a implementação da RNA que foi construida e treinada de acordo com a
proposta de Hacibeyoglu e Arslan (2010) o indice de acerto da RNA foi de 93,465 menos de
1% de diferença da RNA com duas camadas ocultas.
67
6. CONCLUSÃO E TRABALHOS FUTUROS
Esse trabalho propôs apresentar o aprendizado por reforço para que o agente inteligente
possua a capacidade de desenvolver o seu conhecimento de forma independente de outras
entidades ou outros agentes.
Dentre os métodos de aprendizado foi apresentado o aprendizado observacional que não
é muito aplicado à solução para o desenvolvimento do conhecimento de agentes inteligentes
em simulações virtuais.
Outro método de aprendizado apresentado nessa pesquisa foi aprendizado por reforço
que busca analisar o processo de aprendizado do agente por tentativa e erro e verificar se num
determinado estágio do aprendizado o agente consegue reconhecer os eventos do ambiente
sem apresentar tantos erros como no inicio de suas iterações no ambiente virtual.
Os métodos de aprendizado observacional e por reforço foram contextualizado nessa
pesquisa devido o interesse de avaliar a capacidade de aprendizado do agente através dessas
duas técnicas de aprendizado e mais a aplicação de redes neurais artificiais.
Contudo os cenários escolhidos para o desenvolvimento da aprendizagem dos agentes
apresentam ambientes de simulações que possibilitam melhorias nos eventos que ocorrem no
mundo real. As simulações com agente no ambiente de trânsito apresentam problema no fluxo
de tráfego e possibilidade na melhoria através de simulações em cruzamentos e semáforos
com aplicações de agentes.
O comportamento do agente de trânsito nesse trabalho propôs que o mesmo desenvolve-
se o processo de aprendizado por reforço com aplicação de redes Perceptrons de múltiplas
camadas. Objetivo do agente de trânsito era percorrer uma determinada rota e observar os
eventos ocorridos nesse ambiente nesse caso, a cada evento que se apresenta para o agente o
mesmo através de sua rede neural artificial deveria reconhecer o evento e se comportar
conforme o estado do evento, se o agente errar o estado do evento da sua rede neural sofreria
uma penalidade. Se caso acertar o estado do evento a sua rede neural aumentava a sua taxa de
aprendizagem.
Os resultados das RNAs criadas e treinadas nesse trabalho apresentaram um acerto de
mais de 94% no reconhecimento dos padrões para redes neurais com duas camadas
intermediarias e mais de 93% para RNA com uma camada intermediaria. Os resultados
obtidos pela RNA demonstram que a possibilidade de um agente inteligente conseguir
68
desenvolver seu conhecimento sem o auxilio de outro agente ou usuário externo aumenta
quando a taxa de aprendizado da RNA for elevada e eficiente.
A seguir são apresentados possibilidades de realização de trabalhos futuros a partir
desse trabalho:
• aplicações de multi-agentes nos ambientes de trânsitos para simulações de tráfegos
caóticos e problemas nos fluxos de cruzamentos;
• aplicações de agentes com aprendizagem de algoritmos genéticos em ambientes de
trânsito;
• desenvolvimento do ambiente de trânsito e de resgates em 3D;
• treinamento das redes perceptrons de múltiplas camadas no agente de resgate;
• implementação do agente de resgate conforme a modelagem proposta nesse trabalho;
• comparação do desenvolvimento da aprendizagem por reforço e aprendizagem
observacional nos agentes inteligente;
• aplicações de multi-agentes em ambientes de desastres urbanos com algoritmos
genéticos.
69
REFERÊNCIAS
AUER, K. Agents. Disponível em <http://www.pcug.org.au/~kauer/project/main.htm.> acesso em 26 fev. 2010 BRAGA, Antônio de P.; CARVALHO, André C. P. de L. F.; LUDEMIR, Tereza B. Redes Neurais Artificiais: teoria e aplicações. 2 ed. Rio de Janeiro: LTC, 2007. DOWLING. J.; CUNNINGHAM R.; CURRAN E. Cahill. Building autonomic systems using collaborative reinforcement learning, Knowl. Eng. Rev., vol.21, pp.231–238, 2006. DU R. Urban Traffic Coordination Control System Based on Multi-Agent-Game, Changsha University of Science and Technology, Changsha, China, 2008. Disponível em:<http://ieeexplore.ieee.org > Acesso em 7 jun. 2010. FAYAD, M.; SCHMIDT, D.; JOHNSON, R. “Building ApplicationFrameworks: Object-Oriented Foundations of Framework Design”, New York: John Wiley & Sons, 1999.Disponível em:<http://ieeexplore.ieee.org > Acesso em 7 jun. 2010. GELENBE, E.; SEREF, E.; XU, Z. Simulation with Learning Agents, School of Electrical Engineering and Computer Science University of Central Florida Orlando, FL. 2001.Disponível em:<http://ieeexplore.ieee.org > Acesso em 6 abr. 2010. HACIBEYOGLU, M.; ARSLAN, A. Reinforcement learning accelerated with artificial neural network for maze and search problems, Selcuk University, Konya, Turkey, 2010. Disponível em:<http://ieeexplore.ieee.org > Acesso em 13 nov. 2010. HAYKIN, Simon. Redes Neurais: princípios e pratica. 2 ed. Porto Alegre: Bookman, 2001. JavaNNS: Java Neural Network Simulator. University of Tübingen. Disponível em:<http://www.ra.cs.uni-tuebingen.de/software/JavaNNS/> Acesso em 27 out.2010 JIN et al. A multi-agent based model for urban demand-responsive passenger transport services, Lab. LITIS, INSA de Rouen, Mont St. Aignan, 2008. Disponível em:<http://ieeexplore.ieee.org > Acesso em 7 jun. 2010. LI J.; MIAO Z. Agent Based Intelligent Virtual Environment and Its Entertainment Application , Institute of Information Science, Beijing Jiaotong University, Beijing. 2006. Disponível em:<http://ieeexplore.ieee.org > Acesso em 5 abr. 2010.
70
LI Y. Agent-based Modeling: A Case Study in Urban Traffic Simulation System, School of Business, East China University of Science & Technology, P.R.China, 2007. Disponível em:<http://ieeexplore.ieee.org > Acesso em 5 abr. 2010. LI Y. et al.; Microscopic urban traffic simulation with multi- agent system Inst. of Syst. Eng., Shanghai Jiao Tong Univ., China, 2004. Disponível em:<http://ieeexplore.ieee.org > Acesso em 5 abr. 2010. LUACES M.; GAYOSO C.; SUAREZ S. Intelligent Virtual Environments : Operating Conditioning And Observational Learning In Agents Using Neural Networks, Universidad ORT Uruguay, Universidad Politécnica de Madrid,Madri, 2006. Disponível em:<http://ieeexplore.ieee.org > Acesso em 7 jun. 2010. LUGER, George. Inteligência Artificial: estruturas e estratégias para a solução de problemas complexos, 4º Edição. Porto Alegre:Bookman, 2004. MARTINEZ M. WSEAS Transactions: Computer Science and Applications I4, V3, La Habana, 2006. MARTINS, Francisco José. Sistema de Comunicação Inteligente em um Ambiente Multi-agente para Ensino a Distância.Trabalho de Conclusão. 2001 MASSAD et al. Métodos Quantitativos em Medicina. Barueri, SP: Editora Manole, 2004. MONARD, M. C.; BARANAUSKAS, J.A. Conceitos sobre aprendizado de máquina.In: REZENDE, S.O.(Ed.) Sistemas inteligentes: fundamentos e aplicações.São Carlos:Manole, p.89-114, cp.4, 2005. NEVES, Marcelo Veiga. Uma (Breve) Introdução às Redes Neurais Artificiais. Instituto de Informática, UFRGS, Porto Alegre, RS, Brasil, 2006. PARKER, B. PARKER, M. JOHNSON, D. Evolving Autonomous Agent Control in the Xpilot Environment, Computer Science Connecticut College New London, CT 06320, Computer Science Department Indiana University Bloomington, IN 47405, 2005. Disponível em:<http://ieeexplore.ieee.org > Acesso em 7 jun. 2010. REZENDE, Solange Oliveira (coordenadora). Sistemas Inteligentes: fundamentos e aplicações. Barueri, SP: Manole, 2005.
71
ROISENBERG, M., BARRETO, J., AZEVEDO. F, Um Ambiente Evolucionário para Geração de Redes Neurais em Agentes, Depto. de Informática e Estatística – CTC – UFSC, Grupo de Pesquisas em Engenharia Biomédica – CTC – UFSC, 1999 RUSSEL, Stuart; NORVIG, Peter: Inteligência Artificial . Campus, São Paulo, 2004. SOWA, John. Agents. Disponível em:< http://users.bestweb.net/~sowa/ ontology/agents.htm> Acesso em 20 fev.2010. STEINER, M. T. A. Redes Neurais. Notas de aula apresentadas na disciplina Aplicações de Pesquisa Operacional, Universidade Federal do Paraná, 2006. TROJAHN, Cássia; OSÓRIO, Fernando Santos . Concepção de Um Agente Inteligente para um Ambiente Virtual Adaptativo. In: IV Encontro Nacional de Inteligência Artificial, 2003, Campinas. Anais do IV Encontro Nacional de Inteligência Artificial, 2003. WEI Y.;HAN Y.; FAN B. Agent-Oriented urban traffic micro simulation system, Coll. of Comput. Sci., Univ. of Shanghai for Sci. & Technol., Shanghai, 2008 Disponível em:<http://ieeexplore.ieee.org > Acesso em 7 jun. 2010. WOOLDRIDGE, Michael; JENNIGS, Nicholas. Agent Theories, Architectures, and Languagees: A Survey. In: Proceedings of ECAI 94 Workshop on Agent Theories, Architectures & Languages. Amesterdam The Netherlands, p. 1-32. 1994. XIA X.; XU L. Traffic Signal Control Agent Interaction Model Based on Game Theory and Reinforcement Learning, Sch. of Civil Eng. & Transp., South China Univ. of Technol. (SCUT), Guangzhou, China, 2010. Disponível em:<http://ieeexplore.ieee.org > Acesso em 7 jun. 2010.
72
APÊNDICE A - PADRÕES DE ENTRADAS E SAÍDAS DESEJADAS DAS RNAS
Os dados informados no código abaixo representam os valores dos treinamentos das redes
neurais. Os of patterns representam os padrões de reconhecimento das RNAs. Os of inputs
são os valores de entradas informados na RNA. Os of output são os valores desejados nas
saídas da RNA.
1) Representação das entradas e saídas desejadas das topologias das RNAs no JavaNNS 12 x 12 x 8 e 12 x 24 x 24 x 4
No. of patterns : 12
No. of input units : 12
No. of output units : 4
# Input pattern 1:
1 0 0 0 0 0 0 0 0 0
0 0
# Output pattern 1:
1 0 0 0
# Input pattern 2:
0 1 0 0 0 0 0 0 0 0
0 0
# Output pattern 2:
1 0 0 0
# Input pattern 3:
0 0 1 0 0 0 0 0 0 0
0 0
# Output pattern 3:
0 1 0 0
# Input pattern 4:
0 0 0 1 0 0 0 0 0 0
0 0
73
# Output pattern 4:
0 1 0 0
# Input pattern 5:
0 0 0 0 1 0 0 0 0 0
0 0
# Output pattern 5:
0 0 1 0
# Input pattern 6:
0 0 0 0 0 1 0 0 0 0
0 0
# Output pattern 6:
0 0 1 0
# Input pattern 7:
0 0 0 0 0 0 1 0 0 0
0 0
# Output pattern 7:
0 0 1 0
# Input pattern 8:
0 0 0 0 0 0 0 1 0 0
0 0
# Output pattern 8:
0 0 1 0
# Input pattern 9:
0 0 0 0 0 0 0 0 1 0
0 0
# Output pattern 9:
0 0 0 1
# Input pattern 10:
0 0 0 0 0 0 0 0 0 1
0 0
# Output pattern 10:
0 0 0 1
74
# Input pattern 11:
0 0 0 0 0 0 0 0 0 0
1 0
# Output pattern 11:
0 0 0 1
# Input pattern 12:
0 0 0 0 0 0 0 0 0 0
0 1
# Output pattern 12:
0 0 0 1
2) Representação das entradas e saídas desejadas da topologia da RNAs no JavaNNS 35 x 12 x 12 x 12
No. of patterns : 12
No. of input units : 35
No. of output units : 12
# Input pattern 1:
1 1 1 1 1 1 0 0 0 1
1 0 0 0 1 1 0 0 0 1
1 0 0 0 1 1 0 0 0 1
1 1 1 1 1
# Output pattern 1:
1 0 0 0 0 0 0 0 0 0
0 0
# Input pattern 2:
0 0 0 0 0 0 1 1 1 0
0 1 1 1 0 0 1 1 1 0
0 1 1 1 0 0 1 1 1 0
0 0 0 0 0
# Output pattern 2:
0 1 0 0 0 0 0 0 0 0
0 0
75
# Input pattern 3:
0 1 1 1 0 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1
0 1 1 1 0
# Output pattern 3:
0 0 1 0 0 0 0 0 0 0
0 0
# Input pattern 4:
0 1 1 1 0 1 1 0 0 1
1 1 1 0 1 1 0 1 1 1
1 0 0 1 1 1 0 0 0 1
0 1 1 1 0
# Output pattern 4:
0 0 0 1 0 0 0 0 0 0
0 0
# Input pattern 5:
0 1 1 1 0 1 0 0 0 1
1 0 0 0 1 1 0 0 0 1
1 0 0 0 1 1 0 0 0 1
0 1 1 1 0
# Output pattern 5:
0 0 0 0 1 0 0 0 0 0
0 0
# Input pattern 6:
1 1 1 1 1 0 0 0 0 1
0 0 0 1 0 0 0 1 0 0
0 1 0 0 0 1 0 0 0 0
1 1 1 1 1
# Output pattern 6:
0 0 0 0 0 1 0 0 0 0
0 0
76
# Input pattern 7:
0 1 1 1 0 1 0 0 0 0
0 1 1 1 0 1 0 0 0 1
1 0 0 0 1 1 0 0 0 1
0 1 1 1 0
# Output pattern 7:
0 0 0 0 0 0 1 0 0 0
0 0
# Input pattern 8:
0 1 1 1 0 1 0 0 0 1
1 0 0 0 1 0 1 1 1 0
1 0 0 0 1 1 0 0 0 1
0 1 1 1 0
# Output pattern 8:
0 0 0 0 0 0 0 1 0 0
0 0
# Input pattern 9:
0 0 1 0 0 0 1 1 1 0
1 0 1 0 1 0 0 1 0 0
0 0 1 0 0 0 0 1 0 0
0 0 1 0 0
# Output pattern 9:
0 0 0 0 0 0 0 0 1 0
0 0
# Input pattern 10:
0 0 1 0 0 0 0 1 0 0
0 0 1 0 0 0 0 1 0 0
1 0 1 0 1 0 1 1 1 0
0 0 1 0 0
# Output pattern 10:
0 0 0 0 0 0 0 0 0 1
0 0
77
# Input pattern 11:
0 1 0 0 0 0 0 1 0 0
0 0 0 1 0 1 1 1 1 1
0 0 0 1 0 0 0 1 0 0
0 1 0 0 0
# Output pattern 11:
0 0 0 0 0 0 0 0 0 0
1 0
# Input pattern 12:
0 0 0 1 0 0 0 1 0 0
0 1 0 0 0 1 1 1 1 1
0 1 0 0 0 0 0 1 0 0
0 0 0 1 0
# Output pattern 12:
0 0 0 0 0 0 0 0 0 0
0 1
78
APÊNDICE B – REPRESENTAÇÃO DA RNA TOPOLOGIA 35 X 12 X 12 X 12
Na figura 24 é representado o padrão de reconhecimento da RNA para a entrada de
sinalização em estado verde.
Figura 24 - Representação do semáforo em verde na camada de entrada da RNA Fonte: Autoria própria, 2010
Na figura 25 é representado o padrão de reconhecimento da RNA para a entrada de
sinalização em estado vermelho.
Figura 25 - Representação do semáforo em vermelho na camada de entrada da RNA Fonte: Autoria própria, 2010
79
Na figura 26 é representado o padrão de reconhecimento da RNA para a entrada de vaga
para estacionar livre.
Figura 26 - Representação da vaga livre na camada de entrada da RNA Fonte: Autoria própria, 2010
Na figura 27 é representado o padrão de reconhecimento da RNA para a entrada de vaga
para estacionar proibida.
Figura 27 - Representação da vaga proibida na camada de entrada da RNA Fonte: Autoria própria, 2010.
80
Na figura 28 é representado o padrão de reconhecimento da RNA para a entrada da
velocidade zero que o agente pode ficar parado.
Figura 28 - Representação agente parado na camada de entrada da RNA Fonte: Autoria própria, 2010.
Na figura 29 é representado o padrão de reconhecimento da RNA para a entrada da
velocidade média que o agente pode percorre.
Figura 29 - Representação velocidade baixa na camada de entrada da RNA Fonte: Autoria própria, 2010.
81
Na figura 30 é representado o padrão de reconhecimento da RNA para a entrada da
velocidade média que o agente pode percorrer.
Figura 30 - Representação velocidade média na camada de entrada da RNA Fonte: Autoria própria, 2010.
Na figura 31 é representado o padrão de reconhecimento da RNA para a entrada da
velocidade alta que o agente pode percorrer.
Figura 31 - Representação velocidade alta na camada de entrada da RNA Fonte: Autoria própria, 2010.
82
Na figura 32 é representado o padrão de reconhecimento da RNA para a entrada do
movimento de direção para frente.
Figura 32 - Representação de direção para frente na camada de entrada da RNA Fonte: Autoria própria, 2010.
Na figura 33 é representado o padrão de reconhecimento da RNA para a entrada do
movimento de direção para trás.
Figura 33 - Representação de direção para trás na camada de entrada da RNA Fonte: Autoria própria, 2010.
83
Na figura 34 é representado o padrão de reconhecimento da RNA para a entrada do
movimento de direção para direita.
Figura 34 - Representação de direção para direita na camada de entrada da RNA Fonte: Autoria própria, 2010.
Na figura 35 é representado o padrão de reconhecimento da RNA para a entrada do
movimento de direção para esquerda.
Figura 35 - Representação de direção para esquerda na camada de entrada da RNA Fonte: Autoria própria, 2010.