• Nenhum resultado encontrado

Roteamento em Redes de Sensores Sem Fios Com Base Em Aprendizagem Por Reforço

N/A
N/A
Protected

Academic year: 2017

Share "Roteamento em Redes de Sensores Sem Fios Com Base Em Aprendizagem Por Reforço"

Copied!
70
0
0

Texto

(1)

COMPUTAÇÃO

Roteamento em Redes de Sensores Sem Fios

com Base em Aprendizagem por Reforço

Leonardo René dos Santos Campos

Orientador: Prof. Dr. Adrião Duarte Dória Neto Co-orientador: Prof. Dr. Jorge Dantas de Melo

(2)

UNIVERSIDADEFEDERALDO RIO GRANDE DO NORTE

UNIVERSIDADEFEDERAL DORIOGRANDE DO NORTE CENTRO DETECNOLOGIA

PROGRAMA DEPÓS-GRADUAÇÃO EMENGENHARIAELÉTRICA E DE COMPUTAÇÃO

Roteamento em Redes de Sensores Sem Fios

com Base em Aprendizagem por Reforço

Leonardo René dos Santos Campos

Orientador: Prof. Dr. Adrião Duarte Dória Neto Co-orientador: Prof. Dr. Jorge Dantas de Melo

Dissertação de Mestrado apresentada ao

Programa de Pós-Graduação em Engenharia Elétrica e de Computação da UFRN (área de concentração: Engenharia de Computação) como parte dos requisitos para obtenção do título de Mestre em Ciências.

(3)

Campos, Leonardo René dos Santos

Roteamento em redes de sensores sem fios com base em aprendizagem por reforço / Leonardo René dos Santos Campos. – Natal, RN, 2011.

75 f. : il.

Orientador: Adrião Duarte Dória Neto. Co-orientador: Jorge Dantas de Melo.

Dissertação (Mestrado) – Universidade Federal do Rio Grande do Norte. Cen-tro de Tecnologia. Programa de Pós-Graduação em Engenharia Elétrica e de Computação.

1. Redes de Sensores – Dissertação. 2. Simulação – Dissertação. 3. Apren-dizado por Reforço – Dissertação. 4. Roteamento – Dissertação. I. Dória Neto, Adrião Duarte. II. Melo, Jorge Dantas de. III. Universidade Federal do Rio Grande do Norte. IV. Título.

(4)

Roteamento em Redes de Sensores Sem Fios

com Base em Aprendizagem por Reforço

Leonardo René dos Santos Campos

Dissertação de Mestrado aprovada em 19 de dezembro de 2011 pela banca examinadora composta pelos seguintes membros:

Prof. Dr. Adrião Duarte Dória Neto (orientador) . . . DCA/UFRN

Prof. Dr. Jorge Dantas de Melo (co-orientador) . . . DCA/UFRN

Prof. Dr. Luiz Affonso Henderson Guedes de Oliveira (examinador interno) . . . DCA/UFRN

(5)

Agradeço primeiramente a Deus, pelo dom da vida.

Aos professores Adrião Duarte e Jorge Dantas, pela orientação e ajuda na revisão deste trabalho.

Aos demais colegas de pós-graduação, pelas críticas e sugestões. À minha família, pelo apoio durante esta jornada.

(6)

Resumo

A utilização das redes de sensores e atuadores sem fio nas plantas das indústrias vem crescendo nos últimos anos, trazendo vários benefícios em relação aos sistemas cabeados, como flexibilidade na instalação e manutenção da rede. Tais redes consistem basicamente de um número possivelmente grande de dispositivos sensores e atuadores pequenos e autônomos que possuem capacidade de comunicação sem fio. Os dados coletados pelos sensores são enviados — seja diretamente ou passando através de nós intermediários pela rede — até uma estação-base conhecida como nó sink. O roteamento nesse ambiente é

uma questão essencial já que está intimamente ligado à eficiência energética e consequen-temente ao tempo de vida da rede. Este trabalho investiga a aplicação de uma técnica de roteamento baseado no algoritmo Q-Learning de Aprendizagem por Reforço a uma rede de sensores sem fio através de simulações no ambiente NS-2. Diversas métricas como consumo de energia, taxa de pacotes entregues com sucesso e atrasos são utilizadas para validar a proposta comparando-a com outras soluções existentes na literatura.

Palavras-chave: Redes de Sensores e Atuadores Sem Fio, simulação, aprendizado

(7)

The use of wireless sensor and actuator networks in industry has been increasing past few years, bringing multiple benefits compared to wired systems, like network flexibility and manageability. Such networks consists of a possibly large number of small and auto-nomous sensor and actuator devices with wireless communication capabilities. The data collected by sensors are sent — directly or through intermediary nodes along the network — to a base station calledsinknode. The data routing in this environment is an essential

matter since it is strictly bounded to the energy efficiency, thus the network lifetime. This work investigates the application of a routing technique based on Reinforcement Lear-ning’s Q-Learning algorithm to a wireless sensor network by using an NS-2 simulated environment. Several metrics like energy consumption, data packet delivery rates and de-lays are used to validate de proposal comparing it with another solutions existing in the literature.

Keywords: Wireless Sensor and Actuator Networks, simulation, reinforcement

(8)

Sumário

Sumário i

Lista de Figuras iii

Lista de Tabelas v

Lista de Símbolos e Abreviaturas vii

1 Introdução 1

1.1 Roteamento em RSSF . . . 3

1.2 Aprendizado de Máquina . . . 4

1.2.1 Trabalhos Relacionados . . . 5

1.3 Motivação . . . 5

1.4 Objetivos . . . 6

1.5 Organização do trabalho . . . 6

2 Redes de Sensores Sem Fios e Roteamento 7 2.1 Arquitetura de Comunicação . . . 7

2.2 Tecnologia ZigBee e o padrão IEEE 802.15.4 . . . 9

2.2.1 Camada de Aplicação . . . 9

2.2.2 Camada de Rede . . . 11

2.2.3 Camada de Controle de Acesso ao Meio . . . 12

2.2.4 Camada Física . . . 14

2.3 Algoritmos de roteamento . . . 14

3 Aprendizagem por Reforço Aplicada ao Roteamento 19 3.1 Conceitos Básicos . . . 19

3.2 Q-learning . . . 20

3.3 Roteamento como tarefa de aprendizagem por reforço . . . 21

3.3.1 Q-routing básico . . . 22

3.3.2 O algoritmo proposto: Q-routing aprimorado . . . 23

4 Simulações e Análise dos Resultados 27 4.1 O Simulador de Redes NS-2 . . . 27

4.2 Cenário . . . 28

4.3 Resultados . . . 32

(9)

4.3.4 Overhead de roteamento . . . 34

5 Conclusões e Trabalhos Futuros 37 5.1 Trabalhos futuros . . . 37

5.2 Publicações . . . 38

Referências bibliográficas 39 A Listagem dos Códigos-fonte 43 A.1 Estrutura do Pacote . . . 43

A.1.1 qrouting_pkt.h . . . 43

A.2 Agente de Roteamento . . . 44

A.2.1 qrouting.h . . . 44

A.2.2 qrouting.cc . . . 46

A.3 Tabela de Roteamento . . . 51

A.3.1 qrouting_rtable.h . . . 51

(10)

Lista de Figuras

1.1 Rede de sensores sem fios tradicional com um único sink (adaptada de

[Verdone et al. 2008]). . . 1

1.2 Arquitetura simplificada de um sensor . . . 3

2.1 Visão geral das camadas da arquitetura ZigBee. . . 10

2.2 Topologias em (a) estrela, (b) árvore e (c) malha. . . 12

2.3 Estrutura dosuperframeutilizado pelo padrão IEEE 802.15.4. . . 13

2.4 Coexistência de aplicações IEEE 802.15.4 e IEEE 802.11b. . . 15

3.1 Diagrama de um agente de AR interagindo com o seu ambiente. . . 20

3.2 Algoritmo Q-learning. . . 21

3.3 Esquema de organização do Q-routing. . . 23

3.4 Definição do valor deλem função da taxa de dados. . . 25

4.1 Visão simplificada do usuário do NS-2. . . 28

4.2 Fluxograma do processo de simulação automatizado . . . 29

4.3 Exemplo da topologia da rede utilizada nas simulações. . . 30

4.4 Determinação estatística do número de simulações . . . 31

4.5 Taxa de sucesso do roteamento pelo número de episódios. . . 32

4.6 Taxa de entrega de pacotes dos protocolos analisados. . . 33

(11)
(12)

Lista de Tabelas

(13)
(14)

Lista de Símbolos e Abreviaturas

AF: Application Framework

AODV: Ad-hoc On-demand Distance Vector APL: Application Layer

APS: Application Support Sublayer AR: Aprendizagem por Reforço BPSK: Binary Phase Shift Keying CAP: Contention Access Period CFP: Contention Free Period

CSMA/CA: Carrier Sense Multiple Access with Collision Avoidance DSR: Dynamic Source Routing

EAR: Energy Aware Routing FFD: Full Function Device GBR: Gradient-Based Routing GTS: Guaranteed Time Slot

IAD: Inteligência Artificial Distribuída ISM: Industrial, Scientific and Medical LR-WPAN: low-rate wireless personal area network LSPI: Least Squares Policy Iteration

MAC: Medium Access Control

MCFA: Minimum Cost Forwarding Algorithm NWK: Network Layer

(15)

PHY: Physical Layer

RFD: Reduced Function Device RNA: Redes Neurais Artificiais RSSF: Rede de Sensores Sem Fios SI: Swarm Intelligence

(16)

Capítulo 1

Introdução

Nos dias de hoje o avanço da tecnologia tornou viável a fabricação em larga escala de dispositivos sensores pequenos e de baixo custo. Tais dispositivos são dotados de circuitos eletrônicos capazes de medir certas propriedades do ambiente ao seu redor (temperatura, pressão, etc.) e transformá-las em um sinal elétrico. Ao acrescentar uma antena, um transmissor e um receptor a esses dispositivos e dispondo-os de maneira a formar uma rede de comunicação, tem-se o que é conhecido hoje como uma Rede de Sensores Sem Fios (RSSF).

As RSSF são compostas por dezenas, centenas ou até milhares de dispositivos — tratados a partir daqui simplesmente como ’nós’ ou nodos da rede — com o objetivo de obter dados do ambiente ao seu redor e transmitir essa informação entre si até chegar a uma estação-base, também conhecida como nósink, controlador ou monitor. Osink, por

sua vez, reune as informações coletadas pelos sensores e as encaminha para umgateway,

de onde elas seguem para outras redes como a Internet e provavelmente até um sistema de controle e monitoramento remoto. A figura 1.1 ilustra uma RSSF tradicional com um únicosink.

Figura 1.1: Rede de sensores sem fios tradicional com um único sink (adaptada de [Ver-done et al. 2008]).

(17)

rede definirão sua densidade de nodos. Essa medida está diretamente ligada à redundân-cia das informações coletadas, já que dois sensores próximos um do outro podem estar percebendo e transmitindo uma mesma característica do ambiente. Tal redundância é ne-cessária na hipótese de falha de um sensor, permitindo que a rede continue a operar sem prejuízo.

A quantidade de nós sink presentes numa rede também depende do número de nós

sensores, pois há um limite na capacidade desses nodos de processar as informações re-cebidas dos sensores. Assim, uma rede como aquela apresentada na figura 1.1 sofre do problema da falta de escalabilidade, pois se o número de sensores for aumentando, che-gará um ponto onde osinknão consegue mais dar conta de processar todas as informações

e a rede não poderá mais crescer. Por essa razão, o projeto das RSSF está intimamente ligado aos requisitos impostos pelas aplicações [Verdone et al. 2008].

Existem diversas áreas de aplicação possíveis para RSSF que vão desde o monitora-mento ambiental (incêndios em florestas, enchentes, etc.), aplicações na área de saúde (monitoramento de pacientes em hospitais), rastreamento e localização (animais selva-gens, veículos), aplicações para residências e escritórios, e até mesmo ambientes indus-triais [Yick et al. 2008, Akyildiz et al. 2002, Verdone et al. 2008]. Notadamente nestes últimos, há um grande interesse por parte das indústrias em investigar a confiabilidade dos sistemas de RSSF com o objetivo de substituir ou pelo menos integrá-los às suas tradicionais redes industriais cabeadas. Os sistemas sem fios oferecem uma série de van-tagens pois possibilitam uma maior liberdade de utilização, anulando as desvanvan-tagens de locomoção com sistemas cabeados. Não somente isso, mas os sistemas sem fios permi-tem estruturar ambientes inteiros de maneira rápida e prática, podendo-se implantar os dispositivos em locais de difícil acesso.

O sensor, que é o dispositivo predominante em quantidade nas RSSF, possui uma ar-quitetura bastante simplificada, visando diminuir seu custo e dimensões físicas. Esses dis-positivos são compostos basicamente de um microprocessador responsável por gerenciar todas as tarefas, um ou mais sensores que são usados para recolher os dados do ambiente; uma memória para armazenamento temporário de dados durante o seu processamento, um transmissor/receptor de rádio com antena (geralmente omnidirecional) e uma bateria para fornecer alimentação a todos. Um esquema dessa arquitetura pode ser visto na figura 1.2.

Uma das grandes preocupações no projeto de RSSF é quanto à eficiência energética. Como os nodos sensores são implantados em áreas normalmente de difícil acesso, im-possibilitando muitas vezes a sua recuperação para uma eventual troca de bateria, deve-se projetar arquiteturas e protocolos que maximizem a utilização da bateria dos dispositivos, de forma a aumentar o tempo de vida da rede como um todo. Nesse ponto, os protocolos de roteamento desempenham um papel importante, pois os algoritmos devem procurar manter os nodos em estado de espera (sleep mode) o maior tempo possível. Além disso,

ooverheadimposto pelos pacotes de controle ao tráfico de dados da rede pode ser

(18)

1.1. ROTEAMENTO EM RSSF 3

Figura 1.2: Arquitetura simplificada de um sensor

1.1 Roteamento em RSSF

O roteamento numa rede de comunicação pode ser definido basicamente como a tarefa de encontrar uma rota para encaminhar uma informação de um ponto de origem até um destino. Nas redes de sensores sem fios, normalmente a origem dessa informação são os sensores que coletam os dados do ambiente que tem como destino o(s) nó(s)sink.

O roteamento nas RSSF é uma tarefa desafiadora, pois diversos fatores afetam direta-mente o processo de encaminhamento de pacotes, tais como [Al-karaki & Kamal 2004]:

Distribuição dos sensores: a densidade de distribuição e posicionamento pode

alterar a quantidade de sensores visitados e o trajeto da rota;

Consumo de energia: afeta diretamente o tempo de vida do sensor, provocando

falhas em rotas estabelecidas previamente e também alterando dinamicamente o trajeto do roteamento;

Nodos heterogêneos: sensores podem ter um papel diferente ou possuir

capaci-dade diferente em termos de computação, comunicação e energia. Na mesma rede pode haver sensores especiais com diferentes funcionalidades. Por exemplo, alguns sensores podem ser responsáveis pela captura de imagens enquanto outros podem somente fazer a leitura de temperatura;

Tolerância à falha: sensores podem falhar perdendo sua capacidade de processar,

coletar ou transmitir suas informações devido a falta de energia ou interferência do ambiente. A falha de um sensor não deve afetar a rede, pois outra rota deve ser definida sem o sensor que falhou para que a meta (destino) seja alcançada;

Quantidade de sensores: geralmente as RSSF são compostas de dezenas, centenas

(19)

independente do tamanho da rede;

Mobilidade: quando os sensores são móveis é gerado um grande tráfego de

in-formações, já que para cada alteração de movimento se faz necessário atualizar as informações no sensor;

Tamanho da área de cobertura: como cada sensor só possui informações locais e

se comunica apenas com seus nós adjacentes (vizinhos), a área de cobertura que se deseja é um importante parâmetro;

Densidade de distribuição: em algumas situações vários sensores que estão

pró-ximos uns dos outros acabam por reportar as mesmas informações para a base, gerando assim uma redundância nas informações que acaba por consumir recursos da rede sem necessidade;

Privacidade: deve-se garantir que se indivíduos externos não autorizados tem acesso

aos dados transmitidos, estes estejam criptografados, sendo necessário prever recur-sos de processamento e energia para essa tarefa.

Uma das principais preocupações do roteamento em redes de sensores é fazer com que o tempo de vida da rede seja degradado o mínimo possível, por isso é necessário que o algoritmo de roteamento empregue um mecanismo de comunicação eficiente e robusto em termos de gerenciamento de energia. O foco de um protocolo em redes de sensores deve ser economizar em processamento e comunicação.

Devido ao grande número de sensores, existe um grande número de interações ocasi-onando também um alto consumo de energia que deve ser otimizado por um algoritmo de roteamento eficiente.

Um protocolo de roteamento eficaz é composto basicamente por três fases [Gan et al. 2004]:

1. Descoberta da rota: esta fase visa criar uma rota de um determinado sensor origem

até o sensor alvo (destino) geralmente passando por diversos sensores.

2. Atualização de informação: nesta fase os pacotes de dados solicitados são

envia-dos para o sensor que os requisitou pela rota criada anteriormente.

3. Manutenção da rota: uma vez descoberta esta rota se faz necessário monitorar a

rota descoberta, para que ela continue válida mesmo quando um sensor que pertence à rota falha, descobrindo outros sensores substitutos.

1.2 Aprendizado de Máquina

Devido às características do roteamento nas RSSF, como a distribuição dos nodos na rede de forma irregular, e a falta de um controle centralizado para determinação das rotas — sendo estas estabelecidas pela interação entre os nós, o roteamento nesse ambiente se transforma em um problema distribuído. A complexidade da obtenção de uma solução que não só garanta a entrega dos pacotes ao seu destino, mas que ainda o faça com ga-rantias de qualidade de serviço (QoS), é tamanha que muitos trabalhos buscam aplicar técnicas de aprendizado de máquina para solução de problemas de tal natureza.

(20)

1.3. MOTIVAÇÃO 5

(SMA) e a Aprendizagem por Reforço (AR). A IAD dispõe de algoritmos de resolução distribuída de problema, tratando uma RSSF como um grafo onde os nós são os sensores e as arestas representam os custos de transmissão, realiza-se buscas heurísticas em um espaço distribuído de soluções para encontrar as rotas ótimas. Essa abordagem, porém, depende fortemente de como é efetuada a modelagem dos pesos das arestas em termos das características da comunicação na rede. As técnicas de SMA utilizam agentes de software inteligentes com capacidades cognitivas e reativas. Tais agentes fazem uso de modelos de comportamento autônomos, construindo representações artificiais do ambiente ao seu re-dor para tomarem decisões com o objetivo de alcançar metas comuns [Wooldridge 2009]. No ambiente restrito das RSSF, onde as capacidades de memória e processamento dos nodos são baixas, muitas vezes essa abordagem torna-se proibitiva. A aprendizagem por reforço destaca-se por ser uma abordagem simples, que não depende de modelos comple-tos ou de exemplos supervisionados do problema, confiando apenas na interação entre os agentes e numa política de recompensas/punições para construir a solução ótima.

1.2.1 Trabalhos Relacionados

Diversos trabalhos na literatura utilizam abordagens inteligentes para resolução dos problemas em RSSF. O trabalho de [Tynan et al. 2005] utiliza agentes inteligentes em RSSF para gerenciamento de energia, demonstrando a viabilidade da utilização de tais agentes em dispositivos com as restrições que possuem os nodos sensores de uma RSSF. O esquema de roteamento adaptativo AdaR foi apresentado por [Wang & Wang 2006].

Ele utiliza uma técnica de aprendizagem por reforço livre de modelo chamada LSPI ( Le-ast Squares Policy Iteration) que é capaz de aprender uma estratégia de roteamento ótima

com múltiplos objetivos de otimização. Redes neurais artificiais (RNA) e mapas auto-organizáveis (SOM) foram introduzidas em cada nó de uma rede simulada para desco-berta de rotas e seu desempenho comparado a soluções tradicionais de roteamento em RSSF [Barbancho et al. 2007]. Inteligência de enxames (swarm intelligence — SI) foi

a técnica escolhida por [Bruneo et al. 2009] para abordar o problema do roteamento em RSSF através de uma modelagem analítica feita com agentes atuando em processos mar-kovianos de decisão. O algoritmo intituladoEDEAR(Energy and Delay Efficient Adaptive Routing) foi apresentado por [Ouferhat & Mellouk 2010] e propõe uma abordagem com

inspiração biológica baseado no paradigma de tentativa e erro para otimizar a energia e o atraso fim-a-fim. A técnica utiliza um agente explorador que coleta informações sobre energia e atraso utilizando parâmetros de aprendizado contínuo na rede. O trabalho obteve resultados numéricos com o simulador NS para diferentes níveis de tráfego e mobilidade, apresentando melhor desempenho comparado a abordagens tradicionais.

1.3 Motivação

A motivação deste trabalho é verificar a aplicação de um algoritmo de aprendiza-gem por reforço chamado Q-learning para solucionar o problema do roteamento em

(21)

probabilística das entradas na tabela de roteamento. Nesses algoritmos, para aprimorar a qualidade da decisão de roteamento, um roteador testa diferentes enlaces para verificar se produzem boas rotas. Esse modo de operação é chamado exploração. A informação ob-tida durante a exploração é utilizada para tomar futuras decisões. Esse segundo modo de operação chama-se explotação. Ambas as etapas de exploração e explotação são necessá-rias para um roteamento eficiente e para a escolha correta para qual nó vizinho o pacote deve ser encaminhado. Nos algoritmos de AR esses modos de aprendizado e avaliação são realizados continuamente.

1.4 Objetivos

Este trabalho de dissertação tem como objetivo desenvolver e analisar o desempenho de um protocolo de roteamento baseado em aprendizagem por reforço aplicado a uma rede de sensores sem fios em um ambiente simulado, comparando-o com outras soluções existentes para o mesmo propósito. Para tanto, faz-se necessário a realização de um es-tudo das principais técnicas de roteamento já desenvolvidas para redes de sensores, com o intuito de descobrir seus pontos fortes e seus pontos fracos. Também é preciso um am-biente simulado onde se possa implementar os protocolos existentes e a solução proposta para efetuar análises de parâmetros relevantes como taxa de entrega de pacotes, atraso fim-a-fim eoverheaddo roteamento.

O ambiente de simulação escolhido é o NS-21, devido à sua reconhecida fidelidade com as situações reais, respaudada por diversas publicações científicas na área de redes de comunicação de dados.

1.5 Organização do trabalho

Nesta dissertação, o capítulo 2 apresenta os fundamentos básicos das redes de sensores sem fios importantes para o entendimento dos diversos aspectos envolvidos no trabalho. O capítulo 3 relaciona os principais conceitos por trás da aprendizagem por reforço e como o problema do roteamento numa rede de comunicação de dados pode ser modelado como um problema de aprendizagem por reforço, permitindo a sua solução através de diversas técnicas inteligentes, dentre elas oQ-Learning. Em seguida, o capítulo 4 traz os detalhes

da implementação da solução proposta, partindo de uma breve introdução à ferramenta NS-2 utilizada nas simulações realizadas. Por fim, o capítulo 5 trata das conclusões e trabalhos futuros.

(22)

Capítulo 2

Redes de Sensores Sem Fios e

Roteamento

Em adição ao que já foi discutido sobre as redes de sensores sem fios no capítulo 1, este capítulo detalhará a arquitetura de comunicação utilizada nas RSSF, especificamente no contexto da tecnologia ZigBee, a qual é utilizada neste trabalho. No fim do capítulo é feito um levantamento de alguns dos principais protocolos de roteamento em RSSF existentes, com uma breve descrição de cada um.

2.1 Arquitetura de Comunicação

O estudo referente à arquitetura de comunicação pode ser feito através das camadas da pilha de protocolos, segundo modelo OSI. Protocolos específicos tem sido desenvolvidos ao longo dos últimos anos com o intuito de se adequar às necessidades e limitações das RSSF.

Camada Física

Esta camada é responsável pela seleção e geração de freqüência para transmissão, detecção de sinal, modulação, e codificação de dados. Sua constituição pode ser de várias formas como: transmissão por rádio-freqüência, infravermelho, sonora entre outras. Para cada aplicação existe uma forma de implementar a camada física que melhor se adapta à aplicação desejada.

O uso de radio-freqüência é o mais comum. Os dispositivos utilizados em RSSF utilizam sistemas de rádio que operam na faixa de freqüência conhecida como UHF (Ultra High Frequency), que podem variar entre 300MHz e 3GHz [Misra 2004].

Existem problemas que podem afetar a comunicação entre os sensores: atenuação, ruído, absorção atmosférica, e múltiplos caminhos [Stallings 2001]. Toda degradação do sinal pode ocasionar problemas na interpretação dos dados quando o sensor destinatário recebê-lo. O sinal ainda pode sofrer degradação em ambientes internos, onde o sinal colide com obstáculos como paredes e objetos.

(23)

mudar de acordo com cada país ou continente e não necessita de licença para ser usada. No Brasil, por exemplo, a faixa de operação da banda ISM é de 2.4GHz.

Camada de Enlace

A camada de enlace possui a responsabilidade de prover as seguintes atividades: en-capsular os pacotes de dados em quadros, detecção dos quadros de dados, protocolos de controle de acesso ao meio (MAC — Medium Access Control), controle de erro, assegu-rar conexão ponto-a-ponto e ponto-multiponto confiável.

Os protocolos MAC são considerados como os de maior relevância para as redes de sensores, devido a suas influências diretas no consumo da fonte de energia [Yadav et al. 2009]. Um protocolo MAC precisa garantir o acesso ao meio, evitando ou detec-tando colisão, criando uma infra-estrutura básica para que sensores possam se comunicar e compartilhar recursos entre si dentro da rede.

Protocolos MAC podem ser classificados em dois tipos: alocação estática ou dinâ-mica. O primeiro tipo é mais apropriado para o tráfego contínuo de informações, pois provê um atraso limitado. No segundo tipo, cada sensor precisa disputar com outros sen-sores o direito de enviar uma informação. Para esse tipo de alocação, o atraso máximo torna-se imprevisível. Para as RSSFs é usual empregar-se protocolos MAC baseados em alocação dinâmica de canal, do tipo CSMA/CA (Carrier Sense Multiple Access with Col-lision Avoidance).O uso de alocação estática pode limitar o número de sensores na rede uma vez que cada canal de comunicação é ocupado por um nodo sensor.

O protocolo MAC deve ser capaz de tratar alguns eventos que consomem energia des-necessariamente na rede [Lin et al. 2004], tais como colisão e overhearing. A colisão

ocorre quando dois ou mais sensores tentam transmitir simultaneamente uma informa-ção, ocasionando perdas dos pacotes, e consumo de energia devido a retransmissões. O overhearing é o uso desnecessário do rádio na escuta ao meio. Isso ocorre quando um determinado sensor recebe pacotes que são destinados a outro sensor da rede. Cada nodo sensor mantém o seu rádio ligado, mesmo quando os dados transmitidos não são des-tinados a ele. No caso de protocolos baseados em disputas pelo meio, o rádio poderia ser desligado por um período de tempo; e no caso de protocolos baseados em alocação estática, os rádios poderiam ficar desligados por um período de tempo pré-determinado.

Camada de Rede

A camada de rede é a responsável pelo roteamento dos dados monitorados dos senso-res fonte até a estação base. As técnicas de roteamento destinadas às redes tradicionais não podem ser aplicadas às RSSFs, pois estas últimas têm como principal objetivo esta-belecer rotas que aumentem o tempo de vida da rede. Para que este objetivo seja atingido, diversas técnicas são utilizadas pelos protocolos desta camada, como a redução de saltos, a escolha de sensores com maior índice de energia disponível, dentre outros.

(24)

2.2. TECNOLOGIA ZIGBEE E O PADRÃO IEEE 802.15.4 9

Camada de Transporte

A camada de transporte nem sempre é necessária em RSSF. A retransmissão de men-sagens de controle para garantir uma comunicação TCP, por exemplo, não seria interes-sante para a rede uma vez que haveria um grande gasto energético transmitindo pacotes de controle pela rede. Há um grande desafio para o desenvolvimento de protocolos para esta camada, uma vez que os recursos dos sensores são limitados, principalmente, a ca-pacidade de memória, impossibilitando o sensor armazenar grandes quantidades de infor-mações [Akyildiz et al. 2002, Yick et al. 2008] e o uso de mecanismos de retransmissão de quadros.

Camada de Aplicação

A camada de aplicação é voltada às necessidades do usuário da rede. Os protocolos oferecidos pela camada de aplicação devem fazer com que as demais camadas da pilha de protocolos tornem-se transparentes para a aplicação. Assim como as demais camadas, o desenvolvimento de protocolos para a camada de aplicação deve levar em consideração o consumo de energia.

2.2 Tecnologia ZigBee e o padrão IEEE 802.15.4

O termo ZigBee designa um conjunto de especificações para a comunicação sem fios entre dispositivos eletrônicos, com ênfase na baixa potência de operação, na baixa taxa de transmissão de dados e no baixo custo de implantação. O objetivo da tecnologia Zig-Bee é possibilitar o desenvolvimento de redes que façam uso de baixo consumo de ener-gia. Ela foi desenvolvida a partir de uma associação entre várias empresas — conhecida como ZigBee Alliance — para padronização de uma tecnologia de comunicação wire-less. A arquitetura da pilha de protocolos ZigBee, conforme descrito em sua

especifica-ção [ZigBee 2007], é organizada em camadas. Cada camada na pilha provê um conjunto específico de serviços para a camada superior. As duas camadas inferiores, a camada física (PHY) e a subcamada de controle de acesso ao meio (MAC), são definidas pela especificação do padrão IEEE 802.15.4 [IEEE 2006]. As demais camadas superiores, a camada de rede (NWK) e a camada de aplicação (APL), são definidas pela especificação do ZigBee. Um esquema mostrando essa organização de camadas pode ser visto na figura 2.1.

O uso de poucas camadas possibilita diminuir o overhead, evitando protocolos que

não são importantes para RSSF e, consequentemente, reduzindo o consumo de energia da rede. Cada uma dessas camadas será detalhada nas seções seguintes.

2.2.1 Camada de Aplicação

(25)

Camada de Aplicação (APL)

Camada de Rede (NWK)

Camada de Controle de Acesso

ao Meio (MAC)

Camada Física (PHY)

Framework de

Aplicação (AF)

Objeto de Dispositivo ZigBee (ZDO)

Subcamada de Suporte a Aplicação (APS)

Definido pela ZigBee Alliance

Definido pelo IEEE 802.15.4

(26)

2.2. TECNOLOGIA ZIGBEE E O PADRÃO IEEE 802.15.4 11

em três partes: Framework de Aplicação (AF), Objeto de Dispositivo ZigBee (ZDO) e Subcamada Suporte a Aplicação (APS).

A subcamada de Suporte a Aplicação (APS) fornece uma interface entre a camada de rede (NWK) e a camada de aplicação (APL) através de um conjunto geral de serviços que são usados pelos objetos de dispositivo ZigBee (ZDO) e pelos objetos de aplicação definidos pelos fabricantes.

O Framework de Aplicação (AF) é o ambiente no qual os objetos da aplicação de-senvolvidos pelos fabricantes são mantidos nos dispositivos ZigBee. O protocolo ZigBee suporta até 240 diferentes objetos da aplicação por dispositivo, o que possibilita a existên-cia de 240 aplicações diferentes em um mesmo dispositivo. O AF também é responsável por criar perfis de funcionamento nos dispositivos, cuja configuração determina o formato padrão das mensagens trocadas pelas aplicações.

Os Objetos de Dispositivo ZigBee (ZDO) representam uma classe básica de funciona-lidades que fornecem uma interface entre os objetos da aplicação, o perfil do dispositivo, e a subcamada APS. Eles satisfazem requisitos comuns de todas as aplicações que operam na pilha de protocolos ZigBee. É através do ZDO que os aplicativos do usuário trocam informações com as demais camadas para atingir os objetivos necessários.

2.2.2 Camada de Rede

A camada de rede é responsável por assegurar o correto funcionamento da camada MAC, além de disponibilizar serviço para a camada de aplicação. Dois serviços são disponíveis por esta camada: o serviço de dados e o serviço de gerência de dados. Sua funcionalidade está diretamente ligada à comunicação da rede, controlando a estrutura da rede, como, por exemplo, a topologia de rede, cuidando do roteamento e da segurança das mensagens transmitidas.

Esta camada suporta três diferentes modelos de topologias: estrela, árvore e malha, conforme é visto na figura 2.2.

A especificação da camada de rede do ZigBee também define três papéis diferentes de dispositivos: coordenador, roteador e dispositivo final.

Coordenador: Dispositivo com maior número de funções dentro da rede, comuta

dados entre os nós da rede e ainda pode formar redes, sendo este a raiz da árvore.

Roteador: Atua como nodo intermediário dentro da rede, encaminhando pacotes

de dados.

Dispositivo final: Possui o menor número de funções implementadas. Destina-se

ao envio de mensagens a outros nodos, não executando a atividade de roteamento. Por isso, necessita de pouca memória.

(27)

(a) (b) (c)

Coordenador ZigBee

Roteador ZigBee

Dispositivo Final ZigBee Associação de Rede

Figura 2.2: Topologias em (a) estrela, (b) árvore e (c) malha.

Padrão IEEE 802.15.4

As camadas de enlace, da qual faz parte a subcamada de controle de acesso ao meio (MAC), e a camada física (PHY) são especificadas pelo padrão IEEE 802.15.4 [IEEE 2006]. Esse padrão é voltado para as redes pessoais sem fios de baixa potência, conhe-cidas como LR-WPAN (low-rate wireless personal area network), e constitue-se num

padrãode factodo mercado de dispositivos para RSSF. Sua criação data do ano de 2003,

tendo sido revisado em 2006 para atender melhorias na camada física e em aspectos de segurança.

2.2.3 Camada de Controle de Acesso ao Meio

A camada MAC é responsável por controlar o acesso ao canal de rádio, que é com-partilhado por outros dispositivos. Esta camada tenta evitar colisão de pacotes e realizar a sincronização das transmissões dos quadros. A camada MAC define dois tipos básicos de dispositivos: RFD (Reduced Function Device) e FFD (Full Function Device). RFDs

(28)

2.2. TECNOLOGIA ZIGBEE E O PADRÃO IEEE 802.15.4 13

As redes do tipo estrela normalmente utilizam apenas um FFD, que assume o papel de coordenador, enquanto os demais nodos são todos RFDs. Já as redes em árvore, utilizam uma combinação de FFDs e RFDs, onde os primeiros ocupam a raiz e os entrocamentos, e os últimos compõem as folhas da árvore. Nas redes em malha, como todos os nodos devem possuir a capacidade de rotear a informação, apenas FFDs são utilizados.

Para a camada MAC também são descritos dois modos de operação pelo padrão IEEE 802.15.4: o modo com beacon(um modo sinalizado de acesso ao meio) e o modo sem beacon(um modo não sinalizado de acesso ao meio). O modo combeacon é destinado

a aplicações que exigem um tempo de resposta é baixo (baixa latência). Seu emprego é justificado quando é necessária a garantia de acesso ao canal de comunicação.

No modo combeaconé utilizada a estrutura dosuperframepara sincronizar a

comu-nicação entre os dispositivos. Um esquema da estrutura dosuperframeestá representado

na figura 2.3.

Beacon

Ativo Inativo

CAP CFP

Beacon

Figura 2.3: Estrutura dosuperframeutilizado pelo padrão IEEE 802.15.4.

Umbeaconsinalizador indica o início dosuperframe, que é divido em uma parte ativa

e outra parte inativa. A parte ativa, por sua vez, é subdividida em 16slotsiguais de tempo

nos quais as transmissões dos nodos devem ocorrer. Osslotsde tempo são agrupados em

dois intervalos: o período de contenção de acesso (Contention Access Period— CAP) e

o período livre de contenção (Contention Free Period — CFP). Durante o CAP, os

no-dos sensores competem pelo acesso ao canal de comunicação, ou seja, pela aquisição de umslot, utilizando o algoritmo CSMA/CA comslots (CSMA/CAslotted). Já durante o

CFP, também conhecido como GTS (Guaranteed Time Slot), os slotspodem ser usados

por um dispositivo desde que sejam atribuídos pelo coordenador. Este mecanismo é in-teressante principalmente nas aplicações com requisitos de baixa latência, pois garante o acesso ao canal de comunicação livre de colisões. Durante a parte inativa da estrutura do

superframe, os nós sensores entram em modo de hibernação para economizar energia.

A comunicação sem beacon faz uso do CSMA/CA sem slots. O nodo verifica se o

(29)

2.2.4 Camada Física

Conforme definido na especificação do padrão IEEE 802.15.4, a camada física pode operar em três faixas de frequência:

Faixa de 2,4GHz: disponível globalmente, possui 16 canais e taxa de transmissão

de 250kbps. Essa é a faixa utilizada no Brasil. A modulação digital nessa faixa é realizada através da técnica O-QPSK (Orthogonal Quadrature Phase Shift Keying).

Faixa de 915MHz: disponível na América do Norte, possui 10 canais cuja taxa

de transmissão é de 40kbps. A modulação digital utiliza a técnica BPSK (Binary Phase Shift Keying).

Faixa de 868MHz: disponível na Europa, possui apenas 1 canal e taxa de

trans-missão de 20kbps. Assim como na América do Norte, a modulação digital é feita através de BPSK.

O modo de acesso ao canal de comunicação é feito através de espalhamento espectral com sequenciamento direto (Direct Sequency Spread Spectrum— DSSS) para todas as

frequências utilizadas pelo padrão IEEE 802.15.4. Além disso, a camada física é respon-sável por uma série de serviços, tais como a ativação e desativação do rádio do dispositivo, detecção de níveis de energia no canal de comunicação (ED), medição da qualidade do enlace (LQI) para os pacotes recebidos, verificação da ocupação do canal (CCA) para evitar colisões (CSMA/CA), seleção da frequência do canal e, finalmente, transmissão e recepção de informações.

A organização dos canais permite a coexistência, no mesmo ambiente, de redes ba-seadas no padrão IEEE 802.15.4 com redes de outros padrões, como por exemplo o IEEE 802.11b. Um exemplo dessa compatibilidade é mostrado na figura 2.4 (adaptada de [IEEE 2006]), na qual observa-se que, apesar do 802.11b utilizar a maior parte da faixa de frequência disponível, ainda é possível utilizar os canais 15, 20, 25 e 26 do IEEE 802.15.4.

2.3 Algoritmos de roteamento

Existem inúmeros algoritmos de roteamento desenvolvidos para redes de sensores. Nesta seção são descritos alguns deles: DD (Directed Diffusion), MCFA (Minimum Cost Forwarding Algorithm), GBR (Gradient-Based Routing), EAR (Energy Aware Routing),

DSR (Dynamic Source Routing) e AODV (Ad-hoc On-demand Distance Vector).

DD — Directed Diffusion

(30)

2.3. ALGORITMOS DE ROTEAMENTO 15

Figura 2.4: Coexistência de aplicações IEEE 802.15.4 e IEEE 802.11b.

à aquele interesse. Quando coletadas estas informações ele envia os dados pelo caminho inverso da propagação de interesse que está armazenado emcache. Uma importante

ca-racterística da DD é que a propagação de dados, interesse e agregação são determinados pela troca de mensagem entre sensores vizinhos.

MCFA — Minimum Cost Forwarding Algorithm

Já com o algoritmo de roteamento de MCFA [Ye et al. 2001], explora-se o fato de que o caminho do sensor até a estação base é conhecido, não havendo necessidade de manter tabelas de roteamento na estação base. Cada sensor conhece o caminho de menor custo estimado de si próprio até a estação base. Portanto quando um nó deseja enviar uma mensagem para a base, ele faz umbroadcast para seus vizinhos. Quando o nó recebe a

mensagem ele verifica se seu custo é menor do que aquele de quem recebeu a mensagem. Se ele estiver no caminho de menor custo, então ele faz um broadcast da mensagem para seus vizinhos, senão ele a descarta. Isso se repete sucessivamente até a mensagem alcançar a estação base. Cada sensor deve conhecer o caminho de menor custo de si mesmo até a estação base. Isto é obtido por meio de uma mensagem de broadcast enviada pela estação base que se propaga para todos os sensores. Cada nó recebe a mensagem de broadcast enviada pela estação base e checa se o caminho pelo qual recebeu é de

menor custo que o caminho que já tinha armazenado em si próprio. Em caso positivo ele armazena o novo caminho, senão ele desconsidera a mensagem, sendo feito esse teste a cada broadcast recebido da estação base. Cada nó pode fazer vários updates em seu

(31)

GBR — Gradient-Based Routing

Diferentemente, no GBR [Faruque & Helmy 2003] cada sensor memoriza a quanti-dade de sensores (pulos ou saltos) necessários para traçar uma rota de um determinado sensor até a a estação base de maneira autônoma. Cada sensor tem um parâmetro chamado altura (height) que é o número mínimo possível de saltos (sensores) que a mensagem pode

percorrer até alcançar a estação base. A diferença entre a altura do sensor e de seus vi-zinhos é considerada como o gradiente desta ligação. Os pacotes de dados são roteados para os sensores com mais alto gradiente na ligação. No GBR dois esquemas para a dis-seminação de dados podem ser utilizados para balancear o tráfego na rede, aumentando seu tempo de vida. No esquema estocástico de disseminação de dados o sensor escolhe um gradiente aleatoriamente quando dois ou mais sensores têm o mesmo gradiente. No esquema baseado em energia o sensor aumenta sua altura quando a energia baixa de certo limiar, desestimulando o envio de mensagens para este sensor. Já no esquema de dissemi-nação de dados baseado em fluxo, os novos fluxos não são roteados através de sensores que já fazem parte de algum caminho de outro fluxo.

EAR — Energy Aware Routing

Outra técnica que foi desenvolvida para roteamento em RSSF é o EAR [Shah & Rabaey 2002], cuja sobrevivência da rede é o foco principal. No EAR é mantido um conjunto de caminhos no lugar de obrigar a utilização de um caminho ótimo por várias vezes consumindo seus recursos por uso excessivo do mesmo caminho. Estes caminhos são escolhidos por meio de uma probabilidade, sendo que o valor desta probabilidade depende de como o baixo consumo de energia de cada caminho pode ser obtido. Como caminhos diferentes são escolhidos a cada vez, a degradação da rede é mais equilibrada, não degradando um caminho único rapidamente, proporcionando um balanceamento en-tre os nós e melhorando o tempo de vida da rede.

DSR — Dynamic Source Routing

Existe também outra técnica conhecida como DSR [Hu & Johnson 2000] que é consi-derado um procolo de roteamento sob demanda. Esse protocolo possui dois mecanismos que trabalham juntos:

• Descoberta da rota: é o mecanismo no qual um nó que deseja enviar dados para outro nó precisa obter a rota para o tráfego destes dados. Este mecanismo só é utilizado se o nó origem não conhece a rota para o nó destino.

• Manutenção da rota: este mecanismo é responsável por detectar qualquer alteração que ocorra na rota, tais como falha de nós que faziam parte da rota ou outra qualquer alteração na topologia da rede.

(32)

2.3. ALGORITMOS DE ROTEAMENTO 17

endereço do nó ou uma outra cópia da mensagem já passou por este nó, então este ignora a mensagem. O processo continua até a mensagem de solicitação de rota alcançar D. Quando a mensagem de solicitação de rota alcançar D, este nó emite uma outra mensagem de retorno em direção a S indicando o caminho pelo qual S deve enviar os dados.

Para a manutenção da rota no DSR, o sensor S transmite uma mensagem de checagem para seu vizinho solicitando sua confirmação se este recebeu a mensagem. O vizinho tam-bém emite uma mensagem de checagem para o próximo nó solicitando sua confirmação. O processo é repetido pelos outros sensores da rota até a mensagem alcançar D. Se algum dos sensores da rota não confirmar, o nó que detectou esta falha de seu vizinho emite uma mensagem em direção a S notificando o erro na rota. Quando S é notificado da falha da rota, este pode solicitar uma nova descoberta de rota.

AODV — Ad-hoc On-demand Distance Vector

Assim como o DSR, o AODV [Perkins & Royer 1999] também é um protocolo de roteamento sob demanda, isto é, ele só estabelece a rota para o destino quando há ne-cessidade de trafegar alguma informação para este destino. Quando um nó (S) deseja trafegar dados para um determinado destino (D), este transmite uma mensagem fazendo umbroadcast para seus vizinhos solicitando uma rota até D. Esta mensagem possui um

identificador único, permitindo deste modo que os nós detectem e apaguem mensagens duplicadas. Quando o nó vizinho recebe a solicitação da rota, este grava em sua tabela de roteamento o caminho inverso para nó anterior de onde foi recebido esta mensagem e as informações do nó origem da solicitação da rota. Ocachede roteamento que cada nó

possui, tem um tempo de vida que é definido dentro da mensagem de solicitação da rota. Quando a mensagem de solicitação de rota alcançou D, este transmite uma nova men-sagem de resposta fazendo um unicast para o vizinho por onde chegou a solicitação da rota. Essa mensagem de resposta vai seguindo o caminho inverso até alcançar S. Quando alcançar a origem S, a rota foi estabelecida, podendo enviar os dados. Toda vez que os da-dos trafegam por esta rota, o contador de expiração da vida docachedo caminho inverso

de cada nó que faz parte da rota é reinicializado. Se determinada rota ficar sem tráfego de dados durante um tempo maior do que aquele definido como tempo de vida docache,

(33)
(34)

Capítulo 3

Aprendizagem por Reforço Aplicada ao

Roteamento

Este capítulo traz um breve embasamento teórico, apresentando os principais con-ceitos da aprendizagem por reforço. Em seguida, a técnica escolhida para ser utilizada no trabalho, o Q-learning é apresentada. Logo após, discute-se como tratar o problema do roteamento como uma tarefa de aprendizagem por reforço. Por último, o algoritmo proposto neste trabalho é apresentado.

3.1 Conceitos Básicos

A Aprendizagem por Reforço (AR) é um paradigma de aprendizado de máquina apli-cável a Processos de Decisão Markovianos (PDM) onde um agente pode aprender po-líticas de controle baseado em experiência e recompensas [Puterman 1994, Sutton & Barto 1998].Um PDM modela um agente atuando em um ambiente através de uma tu-plah

T

,

S

,

A

,

P

,

R

i, onde:

T

é um conjunto de instantes (épocas) de decisão, que pode ser finito ou infinito;

S

é um conjunto de estados, que pode ser discreto ou contínuo;

A

é um conjunto de ações possíveis;

P

(s′|s,a)é um modelo de transição que descreve a probabilidade de entrar no

es-tados’após executar a açãoano estados;

R

(s,a,s′)é o mecanismo de recompensa obtida quando o agente executa a açãoa

no estadospassando para o estados’.

Em resumo, pode-se dizer que a aprendizagem por reforço utiliza uma arquitetura formal que define a interação entre um agente de aprendizado e seu ambiente em termos de estados, ações e recompensas. Dentro dessa arquitetura, a qualidade de uma ação a

num estadospode ser denotada por uma função-valorQ(s,a).

(35)

na Programação Dinâmica como equação de Bellman:

Q∗(s,a) =r(s,a) +γ

s

P

(s′|s,a)max

aQ

(s,a) (3.1) onde r(s,a) é a recompensa imediata esperada ao executar a ação a no estado s, que

é calculada como r(s,a) =∑s

P

(s′|s,a)

R

(s,a,s′), e o segundo termo é a recompensa

futura total esperada. O fator de descontoγmodela o fato de que a recompensa imediata é mais valiosa que a recompensa futura.

Resumindo em outras palavras, o agente possui uma percepção do estado do ambiente com o qual interage tomando decisões que se refletem em ações as quais modificam o estado do ambiente. De acordo com o resultado observado pelo agente após a execução daquela ação, o mesmo recebe uma recompensa/punição para a decisão tomada. O obje-tivo do sistema é fazer com que o agente aprenda, através de um processo iteraobje-tivo, uma política (escolha de ações) que maximize (ou minimize, dependendo do caso) os retornos obtidos. Esse processo está ilustrado na figura 3.1.

Figura 3.1: Diagrama de um agente de AR interagindo com o seu ambiente.

3.2 Q-learning

Se o modelo de transição subjacente

P

e o mecanismo de recompensas

R

fossem conhecidos, a equação 3.1 poderia ser resolvida deterministicamente. Na maioria das situações práticas, porém, é extremamente difícil determinar tais modelos com precisão, fato este que requer a utilização de técnicas estocásticas de aprendizagem por reforço.

OQ-learningé um algoritmo que faz parte dos métodos baseados em diferenças

tem-porais da aprendizagem por reforço [Watkins & Dayan 1992]. Em sua forma mais sim-ples, o Q-learning de um passo (one-step Q-learning) é definido como:

Q(s,a) = (1−α)Q(s,a) +α

r+γmax

aQ(s

,a) (3.2) Ele opera de forma iterativa buscando atingir o valor ótimo da função valor estado-açãoQ(s,a). Esta função, também chamada de função de utilidade, mapeia um par

estado-ação a um valor numérico. Cada valorQ(s,a)corresponde ao retorno total que se espera

(36)

3.3. ROTEAMENTO COMO TAREFA DE APRENDIZAGEM POR REFORÇO 21

Dessa forma, após a funçãoQ(s,a) convergir para o seu ótimoQ*, a melhor açãoapara

um dado estadosé obtida facilmente através da operação maxaQ(s,a).

A principal vantagem do Q-learning é o fato dele aproximar o valor ótimo da função

Q(s,a) independente da política utilizada. Para isso, basta garantir que todos os pares

estado-ação sejam visitados continuamente.

Uma forma de satisfazer essa restrição é utilizar uma políticaε-gulosa, definida por:

π= (

1−ε+|A(εs)| sea=a∗=arg maxaQ(s,a)

ε

|A(s)| sea6=a

(3.3)

Tal política garante uma probabilidade não-nula de se visitar todos os pares estado-ação.

O algoritmo que implementa o Q-learning é mostrado na figura 3.2.

Figura 3.2: Algoritmo Q-learning.

Onde:

Q(s,a)- valor (utilidade) da açãoano estados;

rt+1- retorno imediato obtido no estados;

• α- taxa de aprendizado (definida entre 0 e 1);

• γ- fator de desconto temporal (para problemas de horizonte infinito);

t- instantes de tempo discretos correspondentes aos instantes de decisão (t=0, 1, 2, 3, ...);

• maxaQ(s′,a′)- maior valor de utilidade dentre as ações do próximo estado;

• π- políticaε-gulosa definida na equação 3.3.

3.3 Roteamento como tarefa de aprendizagem por reforço

No contexto do aprendizado de uma estratégia de roteamento, cada nó da rede pode ser tratado como um estado s, e para cada um de seus vizinhos s’, existe uma ação a

correspondente, com probabilidade de transição

P

(s′|s,a) = 1. Executar a ação a no

(37)

Os valores da funçãoQ(s,a) para todos pares estado-ação do estadospodem ser

tra-tados, então, como a tabela de roteamento do nó representado pelo estado s. A função

da tabela de roteamento é dizer para qual nó vizinho se deve encaminhar um pacote de acordo com o seu destino final.

Com a ajuda das tabelas de roteamento de cada nó, uma rota ótima pode ser trivi-almente construída a partir de uma sequência de operações de consulta a tais tabelas. Assim, a tarefa de aprender uma estratégia ótima de roteamento é equivalente a encontrar a solução ótimaQ∗.

3.3.1 Q-routing básico

O uso da AR no roteamento de pacotes tem o objetivo de indicar para qual nó vizinho um pacote deve ser encaminhado a partir do nó onde ele se encontra num determinado instante. A política será avaliada de acordo com o tempo total de entrega do pacote ao seu destino. Não há um parâmetro que permita avaliar ou aprimorar a política até que um pacote alcance seu destino. Entretanto, utilizando a aprendizagem por reforço, a política pode ser atualizada mais rapidamente somente com informações locais.

Tomando como métrica o tempo de entrega dos pacotes ao seu destino, pode-se formu-lar o problema do roteamento com o algoritmo Q-learning, doravante chamado Q-routing, como descrito a seguir [Boyan & Littman 1994].

SejaQx(d,y)o tempo que o nó xestima entregar um pacote qualquer ao nó sink d,

incluindo qualquer tempo que tal pacote possa dispender na fila de x, através dey, onde yNx eNx representa o conjunto de todos os vizinhos dex. Esse esquema é mostrado na

figura 3.3. Ao enviar o pacote paray, o nóximediatamente obtém a estimativat(equação

3.4) do tempo que será gasto deypara o resto da viagem atéd. t=min

zNy

Qy(d,z) (3.4)

Sejaqo tempo gasto pelo pacote na fila do nóx, eso tempo gasto na transmissão de xaté seu vizinho y. Esses dois valores constituem o retorno imediato do nó xao decidir

enviar um pacote através dey. A partir de então é possível definir a regra de atualização

da estimativa do nóx(equação 3.5):

Qx(d,y) =α(q+st+Qx(d,y)) (3.5)

ondeαé a taxa de aprendizado, variando de 0 a 1.

Ao se combinar as equações 3.4 e 3.5, obtém-se novamente a equação 3.2, apenas substituindo a maximização por uma minimização, formando a seguinte equação:

Qx(d,y) = (1+α)Qx(d,y) +α

r−min

zNy

Qy(d,z)

(3.6)

onde o retorno é dado porr=q+s.

(38)

3.3. ROTEAMENTO COMO TAREFA DE APRENDIZAGEM POR REFORÇO 23

Figura 3.3: Esquema de organização do Q-routing.

aprendizado da rota ótima, o algoritmo mantém tempos médios de entrega de pacotes no mesmo nível dos protocolos tradicionais, e apresenta um bom desempenho na eventuali-dade de quebras de enlaces e movimentação dos nós na rede [Silva et al. 2004].

3.3.2 O algoritmo proposto: Q-routing aprimorado

Numa situação prática de RSSF, para obter a recompensa imediata e a recompensa futura estimada é necessário o envio de um pacote defeedbackdo nó vizinho que acabou

de receber um pacote. Dessa forma, um protocolo que utilize a abordagem do Q-routing descrita anteriormente introduziria umoverheadde no mínimo um pacote de roteamento

para cada pacote de dados enviado. Para reduzir esse overhead, foi desenvolvida uma solução utilizando um esquema de acumulação e média, descrito a seguir.

Cada pacote de dados contém umtimestampna área comum do seu cabeçalho quando

é criado. Quando um nóxrecebe um pacote de dados do seu vizinhoy, ele pode utilizar

seu timestamp atual para calcular(qy+sy). Cada nóxmantém uma tabela de roteamento

Qcontendo as seguintes informações:

py: número de pacotes de dados recebidos do nóy;

avgy(qy+sy): tempo médio de recebimento dos pacotes vindos dey.

(39)

avgy(qy+sy) =

py[avgy(qy+sy)](qy+sy)

py+1

(3.7)

Cada nó também define um temporizador (timer) que expira periodicamente a cada

intervaloλ, fazendo com que o nó envie um pacote de controle para cada um dos vizinhos presentes na sua tabela de roteamento cujo py >0. Este é o único pacote de controle

definido por essa solução, e o mesmo carrega consigo o tempo médio de recebimento calculado até o momento e a melhor estimativa do tempo restante até o destino. Essas duas informações são utilizadas para atualizar as estimativas dos nodos vizinhos.

O tempo de expiraçãoλé definido como um parâmetro do algoritmo, assim como a taxa de aprendizado α e a taxa de exploração ε. Esta última é utilizada para acelerar a exploração através de uma política ε-gulosa, ou seja, com probabilidade 1−ε, o agente

escolhe o nó vizinho com a melhor estimativa, e com probabilidade ε, o agente escolhe um vizinho aleatório para encaminhar o pacote.

Nesta proposta, o comportamento deλde acordo com o tráfego de dados na rede é crucial para a diminuição dooverheadcausado pelos pacotes de roteamento. De fato, se xé a taxa de dados média, uma função de proporcionalidade inversa λ= f(x) = ax pode ser definida, onde a é uma constante positiva que representa o fator de decaimento do overhead do roteamento. A figura 3.4 exemplifica o comportamento da função. Quanto

maior o tráfego de dados na rede, menor deve ser o intevalo de atualização das rotas. Ao contrário, se a taxa de dados for baixa, o intervalo de atualização pode ser elevado sem problemas. Nota-se que apenas a parte positiva da função é exibida, pois valores negativos para taxas de dados são inverossímeis.

A operação do algorimo Q-routing aprimorado resume-se nas seguintes etapas:

1. Transmissão- Sempre que um nóxdeseja transmitir um pacotepparadele:

(a) Verifica se já possuidna sua tabela de roteamentoQ.

(b) Caso possua, sorteia um número aleatório uniforme, comparando-o com o limiarε:

i. Com probabilidade 1−ε, envia para o vizinho com melhor estimativa

(minyNxQx(d,y)).

ii. Com probabilidadeε, envia para um vizinho aleatório. (c) Caso contrário, envia o pacotepembroadcastpela rede.

2. Recepção- Sempre que um nó recebe um pacotepde um nó qualquery:

(a) Calcula o tempo de processamento e envio deyaté ele (qy+sy) pela diferença

dotimestampdo pacote e o instante atual.

(b) Verifica se possuiyna sua tabela de roteamentoQ.

(c) Caso possua, incrementa pye atualizaavgy(qy+sy) =py[avgy(qy+sy)](qy+

sy)/py+1 (3.7) na tabela de roteamentoQ;

(d) Caso contrário, insere uma nova entrada parayna tabela de roteamentoQ.

3. Atualização- Sempre que o tempo de expiração λdo timerde um nó yfor

(40)

3.3. ROTEAMENTO COMO TAREFA DE APRENDIZAGEM POR REFORÇO 25

Figura 3.4: Definição do valor deλem função da taxa de dados.

(a) Para todos os vizinhos x da tabela de roteamento Q cujo px >0 enviar um

pacote contendo:

i. O tempo médio de recebimento (avgx(qx+sx));

ii. A sua melhor estimativa até o destino (minzNyQy(d,z))

(b) Ao receber um pacote de atualização,xatualiza sua própria estimativa através

da equação (3.6).

Qx(d,y) = (1+α)Qx(d,y) +α

r−min

zNy

Qy(d,z)

Esta abordagem possui a vantagem de permitir controlar, através da definição do va-lor apropriado da constante a, o envio de pacotes de controle do protocolo utilizados

na atualização das estimativas, e, consequentemente, o própriooverheaddo roteamento.

(41)
(42)

Capítulo 4

Simulações e Análise dos Resultados

Neste capítulo são discutidas as ferramentas e metodologias utilizadas durante a rea-lização do trabalho proposto. Inicialmente é apresentado brevemente o funcionamento do simulador de redes NS-2 e suas principais características. Dentro dessa explanação, uma parte da metodologia que envolve a utilização do simulador é apresentada. Em seguida, considerações sobre o algoritmo proposto são feitas com base nos conceitos citados nos capítulos anteriores.

4.1 O Simulador de Redes NS-2

O NS-2 é um simulador de redes orientado a eventos discretos de código aberto imple-mentado nas linguagens de programação C++ e OTcl1por pesquisadores de diversas ins-tituições no contexto do projeto VINT (Virtual InterNetwork Testbed), um projeto

colabo-rativo envolvendo diversas instituições de pesquisa e universidades norte-americanas. Ele consiste basicamente de um interpretador de comandos OTcl, um agendador de eventos e um conjunto de bibliotecas de componentes utilizados para construir os mais variados ambientes de simulação de redes, possuindo suporte a diversos protocolos e tecnologias de comunicação, tanto cabeadas como também sem fios.

Por ser uma ferramenta de código aberto, muitos outros pesquisadores tem contri-buído ao longo dos anos, escrevendo novos módulos que expandem as funcionalidades do simulador, permitindo-os trabalhar com novas tecnologias de redes de comunicação. A implementação do padrão IEEE 802.15.4 na ferramenta foi realizada por [Zheng & Lee 2004]. Esse módulo é amplamente utilizado no meio científico.

Uma visão simplificada da utilização do NS-2 é ilustrada na figura 4.1. Primeiro deve-se escrever o programa, basicamente umscript na linguagem OTcl, que irá conter

as descrições das características físicas, espaciais e temporais da simulação que se deseja realizar. As características físicas dão conta dos parâmetros dehardwaredos dispositivos,

tais como o modelo das antenas, tipo de propagação do rádio, tamanho dosbuffersde

re-cepção e transmissão, alcance do rádio, potência de transmissão e rere-cepção, frequência de transmissão, entre outros. As características espaciais tratam da descrição da topologia da rede, com o posicionamento inicial de cada nó e os padrões de movimentação dos

(43)

mos, caso trate-se de uma rede móvel. Por último, as características temporais definem todo o padrão de tráfego da rede, com os instantes e a quantidade de pacotes que cada nó irá transmitir, com seus respectivos destinos.

Figura 4.1: Visão simplificada do usuário do NS-2.

O programa utiliza uma instância do simulador, que na verdade é apenas um inter-pretador de comandos OTcl que tem disponível um agendador de eventos para controlar tudo que ocorre durante a simulação, como a movimentação dos nodos e as transmissões de pacotes, além de um conjunto de bibliotecas de componentes utilizadas na construção e configuração dos dispositivos da rede em geral. Todos os eventos gerados durante a simulação são registrados em arquivos delogque, por sua vez, podem ser utilizados para

produzir animações gráficas utilizando a ferramenta NAM 2, ou ainda para extrair dados

estatísticos utilizando umscriptpara processamento de texto.

4.2 Cenário

Esta seção descreve o cenário montado para avaliação dos protocolos selecionados. O protocolo AODV foi escolhido como representante das técnicas de roteamento tradicio-nais não baseadas em aprendizado de máquina. Tal escolha foi feita devido à utilização desse protocolo na tecnologia ZigBee, conforme discutido no capítulo 2. Por ser um al-goritmo amplamente utilizado, o AODV já se encontra implementado no simulador NS-2 e é utilizado nas simulações sem nenhuma modificação.

O algoritmoQ-routinge sua versão aprimorada proposta neste trabalho foram

imple-mentados e incorporados ao NS-2 como dois novos protocolos de roteamento com base no procedimento apresentado por [Ros & Ruiz 2004]. O processo consiste na implemen-tação em C++ de classes que representem os agentes inteligentes e o seu comportamento. Também devem ser implementadas classes para definir a estrutura dos pacotes de controle do algoritmo de roteamento. Por fim, após algumas modificações no simulador NS-2 que são necessárias para que o mesmo reconheça os novos protocolos, ele deve ser recompi-lado, estando então pronto para o uso. Os principais trechos de código implementados estão listados no apêndice A.

(44)

4.2. CENÁRIO 29

A configuração da rede e a construção do ambiente de simulação, bem como os procedimentos para análise dos resultados, seguem a metodologia utilizada por [Rao & Marandin 2006b, Rao & Marandin 2006a], resumida no fluxograma mostrado na figura

4.2.

Início

Parametros.txt; num_sims; TaxasDeDados: 0,1, 0,2, ...

Autosim

sims = 0;

sims == num_sims

scen_gen

cbrgen_star

SIM

NÃO

Fim

NS

qrouting.scn

tráfego

Valor semente

qrouting.tcl

NAM

qrouting.tr

qrouting.nam

avg_throughput.awk desempenho.txt

Figura 4.2: Fluxograma do processo de simulação automatizado

Inicialmente, configura-se os parâmetros desejados para o conjunto de simulações automatizadas, definindo no arquivo parametros.txt o número de simulações que se

deseja realizar para cada valor de taxa de dados e os diferentes valores de taxas de da-dos que se pretende analisar. O processo de simulação automatizado é controlado pelo aplicativo desenvolvido em C++ chamadoAutosim. Ele utiliza os parâmetros definidos

previamente e invoca o simulador NS diversas vezes até atingir o número de simulações configurado. Antes de cada invocação ao NS, o Autosim se utiliza de dois aplicativos

C++ auxiliares: o scen_gen e o cbrgen_star. O primeiro é responsável por gerar o

arquivoqrouting.scnque descreve o posicionamento dos nós no cenário de simulação,

(45)

inicia e termina uma transmissão de pacotes.

Um script Tcl previamente implementado (qrouting.tcl) juntamente com um

va-lor semente utilizado na geração de números aleatórios completam as informações ne-cessárias para a execução de uma simulação. Como resultado, o NS produz o arquivo

qrouting.nam, que pode ser usado para alimentar o NAM, e o arquivo qrouting.tr,

que mantém um registro em formato texto de todos os eventos ocorridos durante a simu-lação. Esse registro é então processado pelo script avg_throughput.awkque extrai os

resultados para o arquivodesempenho.txt.

Dessa forma, foi possível automatizar o processo de simulação, buscando aleatorie-dade e experimentos independentes para uma análise mais coerente com a realialeatorie-dade. O processo de simulação automatizado utiliza como parâmetros para cada instância de si-mulação realizada os valores das taxas de tráfego de dados, definidas em 0,1, 0,2, 1,0, 5,0 e 10,0 pacotes por segundo (pps). Um esquema da topologia da rede é mostrado na figura 4.3. O cenário consiste de uma rede com 100 nós mais um nodosinkposicionado

Sink Sensor

Figura 4.3: Exemplo da topologia da rede utilizada nas simulações.

ao centro de uma área de 500m x 500m. Os nós sensores são distribuídos uniforme e aleatoriamente a cada simulação ao redor da estação-base preenchendo toda a área do terreno.

A inicialização dos dispositivos da rede é feita de maneira sequencial, partindo do coordenador e dos nodos mais próximos até atingir os mais afastados. A inicialização aleatória dos nodos foi descartada após um experimento preliminar, pois tanto o AODV como o Q-routing demonstraram melhor desempenho no procedimento sequencial. Isso justifica-se pois, dessa maneira, a quantidade de transmissões em broadcast realizadas

tanto pelo AODV quanto pelo Q-routing durante o aprendizado das rotas diminui bas-tante se comparada ao procedimento aleatório. Também neste experimento preliminar, determinou-se o número de simulações ideal através da observação do desvio-padrão da taxa de entrega de pacotes. É possível perceber pela figura 4.4 que, a partir de 25 simula-ções, as mudanças no desvio-padrão são irrisórias.

(46)

4.2. CENÁRIO 31 ✵ ✶✵ ✷✵ ✸ ✵ ✹ ✵ ✺ ✵ ✻ ✵ ✷✹ ✷✻ ✷✁ ✸✵ ✸✷ ✸✹ ◆✂ ✄ ☎✆✝✞ ☎✟✠✄✡☛☞✌✍ ☎ ✟ ❉ ✎ ✏ ✑ ✒ ✓ ✔ ✕ ✖ ✗ ✘ ✓

Figura 4.4: Determinação estatística do número de simulações

Tabela 4.1: Configuração dos parâmetros de simulação.

Configurações de Hardware

Canal de comunicação Channel/WirelessChannel

Modelo de propagação Propagation/TwoRayGround

Tipo da fila Queue/DropTail/PriQueue

Tamanho da fila 50

Camada física Phy/WirelessPhy/802_15_4

Camada MAC Phy/WirelessPhy/802_15_4

CSThresh 6.25e-17

RXThresh 36.25e-17

Frequência de operação 2.4GHz

Parâmetros da Topologia

Área do terreno 500m x 500m

Topologia da rede Malha

Número de dispositivos 100 (sensores) + 1 (sink)

Algoritmos de roteamento AODV, Q-routing, Q-routing aprimorado

Parâmetros do tráfego de dados

Tipo de tráfego Constant Bit Rate (CBR)

Taxas de dados 0,1, 0,2, 1,0, 5,0 e 10,0 pacotes por

segundo (pps)

Tamanho dos pacotes 90 bytes

Imagem

Figura 1.1: Rede de sensores sem fios tradicional com um único sink (adaptada de [Ver- [Ver-done et al
Figura 1.2: Arquitetura simplificada de um sensor 1.1 Roteamento em RSSF
Figura 2.2: Topologias em (a) estrela, (b) árvore e (c) malha.
Figura 2.3: Estrutura do superframe utilizado pelo padrão IEEE 802.15.4.
+7

Referências

Documentos relacionados

(pontuação) relacionada à qualidade de um sistema. Uma nota obtida num aspecto de usabilidade pode evidenciar que tal aspecto está sendo adequadamente atendido

Dentro do processo utilizado para a gestão de projetos, existe alguma diferenciação entre a gestão de equipes locais e virtuais (quanto à gestão de recursos humanos,

De acordo com o Instituto Ethos (2013), a GRI foi criada com o objetivo de aumentar o nível de qualidade dos relatórios de sustentabilidade. O conjunto de diretrizes e indicadores da

Analisando a metodologia de produção de materiais da FIAP, é possível verificar que existem processos mais complexos se comparados à proposta de Kilpatrick (1918), pois as

Assim sendo, o objetivo geral deste trabalho é propor um modelo de predição precoce que mapeie o desempenho dos alunos em cursos de nível superior, na modalidade de ensino a

2007], cada n´o conhece sua localizac¸˜ao geogr´afica e a de seus vizinhos, seu n´ıvel de energia e de seus vizinhos e executa uma decis˜ao local para a escolha do pr´oximo

Visto que, muitas das conclusões retiradas foram abordadas no seguimento dos testes realizados para permitir um melhor encadeamento, aqui não são mencionadas

Por essa razão, este estudo se propõe a analisar o escore da bateria de testes Short Physical Performance Battery (SPPB) em relação à classificação de