um estudo sobre aprendizado de agentes … · banca examinadora do curso de ciência da...

84
0 MARCO ANTÔNIO GOMES DE ASSUNÇÃO UM ESTUDO SOBRE APRENDIZADO DE AGENTES INTELIGENTES BASEADO EM AMBIENTES DE TRÂNSITO CANOAS, 2010

Upload: vuongnhan

Post on 21-Jan-2019

219 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: UM ESTUDO SOBRE APRENDIZADO DE AGENTES … · banca examinadora do curso de Ciência da Computação do Centro Universitário La Salle - Unilasalle, como exigência parcial para a

0

MARCO ANTÔNIO GOMES DE ASSUNÇÃO

UM ESTUDO SOBRE APRENDIZADO DE AGENTES INTELIGENTES

BASEADO EM AMBIENTES DE TRÂNSITO

CANOAS, 2010

Page 2: UM ESTUDO SOBRE APRENDIZADO DE AGENTES … · banca examinadora do curso de Ciência da Computação do Centro Universitário La Salle - Unilasalle, como exigência parcial para a

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

Page 3: UM ESTUDO SOBRE APRENDIZADO DE AGENTES … · banca examinadora do curso de Ciência da Computação do Centro Universitário La Salle - Unilasalle, como exigência parcial para a

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

Page 4: UM ESTUDO SOBRE APRENDIZADO DE AGENTES … · banca examinadora do curso de Ciência da Computação do Centro Universitário La Salle - Unilasalle, como exigência parcial para a

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.

Page 5: UM ESTUDO SOBRE APRENDIZADO DE AGENTES … · banca examinadora do curso de Ciência da Computação do Centro Universitário La Salle - Unilasalle, como exigência parcial para a

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.

Page 6: UM ESTUDO SOBRE APRENDIZADO DE AGENTES … · banca examinadora do curso de Ciência da Computação do Centro Universitário La Salle - Unilasalle, como exigência parcial para a

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.

Page 7: UM ESTUDO SOBRE APRENDIZADO DE AGENTES … · banca examinadora do curso de Ciência da Computação do Centro Universitário La Salle - Unilasalle, como exigência parcial para a

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.

Page 8: UM ESTUDO SOBRE APRENDIZADO DE AGENTES … · banca examinadora do curso de Ciência da Computação do Centro Universitário La Salle - Unilasalle, como exigência parcial para a

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

Page 9: UM ESTUDO SOBRE APRENDIZADO DE AGENTES … · banca examinadora do curso de Ciência da Computação do Centro Universitário La Salle - Unilasalle, como exigência parcial para a

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

Page 10: UM ESTUDO SOBRE APRENDIZADO DE AGENTES … · banca examinadora do curso de Ciência da Computação do Centro Universitário La Salle - Unilasalle, como exigência parcial para a

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

Page 11: UM ESTUDO SOBRE APRENDIZADO DE AGENTES … · banca examinadora do curso de Ciência da Computação do Centro Universitário La Salle - Unilasalle, como exigência parcial para a

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

Page 12: UM ESTUDO SOBRE APRENDIZADO DE AGENTES … · banca examinadora do curso de Ciência da Computação do Centro Universitário La Salle - Unilasalle, como exigência parcial para a

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

Page 13: UM ESTUDO SOBRE APRENDIZADO DE AGENTES … · banca examinadora do curso de Ciência da Computação do Centro Universitário La Salle - Unilasalle, como exigência parcial para a

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

Page 14: UM ESTUDO SOBRE APRENDIZADO DE AGENTES … · banca examinadora do curso de Ciência da Computação do Centro Universitário La Salle - Unilasalle, como exigência parcial para a

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.

Page 15: UM ESTUDO SOBRE APRENDIZADO DE AGENTES … · banca examinadora do curso de Ciência da Computação do Centro Universitário La Salle - Unilasalle, como exigência parcial para a

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.

Page 16: UM ESTUDO SOBRE APRENDIZADO DE AGENTES … · banca examinadora do curso de Ciência da Computação do Centro Universitário La Salle - Unilasalle, como exigência parcial para a

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.

Page 17: UM ESTUDO SOBRE APRENDIZADO DE AGENTES … · banca examinadora do curso de Ciência da Computação do Centro Universitário La Salle - Unilasalle, como exigência parcial para a

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).

Page 18: UM ESTUDO SOBRE APRENDIZADO DE AGENTES … · banca examinadora do curso de Ciência da Computação do Centro Universitário La Salle - Unilasalle, como exigência parcial para a

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.

Page 19: UM ESTUDO SOBRE APRENDIZADO DE AGENTES … · banca examinadora do curso de Ciência da Computação do Centro Universitário La Salle - Unilasalle, como exigência parcial para a

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

Page 20: UM ESTUDO SOBRE APRENDIZADO DE AGENTES … · banca examinadora do curso de Ciência da Computação do Centro Universitário La Salle - Unilasalle, como exigência parcial para a

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;

Page 21: UM ESTUDO SOBRE APRENDIZADO DE AGENTES … · banca examinadora do curso de Ciência da Computação do Centro Universitário La Salle - Unilasalle, como exigência parcial para a

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.

Page 22: UM ESTUDO SOBRE APRENDIZADO DE AGENTES … · banca examinadora do curso de Ciência da Computação do Centro Universitário La Salle - Unilasalle, como exigência parcial para a

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).

Page 23: UM ESTUDO SOBRE APRENDIZADO DE AGENTES … · banca examinadora do curso de Ciência da Computação do Centro Universitário La Salle - Unilasalle, como exigência parcial para a

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

Page 24: UM ESTUDO SOBRE APRENDIZADO DE AGENTES … · banca examinadora do curso de Ciência da Computação do Centro Universitário La Salle - Unilasalle, como exigência parcial para a

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.

Page 25: UM ESTUDO SOBRE APRENDIZADO DE AGENTES … · banca examinadora do curso de Ciência da Computação do Centro Universitário La Salle - Unilasalle, como exigência parcial para a

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

Page 26: UM ESTUDO SOBRE APRENDIZADO DE AGENTES … · banca examinadora do curso de Ciência da Computação do Centro Universitário La Salle - Unilasalle, como exigência parcial para a

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.

Page 27: UM ESTUDO SOBRE APRENDIZADO DE AGENTES … · banca examinadora do curso de Ciência da Computação do Centro Universitário La Salle - Unilasalle, como exigência parcial para a

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;

Page 28: UM ESTUDO SOBRE APRENDIZADO DE AGENTES … · banca examinadora do curso de Ciência da Computação do Centro Universitário La Salle - Unilasalle, como exigência parcial para a

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;

Page 29: UM ESTUDO SOBRE APRENDIZADO DE AGENTES … · banca examinadora do curso de Ciência da Computação do Centro Universitário La Salle - Unilasalle, como exigência parcial para a

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

Page 30: UM ESTUDO SOBRE APRENDIZADO DE AGENTES … · banca examinadora do curso de Ciência da Computação do Centro Universitário La Salle - Unilasalle, como exigência parcial para a

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.

Page 31: UM ESTUDO SOBRE APRENDIZADO DE AGENTES … · banca examinadora do curso de Ciência da Computação do Centro Universitário La Salle - Unilasalle, como exigência parcial para a

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.

Page 32: UM ESTUDO SOBRE APRENDIZADO DE AGENTES … · banca examinadora do curso de Ciência da Computação do Centro Universitário La Salle - Unilasalle, como exigência parcial para a

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;

Page 33: UM ESTUDO SOBRE APRENDIZADO DE AGENTES … · banca examinadora do curso de Ciência da Computação do Centro Universitário La Salle - Unilasalle, como exigência parcial para a

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

Page 34: UM ESTUDO SOBRE APRENDIZADO DE AGENTES … · banca examinadora do curso de Ciência da Computação do Centro Universitário La Salle - Unilasalle, como exigência parcial para a

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.

Page 35: UM ESTUDO SOBRE APRENDIZADO DE AGENTES … · banca examinadora do curso de Ciência da Computação do Centro Universitário La Salle - Unilasalle, como exigência parcial para a

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

Page 36: UM ESTUDO SOBRE APRENDIZADO DE AGENTES … · banca examinadora do curso de Ciência da Computação do Centro Universitário La Salle - Unilasalle, como exigência parcial para 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).

Page 37: UM ESTUDO SOBRE APRENDIZADO DE AGENTES … · banca examinadora do curso de Ciência da Computação do Centro Universitário La Salle - Unilasalle, como exigência parcial para a

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.

Page 38: UM ESTUDO SOBRE APRENDIZADO DE AGENTES … · banca examinadora do curso de Ciência da Computação do Centro Universitário La Salle - Unilasalle, como exigência parcial para a

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

Page 39: UM ESTUDO SOBRE APRENDIZADO DE AGENTES … · banca examinadora do curso de Ciência da Computação do Centro Universitário La Salle - Unilasalle, como exigência parcial para a

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.

Page 40: UM ESTUDO SOBRE APRENDIZADO DE AGENTES … · banca examinadora do curso de Ciência da Computação do Centro Universitário La Salle - Unilasalle, como exigência parcial para a

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).

Page 41: UM ESTUDO SOBRE APRENDIZADO DE AGENTES … · banca examinadora do curso de Ciência da Computação do Centro Universitário La Salle - Unilasalle, como exigência parcial para a

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.

Page 42: UM ESTUDO SOBRE APRENDIZADO DE AGENTES … · banca examinadora do curso de Ciência da Computação do Centro Universitário La Salle - Unilasalle, como exigência parcial para a

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.

Page 43: UM ESTUDO SOBRE APRENDIZADO DE AGENTES … · banca examinadora do curso de Ciência da Computação do Centro Universitário La Salle - Unilasalle, como exigência parcial para a

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.

Page 44: UM ESTUDO SOBRE APRENDIZADO DE AGENTES … · banca examinadora do curso de Ciência da Computação do Centro Universitário La Salle - Unilasalle, como exigência parcial para a

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.

Page 45: UM ESTUDO SOBRE APRENDIZADO DE AGENTES … · banca examinadora do curso de Ciência da Computação do Centro Universitário La Salle - Unilasalle, como exigência parcial para a

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

Page 46: UM ESTUDO SOBRE APRENDIZADO DE AGENTES … · banca examinadora do curso de Ciência da Computação do Centro Universitário La Salle - Unilasalle, como exigência parcial para a

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.

Page 47: UM ESTUDO SOBRE APRENDIZADO DE AGENTES … · banca examinadora do curso de Ciência da Computação do Centro Universitário La Salle - Unilasalle, como exigência parcial para a

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.

Page 48: UM ESTUDO SOBRE APRENDIZADO DE AGENTES … · banca examinadora do curso de Ciência da Computação do Centro Universitário La Salle - Unilasalle, como exigência parcial para a

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.

Page 49: UM ESTUDO SOBRE APRENDIZADO DE AGENTES … · banca examinadora do curso de Ciência da Computação do Centro Universitário La Salle - Unilasalle, como exigência parcial para a

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.

Page 50: UM ESTUDO SOBRE APRENDIZADO DE AGENTES … · banca examinadora do curso de Ciência da Computação do Centro Universitário La Salle - Unilasalle, como exigência parcial para a

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.

Page 51: UM ESTUDO SOBRE APRENDIZADO DE AGENTES … · banca examinadora do curso de Ciência da Computação do Centro Universitário La Salle - Unilasalle, como exigência parcial para a

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.

Page 52: UM ESTUDO SOBRE APRENDIZADO DE AGENTES … · banca examinadora do curso de Ciência da Computação do Centro Universitário La Salle - Unilasalle, como exigência parcial para a

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.

Page 53: UM ESTUDO SOBRE APRENDIZADO DE AGENTES … · banca examinadora do curso de Ciência da Computação do Centro Universitário La Salle - Unilasalle, como exigência parcial para a

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.

Page 54: UM ESTUDO SOBRE APRENDIZADO DE AGENTES … · banca examinadora do curso de Ciência da Computação do Centro Universitário La Salle - Unilasalle, como exigência parcial para a

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;

Page 55: UM ESTUDO SOBRE APRENDIZADO DE AGENTES … · banca examinadora do curso de Ciência da Computação do Centro Universitário La Salle - Unilasalle, como exigência parcial para a

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.

Page 56: UM ESTUDO SOBRE APRENDIZADO DE AGENTES … · banca examinadora do curso de Ciência da Computação do Centro Universitário La Salle - Unilasalle, como exigência parcial para a

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.

Page 57: UM ESTUDO SOBRE APRENDIZADO DE AGENTES … · banca examinadora do curso de Ciência da Computação do Centro Universitário La Salle - Unilasalle, como exigência parcial para a

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.

Page 58: UM ESTUDO SOBRE APRENDIZADO DE AGENTES … · banca examinadora do curso de Ciência da Computação do Centro Universitário La Salle - Unilasalle, como exigência parcial para a

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)

Page 59: UM ESTUDO SOBRE APRENDIZADO DE AGENTES … · banca examinadora do curso de Ciência da Computação do Centro Universitário La Salle - Unilasalle, como exigência parcial para a

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)

Page 60: UM ESTUDO SOBRE APRENDIZADO DE AGENTES … · banca examinadora do curso de Ciência da Computação do Centro Universitário La Salle - Unilasalle, como exigência parcial para a

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.

Page 61: UM ESTUDO SOBRE APRENDIZADO DE AGENTES … · banca examinadora do curso de Ciência da Computação do Centro Universitário La Salle - Unilasalle, como exigência parcial para a

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.

Page 62: UM ESTUDO SOBRE APRENDIZADO DE AGENTES … · banca examinadora do curso de Ciência da Computação do Centro Universitário La Salle - Unilasalle, como exigência parcial para a

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.

Page 63: UM ESTUDO SOBRE APRENDIZADO DE AGENTES … · banca examinadora do curso de Ciência da Computação do Centro Universitário La Salle - Unilasalle, como exigência parcial para a

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

Page 64: UM ESTUDO SOBRE APRENDIZADO DE AGENTES … · banca examinadora do curso de Ciência da Computação do Centro Universitário La Salle - Unilasalle, como exigência parcial para a

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.

Page 65: UM ESTUDO SOBRE APRENDIZADO DE AGENTES … · banca examinadora do curso de Ciência da Computação do Centro Universitário La Salle - Unilasalle, como exigência parcial para a

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

Page 66: UM ESTUDO SOBRE APRENDIZADO DE AGENTES … · banca examinadora do curso de Ciência da Computação do Centro Universitário La Salle - Unilasalle, como exigência parcial para a

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.

Page 67: UM ESTUDO SOBRE APRENDIZADO DE AGENTES … · banca examinadora do curso de Ciência da Computação do Centro Universitário La Salle - Unilasalle, como exigência parcial para a

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.

Page 68: UM ESTUDO SOBRE APRENDIZADO DE AGENTES … · banca examinadora do curso de Ciência da Computação do Centro Universitário La Salle - Unilasalle, como exigência parcial para a

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

Page 69: UM ESTUDO SOBRE APRENDIZADO DE AGENTES … · banca examinadora do curso de Ciência da Computação do Centro Universitário La Salle - Unilasalle, como exigência parcial para a

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.

Page 70: UM ESTUDO SOBRE APRENDIZADO DE AGENTES … · banca examinadora do curso de Ciência da Computação do Centro Universitário La Salle - Unilasalle, como exigência parcial para a

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.

Page 71: UM ESTUDO SOBRE APRENDIZADO DE AGENTES … · banca examinadora do curso de Ciência da Computação do Centro Universitário La Salle - Unilasalle, como exigência parcial para a

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.

Page 72: UM ESTUDO SOBRE APRENDIZADO DE AGENTES … · banca examinadora do curso de Ciência da Computação do Centro Universitário La Salle - Unilasalle, como exigência parcial para a

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.

Page 73: UM ESTUDO SOBRE APRENDIZADO DE AGENTES … · banca examinadora do curso de Ciência da Computação do Centro Universitário La Salle - Unilasalle, como exigência parcial para a

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

Page 74: UM ESTUDO SOBRE APRENDIZADO DE AGENTES … · banca examinadora do curso de Ciência da Computação do Centro Universitário La Salle - Unilasalle, como exigência parcial para a

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

Page 75: UM ESTUDO SOBRE APRENDIZADO DE AGENTES … · banca examinadora do curso de Ciência da Computação do Centro Universitário La Salle - Unilasalle, como exigência parcial para a

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

Page 76: UM ESTUDO SOBRE APRENDIZADO DE AGENTES … · banca examinadora do curso de Ciência da Computação do Centro Universitário La Salle - Unilasalle, como exigência parcial para a

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

Page 77: UM ESTUDO SOBRE APRENDIZADO DE AGENTES … · banca examinadora do curso de Ciência da Computação do Centro Universitário La Salle - Unilasalle, como exigência parcial para a

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

Page 78: UM ESTUDO SOBRE APRENDIZADO DE AGENTES … · banca examinadora do curso de Ciência da Computação do Centro Universitário La Salle - Unilasalle, como exigência parcial para a

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

Page 79: UM ESTUDO SOBRE APRENDIZADO DE AGENTES … · banca examinadora do curso de Ciência da Computação do Centro Universitário La Salle - Unilasalle, como exigência parcial para a

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

Page 80: UM ESTUDO SOBRE APRENDIZADO DE AGENTES … · banca examinadora do curso de Ciência da Computação do Centro Universitário La Salle - Unilasalle, como exigência parcial para a

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.

Page 81: UM ESTUDO SOBRE APRENDIZADO DE AGENTES … · banca examinadora do curso de Ciência da Computação do Centro Universitário La Salle - Unilasalle, como exigência parcial para a

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.

Page 82: UM ESTUDO SOBRE APRENDIZADO DE AGENTES … · banca examinadora do curso de Ciência da Computação do Centro Universitário La Salle - Unilasalle, como exigência parcial para a

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.

Page 83: UM ESTUDO SOBRE APRENDIZADO DE AGENTES … · banca examinadora do curso de Ciência da Computação do Centro Universitário La Salle - Unilasalle, como exigência parcial para a

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.

Page 84: UM ESTUDO SOBRE APRENDIZADO DE AGENTES … · banca examinadora do curso de Ciência da Computação do Centro Universitário La Salle - Unilasalle, como exigência parcial para a

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.