Você está na página 1de 110

CENTRO UNIVERSITRIO DA FEI

Julio Andr Sgarbi

DOMTICA INTELIGENTE: AUTOMAO RESIDENCIAL


BASEADA EM COMPORTAMENTO

So Bernardo do Campo
2007

Livros Grtis
http://www.livrosgratis.com.br
Milhares de livros grtis para download.

Julio Andr Sgarbi

DOMTICA INTELIGENTE: AUTOMAO RESIDENCIAL


BASEADA EM COMPORTAMENTO

Dissertao de Mestrado apresentada ao


Centro Universitrio da FEI como parte dos
requisitos necessrios para a obteno do ttulo
de Mestre em Engenharia Eltrica.
Orientador: Prof. Dr. Flavio Tonidandel

So Bernardo do Campo
2007

Sgarbi, Julio Andr


Domtica Inteligente: Automao Residencial Baseada em
Comportamento / Julio Andr Sgarbi So Bernardo do Campo,
2007.
107 f.: il.
Dissertao de Mestrado Centro Universitrio da FEI.
Orientador: Prof. Dr. Flavio Tonidandel.
1. Automao Residencial Aprendizado. 2. Domtica
Inteligente. 3. Inteligncia artificial. I.Tonidandel, Flavio, orient.
II.Ttulo.
CDU 681.3.06

A Deus, meus pais, minha amada esposa


e meu amado filho.

AGRADECIMENTOS
Agradeo a todos os que me deram apoio e ensinaram a ter perseverana durante este
perodo de trabalho desta dissertao.
Agradeo a Deus por ter iluminado meu caminho me dando sade, perseverana e a
certeza de que possvel realizar nossos sonhos.
Aos meus pais que sempre me ajudaram nas dificuldades da vida.
A minha esposa Paula Valria que me incentivou, nos momentos difceis, no me
deixando desistir nunca. Agradeo pela maior alegria da minha vida, ocorrida durante a
elaborao deste trabalho, o nosso filho Rafael.
Aos amigos do mestrado, sem exceo, que sempre foram unidos nos momentos
difceis das aulas e nos momentos de alegria e descontrao.
Aos professores da FEI, que sempre foram amigos e me proporcionaram excelentes
momentos de aprendizado.
Ao meu orientador professor Dr. Flavio Tonidandel, por ter aceitado me orientar neste
trabalho, com pacincia, disposio, sempre me conduzindo pelo caminho da reflexo.
Agradeo pelas valiosas contribuies para o meu desenvolvimento intelectual e pessoal.
Aos professores Dr. Mrcio Rillo e Dr. Jos Reinaldo Silva, que participaram da
minha banca de qualificao, pelas valiosas contribuies para o desenvolvimento desta
dissertao.
A todos aqueles que direta ou indiretamente colaboraram para que o desenvolvimento
deste trabalho fosse possvel.

Algo s impossvel at que algum duvide e


acabe provando o contrrio.
Albert Einstein

RESUMO
A automao residencial evoluiu muito nos ltimos anos, entretanto pouco destaque dado
automao residencial baseada no comportamento dos habitantes. O sistema proposto ABC+
(Automao Baseada em Comportamento) foi desenvolvido para observar e aprender regras
em uma casa de acordo com o comportamento de seu habitante, utilizando o conceito de
aprendizado com regras de induo.
O principal problema abordado neste trabalho foi desenvolver um sistema simples e amigvel
que abrangesse as vrias particularidades envolvidas na automao inteligente de uma
residncia, tais como as seqncias causais de eventos, que geram regras indesejveis; a
insero de novas regras para os habitantes, sem causar desconforto aos mesmos; os
diferentes perfis de habitantes e ambientes, entre outros.
As experincias foram feitas atravs de dois simuladores desenvolvidos para se comprovar
primeiramente o correto funcionamento do sistema proposto e posteriormente observar o
comportamento do sistema e suas variveis quando submetidos ao de um agente
(habitante).

Palavras-chave: Inteligncia Artificial, Automao Residencial, Domtica Inteligente,


Aprendizado.

ABSTRACT
The residential automation evolved in the last years, however little importance is given to
residential automation based in the behavior of the inhabitants. The system ABC+
(Automation based on behavior) was developed to observe and to learn rules in a house
according to the behavior of its inhabitant, using the concept of learning with induction rules.
The main problem approached in this work was to develop a simple and friendly system that
enclosed the some particularities involved in intelligent automation of a residence, such as the
causal sequences of events, which generate undesirable rules; the insertion of new rules for
the inhabitants, without causing discomfort to the inhabitants; the different profiles of
inhabitants and environments, among others.
The experiences had been made through two simulators, developed to prove the correct
functioning of the system and to observe the behavior of the system and its variables when
submitted to the action of an agent (inhabitant).

Keywords: Artificial Intelligence, Residential Automation, Intelligent Domotics, Learning.

SUMRIO
INTRODUO ........................................................................................................................................ 18

1
1.1

OBJETIVO ................................................................................................................................... 18

1.2

MOTIVAO ................................................................................................................................ 19

1.3

ORGANIZAO DO TRABALHO ...................................................................................................... 19

APRENDIZADO DE MQUINA........................................................................................................... 20
2.1

SISTEMAS DE APRENDIZADO AUTOMTICO ................................................................................... 20


2.1.1

Inteligncia Artificial........................................................................................................... 20

2.1.2

Aprendizado......................................................................................................................... 20

2.1.3

Aprendizado Automtico..................................................................................................... 21

2.1.4

Paradigmas de Aprendizado Automtico............................................................................. 22

2.1.5

Modos de Aprendizado Automtico .................................................................................... 24

2.1.6

Formas de Aprendizado....................................................................................................... 24

2.1.7

Linguagens de Descrio (ou Representao) ..................................................................... 25

2.1.8

Estratgias de Aprendizado Automtico.............................................................................. 26

2.1.9

Mtodos de Aprendizado Indutivo ...................................................................................... 27

2.2

ALGORITMO C4.5........................................................................................................................ 28
2.2.1

Induo de rvores de Deciso ........................................................................................... 28

2.2.2

Construo de rvores de Deciso...................................................................................... 29

2.2.3

Detalhamento do Algoritmo C4.5........................................................................................ 33

DOMTICA............................................................................................................................................. 43
3.1

SISTEMAS DOMTICOS ................................................................................................................ 43


3.1.1

Atuadores e Sensores........................................................................................................... 44

3.1.2

Controlador.......................................................................................................................... 46

3.1.3

Redes Domticas ................................................................................................................. 46

3.2

DOMTICA INTELIGENTE ............................................................................................................. 47

3.3

SISTEMA ABC ............................................................................................................................. 48

SISTEMA ABC+ PROPOSTO ............................................................................................................... 51


4.1

A JANELA DE OBSERVAO .......................................................................................................... 52

4.2

AS REGRAS EMBRIONRIAS .......................................................................................................... 54

4.3

O DESENVOLVIMENTO E MANUTENO DAS REGRAS .................................................................... 55

4.4

INCONSISTNCIA NAS REGRAS ...................................................................................................... 62

SIMULAO DO SISTEMA ABC+ ..................................................................................................... 63


5.1

SIMULAO DA LGICA DO SISTEMA ............................................................................................ 63

5.2

SIMULADOR PARA AVALIAO DAS VARIVEIS DO SISTEMA ........................................................... 65

5.2.1
5.3

AGENTE PARA SIMULAO ........................................................................................................... 68


5.3.1

Agentes ................................................................................................................................ 68

5.3.2

Modelo de usurio ............................................................................................................... 69

5.3.3

Agentes Utilizados em Simulaes...................................................................................... 70

5.3.4

Agente para simulao no sistema ABC+ ........................................................................... 71

5.3.5

Banco de Dados para Simulao ......................................................................................... 71

5.4

Parmetros para Avaliao .................................................................................................. 68

RESULTADOS OBTIDOS ................................................................................................................ 76


5.4.1

Anlises Quantitativas ......................................................................................................... 76

5.4.2

Avaliao da Varivel NuEv ............................................................................................... 77

5.4.3

Avaliao da Varivel OK_Emb ......................................................................................... 79

5.4.4

Avaliao da Varivel NOK_Emb ...................................................................................... 80

5.4.5

Avaliao da Varivel EXC_At........................................................................................... 81

5.4.6

Avaliao da Varivel ATIV_At ......................................................................................... 82

5.4.7

Avaliao da Varivel OK_Emb_exc.................................................................................. 83

5.4.8

Anlise Qualitativa .............................................................................................................. 85

CONCLUSO E TRABALHOS FUTUROS......................................................................................... 91


6.1

CONSIDERAES FINAIS .............................................................................................................. 91

6.2

TRABALHOS FUTUROS ................................................................................................................. 93


6.2.1

Utilizao da Tecnologia RFID ........................................................................................... 93

6.2.2

Realizao de Testes em uma Residncia Real ................................................................... 94

6.2.3

Variao no Nmero de Sensores e Atuadores.................................................................... 94

6.2.4

Simulao e Solues para Loop ......................................................................................... 95

6.2.5

Minimizao de Overfitting................................................................................................. 95

REFERNCIAS BIBLIOGRFICAS............................................................................................................... 96
APNDICE 1 ..................................................................................................................................................... 100
APNDICE 2 ..................................................................................................................................................... 101

LISTA DE FIGURAS
Figura 2.1 rvore de deciso para diagnstico em paciente (REZENDE, 2002). ............... 29
Figura 2.2 Algoritmo C4.5 (QUINLAN, 1993).................................................................. 33
Figura 2.3 rvore obtida no exemplo (SERVENTE, 2002). .............................................. 38
Figura 2.4 Construo de uma rvore de deciso utilizando C4.5 (SERVENTE, 2002)...... 39
Figura 2.5 Regras geradas no exemplo (SERVENTE, 2002). ............................................ 39
Figura 2.6 Regra 1 do exemplo (SERVENTE, 2002)......................................................... 40
Figura 2.7 Regra 2 do exemplo (SERVENTE, 2002)......................................................... 41
Figura 2.8 Regra 3 do exemplo (SERVENTE, 2002)......................................................... 41
Figura 2.9 Regra 4 do exemplo (SERVENTE, 2002)......................................................... 41
Figura 2.10 Conjunto final de regras do exemplo (SERVENTE, 2002).............................. 42
Figura 3.1 Arquitetura do Sistema ABC, adaptada de (TONIDANDEL; TAKIUCHI;
MELO, 2004)............................................................................................................... 50
Figura 4.1 Arquitetura do Sistema ABC+. ......................................................................... 52
Figura 4.2 Janela de Observao no Sistema ABC+. ......................................................... 53
Figura 4.3 Fluxograma da lgica da Janela de Observao. ............................................... 54
Figura 4.4 Fluxograma da lgica de validao da Regra Embrionria................................ 55
Figura 4.5 Fluxograma da lgica de validao da Regra Embrionria................................ 55
Figura 4.6 Fluxograma do Funcionamento do Sistema ABC+. .......................................... 60
Figura 4.7 Algoritmo Evento de Sensor............................................................................. 61
Figura 4.8 Algoritmo Evento de Atuador........................................................................... 61
Figura 5.1 Simulador para teste da lgica do sistema ABC+.............................................. 64
Figura 5.2 Tela do simulador para configurao das variveis do sistema ABC+............... 65
Figura 5.3 Simulador para teste das variveis do sistema ABC+ (Eventos e Regras). ........ 66
Figura 5.4 Simulador para teste das variveis do sistema ABC+ (Descartados). ................ 67
Figura 5.5 Representao de um agente (RUSSELL; NORVIG, 2004). ............................. 69
Figura 5.6 Representao do agente no sistema ABC+. ..................................................... 71
Figura 5.7 Grfico da variao de NuEv............................................................................ 77
Figura 5.8 Grfico da variao de NuEv, com BD somente com regras desejadas.............. 78
Figura 5.9 Grfico da variao de OK_Emb. ..................................................................... 79
Figura 5.10 Grfico da variao de NOK_Emb. ................................................................ 80

Figura 5.11 Grfico da variao de EXC_At. .................................................................... 82


Figura 5.12 Grfico da variao de ATIV_At.................................................................... 83
Figura 5.13 Grfico da variao de OK_Emb_exc............................................................. 84
Figura 5.14 Grfico de Criao de Regras em funo da quantidade de eventos no C4.5. .. 88
Figura 5.15 Tela do simulador com resultados satisfatrios. .............................................. 89
Figura A1.1 Rede de Petri do sistema ABC+................................................................... 100

LISTA DE TABELAS
Tabela 2.1 Dados do exemplo Joga Tnis (SERVENTE, 2002). ........................................ 36
Tabela 2.2 Distribuio de Dados para o atributo Estado (SERVENTE, 2002). ................. 36
Tabela 2.3 Subconjunto com valor Nublado do atributo Estado (SERVENTE, 2002). ....... 38
Tabela 2.4 Distribuio de Dados para o atributo Estado com valor Umidade (SERVENTE,
2002)............................................................................................................................ 38
Tabela 2.5 Estimativas de erro para a Regra 1 (SERVENTE, 2002). ................................. 40
Tabela 2.6 Estimativas de erro para a Regra 2 (SERVENTE, 2002). ................................. 40
Tabela 2.7 Estimativas de erro para a Regra 2, retirada condio Estado (SERVENTE,
2002)............................................................................................................................ 41
Tabela 2.8 Estimativas de erro para a Regra 3 (SERVENTE, 2002). ................................. 41
Tabela 2.9 Estimativas de erro para a Regra 4 (SERVENTE, 2002). ................................. 41
Tabela 2.10 Casos coberto e no coberto por classe (SERVENTE, 2002). ......................... 42
Tabela 4.1 Eventos por Atuador (A1, A2, ......An). ............................................................ 56
Tabela 4.2 Regras Ativas por Atuador (A1, A2, ......An).................................................... 56
Tabela 4.3 Regras Embrionrias por Atuador (A1, A2, ......An). ........................................ 57
Tabela 4.4 Exemplo de evento armazenado no BDEventos. ............................................. 57
Tabela 4.5 Exemplo de Regra Embrionria no BDEmbrio................................................. 58
Tabela 4.6 Exemplos de Regras Ativas no BDAtivas. ....................................................... 59
Tabela 5.1 Exemplos de combinao no Banco de Dados.................................................. 72
Tabela 5.2 Exemplo de Combinao que atende duas regras. ............................................ 73
Tabela 5.3 Combinaes das regras e suas freqncias...................................................... 74
Tabela 5.4 Exemplo de embaralhamento (eventos desordenados). ..................................... 75
Tabela 5.5 Exemplo de embaralhamento (eventos ordenados). .......................................... 75
Tabela 5.6 Exemplo de Traado. ....................................................................................... 86
Tabela A2.1 Resultados das simulaes da varivel NuEv............................................... 101
Tabela A2.2 Resultados das simulaes da varivel NuEv, com BD somente com regras
desejadas.................................................................................................................... 102
Tabela A2.3 Resultados das simulaes da varivel OK_Emb......................................... 103
Tabela A2.4 Resultados das simulaes da varivel NOK_Emb. ..................................... 104
Tabela A2.5 Resultados das simulaes da varivel EXC_At. ......................................... 105
Tabela A2.6 Resultados das simulaes da varivel ATIV_At......................................... 106

Tabela A2.7 Resultados das simulaes da varivel OK_Emb_exc.................................. 107

LISTA DE SMBOLOS
t Intervalo de tempo.
Somatria.

LISTA ABREVIATURAS
ABC Automao Baseada em Comportamento.
AC - Nmero de Regras Ativas criadas.
AE - Nmero de Regras Ativas eliminadas (rebaixadas).
AI - Artificial Intelligent.
ATIV Campo do BDAtivas utilizado para pontuar positivamente uma regra.
ATIV_At - Valor do campo ATIV do BDAtivas para regra ir para o BDEmbrio, devido a
desuso.
BD Bando de Dados.
BDAtivas Banco de Dados de Regras Ativas.
BDEmbrio Banco de Dados de Regras Embrionrias.
BDEventos Banco de Dados de Eventos por Atuador.
CO2 Dixido de Carbono.
EC - Nmero de Regras Embrionrias criadas.
EE - Nmero de Regras Embrionrias eliminadas.
EXC - Campo do BDAtivas utilizado para pontuar negativamente uma regra.
EXC_At - Valor do campo EXC do BDAtivas para excluir a regra.
GPS - Global Positioning System.
IA Inteligncia Artificial.
LDC - Linguagem de Descrio de Conhecimento de Fundo (domnio).
LDE - Linguagem de Descrio de Exemplos.
LDH - Linguagem de Descrio de Hipteses (Conceitos).
MIT - Massachusetts Institute of Technology.
NOK - Campo do BDEmbrio utilizado para excluir uma regra.
NOK_Emb - Valor do campo NOK do BDEmbrio para regra ser excluda.
NuEv - Nmero de eventos no BDEventos para acionar o C4.5.
OK - Campo do BDEmbrio utilizado para validar uma regra.
OK_Emb - Valor do campo OK do BDEmbrio para regra virar Regra Ativa.
OK_Emb_exc - Valor do campo OK do BDEmbrio para a regra ser excluda por desuso.
PIR Passive Infra Red.
RBC - Raciocnio Baseado em Casos.
RFID Radio Frequency Identification.

TDIDT - Top-Down Induction Trees.

18

INTRODUO
Existe uma srie de trabalhos que abordam o tema automao residencial. Os avanos

tecnolgicos e a busca por conforto e segurana vm fazendo com que a cada dia as
residncias tenham mais e melhores sistemas automatizadores.
Algumas vezes estes sistemas so implementados com tcnicas de inteligncia
artificial, entretanto a maioria deles possui apenas mecanismos automticos (BOLZANI,
2004a).
A principal nfase destes sistemas est no gerenciamento de recursos, segurana,
conforto e atualmente em entretenimento (MURATORI, 2005).
Muitos dos trabalhos publicados alegam que seus sistemas so inteligentes. Alguns
deles detectam eventos como a presena dos habitantes e suas aes, ou possuem sensores que
conseguem capturar mudanas nas condies do ambiente; a estes eventos so aplicadas
reaes que esto previamente configuradas (BOLZANI, 2004a). O conceito de inteligncia
deve ir alm de automatizar ou simplesmente aplicar regras pr-estabelecidas; os sistemas
inteligentes devem interagir com os habitantes da casa e aprender com seus comportamentos.
Automao residencial deve evoluir para o conceito de Domtica Inteligente, no qual
se entende que os dados obtidos pelos sensores da casa devem ser analisados de modo a
adaptar as regras de automao do ambiente ao comportamento dos habitantes
(TONIDANDEL; TAKIUCHI; MELO, 2004).
Os seres humanos esto em constante mudana; o que uma regra ou rotina hoje,
amanh pode no ser. Os hbitos, horrios e atividades mudam com o passar do tempo. Os
sistemas tm de aprender e se adaptar a isto.
Neste trabalho ser apresentado um sistema de automao residencial inteligente
(Sistema ABC+, Automao Baseada em Comportamento) que cria regras para ao de
atuadores em funo do aprendizado com o comportamento dos habitantes de uma casa,
dando nfase obteno, tratamento e manuteno das regras.
1.1

Objetivo
O objetivo principal deste trabalho o desenvolvimento de um sistema de automao

residencial baseado no comportamento do habitante, com nfase no funcionamento do sistema


e na anlise das variveis do sistema quando este submetido ao de um agente
(habitante).

19

1.2

Motivao
A motivao pela escolha do tema ocorre ao se observar a dificuldade que algumas

pessoas tem para programar ou configurar certos aparelhos e sistemas. Se para estas pessoas
programar um simples vdeo cassete quase impossvel, imagine um sistema de automao
residencial. Assim, torna-se necessrio a criao de um sistema de automao residencial que
aprenda o comportamento do habitante e que seja simples. Em termos prticos o sistema deve
permitir que pessoas com menor familiarizao aos sistemas domticos possam utiliz-los,
devido diminuio na programao dos mesmos.
Um sistema pode guardar eventos e imediatamente transformar estes eventos em
regras, entretanto a quantidade de regras aumentar a cada evento que surgir, ademais, somase a isto a quantidade de memria e processamento necessrios para o sistema funcionar, o
mesmo torna-se impraticvel. Por este motivo, torna-se necessrio utilizar alguma tcnica que
permita reduzir a quantidade de regras, ou melhor, avaliar os eventos e reun-los em poucas
regras. A tcnica utilizada para isto neste trabalho ser a da induo de rvores de deciso.
O uso de um simulador visa conhecer o funcionamento do sistema proposto,
permitindo corrigir possveis falhas e entender em detalhe o comportamento dos parmetros
do mesmo.
1.3

Organizao do Trabalho
Este trabalho est composto da seguinte forma:

O captulo 2 trata o tema Aprendizado de Mquina, dando nfase aos sistemas


de aprendizado automtico e ao algoritmo C4.5.

No captulo 3 feita a descrio de domtica e do sistema ABC.

O captulo 4 detalha o sistema ABC+ proposto.

No captulo 5 so descritas as simulaes realizadas no trabalho, os resultados


obtidos e suas devidas anlises.

O captulo 6 encerra o trabalho com a concluso e possveis trabalhos futuros.

20

APRENDIZADO DE MQUINA
Este captulo apresenta os principais tpicos de Aprendizado de Mquina, nos quais

est fundamentado o trabalho, nele que est desenvolvida a reviso da literatura sobre o
tema, mostrando os conceitos, mtodos e outros trabalhos utilizados como base para este
trabalho.
2.1

Sistemas de Aprendizado Automtico


Os Sistemas de Aprendizado Automtico so um tema amplo, abordado dentro da rea

de Inteligncia Artificial.
2.1.1 Inteligncia Artificial
A expresso Artificial Intelligent, tambm conhecida como AI (IA em portugus),
foi estabelecida em 1956 por McCarthy, e posteriormente abordada por pesquisadores como
Minsky, Simon, Newell e outros.
Existem muitas definies de Inteligncia Artificial, no se encontra uma definio
nica e padro; pode-se dizer que Inteligncia Artificial uma rea de pesquisa da Cincia da
Computao voltada ao estudo de mtodos ou dispositivos computacionais que tenham ou
simulem a capacidade humana de resoluo de problemas, de pensar ou ser inteligente.
2.1.2 Aprendizado
O aprendizado tambm um conceito difcil de ser definido. Aprendizado a
capacidade de se adaptar, de modificar e melhorar seu comportamento e suas respostas, o que
uma das propriedades mais importantes dos seres ditos inteligentes (OSRIO, 1999).
A capacidade de aprender est ligada diretamente a alguns itens: adaptao e mudana
de comportamento de maneira a evoluir; correo dos erros cometidos no passado, de modo a
no repeti-los no futuro; melhoria do desempenho do sistema como um todo; interao com o
meio, pois atravs deste contato com o mundo que nos cerca que se podem trocar
experincias e assim adquirir novos conhecimentos; representao do conhecimento adquirido
- guardar uma massa muito grande de conhecimentos requer uma forma de representar estes
conhecimentos que permita ao sistema explor-los de maneira conveniente (OSRIO, 1999).

21

O aprendizado o motivo que levou superioridade da inteligncia humana


(SANCHES; GEROMINI, 2001), a essncia da inteligncia. Em face disto deve-se
aumentar a capacidade de aprendizado das mquinas caso se queira que elas tenham
comportamento inteligente.
O Homem nasce apto para iniciar seu aprendizado, ampliando seu conhecimento
atravs de reordenaes sucessivas, entretanto as mquinas no possuem programa inicial
para aprender, precisam de um para faz-lo.
2.1.3 Aprendizado Automtico
O aprendizado automtico (Machine Learning) ou de mquina uma rea de IA que
busca mtodos computacionais ligados a aquisio de novo conhecimento e formas de
organizar o conhecimento j existente.
Segundo Simon (1983):
Aprendizado denota mudanas no sistema, que so adaptveis no sentido
de que elas possibilitam que o sistema faa a mesma tarefa ou tarefas sobre uma
mesma populao, de uma maneira mais eficiente a cada vez.
Esta definio abrange de um lado o refinamento de habilidades, no qual se entende
que a prtica sucessiva de tarefas pode tornar melhor a execuo das mesmas, e do outro lado
est a aquisio de conhecimento, o qual adquirido geralmente atravs da experincia.
Os sistemas de aprendizado automtico devem ter a habilidade de no somente
acumular conhecimento, mas tambm de absorv-lo ou generaliz-lo.
Visto de uma maneira prtica, o aprendizado automtico pode ser entendido como um
conjunto de mtodos, tcnicas e ferramentas prprias para a aquisio automatizada de
conhecimento a partir de conjuntos de dados (MITCHELL, 1997).
Enfim, o aprendizado automtico o campo dedicado ao desenvolvimento de mtodos
computacionais para os processos de aprendizagem e a aplicao dos sistemas informticos de
aprendizagem a problemas prticos (MICHALSKY; BRATKO; KUBAT, 1998).
Segundo Mitchell (1997), o aprendizado automtico enfrenta o desafio de construir
sistemas computacionais que automaticamente melhorem com a experincia, sendo essencial
para isto definir o problema de aprendizado de maneira certa. Ele apresenta a seguinte
definio, onde constam trs partes fundamentais:

22

Pode-se afirmar que um programa computacional capaz de aprender a


partir da experincia E com respeito a um grupo de tarefas T e segundo a medida
de desempenho P, se seu desempenho nas tarefas T, medido segundo P, melhora
com a experincia E. (MITCHELL, 1997).
desejvel que os sistemas respondam melhor aos seus objetivos com o aprendizado,
entretanto isto no est garantido. O aprendizado possibilita levar a melhora.
A seguir sero apresentadas as caractersticas que possibilitam classificar os sistemas
de Aprendizado Automtico quanto ao paradigma, modo, forma de aprendizado e linguagens
de descrio.
2.1.4 Paradigmas de Aprendizado Automtico
Existem vrios paradigmas de Aprendizado Automtico (BATISTA, 2003): baseado
em exemplos, estatsticos, conexionista, gentico (ou evolutivo) e simblico.
Os sistemas baseados em exemplos ou lazy caracterizam-se por classificar um
exemplo lembrando de outro similar cuja classe conhecida e assumem que este novo
exemplo ter a mesma classe, assim classificam-se casos nunca vistos atravs de casos
similares conhecidos (AHA; KIBLER; ALBERT, 1991).
Suas caractersticas principais so: Identificar e reter casos prottipos que juntos
resumam toda a informao importante; a similaridade entre os casos pode ser medida, se os
atributos forem contnuos, calculando a distncia entre dois casos como a raiz quadrada da
soma dos quadrados da diferena dos atributos; Um novo caso relacionado com o mais
prximo dos casos armazenados ou levando-se em considerao os diferentes graus de
similaridade entre cada caso. As tcnicas mais conhecidas desse paradigma so,
provavelmente, Nearest Neighbours e Raciocnio Baseado em Casos (RBC), como exemplo
deste ltimo pode-se citar o sistema FAR-OFF (TONIDANDEL, 2003).
J os sistemas estatsticos consistem em utilizar modelos estatsticos para encontrar
uma boa aproximao do conceito induzido. Muitos destes modelos so paramtricos e
assumem alguma forma de modelo, encontrando valores apropriados para os parmetros do
modelo a partir de dados.

23

Como exemplo, um classificador linear assume que classes podem ser expressas como
combinao linear dos valores dos atributos e ento se procura uma combinao linear
particular que fornece a melhor aproximao sobre o conjunto de dados a serem classificados.
Outros exemplos so o algoritmo CART (Classification and Regression Tree)
(BREIMAN; FREDMAN; OLSHEN, 1984), o qual um sistema desenvolvido por
estatsticos para montar rvores de deciso, e o QUEST (Quick, Unbiased, Efficient,
Statistical Tree) (LOH e SHIH, 1997), um algoritmo estatstico que seleciona variveis sem
vcio e constri rvores binrias precisas de maneira rpida e eficaz.
As redes neurais so exemplos de sistemas conexionistas. Elas so construes
matemticas simplificadas inspiradas no modelo biolgico do sistema nervoso. Sua
representao envolve unidades altamente interconectadas, no qual o nome conexionismo
utilizado para descrever a rea de estudo.
McCulloch e Pitts (1943) foram os pioneiros a iniciar pesquisas com redes neurais.
McCulloch foi um psiquiatra que pesquisou por 20 anos uma forma de representar um evento
no sistema nervoso; Pitts era um jovem pesquisador que se juntou a McCulloch em 1942.
Cerca de quinze anos aps a publicao de McCulloch e Pitts, Rosenblatt (1958) apresentou o
perceptron. Aps isto, Minsky e Papert em seu livro Perceptrons (MINSKY; PAPERT, 1969)
demonstraram a existncia de limites nos perceptrons de uma camada, fato que diminuiu o
interesse nos estudos sobre redes neurais. Hopfield (1982) apresentou uma nova forma de
compreender os clculos realizados em redes recorrentes com conexes sinpticas simtricas,
utilizando para isto a idia de uma funo de energia, fazendo assim retornar o
desenvolvimento do estudo das redes neurais.
Os fatos mais recentes em redes neurais so o desenvolvimento do algoritmo
backpropagation que supera os problemas dos Perceptrons, em 1986 por Rumelhart, Hinton e
Williams e a descrio do procedimento para projeto de redes utilizando funes de base
radial, em 1988 por Broomhead e Lowe.
Alm dos paradigmas citados acima, tem-se ainda o paradigma gentico que
derivado do modelo biolgico de aprendizado (HOLLAND, 1986). Um classificador gentico
consiste de uma populao de elementos de classificao que competem para fazer a predio.
Os elementos que tem o desempenho fraco so retirados e os mais fortes permanecem
gerando variaes deles prprios.
Os algoritmos genticos so tcnicas utilizadas para solucionar problemas de
aprendizado de mquina (DE JONG, 1988), atravs de tentativa e erro com alguma retro
alimentao do erro onde aprendem solues melhores para os problemas.

24

Por fim, os sistemas de aprendizado simblico constroem representaes simblicas


de um conceito para aprender, atravs de anlise de exemplos e contra-exemplos desse
conceito. As representaes simblicas geralmente esto na forma de expresso lgica,
rvores de deciso, regras (ou rede semntica), sendo estas duas ltimas as mais estudadas
atualmente.
Sistemas como o ID3 (QUINLAN, 1986) e C4.5 (QUINLAN, 1993), que o
algoritmo utilizado neste trabalho, so utilizados para induo de rvores de deciso e
contriburam bastante na pesquisa em Inteligncia Artificial. O desenvolvimento original do
programa para a induo de rvores de deciso atribudo a Morgan e Messeger (1973).
2.1.5 Modos de Aprendizado Automtico
Para alguns sistemas de aprendizado necessrio predizer se certa ao ir fornecer
certa sada (RUSSELL; NORVIG, 2004). Assim possvel classificar os sistemas de
aprendizado automtico de trs modos (OSRIO, 1999):
a) Aprendizado Supervisionado: no qual a partir de um conjunto de observaes ou
exemplos com rtulos, isto , a classe de cada exemplo conhecida, tem-se o objetivo de
encontrar uma hiptese que consiga classificar novas observaes entre as classes existentes.
b) Aprendizado No-supervisionado ou clustering: no qual a partir de um conjunto de
observaes ou exemplos sem rtulos, o objetivo estabelecer a existncia de clusters ou
similaridades nesses dados.
c) Aprendizado Semi-Supervisionado: Surgido recentemente, o aprendizado onde
poucos exemplos rotulados so utilizados ao invs de uma quantidade expressiva como a
necessria no aprendizado supervisionado. Ele representa a juno dos aprendizados
supervisionado e no-supervisionado, permitindo reduzir a necessidade de dados rotulados
quando somente um pequeno conjunto de exemplos rotulados est disponvel. Tambm
conhecido como aprendizado por reforo, onde se dispe apenas de uma avaliao qualitativa
do comportamento do sistema, no entanto sem poder medir quantitativamente o erro (desvio
do comportamento em relao referncia desejada).
2.1.6 Formas de Aprendizado
Os algoritmos de aprendizado podem ser classificados de duas formas segundo a
maneira em que os exemplos so apresentados (SANCHES; GEROMINI, 2001):

25

a) No incremental: necessita que todos os exemplos, ao mesmo tempo, estejam


disponveis para que seja induzido um conceito. Estes algoritmos so vantajosos para
problemas de aprendizados nos quais todos os exemplos esto disponveis e no ocorrero
mudanas. Tambm conhecido como batch. Um exemplo de sistema que originalmente
utilizam esta forma de aprendizado so as rvores de induo de regras (ID3 e C4.5).
b) Incremental: rev a definio do conceito corrente, caso necessrio, em resposta a
cada novo exemplo de treinamento observado. Cada exemplo observado considerado um a
um pelo sistema. Desta maneira o sistema segue modificando o conceito medida que novos
exemplos so inseridos. Um exemplo de sistema incremental so as redes Neurais do tipo
incremental, as quais se modificam com novos exemplos.
Uma vantagem do algoritmo incremental atualizar rapidamente o conhecimento a
cada novo exemplo, uma vez que pode ser mais eficiente rever uma hiptese existente do que
gerar uma nova hiptese a cada novo exemplo observado.
2.1.7 Linguagens de Descrio (ou Representao)
Todo sistema de aprendizado necessita ter uma linguagem para poder descrever ou
representar exemplos, ou objetos (ou possveis eventos), uma linguagem para descrever
hipteses, ou conceitos e uma para descrever conhecimento de fundo (ou teoria do domnio)
(REZENDE, 2002).
a) Linguagem de descrio de Exemplos (Objetos) - LDE:
Descries Estruturais: Retrata um objeto como sendo uma estrutura complexa de
vrios componentes alm das relaes entre eles. Como exemplo, a descrio estrutural de um
arco pode ser: Um arco consiste de trs componentes dois postes e uma cobertura, tal que
cada um deles um bloco; os dois postes suportam a cobertura; os postes esto na vertical,
so paralelos, no se tocam e a cobertura est na horizontal (REZENDE, 2002).
Descries de Atributos: Nesta descrio um objeto descrito atravs de suas
caractersticas globais como um vetor de valores de atributos. Um atributo pode ser de
qualquer tipo, numrico ou no numrico. Uma descrio de atributos de um arco pode ser:
Seu tamanho seis centmetros, sua altura trs centmetros e sua cor verde (REZENDE,
2002).
b) Linguagem de descrio de Hipteses (Conceitos) - LDH:
Formalmente, para descrever conceitos em aprendizado automtico utiliza-se:

As rvores de deciso,

26

As Regras se-ento,

As Redes semnticas,

A Lgica de predicados.

c) Linguagem de descrio de Conhecimento de Fundo (domnio) LDC:


utilizada para descrever algum conhecimento prvio e relevante do domnio do
problema. O conhecimento de fundo abrange conceitos absorvidos anteriormente, hipteses e
mtodos para avali-las, restries do domnio, metas, entre outros. As linguagens para
descrio de conhecimento de fundo so parecidas com as utilizadas para descrio de
hipteses (REZENDE, 2002).
No trabalho a ser desenvolvido no sero utilizadas as linguagens aqui descritas.
2.1.8 Estratgias de Aprendizado Automtico
Existem vrias estratgias (SANCHES; GEROMINI, 2001) de Aprendizado
Automtico, as quais se podem citar em ordem de complexidade de inferncia apresentada
pelo aprendiz: aprendizado por hbito, por instruo, por deduo, por analogia e por induo,
sendo esta ltima a utilizada no sistema proposto neste trabalho.
2.1.8.1 Aprendizado por Induo ou Indutivo
O aprendizado por induo a estratgia de aprendizado que os seres humanos
utilizam ao fazerem generalizaes a partir de alguns fatos ou ao obter padres em grupos de
informaes que parecem caticas (SANCHES; GEROMINI, 2001).
A induo se caracteriza pelo raciocnio que parte do especfico para o geral.
Nesta estratgia o aprendiz obtm um conceito ao fazer inferncias indutivas sobre os
fatos apresentados. Entretanto, as hipteses geradas pela inferncia indutiva podem ou no
manter a verdade.
A inferncia indutiva um importante meio para se criar novos conhecimentos e
prever eventos futuros. A induo permite obter concluses genricas sobre um conjunto
particular de exemplos. Mas preciso ter cuidado com as generalizaes geradas, uma vez
que o conhecimento gerado pode ser de pouco ou nenhum valor.
As hipteses geradas pela inferncia indutiva podem ou no preservar a verdade, ou
seja, as hipteses podem levar a concluses cujos contedos excedam aos das premissas. Por
isto os argumentos indutivos so indispensveis para fundamentao de uma significativa
parte dos nossos conhecimentos. Entretanto, este mesmo fato levanta questes complicadas,

27

que dificultam a anlise dos resultados obtidos com o auxlio de mtodos indutivos
(BATISTA, 2003).
O nmero de informaes colhidas antes de se obter uma regra um ponto importante.
Pode-se observar isto com o exemplo do homem que chega a uma determinada empresa e
encontra um faxineiro na entrada principal, depois vai ao banheiro e encontra outro faxineiro
fazendo limpeza, a concluso dele, com somente estas duas amostras, de que na empresa s
existem faxineiros. Neste caso a induo foi realizada com um nmero insuficiente de
exemplos.
Atributos corretos tambm um fator importante. Um exemplo o caso fictcio de
uma criana brincando com uma aranha (SANCHES; GEROMINI, 2001). A aranha est
parada e ela d um grito, assim a aranha foge. Ento ela arranca duas pernas da aranha e d
outro grito, fazendo a aranha fugir novamente. Ela arranca novamente duas pernas e grita
novamente, a aranha foge. At que ao retirar os dois ltimos pares de pernas da aranha e
gritar, a aranha no se move. A criana conclui que a aranha sem pernas no escuta, portanto
utiliza as pernas para ouvir. Isto o mesmo que se escolher os atributos A1 e A2 para
relacionar com certas classes C1 e C2, entretanto estas classes independem dos atributos
escolhidos; as classes C1 e C2 tem relao com os atributos A3 e A4, que no aparecem entre
os atributos escolhidos para anlise. Neste caso a induo ser feita sobre dados irrelevantes.
2.1.9 Mtodos de Aprendizado Indutivo
Dois mtodos muito conhecidos de aprendizado indutivo a partir de exemplos so os
aprendizados AQ e Dividir para Conquistar.
2.1.9.1 Aprendizado AQ
O aprendizado AQ utiliza o mtodo de progressivamente cobrir os dados de
treinamento enquanto as regras de deciso so geradas. Seu funcionamento se baseia na busca
de um conjunto de regras (conjunes de pares atributo-valor ou predicados arbitrrios) que
cubram todos os exemplos positivos e nenhum exemplo negativo. O mtodo AQ generaliza,
passo a passo, as descries dos exemplos positivos selecionados (MICHALSKY; BRATKO;
KUBAT, 1998).

28

2.1.9.2 Aprendizado Dividir para Conquistar


O mtodo Dividir para Conquistar divide o conjunto de exemplos em subconjuntos,
nos quais se pode trabalhar com facilidade, em seguida recursivamente a mesma estratgia
aplicada a cada subconjunto. Dentro de este tipo de aprendizado, encontramos a famlia
TDIDT (Top-Down Induction Trees), na qual est o algoritmo de aprendizado a ser utilizado
neste trabalho.
2.2

Algoritmo C4.5
O algoritmo C4.5 (QUINLAN, 1993) um sistema de aprendizado que constri

rvores de deciso a partir de um conjunto de exemplos. Ele o algoritmo utilizado neste


trabalho para gerar regras. O C4.5 faz parte da famlia TDIDT, a qual pertence aos mtodos
indutivos de aprendizado automtico que aprendem a partir de exemplos pr-classificados.
Com base no que foi descrito nas sees anterior o C4.5 est classificado como um
sistema de aprendizado indutivo, supervisionado e no incremental.
2.2.1 Induo de rvores de Deciso
Em (UTGOFF, 1989) feita uma definio formal de rvores de deciso, como sendo
uma estrutura de dados composta por n (n>1) ns. Estes ns podem ser:

Um n folha, ou n resposta, que contm um nome de classe, ou

Um n raiz, ou n de deciso, que contm um atributo de teste, sendo que para


cada um dos possveis valores deste atributo existe um ramo para uma outra
rvore de deciso.

Na figura 2.1 extrada de (REZENDE, 2002) apresentado um exemplo de rvore de


deciso para o diagnstico de um paciente. Cada elipse representa um teste em um atributo
para um dado conjunto de dados de pacientes, os retngulos representam uma classe, no caso
do exemplo, um diagnstico. Para fazer o diagnstico em um paciente necessrio iniciar na
raiz e seguir cada teste at alcanar uma folha.

29

Figura 2.1 rvore de deciso para diagnstico em paciente (REZENDE, 2002).

A rvore pode ser representada por regras. As regras tm seu incio na raiz e terminam
em uma das folhas da rvore. Na rvore da figura 2.1, pode-se identificar a primeira regra
como sendo: SE paciente se sente bem = sim ENTO classe = saudvel.
2.2.2 Construo de rvores de Deciso
A construo de uma rvore de deciso feita pelo mtodo de HUNT, MARIN e
STONE (1966). A partir de um conjunto de treinamento T, sejam as classes denotadas por
{C1,C2, . . . ,Ck}, os seguintes passos devem ser seguidos (SERVENTE, 2002):
1. T contm um ou mais casos, todos pertencentes a uma nica classe Cj. Nesse caso, a
rvore de deciso para T uma folha identificando a classe Cj;
2. T no contm nenhum caso. Neste caso, a rvore uma folha, mas a classe
associada deve ser determinada pela de informao que no pertence a T. Por exemplo, a
classe mais freqente para o n pai desse n pode ser utilizada;
3. T contm casos pertencentes a vrias classes. Nesse caso, a idia refinar T em
subconjuntos de casos que tendam, ou aparentam tender a uma coleo de casos pertencentes
a uma nica classe. Escolhe-se um teste baseado em um nico atributo que tem um ou mais
resultados mutuamente excludentes {O1,O2, . . . ,On}. T se divide nos subconjuntos T1, T2, ...,
Tn, onde Ti contm todos os casos de T que tem o resultado Oi para a partio escolhida. A
rvore de deciso para T consiste em um n de deciso identificado pela partio, com um
ramo para cada um dos resultados possveis.

30

Este mecanismo de construo aplicado recursivamente para cada subconjunto de


casos de treinamento, de maneira que o isimo ramo forme a rvore de deciso construda
pelo subconjunto Ti, de dados de treinamento.
2.2.2.1 Clculo do Ganho de Informao
Quando o conjunto T contm exemplos pertencentes a distintas classes, realiza-se um
clculo sobre os distintos atributos e uma partio segundo o melhor atributo. Atravs da
teoria da informao encontra-se o melhor atributo. A teoria sustenta que a informao se
maximiza com a minimizao da entropia. A entropia uma medida de incerteza de um
conjunto, ou a medida da impureza de uma coleo arbitrria de exemplos. A entropia assume
o valor mximo (1) quando existem tantos elementos positivos como negativos, e o valor
mnimo (0) quando todos os elementos so da mesma classe.
Entropia(Si) igual ao nmero esperado de bits necessrios para codificar a classe
(+ ou -) de um elemento de S escolhido aleatoriamente com distribuio uniforme.
Da Teoria da Informao, um cdigo de comprimento timo atribui log2 p bits a uma
mensagem que tenha probabilidade p. Logo, o nmero esperado de bits para codificar + ou
- de elementos selecionados aleatoriamente de S a probabilidade p+ multiplicado por log2
p+ mais a probabilidade p- multiplicado por log2 p-.
As equaes apresentadas nesta seo esto desenvolvidas conforme (QUINLAN,
1993).
Em um subconjunto Si com exemplos positivos e negativos, o clculo da entropia
H(Si) dado por:
(2.1)
2

Onde Pi+ a probabilidade de um exemplo de Si, tomado ao acaso, seja positivo. Si


contm ni+ exemplos positivos e ni- exemplos negativos. Esta probabilidade calculada por:
(2.2)

Analogamente a Pi+ calcula-se Pi-, porm trocando a quantidade de exemplos positivos


pela de exemplos negativos e vice-versa.
Se houverem mais de duas classes (+ e -), ou seja, n classes, a entropia dada por:

H(Si)= -pi1 log pi1 pi2 log pi2 pi3 log pi3........- pin log pin
2

(2.3)

31

Generalizando a expresso H(Si) para qualquer tipo de exemplos tem-se a expresso


geral da entropia:
(2.4)
2

Quando um atributo at divide o conjunto S em subconjuntos Si, i = 1,2,......., n, a


entropia total dos subconjuntos a somatria das multiplicaes da probabilidade (P(Si)) de
que um exemplo pertena a Si pela entropia (H(Si)) do subconjunto Si :
(2.5)

O ganho da informao pode ser calculado como a diminuio em entropia:


(2.6)
Sendo H(S) o valor da entropia antes de realizar a subdiviso e H(S,at) o valor da
entropia do sistema de subconjunto gerados pela partio segundo at.
2.2.2.2 Diviso dos dados
O mtodo Dividir para conquistar divide os dados do n atravs de uma partio
realizada sobre o melhor atributo. O processo de construo da rvore no deve somente
encontrar qualquer partio que gere subconjuntos com uma nica classe cada; o necessrio
encontrar uma rvore que revele uma estrutura do domnio, portanto tendo poder preditivo. A
partio deve ter a menor quantidade de classes possveis. No caso ideal, escolher a cada
passo a partio que gere a rvore menor.
2.2.2.2.1 Critrio do Ganho
Imagine que existe uma partio possvel com n resultados que dividem o conjunto de
treinamento T nos subconjuntos T1, T2,. . ., Tn. Se a partio for realizada sem avaliar as
divises posteriores dos subconjuntos Ti, a nica informao disponvel para avaliar a partio
a distribuio de classes em T e seus subconjuntos.
Considerando um valor similar, com T dividido em n resultados da partio X. A
entropia pode se calculada como a soma ponderada dos subconjuntos (QUINLAN, 1995):

32

(2.7)

O ganho da informao a partir de T de acordo com a partio X :


(2.8)
O critrio de ganho seleciona a partio que maximiza o ganho de informao. Nele se
calcula o ganho que resultaria de dividir o conjunto de dados de acordo com cada atributo
possvel antes de dividir os dados em cada n. A partio escolhida aquela que resulta no
maior ganho.
2.2.2.2.2 Critrio da Proporo do Ganho
Realizando uma partio sobre um atributo que seja o n primrio de um conjunto de
dados, se obtm um nico subconjunto para cada caso, para cada subconjunto teremos

I(T,X)=0, assim o ganho de informao ser mximo. Este tipo de partio no til.
Este fato que acontece no critrio de ganho corrigido atravs de uma normalizao,
na qual se ajusta o ganho aparente. Tomando-se o contedo de informao de uma mensagem
correspondente aos resultados das divises. Por analogia definio de I(S) temos
(QUINLAN, 1995):
(2.9)

Isto representa a informao potencial gerada ao dividir T em n subconjuntos,


enquanto que o ganho da informao mede a informao relevante a uma classificao que
nasce da mesma partio (QUINLAN, 1995).
(2.10)

A expresso Proporo_de_ganho(X) calcula a proporo til de informao gerada


na diviso. Se a diviso normal a informao da diviso ser pequena e esta proporo se
tornar instvel. O critrio de proporo de ganho elege uma diviso que maximiza a
expresso.

33

2.2.3 Detalhamento do Algoritmo C4.5


O pseudo-cdigo do algoritmo C4.5 para construir rvores de deciso a partir de um
conjunto de exemplos apresentado na figura 2.2.

Funo C4.5
(R: conjunto de atributos no classificadores,
C: atributo classificador,
S: conjunto de treinamento) devolve uma rvore de deciso;
Incio
Se S est vazio,
devolver um nico n com Valor Falha;
Se todos os registros de S tm o mesmo valor para o atributo classificador,
devolver um nico n com tal valor;
Se R est vazio, ento
devolver um nico n com o valor mais freqente do atributo
classificador nos registros de S [Nota: existiro erros, isto ,
registros que no estaro bem classificados neste caso];
Se R no est vazio, ento
Datributo com maior Proporo de Ganho(D,S) entre os atributos de R;
Sejam {dj | j=1,2, .., m} os valores do atributo D;
Sejam {Sj | j=1,2, .., m} os subconjuntos de S correspondentes aos
valores de dj respectivamente;
devolver uma rvore com a raiz nomeada como D e com os arcos nomeados
d1, d2, .., dm que vo respectivamente s rvores
C4.5(R-{D}, C, S1), C4.5(R-{D}, C, S2), .., C4.5(R-{D}, C, Sm);
Fim

Figura 2.2 Algoritmo C4.5 (QUINLAN, 1993).

A seguir so descritas as caractersticas, a poda em rvores de deciso, a construo de


uma rvore de deciso e a gerao de regras de deciso, tendo como foco o algoritmo C4.5.
2.2.3.1 Caractersticas
O C4.5 tem como funo criar uma descrio de um conjunto de dados atravs de uma
rvore de deciso. A partir de dados sem contradio entre eles, a rvore gerada descrever o
conjunto de dados de entrada com perfeio (QUINLAN, 1993). Dados:

Um conjunto de dados;

Um conjunto de descritores (atributos) de cada dado;

Um classificador (classe)/conjunto de classificadores para cada objeto.

Deseja-se obter uma rvore onde os ns podem ser:


1. Ns intermedirios: onde se encontram os descritores escolhidos segundo os
critrios de entropia e ganho ou proporo de ganho, que determinam qual ramo o que deve
tomar-se.
2. Folhas: estes ns determinam o valor do classificador.

34

No devem existir dois objetos pertencentes a diferentes classes com valores idnticos
para cada um de seus atributos, se isto acontecer, os atributos so inadequados para o processo
de classificao.
Diferentes provas so feitas para dividir os dados em cada n. As provas possveis so:
1. Prova padro para os atributos discretos, com um resultado e um ramo para
cada valor possvel do atributo.
2. Uma prova mais complexa, baseada em um atributo discreto, onde os valores
possveis so designados a um nmero varivel de grupos com um resultado
possvel para cada grupo, em lugar de cada valor do atributo.
3. Se um atributo A tem valores numricos contnuos, se realiza uma prova
binria com resultados A Z e A > Z, para o qual se deve determinar o valor
limite Z.
Estas provas so avaliadas da mesma maneira, observando o resultado da proporo de
ganho ou alternativamente o ganho, resultante da diviso que produzem.
O mtodo utilizado (QUINLAN, 1993) para provas sobre atributos contnuos
simples, primeiro os exemplos de treinamento T so ordenados segundo os valores do atributo

A contnuo que est sendo considerado. Existe um nmero finito destes valores. Sendo {v1,
v2,. . ., vm} os valores possveis do atributo A. Qualquer valor limite entre vi e vi+1 ter o mesmo
efeito ao dividir os exemplos entre aqueles cujo valor para A pertence ao subconjunto {v1, v2,.

. .,vi} e aqueles cujo valor pertence a {vi+1, vi+2,. . ., vm}. Assim, existem m 1 divises
possveis segundo o valor de A e todas so examinadas. Depois de ordenados, as provas para
todos os valores podem ser realizadas de uma nica vez.
Para atributos desconhecidos o C4.5 assume que todos os resultados de provas
desconhecidos distribuem-se probabilisticamente segundo a freqncia relativa dos valores
conhecidos. Um caso com um valor desconhecido se divide em fragmentos cujos pesos so
proporcionais s freqncias relativas, dando por resultado que um caso pode seguir mltiplos
caminhos na rvore. Isto se aplica tanto quando os casos de treinamento dividem-se durante a
construo da rvore como quando a rvore utilizada para classificar casos.

2.2.3.2 Poda das rvores de Deciso


O mtodo recursivo de diviso dos dados para construo das rvores de deciso,
dividir o conjunto de treinamento at que um subconjunto tenha somente uma classe, ou at

35

que a prova no oferea melhora. Em funo disto normalmente a rvore resultante fica muito
mais complexa que a necessria para descrever o conjunto de exemplos (QUINLAN, 1995).
necessrio podar a rvore, porm no simplesmente apagando a rvore em favor de
um ramo que se simplifica a mesma, mas sim eliminando as partes da rvore que no
contribuem para a correta classificao de novos casos, produzindo assim uma rvore menos
complexa e mais compreensvel.
Duas maneiras de modificar o mtodo de diviso recursivo para produzir rvores mais
simples so decidir no dividir mais o conjunto de treinamento ou remover
retrospectivamente alguma parte da estrutura construda pela diviso recursiva.
O C4.5 realiza a remoo de partes da rvore depois da mesma estar produzida. O
crescimento e posterior poda das rvores so mais lentos, mas mais confiveis. Podar a rvore
totalmente produzida pode ser computacionalmente ineficiente, no sentido que no usual
encontrar exemplos de domnios onde uma rvore extremamente grande (com milhares de
ns, por exemplo) ps-podada em poucas centenas de ns. A alternativa de parada no
procedimento de crescimento da rvore, to logo a diviso seja considerada no confivel,
tambm apresenta um ponto negativo no seu algoritmo, corre-se o risco de selecionar uma
rvore sub-tima ao interromper o crescimento da rvore (BREIMAN, 1984).
A poda feita com base na proporo de erros (QUINLAN, 1993), onde se comea
pelas folhas e se examina cada sub-rvore, se uma troca de uma sub-rvore por uma folha ou
ramo leva a uma menor proporo de erros, ento se deve podar a rvore, recordando que as
propores de erros j calculadas para todas as sub-rvores sero afetadas. Como a proporo
de erros predita de uma rvore diminui se as propores de erros preditas de seus ramos
diminuem, ento gerada uma rvore com proporo de erro mnima.
Para estimar a proporo de erros, quando uma folha cobre N casos de treinamento,
sendo E deles de forma errnea, o estimador da proporo de erros de substituio para esta
folha N/E. Podemos entender isto como E eventos em N provas.
Sendo N a quantidade de casos de treinamento cobertos por uma folha e E a
quantidade de erros preditos se um conjunto de N novos casos forem classificados pela rvore.
A soma dos erros preditos nas folhas, dividido pelo nmero de casos de treinamento um
estimador imediato do erro de uma rvore podada sobre novos casos.

36

2.2.3.3 Construo de uma rvore de Deciso utilizando o C4.5


A seguir ser apresentado um exemplo de construo de rvore de deciso, extrado de
(SERVENTE, 2002).
A partir dos seguintes dados:

Tabela 2.1 Dados do exemplo Joga Tnis (SERVENTE, 2002).

Estado

Umidade

Vento

Joga Tnis

Alta

Leve

No

Ensolarado

Alta

Forte

No

Nublado

Alta

Leve

Sim

Chuva

Alta

Leve

Sim

Chuva

Normal

Leve

Sim

Chuva

Normal

Forte

No

Nublado

Normal

Forte

Sim

Ensolarado

Alta

Leve

No

Ensolarado

Normal

Leve

Sim

Chuva

Normal

Leve

Sim

Ensolarado

Normal

Forte

Sim

Nublado

Alta

Forte

Sim

Nublado

Normal

Leve

Sim

Chuva

Alta

Forte

Sim

Neste exemplo a distribuio de dados para o atributo Estado :


Tabela 2.2 Distribuio de Dados para o atributo Estado (SERVENTE, 2002).

Desconhecido

Ensolarado

Nublado

Chuva

No

Sim

Total

Inicialmente feito o clculo da entropia do conjunto, para isto os atributos


desconhecidos no so considerados. Portanto, no exemplo existe um total de 13 casos, dos
quais 3 so positivos. Tem-se,

37

Calcula-se em seguida a entropia que os conjuntos resultantes da diviso de dados


segundo este atributo teriam.

O prximo clculo o ganho resultante da diviso do subconjunto segundo o atributo


Estado:

Ao calcular a informao da diviso necessrio ter em conta uma categoria extra


para o valor desconhecido para o atributo. A informao da diviso calcula-se como:

Enfim, calcula-se a proporo de ganho.

Utiliza-se o mesmo clculo do ganho e da proporo de ganho para o atributo


Umidade, obtendo-se os valores:
Ganho = 0.0746702 bits

Proporo de ganho = 0.0746702 bits

Para o atributo Vento obtm-se os seguintes valores:


Ganho = 0.00597769 bits

Proporo de ganho = 0.0060687 bits

Tanto pelos valores do ganho como proporo de ganho conveniente dividir o


conjunto segundo o atributo Estado. Ao dividir os 14 casos para continuar com a construo
da rvore, os 13 casos para os que o valor de Estado conhecido, no apresentam problemas e
so repartidos segundo o valor do Estado. O caso que no se conhece o valor do Estado
repartido entre os conjuntos que contm Ensolarado, Nublado e Chuva com os pesos 4/13,
4/13 e 5/13 respectivamente.
Tendo como exemplo a diviso dos dados para o valor Nublado do atributo Estado,
teremos o seguinte subconjunto:

38

Tabela 2.3 Subconjunto com valor Nublado do atributo Estado (SERVENTE, 2002).

Estado

Umidade

Vento

Joga Tnis

Peso

Alta

Leve

No

4/13

Nublado

Alta

Leve

Sim

Nublado

Normal

Forte

Sim

Nublado

Alta

Forte

Sim

Nublado

Normal

Leve

Sim

A distribuio de dados para o atributo Umidade :


Tabela 2.4 Distribuio de Dados para o atributo Estado com valor Umidade (SERVENTE, 2002).

Desconhecido

Alta

Normal

No

0.3

Sim

Total

2.3

Para o atributo Umidade, obtm-se os valores:


Ganho = 0.068 bits

Proporo de ganho = 0.068 bits

Para o atributo Vento obtm-se os seguintes valores:


Ganho = 0.068 bits

Proporo de ganho = 0.068 bits

Neste caso vemos que a diviso do conjunto de dados no oferece nenhuma melhora,
portanto, colapsamos a rvore para a folha Sim, que a que maior peso tem. A quantidade de
casos N cobertos pela folha 4.3 e a quantidade de casos cobertos incorretamente E associado
a folha 0.3.
Na figura 2.4 apresentado um esquema dos passos para a construo da rvore de
deciso deste exemplo. A seguir tem-se a rvore obtida:
Estado = Nublado: Sim (4.3/0.3)
Estado = Chuva: Sim (5.4/1.4)
Estado = Ensolarado:
Umidade = Alta: No (2.3)
Umidade = Normal: Sim (2.0)

Figura 2.3 rvore obtida no exemplo (SERVENTE, 2002).

39

Figura 2.4 Construo de uma rvore de deciso utilizando C4.5 (SERVENTE, 2002).

2.2.3.4 Gerao de Regras de Deciso utilizando o C4.5


No exemplo em anlise o C4.5 utiliza a rvore gerada sem simplificao e constri
uma regra de deciso para cada folha da rvore. As regras geradas neste caso so:
Regra 1
SE Estado = Ensolarado
E Umidade = Alta
ENTO JogoTnis = No
Regra 2
SE Estado = Ensolarado
E Umidade = Normal
ENTO JogoTnis = Sim
Regra 3
SE Estado = Nublado
ENTO JogoTnis = Sim
Regra 4
SE Estado = Chuva
ENTO JogoTnis = Sim

Figura 2.5 Regras geradas no exemplo (SERVENTE, 2002).

40

Em seguida o C4.5 tenta generalizar as regras, para isto ele elimina as condies que
geram uma maior estimativa pessimista de erro.
Para estimar a probabilidade de erro, buscam-se limites de confiana CF. O limite
superior desta probabilidade pode ser obtido a partir dos limites de confiana para a
distribuio binomial e escrito como UCF(E, N) (E erros entre N exemplos classificados). Os
limites superior e inferior so simtricos na distribuio binomial, portanto a probabilidade de
que a mdia real de erros exceda UCF(E, N) CF/2. A estimativa de erro pessimista de
classificao de N exemplos N x UCF(E,N) (QUINLAN, 1993).
A estimativa de erro ser calculada para as regras geradas e para as regras resultantes
da eliminao de cada uma de suas condies.
Na primeira regra temos:
Tabela 2.5 Estimativas de erro para a Regra 1 (SERVENTE, 2002).

Erros

Quant. de casos cobertos


Estimativa pessimista do erro
2
50%
7
75.5%
4
77.1%

0
4
2

Condio ausente
<regra atual>
Estado=Ensolarado
Umidade=Alta

A retirada de qualquer condio possui uma estimativa pessimista de erro superior a


da regra atual, portanto no interessante eliminar nenhuma condio, assim a regra atual
mantida.
Regra 1
SE Estado = Ensolarado
E Umidade = Alta
ENTO JogoTnis = No [50%]

Figura 2.6 Regra 1 do exemplo (SERVENTE, 2002).

Todas as outras regras devem ser avaliadas. Para a segunda regra tem-se:
Tabela 2.6 Estimativas de erro para a Regra 2 (SERVENTE, 2002).

Erros
0
1
2

Quant. de casos cobertos


Estimativa pessimista do erro
2
50%
7
33.8%
4
77.1%

Condio ausente
<regra atual>
Estado=Ensolarado
Umidade=Normal

Neste caso, a retirada da condio Estado apresenta uma menor estimativa pessimista
de erro, assim a condio deve ser retirada e o clculo refeito:

41

Tabela 2.7 Estimativas de erro para a Regra 2, retirada condio Estado (SERVENTE, 2002).

Erros
1
4

Quant. de casos cobertos


Estimativa pessimista do erro
7
33.8%
14
41.3%

Condio ausente
<regra atual>
Umidade=Normal

Regra 2
SE Estado = Ensolarado
E Umidade = Normal
ENTO JogoTnis = Sim [66.2%]

Figura 2.7 Regra 2 do exemplo (SERVENTE, 2002).

Para a terceira regra temos:


Tabela 2.8 Estimativas de erro para a Regra 3 (SERVENTE, 2002).

Erros
0
4

Quant. de casos cobertos


Estimativa pessimista do erro
4
29.3%
14
41.3%

Condio ausente
<regra atual>
Estado=Nublado

Regra 3
SE Estado = Nublado
ENTO JogoTnis = Sim [70.7%]

Figura 2.8 Regra 3 do exemplo (SERVENTE, 2002).

Para a quarta regra temos:


Tabela 2.9 Estimativas de erro para a Regra 4 (SERVENTE, 2002).

Erros
1
4

Quant. de casos cobertos


Estimativa pessimista do erro
5
45.4%
14
41.3%

Condio ausente
<regra atual>
Estado=Chuva

Regra 4
SE Estado = Chuva
ENTO JogoTnis = Sim [54.6%]

Figura 2.9 Regra 4 do exemplo (SERVENTE, 2002).

Depois que as regras so generalizadas, as mesmas so agrupadas por classe e


determinam-se os subconjuntos de regras que geram uma codificao mnima para a classe. O
C4.5 calcula para cada subconjunto de regras a quantidade de bits necessrios para codificar
as regras e determinar quais regras so convenientes utilizar para representar cada classe.
No exemplo, a regra 1 para a classe No e a regra 3 para a classe Sim so as
escolhidas.
O ltimo passo escolher a classe padro. Para isto calcula-se a quantidade de casos
de cada classe no cobertos pelas regras escolhidas:

42

Tabela 2.10 Casos coberto e no coberto por classe (SERVENTE, 2002).

Casos
4
10

No Cobertos
2
6

Classe
No
Sim

O maior nmero de casos no cobertos est na classe Sim, portanto sendo est a classe
padro. O conjunto final de regras :
Regra 1
SE Estado = Ensolarado
E Umidade = Alta
ENTO JogoTnis = No [50.0%]
Regra 3
SE Estado = Nublado
ENTO JogoTnis = Sim [70.7%]
Regra 5
Classe padro = Sim

Figura 2.10 Conjunto final de regras do exemplo (SERVENTE, 2002).

O exemplo apresentado finaliza o estudo do algoritmo C4.5 e assim o capitulo sobre


Aprendizado de Mquina, o capitulo posterior abordar o tema Domtica e um sistema de
Domtica Inteligente, o Sistema ABC.

43

DOMTICA
A palavra Domtica a juno da palavra latina Domus (casa) e do termo Robtica

(ANGEL, 1993). O significado est relacionado instalao de tecnologia em residncias,


principalmente atravs de dispositivos eletrnicos e eletroeletrnicos, com o objetivo de
melhorar a qualidade de vida, aumentar a segurana e viabilizar o uso racional dos recursos
para seus habitantes. Existem outras denominaes para a Domtica, entre elas esto
Edifcio Inteligente, Casa Inteligente, Ambiente Inteligente, entre outros.
Domtica um novo domnio de aplicao tecnolgica, tendo como objetivo bsico
melhorar a qualidade de vida, reduzindo o trabalho domstico, aumentando o bem estar e a
segurana de seus habitantes e visando tambm uma utilizao racional e planejada dos
diversos recursos (ANGEL, 1993).

3.1

Sistemas Domticos
Para gerenciar de maneira eficiente os diversos dispositivos e atuadores de uma

residncia, muitos dados devem ser computados e vrias tarefas complexas so executadas.
Uma residncia inteligente contm um sistema para gerenciar todo trfego de
informao, bem como um sistema de controle dos equipamentos, permitindo um maior
conforto com menor gasto de energia (BOLZANI, 2004b).
O sistema que integra todos os dispositivos para automatizar e controlar uma
residncia o sistema domtico. Tal sistema composto por vrios elementos, entre eles os
atuadores, sensores, controlador, rede de dados ou rede domtica e interface com o usurio.
Os primeiros sistemas domticos eram pouco flexveis, caros, no seguiam
padronizaes, basicamente utilizavam sensores (dispositivos que transformam parmetros
fsicos como temperatura, umidade, entre outros, em sinais eltricos apropriados para que os
sistemas domticos possam analis-los) e atuadores (so dispositivos eletro-mecnicos que
tm suas caractersticas alteradas conforme os impulsos eltricos recebidos) ligados a um
controlador (BRETERNITZ, 2001).
Desenvolver os diversos controles de uma residncia em um s sistema uma tarefa
difcil. Por este motivo, a gesto da residncia dividida em vrios subsistemas responsveis
cada um por operaes bem especficas, os quais so gerenciados por um controlador central.
Os vrios subsistemas de um sistema domtico atuam cada qual especificamente em
um campo de controle. Os principais campos so (BOLZANI, 2004a):

44

Energia Eltrica monitora a energia da residncia e atua com alternativas na


falta da mesma.

Ar-condicionado controla a temperatura e ventilao da residncia.

Iluminao controla as lmpadas, atuando tambm na diminuio de


consumo de energia.

Segurana e alarme monitora a intruso da residncia.

Combate a incndio monitora a presena de fumaa e fogo.

Multimdia controla funes de vdeo e udio.

gua e dejetos monitora o abastecimento de gua, os dejetos e lixo.

Interface do usurio atua na interao com o usurio, permite entrada e sada


de informaes.

Controle de Acessos controla entradas (portas e portes).

Atualmente os sistemas so informatizados e computadorizados.


3.1.1 Atuadores e Sensores
Atuadores e sensores so importantes dispositivos de um sistema domtico, eles
podem ser interligados diretamente ao controlador ou serem conectados por meio de alguma
interface a uma rede de dados para que possam ser utilizados pelo sistema domtico. Suas
caractersticas so importantes, uma vez que deles dependem diretamente as capacidades de
uma residncia inteligente.
Existe uma variedade muito grande de atuadores e sensores que possibilitam a
execuo de aes e o monitoramento de inmeras grandezas fsicas e eventos.
A seguir listada uma srie de atuadores e sensores, utilizados em sistemas
domticos, bem como suas funes (BOLZANI, 2004a):

Motores de passo e motores miniatura: variam a posio angular.

Solenides, hidrulicos e pneumticos: variam a posio linear.

Mini-bombas de circulao: escoamento de lquidos.

Clulas Peltier: arrefecimento ou aquecimento de superfcies.

Folhas aquecedoras: aquecimento de superfcies.

Sensor de Temperatura: fornecem a medida instantnea da temperatura.

Termovelocimtricos: detectam a velocidade de variao da temperatura no


tempo.

45

Sensor de Umidade relativa: sensores do tipo capacitivo que fornecem a


medida instantnea da umidade relativa sob a forma de sinais analgicos ou
barramento de dados proprietrio.

Sensor de Qualidade de ar: medem o nvel de CO2 existente num ambiente.

Detector magntico de abertura: utilizados normalmente nas portas e janelas a


serem controladas.

Sensor de Intensidade de iluminao: tem como elemento principal o LDR


(Light Dependent Resistor) cuja resistncia funo da intensidade de
iluminao que nele incide.

Sensor de Presso e fora: os sensores de fora so compostos por um


dispositivo principal que tem sua resistncia eltrica alterada conforme a fora
aplicada na membrana.

Tacomtricos: so sensores de velocidade angular.

Detector de Fumaa: fornecem uma informao digital (sim ou no) da


presena de fumaa em um ambiente.

Detector de Gs: fornecem informao digital da presena de gs (butano ou


propano).

Detector de Movimento: existem vrios tipos, como por exemplo, os


infravermelhos ativos que emitem feixes infravermelhos entre dois pontos
lineares (um transmissor e um receptor) e ao serem interrompidos acionam o
alarme, e o PIR (Infra Vermelho Passivo) que detecta o movimento de fontes
de calor tais como o corpo humano.

Detectores Ssmicos ou de vibrao: trata-se de dispositivos piezo-eltricos,


normalmente cermicos, que geram tenso em seus terminais quando sujeitos
acelerao segundo um dado eixo.

Detectores de chama: estes sensores so baseados em um dispositivo opto


eletrnico sensvel a uma determinada radiao eletromagntica, infravermelha
ou ultravioleta.

Detectores de nvel: so compostos por bias que acionam interruptores ou


rels quando um determinado nvel de lquido atingido.

Sensor acstico: utilizados para detectar a quebra de vidros de janelas ou


portas.

46

Botes de pnico: so detectores de toque, com fio ou sem fio, cujo objetivo
principal de alertar sobre a existncia de algum evento anormal num
ambiente.

Sensores diversos: qualidade da gua, oxignio dissolvido, condutividade de


lquidos e slidos, salinidade, sensores de componentes qumicos, de
posicionamento (GPS - Global Positioning System), entre outros.

Existem outros atuadores e sensores, os quais so utilizados para fins especficos e no


sero apresentados neste documento. Alm destes, outros elementos so importantes nos
sistemas domticos e sero detalhados nas prximas sees.
3.1.2 Controlador
O Controlador o elemento central que gerencia o sistema domtico. Nele reside toda
a inteligncia do sistema. Normalmente todos os outros elementos do sistema se conectam ao
controlador, enviando e recebendo informaes.
No controlador chegam as informaes dos sensores, as quais so processadas para
gerar alguma ao nos atuadores, ou ainda para apresentar alguma informao ao usurio, ou
acionar algum elemento como uma sirene ou indicao luminosa.
O controlador pode ter as interfaces de usurio, as quais so necessrias para
apresentar e receber informao (via teclado, monitor, entre outros.).
3.1.3 Redes Domticas
A rede domtica o barramento (ou cabeamento) que permite realizar a comunicao
entre os diferentes dispositivos existentes no sistema domtico. As redes se baseiam em
aplicaes, onde uma rede separada e independente utilizada para cada funo, portanto
podem existir redes destinadas segurana, deteco de incndios, ao controle de acessos,
climatizao, informtica, entre outros. As redes domticas so polivalentes, ou seja,
permitem realizar diferentes funes a fim de simplificar a complexidade da instalao da
rede. A mesma rede domtica assegura, por exemplo: as funes de segurana, conforto e
gesto de recursos, entre outros. A rede pode estar constituda de um ou vrios padres de
comunicao de acordo com as funes que esse sistema domtico realiza.

47

3.2

Domtica Inteligente
Pode-se citar como caractersticas fundamentais num sistema inteligente: ter memria;

ter noo temporal; fcil interao com os habitantes; capacidade de integrar todos os
sistemas do ambiente; atuar em vrias condies; facilidade de reprogramao e capacidade
de auto-correo. Um sistema de domtica inteligente a priori um sistema domtico com as
caractersticas de um sistema inteligente.
O tema domtica inteligente recente, por este motivo o seu conceito se confunde
com o conceito de automao inteligente, ou melhor, processos de automao, os quais
utilizam algumas tcnicas de inteligncia artificial para automaticamente tomar alguma
deciso. Existem trabalhos que focam este tema centrado no conceito de automao
inteligente.
Defini-se o conceito de Domtica Inteligente como a domtica onde se adapta as
regras de automao do ambiente ao comportamento dos habitantes (TONIDANDEL;
TAKIUCHI; MELO, 2004).
Um trabalho que foca a automao inteligente (BOLZANI, 2004a), no qual
apresentado um simulador que controla dispositivos residenciais inteligentes; sendo
considerados como inteligentes os dispositivos que tem autonomia para desenvolver uma
tarefa bsica e trocar informaes com outros dispositivos. Neste trabalho o foco est no
controle de atuadores segundo eventos detectados por sensores ou pela presena e ao de
usurios, sendo aplicadas aes previamente configuradas aos eventos que acontecem.
Em (SIERRA et al, 2005) feito o uso de tcnicas de induo de conhecimento para
inferir o conhecimento de especialistas em automatizao de edifcios e assim gerar regras de
automatizao. As regras so posteriormente utilizadas em um sistema simulador para criar
um edifcio energeticamente eficiente.
O primeiro artigo relevante relacionado realmente ao tema Domtica Inteligente The

Intelligent Room Project (BROOKS, 1997), do MIT Artificial Intelligence Lab, o qual
descreve uma sala inteligente fazendo uso de robtica, reconhecimento de voz e viso
computacional que auxilia os habitantes na realizao de certas tarefas. O projeto tem foco
principal na interface entre o homem e a mquina.
Outro artigo importante Ada: Constructing a Synthetic Organism (ENG et al, 2002),
onde apresentado um sistema que trata o ambiente como um organismo artificial, sendo
possvel modificar dinamicamente este ambiente atravs de dilogos com os habitantes para
torn-lo mais funcional.

48

Um trabalho interessante o Adaptive Building Automation (RUTISHAUSER;


SCHFER, 2002a), posteriormente complementado em Adaptive Building Intelligence
(RUTISHAUSER; SCHFER, 2002b), os quais apresentam um modelo de sistema domtico
inteligente baseado em lgica Fuzzy e multi-agentes. Os trabalhos focam um sistema
adaptativo ao ambiente e ao comportamento dos habitantes. A nfase o desenvolvimento de
regras Fuzzy que podem ser dinamicamente alteradas de acordo com as mudanas no
ambiente, atravs de uma poltica de punio e recompensa. O sistema foi testado em
ambiente real e obteve sucesso. Apesar de ser um grande avano no tema, observa-se que o
sistema interage com os ambientes e habitantes de uma maneira geral, ou seja, no avalia
eventos especficos. No existe no sistema proposto uma etapa que valide as modificaes
feitas antes de repass-las ao ambiente; tambm no foi apresentada uma lgica que detecte
seqncias causais de eventos no tempo e a possibilidade de criar novas regras.
A Domtica inteligente no simplesmente prover a uma residncia um sistema
dotado de controle central que possa aperfeioar certas funes inerentes operao e
administrao da mesma.
Pode-se imaginar que uma residncia inteligente algo como uma residncia
interativa, dinmica, ou seja, os sistemas de Domtica inteligente devem ter as caractersticas
de um sistema inteligente e devem interagir com os habitantes da residncia, aprendendo
dinamicamente com seus comportamentos. Este aprendizado permanente, pois os habitantes
esto sempre mudando.
A inverso de responsabilidade no gerenciamento de uma residncia deve ser o foco
da inteligncia da mesma. Os habitantes no devem se adaptar ao funcionamento prprogramado da residncia, tendo de mudar seus mtodos e gostos, mas sim a residncia
quem deve se adaptar ao comportamento dos habitantes.
Importante notar que ao atuar segundo o comportamento dos habitantes, o sistema
tambm permitir a diminuio da interveno do usurio na programao do mesmo,
permitindo que usurios com menor familiarizao ao tema possam utilizar o sistema.

3.3

Sistema ABC
Um sistema anteriormente apresentado (TONIDANDEL; TAKIUCHI; MELO, 2004)

que atua segundo o comportamento dos habitantes o sistema ABC (Automao Baseada em
Comportamento).

49

O processo normal de criao de regras aquele onde o habitante quem cria as


regras, inserindo-as em um sistema. O sistema ABC foi testado e demonstrou atravs de
simulaes que possvel reverter o processo normal de criao de regras.
O sistema concentra-se no algoritmo de aprendizado ID3 (QUINLAN, 1986), o qual
responsvel pelo processo de adaptao do sistema de automao.
A arquitetura do sistema ABC (fig. 3.1) define a existncia de sensores (detectores de
presena, medidores de temperatura, medidores de luminosidade, entre outros.), atuadores
(interruptores de luz, ar-condicionado, entre outros.), bancos de dados e demais elementos
necessrios para criao e controle das regras. Os sensores1 agem diretamente com os
atuadores e podem sofrer interferncia humana em seu estado, os sensores2 agem sem a
interferncia humana. O controlador monitora constantemente os sensores de cada ambiente,
verificando se existe alguma regra de automao armazenada no seu Banco de Dados ou nas
Regras de Segurana que se aplique ao estado dos sensores.
Para cada atuador da casa existe um banco de aquisio de dados de comportamento, o
qual armazena informaes sobre mudanas ocorridas no atuador; este Banco de Dados
alimentado com os eventos que ocorrem no atuador e os respectivos dados dos sensores
vinculados ao atuador. Como exemplo, pode-se ter o atuador Ar-condicionado e os sensores
Temperatura, Luminosidade, Horrio e Presena. Quando o estado do Arcondicionado muda, por ao do habitante, os dados do prprio atuador e mais os dados dos
sensores so armazenados em uma posio de memria do Banco de Dados de Aquisio de
Comportamento

(Ar-condicionado=Ligado;

Temperatura=Alta;

Luminosidade=Alta;

Horrio=Noite; Presena=Sim).
Em dado momento, com certo nmero de eventos armazenados, o Banco de Dados
inserido no algoritmo de aprendizado, o qual generaliza os dados e cria regras. As regras so
armazenadas no Banco de Dados de Regras Ativas. Existe tambm outro Banco de Dados
onde esto as Regras de Segurana. No exemplo citado, uma regra aprendida poderia ser: SE
Temperatura=Alta E Horrio=Noite E Luminosidade=Alta E Presena=Sim ENTO Arcondicionado=Ligado.

Assim,

quando

os

sensores

indicarem

Temperatura=Alta,

Horrio=Noite, Luminosidade=Alta e Presena=Sim o ar-condicionado ser automaticamente


ligado pelo Sistema ABC. Ou seja, a partir do momento em que novos eventos acontecem, de
acordo com as aes do habitante, feita uma varredura no Banco de Dados de Regras Ativas
para avaliar se alguma regra deve ser aplicada e realizar uma ao no atuador.
A manuteno das regras simples, quando uma regra fica um determinado tempo
sem ser utilizada, ela removida. A base de dados armazena a data da ltima utilizao da

50

regra e caso a regra no seja acionada por um dado perodo de tempo, a mesma eliminada.
Tambm possvel remover regras manualmente pelo habitante, caso alguma regra criada no
agrade o mesmo (TONIDANDEL; TAKIUCHI; MELO, 2004).
Dada a simplicidade das regras a serem criadas e a maneira como podem ser expressas
as informaes dos elementos utilizados no sistema, a lgica proposicional suficiente para
ser utilizada na criao das regras, no sendo necessrio atuar com uma lgica mais
complexa, como, por exemplo, a lgica de primeira ordem.

Atuador

Sensores1

Sensores2
Regras de
Segurana

Ao

Controlador
Manuteno
De Regras

Banco de Dados
De Aquisio

ID3

Banco de Dados
De Regras Ativas

Dados
Controle
Dados e Controle

Figura 3.1 Arquitetura do Sistema ABC, adaptada de (TONIDANDEL; TAKIUCHI; MELO, 2004).

Apesar de muito interessante, o sistema possui deficincias. Ele no detecta


seqncias causais de eventos no tempo, se um evento de atuador acontece depois de pouco
ou muito tempo de um evento de sensor isto no considerado. Neste sistema, com o uso do
ID3, possvel trabalhar somente com variveis lgicas, no possvel trabalhar com valores
contnuos. Outra deficincia o fato de regras criadas pelo ID3 se tornarem diretamente
Regras Ativas, isto pode desagradar o habitante da casa.

51

SISTEMA ABC+ PROPOSTO


O sistema ABC, em sua verso inicial, marcou a implementao de regras em

automao residencial atravs da observao do comportamento de um habitante em uma


casa, entretanto possvel observar que ele possui limitaes que podem ser aprimoradas.
Com o intuito de corrigir o sistema ABC e diminuir suas limitaes, propem-se o
sistema ABC+, o qual possui arquitetura (fig.4.1) parecida com o sistema inicial, porm seu
funcionamento apresentado no fluxograma (fig. 4.6) mais adiante bastante diferente.
As principais diferenas so a janela de observao de eventos, as Regras
Embrionrias, o uso do C4.5 (QUINLAN, 1993) e o novo processo de desenvolvimento e
manuteno das regras. Estas diferenas sero detalhadas a partir da seo 4.1.
O algoritmo C4.5 foi utilizado em funo de ser um algoritmo bastante conhecido e
muito utilizado na rea de rvores de induo de regras. Ele permite trabalhar com valores
contnuos para os atributos e tambm com valores de atributos desconhecidos. Outros
algoritmos poderiam ter sido escolhidos, porm no foco do trabalho eleger o melhor
algoritmo para a criao de regras, mas sim utilizar um que seja conceituado para a sua
funo.
A arquitetura do sistema ABC+ (fig. 4.1) define um habitante interagindo com
sensores e atuador. Existem ainda na arquitetura, trs bancos de dados (Eventos, Regras
Ativas, onde esto tambm as de segurana da residncia, e Regras Embrionrias), a janela de
observao, o C4.5, a lgica de manuteno de regras e o controle central, o qual possui a
lgica central do sistema. Para cada atuador da casa deve existir uma estrutura paralela de
bancos de dados, ou seja, cada atuador possui trs bancos de dados. Os demais elementos da
arquitetura podem ser compartilhados.
Quando algum sensor ou o atuador muda de estado, seja pela ao do habitante ou pela
natureza, um evento gerado. Se o evento for do atuador, a lgica da janela de observao ir
filtrar o evento e o mesmo poder ser ou no armazenado no Banco de Dados de eventos. Em
dado momento, com um nmero pr-configurado de eventos armazenados, o Banco de Dados
de eventos inserido no algoritmo de aprendizado, o qual generaliza os dados e cria regras.
As regras so armazenadas no Banco de Dados de Regras Embrionrias e aps uma etapa de
validao as mesmas podem ascender ao Banco de Dados de Regras Ativas, o qual possui
tambm as Regras de Segurana da residncia; estas ltimas somente so modificadas se
manipuladas diretamente no sistema. A lgica de manuteno de regras atua para estabelecer
quais regras ficam em quais bancos, isto ser detalhado mais a diante.

52

Quando acontecem novos eventos nos sensores feita uma varredura no Banco de
Dados de Regras Ativas para avaliar se alguma regra deve ser aplicada e realizar uma ao no
atuador.
Um dormitrio de uma casa onde existem um sensor de entrada no ambiente, um
sensor de sada do ambiente e um atuador para ligar e desligar uma lmpada servir de
exemplo para detalhar as implementaes feitas no sistema ABC+.
Atuador

Sensores

Habitante

Controle
Central

Banco de Dados
De Eventos

Janela de
Observao

C4.5
Manuteno
De Regras

Banco de Dados
De Regras Embrionrias

Banco de Dados
De Regras Ativas
Regras de
Segurana

Dados
Controle
Dados e Controle

Figura 4.1 Arquitetura do Sistema ABC+.

4.1

A Janela de Observao
Nas condies em que o habitante entra no dormitrio e imediatamente acende a

lmpada ou quando sai do dormitrio e imediatamente desliga a lmpada, pode-se facilmente


assimilar regras, que seriam: SE habitante entra ENTO acenda lmpada; SE habitante sai
ENTO apague lmpada.
Note que, se o habitante entra no dormitrio e aps uma hora ele acende a lmpada, os
sensores detectaro os mesmos dados da situao em que ele imediatamente acende a lmpada
aps entrar no dormitrio. Isto leva a criao de uma regra errada.
Para eliminar esta limitao a janela de observao utilizada. A janela de observao
consiste em se armazenar e comparar cada evento anterior e posterior ao evento em anlise,
inclusive com horrios (fig. 4.2). Os eventos em anlise so eventos de atuador, ou seja,
eventos em que o atuador muda de estado, no exemplo a lmpada. Eventos de sensores no
so utilizados para gerar regras, mas sim para ativarem uma regra, se a mesma existir. Na

53

janela de observao os eventos anterior e posterior podem ser eventos de sensores, pois
serviro de comparao e no para criao de regra.
A janela de observao trata cada evento de atuador isoladamente, juntamente com
seus eventos de sensor anterior e posterior. O objetivo identificar uma causa (evento no
sensor) e um efeito (evento no atuador). Se no existe uma causa e um efeito prximos no
tempo, no faz sentido armazenar tal efeito para que o mesmo gere futura regra. Uma
casualidade no deve gerar uma regra, somente eventos repetitivos (padres ou rotinas)
devem gerar regras. Um evento de atuador no tem vnculo com o prximo evento de atuador.

Figura 4.2 Janela de Observao no Sistema ABC+.

Com um exemplo possvel entender a lgica da janela de observao (fig. 4.3).


Quando o habitante entra no ambiente ele dispara um evento de sensor (S1), que
armazenado temporariamente com seu devido horrio. Aps algum tempo ele acende a
lmpada. Este evento de atuador (A) armazenado e comparado com o evento anterior (S1),
se o anterior aconteceu dentro de um determinado intervalo de tempo (t1) menor do que o
valor da janela de observao ento significa que o evento do atuador est vinculado ao
evento anterior (t1 < janela de observao Anterior), neste caso o evento do atuador
armazenado para gerar uma futura regra.
Quando existe vnculo com o evento anterior no se realiza a comparao com o
evento posterior (S2) e o sistema volta situao de incio. Porm, se foi constatado que no
existe vnculo entre evento do atuador e o evento anterior, necessrio verificar o evento
posterior. O horrio do evento atuador armazenado e aguarda-se a ocorrncia de um novo
evento. Quando o evento (S2) acontece se compara a diferena de horrios entre ele e o
evento atuador (t2). Se o evento posterior aconteceu dentro do determinado intervalo de

54

tempo referente janela de observao, ento significa que o evento do atuador est vinculado
ao evento posterior (t2 < janela de observao Posterior), caso contrrio no existe vnculo.
No caso de estarem vinculados armazenam-se os dados do evento de sensor posterior
para gerar futura regra, pois este evento que reflete as reais condies para o atuador ter sido
mudado.

Figura 4.3 Fluxograma da lgica da Janela de Observao.

O limitante da janela de observao so os perodos de tempo anterior e posterior. Se a


causa (evento de sensor) e efeito (evento de atuador) no estiverem dentro destes limites, o
evento considerado uma casualidade e descartado.

4.2

As Regras Embrionrias
No sistema ABC, sempre que o ID3 cria uma regra, ela imediatamente colocada

como Regra Ativa. Sendo assim, no existe uma etapa de validao da regra. A primeira vez
que o habitante gerar as condies dos sensores iguais s condies da regra, a mesma ser
executada e alguma ao no atuador ser feita. Se o habitante contraria a regra nada acontece,
e se ele quiser acabar com a regra ter de remov-la manualmente.
Ao criar uma regra, deve existir uma etapa de validao da mesma, ou seja, ter certeza
que a regra aceita pelo habitante. No sistema ABC+, toda vez que novas regras so criadas,
elas so armazenadas inicialmente no banco de Regras Embrionrias.
As Regras Embrionrias so regras que esto em validao. Quando o habitante gerar
condies dos sensores iguais s condies de uma Regra Embrionria, o que acontece que

55

a regra ganha pontos positivos. Somente quando a regra atinge certa pontuao superior que
ela passa para o banco de Regras Ativas.
Por outro lado, se o habitante contrariar a regra, ela ganha pontos negativos e ao
atingir uma pontuao inferior a mesma eliminada do banco de Regras Embrionrias
(fig.4.4). Na figura 4.4, outras aes indicam partes do fluxograma que no esto detalhadas
na mesma, ou seja, outras aes representam um bloco macro com lgicas que realizam
outras aes presentes no sistema proposto.

Figura 4.4 Fluxograma da lgica de validao da Regra Embrionria.

4.3

O Desenvolvimento e Manuteno das Regras


A maneira como se mantm as regras em uma casa influencia a interao do sistema

com o habitante. A insero e remoo de regras tm de ser o mais sutil possvel, caso
contrrio trar desconforto ao usurio e podem incorrer em desestabilizao das regras.
No sistema ABC+ existe dois tipos de regras, as Ativas e as Embrionrias. A figura
4.5 apresenta as relaes entre as regras. No decorrer deste captulo as relaes sero
detalhadas.

Regra Ativa
Pontuao
Positiva

Pontuao
Negativa

Regra Embrionria
C4.5

Regras de Automao Ativas

Pontuao
Negativa

Banco de Eventos

Regras em validao
Regra
Excluda

Dados para gerar futuras regras

Figura 4.5 Fluxograma da lgica de validao da Regra Embrionria.

56

Para o desenvolvimento e manuteno de regras no sistema ABC+ so utilizados trs


bancos de dados para cada atuador da casa (tab. 4.1, tab.4.2 e tab. 4.3).
A tabela de Eventos por Atuador (A1, A2, ......An) tem os seguintes campos:
Tabela Eventos = {N Evento, Sensor1(S1), Sensor2(S2), ....., SensorN(Sn), Atuador
An}.
A tabela de Regras Ativas por Atuador (A1, A2, ......An) tem os seguintes campos:
Tabela Regras Ativas = {N Evento, Sensor1(S1), Sensor2(S2), ....., SensorN(Sn),
Atuador An, ATIV, EXC}.
A tabela de Regras Embrionrias por Atuador (A1, A2, ......An) tem os seguintes
campos:
Tabela Regras Embrionrias = {N Evento, Sensor1(S1), Sensor2(S2), .....,
SensorN(Sn), Atuador An, OK, NOK}.

Tabela 4.1 Eventos por Atuador (A1, A2, ......An).

Evento

Sensor 1 (S1)

Sensor 2 (S2)

..............

Sensor N (Sn)

Atuador An

Valor A

Valor A

..............

Valor A

Valor A

Valor C

Valor B

..............

Valor A

Valor B

Valor B

Valor A

..............

Valor B

Valor A

Valor N

Valor N

..............

Valor N

Valor N

....

....

....

....

....

....

Tabela 4.2 Regras Ativas por Atuador (A1, A2, ......An).

Regra

Sensor 1 (S1) Sensor 2 (S2) ......

Sensor N (Sn)

Atuador An

ATIV

EXC

Valor A

Valor A

......

Valor A

Valor A

Valor C

Valor B

......

Valor A

Valor B

Valor B

Valor A

......

Valor B

Valor A

Valor N

Valor N

......

Valor N

Valor N

....

....

....

....

....

....

....

....

57

Tabela 4.3 Regras Embrionrias por Atuador (A1, A2, ......An).

Regra

Sensor 1 (S1) Sensor 2 (S2) .......

Sensor N (Sn)

Atuador An

OK

NOK

Valor A

Valor A

......

Valor A

Valor A

Valor C

Valor B

......

Valor A

Valor B

Valor B

Valor A

......

Valor B

Valor A

Valor N

Valor N

......

Valor N

Valor N

....

....

....

....

....

....

....

....

Sero utilizadas as seguintes definies:

BDEventos Banco de Dados de Eventos por Atuador.

BDAtivas Banco de Dados de Regras Ativas.

ATIV Campo do BDAtivas utilizado para pontuar positivamente uma regra.

EXC - Campo do BDAtivas utilizado para pontuar negativamente uma regra.

BDEmbrio Banco de Dados de Regras Embrionrias.

OK - Campo do BDEmbrio utilizado para validar uma regra.

NOK - Campo do BDEmbrio utilizado para excluir uma regra.

Os novos eventos que surgem nos atuadores da casa, e passam pelo crivo da janela de
observao, so armazenados no Banco de Dados de Eventos por Atuador (tab. 4.1).
Na tabela 4.1 cada linha representa um evento de atuador armazenado. A informao
que consta na linha o valor do atributo atuador e os valores dos atributos dos sensores para
um determinado evento. Um exemplo de evento e atributos pode ser: atributo atuador igual a
Lmpada e seus valores Acesa e Apagada, atributo sensor 1 igual a Temperatura e
seus valores Alta, Normal e Baixa, atributo sensor 2 igual a Luminosidade e seus
valores Alta, Normal e Baixa, atributo sensor 3 igual a Umidade e seus valores
Alta, Mdia e Baixa e atributo sensor 4 igual a Porta e seus valores Entrada e
Sada. Um evento pode ser:
Tabela 4.4 Exemplo de evento armazenado no BDEventos.

Evento

Temperatura

Luminosidade

Umidade

Porta

Lmpada

Alta

Alta

Mdia

Entrada

Acesa

Quando o Banco de Dados de eventos de atuador atinge um nmero pr-determinado


de eventos ocorre a sua insero no algoritmo C4.5 para a gerao de novas regras.

58

Estas novas regras so inicialmente comparadas com as Regras Ativas e Regras


Embrionrias, para que as regras repetidas sejam eliminadas.
As novas regras geradas, que no forem repetidas, vo para o banco de Regras
Embrionrias (tab. 4.3). No Banco de Regras Embrionrias existem para cada regra, alm dos
campos de sensores e atuador, os campos OK e NOK, os quais servem para o controle da
validao da regra. Quando uma Regra Embrionria gerada ela possui os campos OK e
NOK iguais a zero. Seguindo o descrito anteriormente, uma possvel regra no BDEmbrio :
Tabela 4.5 Exemplo de Regra Embrionria no BDEmbrio.

Regra

Temperatura

Luminosidade Umidade

Baixa

Mdia

Alta

Porta

Sada

Lmpada

Apagada

OK

NOK

Sempre que ocorre um novo evento de atuador este comparado primeiro com as
Regras Ativas, para verificar se alguma Regra Ativa est sendo contrariada ou no, depois
este evento comparado com as Regras Embrionrias. Caso exista Regra Embrionria
relacionada ao evento necessrio dar pontos mesma. Se o evento confirmou a regra, ao
valor do campo OK somado mais um, caso o evento contrarie a regra o valor do campo
NOK recebe mais um. Quando o campo OK atinge certo valor, a Regra Embrionria
transformada em Regra Ativa. Quando o campo NOK atinge certo valor, a Regra Embrionria
removida do banco de regras.
Os campos OK e NOK trabalham como porcentagens de acertos e erros. Por exemplo,
se o valor no campo OK para a regra ser validada oito e o valor no campo NOK para a regra
ser excluda dois, significa que quando temos 80% ou mais de acertos a regra validada ou
quando temos 20% ou mais de erros a regra excluda.
O Banco de Regras Ativas (tab. 4.2) tambm possui uma lgica de manuteno.
neste banco que esto as Regras de Segurana (so regras para a segurana da casa, como por
exemplo, se existe fogo ento cortar energia e gs), as quais no sofrem modificaes, e as
regras a serem executadas na casa. Sempre que algum evento de sensores acontece o banco de
Regras Ativas consultado, se existir alguma regra relacionada ao evento a mesma aplicada,
assim uma ao feita no atuador. Neste caso soma-se ao valor do campo ATIV o valor um.
O banco de Regras Ativas possui uma quantidade limitada de regras. As regras esto
ordenadas de acordo com o valor do campo ATIV. Quando uma nova regra inserida no
BDAtivas e este est com sua capacidade mxima, ento necessrio retirar a regra com
menor pontuao ATIV e colocar esta regra de volta ao banco de Regras Embrionrias.

59

Tabela 4.6 Exemplos de Regras Ativas no BDAtivas.

Regra

Temperatura

Luminosidade Umidade

Porta

Baixa

Alta

Alta

Sada

Mdia

Mdia

Baixa

Entrada

Lmpada

ATIV

EXC

Apagada

Acesa

Um evento de atuador tambm recebe ateno por parte do BDAtivas. Caso o evento
atuador seja contrrio a alguma regra existente no BDAtivas, soma-se ao valor do campo
EXC desta regra em questo o valor um. Se o campo EXC ultrapassar um valor prdeterminado, esta regra excluda do BDAtivas.
No momento de criao de novas regras (atuao do C4.5) tambm checado se
alguma regra do BDAtivas ou do BDEmbrio ficou velha. Para isto subtrai-se o valor um do
campo ATIV de todas as Regras Ativas. As Regras Ativas que neste momento tiverem seu
campo ATIV abaixo de certo valor sero rebaixadas ao BDEmbrio. As Regras Embrionrias
que neste momento tiverem seu campo OK abaixo de certo valor sero excludas.
Importante ressaltar que o sistema aprende o que repetitivo. Eventos no repetitivos
no iro validar as Regras Embrionrias para as mesmas se tornarem Regras Ativas.
O Sistema ABC+ trabalha com somente um habitante na residncia. No existem
vnculos entre atuadores e entre atuadores e sensores. As sadas dos atuadores devem ter seus
valores representados de maneira discreta. Estas limitaes apontadas devem ser tratadas em
trabalhos futuros.
Para que o sistema possa ser estendido para aplicaes reais e mais complexas ser
ainda necessrio identificar como lidar com os possveis loops nas regras criadas.
Um loop pode fazer com que uma regra ao ser ativada leve ativao direta de uma
outra regra ou ativao indireta de regra por mudana de algum sensor.
Na manuteno de regras foram citadas algumas vezes que os campos OK, NOK,
ATIV, EXC e a quantidade de eventos no C4.5 ao atingirem um valor pr-determinado fazem
com que regras sejam criadas, promovidas ou eliminadas. Estes valores pr-determinados, na
verdade podem ser configurados atravs de variveis.

60

Incio

Incio

Novo
Evento
Atuador (EA)

Novo
Evento
Sensores (ES)

1.Ao X
2.ATIV = ATIV+1, mx=T
3.Ordenar BRA por ATIV

Existe
RA?
N

Existe
ES anterior recente
(R seg.)?

Existe
ES posterior recente
(R seg.)?

N
Aguarda
Novo
Evento

S
S

Fim

Utilizar dados
Do evento
Posterior recente

Existe
RA?

S (igual)

igual
Ou contrria?

Aguarda
Novo
Evento

N (contrria)
EXC=EXC+1,
Se EXC>K regra
EXC_At
Excluda do BRA

Existe
RE?

BE=Banco de Eventos

S (igual)

igual
Ou contrria?

OK=OK+1,
Se OK=Z
regra vira RA
OK_Emb

N (contrria)
NOK=NOK+1,
Se NOK>Q regra
excluda do BRE

Coloca evento
No BE

BE tem
Y eventos?

S
C4.5, gera
novas regras
a partir de BE

Novas regras
Esto em BRA
Ou BRE?

RA=Regra Ativa
BRA=Banco de Dados de Regras
Ativas
ATIV=Campo do BRA utilizado para
pontuar positivamente uma regra.
EXC=Campo do BRA utilizado para
pontuar negativamente uma regra.
RE=Regra Embrionria
BRE=Banco de Dados de Regras
Embrionrias
OK - Campo do BRE utilizado para
validar uma regra.
NOK - Campo do BRE utilizado para
excluir uma regra.

NOK_Emb
NuEv

Fim

Novas regras
repetidas
so ignoradas

OK_Emb_exc

1.Regras antigas do BRE com OK<T so excludas


2.Coloca regras novas no BRE
3.P/ todas RA fazer ATIV=ATIV-1
4.Se RA tem ATIV<J, coloca-a no BRE
ATIV_At

Figura 4.6 Fluxograma do Funcionamento do Sistema ABC+.

Torna-se necessrio definir os nomes destas variveis do sistema, as quais sero objeto
de avaliao neste trabalho:

NuEv = Nmero de eventos no BDEventos para acionar o C4.5;

OK_Emb = Valor do campo OK do BDEmbrio para regra virar Regra Ativa;

NOK_Emb = Valor do campo NOK do BDEmbrio para regra ser excluda;

EXC_At = Valor do campo EXC do BDAtivas para excluir a regra;

61

ATIV_At = Valor do campo ATIV do BDAtivas para regra ir para o


BDEmbrio, devido a desuso;

OK_Emb_exc = Valor do campo OK do BDEmbrio para a regra ser excluda


por desuso.

O fluxograma do funcionamento do sistema ABC+ (fig. 4.6) reflete as informaes


descritas nesta seo.
Evento de Sensor
(BDAtivas: conjunto de Regras Ativas de um atuador,
ATIV: Campo do BDAtivas utilizado para pontuar positivamente uma regra);
Incio
Se existe Regra Ativa relacionada ao evento,
Aplicar a regra, fazer campo ATIV da regra igual a ATIV+1,
ordenar BDAtivas por valor de ATIV;
Fim

Figura 4.7 Algoritmo Evento de Sensor.


Evento de Atuador
(BDEventos: conjunto de Eventos por Atuador,
BDAtivas: conjunto de Regras Ativas de um atuador,
BDEmbrio: conjunto de Regras Embrionrias de um atuador,
ATIV: Campo do BDAtivas utilizado para pontuar positivamente uma regra,
EXC: Campo do BDAtivas utilizado para pontuar negativamente uma regra,
OK: Campo do BDEmbrio utilizado para validar uma regra,
NOK: Campo do BDEmbrio utilizado para excluir uma regra,
NuEv: Nmero de eventos no BDEventos para acionar o C4.5,
OK_Emb: Valor do campo OK do BDEmbrio para regra virar Regra Ativa,
NOK_Emb: Valor do campo NOK do BDEmbrio para regra ser excluda,
EXC_At: Valor do campo EXC do BDAtivas para excluir a regra,
ATIV_At: Valor do campo ATIV do BDAtivas para regra ir para o BDEmbrio, devido a desuso,
OK_Emb_exc: Valor do campo OK do BDEmbrio para a regra ser excluda por desuso);
Incio
Se existe Regra Ativa igual ao evento,
V para o Fim;
Se existe Regra Ativa contrria ao evento,
Fazer campo EXC da regra igual a EXC+1;
SE EXC maior que EXC_At,
Rebaixar Regra Ativa a Regra Embrionria;
Se existe Regra Embrionria igual ao evento,
Fazer campo OK da regra igual a OK+1;
SE OK igual a OK_Emb,
Promover a regra a Regra Ativa;
Se existe Regra Embrionria contrria ao evento,
Fazer campo NOK da regra igual a NOK+1;
SE NOK maior que NOK_Emb,
Excluir a Regra Embrionria;
Seno
Colocar o evento no BDEventos;
Se BDEventos igual a NuEv,
Acionar C4.5 para gerar novas regras;
Se novas regras j esto no BDAtivas ou BDEmbrio,
Ignorar as regras repetidas;
Se alguma Regra Embrionria tem campo OK menor que OK_Emb_exc,
Excluir Regra Embrionria;
Colocar regras novas no BDEmbrio;
Fazer campo ATIV das Regras Ativas igual a ATIV-1;
SE alguma Regra Ativa tem campo ATIV menor do que ATIV_At,
Rebaixar Regra Ativa a Regra Embrionria;
Fim

Figura 4.8 Algoritmo Evento de Atuador.

62

O desenvolvimento e manuteno das regras podem ser representados tambm atravs


de seus algoritmos. So apresentados nas figuras 4.7 e 4.8 os algoritmos para quando ocorre
um Evento de Sensor e um Evento de Atuador.
Outra maneira de representar o funcionamento do sistema ABC+ a Rede de Petri
presente no Apndice 1.
O algoritmo da figura 4.7 no engloba a janela de observao de eventos, a qual j foi
detalhada no item 4.1.

4.4

Inconsistncia nas Regras


Um ponto importante que deve ser abordado a inconsistncias nas regras criadas. No

sistema ABC+ no existe inconsistncia nas regras.


A inconsistncia implica em ter regras que so contrrias entre si ou ter combinaes
de sensores que ativam mais do que uma regra.
Quando um evento de atuador armazenado no Banco de Eventos do Atuador ele
futuramente ir gerar uma Regra Embrionria. Esta Regra Embrionria ser pontuada
positivamente at se transformar em uma Regra Ativa. A cada vez que uma combinao de
sensor (evento de sensor) atender a esta Regra Ativa, a mesma executada.
Se o habitante passa a ter um comportamento contrrio Regra Ativa, fazendo com
que o atuador tenha um valor diferente do valor de atuador da regra, o que acontece que a
regra receber pontos no campo EXC desta Regra Ativa, at o momento que a regra
rebaixada a Regra Embrionria. Caso o habitante ainda continue repetindo o evento no
atuador, a Regra Embrionria receber pontos no campo NOK, at que a mesma excluda.
O habitante mantm a nova rotina, gerando novos eventos no atuador. Estes eventos
agora no contrariam a regra, pois a regra j foi excluda. Os eventos so ento armazenados
no Banco de Eventos do Atuador para gerarem nova Regra Embrionria e posterior Regra
Ativa.
Pode-se observar que no existiro inconsistncias, pois sempre ocorrer primeiro a
excluso de regras existentes antes da criao de novas regras que as possam contrariar.
A anlise de inconsistncias nas regras finalizam este captulo sobre o Sistema ABC+,
no prximo captulo sero apresentadas as simulaes realizadas no trabalho.

63

SIMULAO DO SISTEMA ABC+


Para realizao dos testes deste trabalho foram criados dois simuladores envolvendo o

sistema proposto. Um simulador foi desenvolvido para avaliar a lgica do sistema e o outro
simulador foi feito como objetivo de manipulao das variveis do sistema, para analisar em
detalhe os comportamentos destas variveis.

5.1

Simulao da Lgica do Sistema


Um simulador foi desenvolvido para confirmar o funcionamento da lgica do sistema

ABC+. O ambiente simulado possui um cmodo (dormitrio) com um atuador (lmpada), os


seguintes sensores e seus respectivos valores possveis:

Temperatura: Alta, Normal, Baixa;

Luminosidade: Alta, Normal, Baixa;

Umidade: Alta, Mdia, Baixa ;

Porta: Entrada, Sada;

O Atuador possui os valores possveis Acesa e Apagada.


Para a implementao do simulador foi utilizado o software Delphi. O algoritmo C4.5
utilizado o original (QUINLAN, 1993), porm codificado para o sistema operacional
Windows.
Os sensores podem ter seu estado alterado atravs de botes, conforme a figura 5.1. As
simulaes foram feitas manipulando estes botes e assim gerando eventos.
No trabalho desenvolvido, os simuladores so ferramentas para verificao do que foi
proposto, no ser dada nfase ao desenvolvimento dos mesmos e sim ao sistema proposto,
portanto no ser feito detalhamento do cdigo fonte dos simuladores.
Um exemplo de evento apertar o valor Normal, do sensor Temperatura. Isto gera um
evento de sensor que fica armazenado temporariamente, inclusive com horrio, e pode ser
visualizado no quadro um do simulador. Este evento pode: levar execuo de uma das
Regras Ativas, as quais podem ser observadas no quadro quatro do simulador ou atuar na
validao ou rejeio de uma das Regras Embrionrias, as quais podem ser vistas no quadro
trs do simulador ou servir de referncia na janela de observao.
Outro exemplo apertar o valor Apagada do atuador Lmpada. Isto gera um evento de
atuador, o qual passa pela lgica da janela de observao e se for validado armazenado no

64

Banco de Dados de eventos do atuador. No quadro dois do simulador possvel ver os


eventos de atuador armazenados.
O sistema teve o funcionamento esperado, conforme descrito no capitulo 4, criando
regras novas e aplicando as mesmas em eventos posteriores.
A lgica da janela de observao funcionou perfeitamente, ou seja, os eventos
indesejados foram filtrados, permitindo que somente os eventos de atuador que possuem
vnculos com um evento de sensor anterior ou posterior fossem para o Banco de Eventos.
Quando o BDEventos atingiu a quantidade de eventos configurada, os dados foram
inseridos no algoritmo C4.5 e Regras Embrionrias foram criadas. As Regras Embrionrias
atuaram como uma etapa de validao de regras, somente promovendo regras Regras Ativas
aps as confirmaes das mesmas. As Regras Embrionrias que foram contrariadas acabaram
sendo eliminadas do BDEmbrio.
As Regras Ativas tambm funcionaram como especificado, foram mantidas as regras
desejadas e eliminadas as regras que foram contrariadas ou que ficaram em desuso.

Figura 5.1 Simulador para teste da lgica do sistema ABC+.

65

5.2

Simulador para Avaliao das Variveis do Sistema


Com a implementao do primeiro simulador surgiu a necessidade de avaliar melhor o

funcionamento do sistema, para isto foi necessrio avaliar como se comportam as variveis do
sistema ABC+ quando submetido ao comportamento de um agente (habitante).
O primeiro ponto a ser desenvolvido antes da elaborao do novo simulador foi a
identificao dos parmetros de erro e desempenho que melhor permitem avaliar o sistema.
Em outras palavras, foi necessrio definir quais informaes deveriam ser extradas do
sistema, as quais permitem comparar o funcionamento do sistema quando os valores das
variveis so manipulados.
Variveis do sistema ABC+ que necessitavam ser avaliadas so:

NuEv = Nmero de eventos no BDEventos para acionar o C4.5 [Y];

OK_Emb = Valor do campo OK do BDEmbrio para regra virar Regra Ativa


[Z];

NOK_Emb = Valor do campo NOK do BDEmbrio para regra ser excluda [Q];

EXC_At = Valor do campo EXC do BDAtivas para excluir a regra [K];

ATIV_At = Valor do campo ATIV do BDAtivas para regra ir para o


BDEmbrio, devido a desuso [J];

OK_Emb_exc = Valor do campo OK do BDEmbrio para a regra ser excluda


por desuso [W].

As variveis listadas podem ter seus valores configurados no simulador (figura 5.2).

Figura 5.2 Tela do simulador para configurao das variveis do sistema ABC+.

66

O segundo simulador foi baseado no primeiro simulador desenvolvido, entretanto com


as seguintes modificaes:
Existem um Atuador e 6 sensores (Sensor1, Sensor2, Sensor3, Sensor4, Sensor5 e
Sensor6). Para o atuador existem os estados A, B e C, para os sensores 1, 2, 3 e 4 existem os
estados A, B e C, para o sensor 5 existem os estados A, B, C e D e para o sensor 6 existem os
estados A, B, C, D e E.
Para as simulaes foi criado um Banco de Dados de eventos para refletir as atividades
de um usurio durante um perodo de tempo; estes eventos so inseridos no sistema, em
seguida observa-se o comportamento das regras que so produzidas.

Figura 5.3 Simulador para teste das variveis do sistema ABC+ (Eventos e Regras).

Na simulao, o simulador busca o primeiro evento no Banco de Dados externo e


executa sua programao, a seguir busca o segundo evento e executa sua programao; isto
feito sucessivamente at que o ltimo evento seja buscado. Para as simulaes no houve
limitao do nmero de Regras Ativas a serem armazenadas no BDAtivas, tal limitao
imporia mais uma varivel no sistema, a qual influenciaria nas outras. A limitao do nmero
mximo de regras do BDAtivas est diretamente relacionada com a percepo do habitante

67

sobre as regras, portanto dever ser avaliada em testes com residncias e habitantes reais, o
que ficar para trabalhos futuros.
Como se pode observar nas figuras 5.3 e 5.4, o simulador permite visualizar quais
eventos foram inseridos no BDEventos, quais Regras Embrionrias foram criadas e quais
foram descartadas, quais Regras Ativas foram criadas e quais foram descartadas.
Ao final de cada simulao o simulador devolve um quadro (pop-up) com os valores
dos parmetros de desempenho. Outra informao que o simulador fornece so quais regras e
em qual momento da simulao as mesmas foram criadas e eliminadas, permitindo uma
anlise qualitativa. O relatrio produzido pelo simulador que permite a anlise qualitativa ser
doravante chamado de traado.

Figura 5.4 Simulador para teste das variveis do sistema ABC+ (Descartados).

A janela de observao no foi ativada nesta simulao e ser avaliada em estudos e


anlises futuras. A avaliao de eventos descartados pela janela de observao deve ser feita
com Banco de Dados representando a rotina real de uma residncia. As simulaes com o
banco de eventos no determinsticos no reflete as condies em que a janela de observao
deve atuar. Importante notar que, tendo o Banco de Dados com a rotina real, possvel avaliar

68

qual a mdia dos valores de tempo a serem utilizados na janela de observao, ou seja, o
banco que definir os valores de tempo para a janela de observao.
5.2.1

Parmetros para Avaliao


O sistema atua criando e eliminado regras, tanto Regras Embrionrias quanto Regras

Ativas. Quando feita a manipulao dos valores das variveis as quantidades de regras varia,
ou seja, so criadas e eliminadas mais ou menos regras de acordo com a configurao das
variveis. Com base nisto, definiu-se que os parmetros utilizados para a avaliao, os quais
foram desenvolvidos no simulador, so:

EC = Nmero de Regras Embrionrias criadas;

AC = Nmero de Regras Ativas criadas;

EE = Nmero de Regras Embrionrias eliminadas;

AE = Nmero de Regras Ativas eliminadas (rebaixadas).

Com estes parmetros possvel fazer uma anlise quantitativa dos resultados de
acordo com as variaes que forem feitas.
Outra informao que o simulador fornece so quais regras e em qual momento da
simulao as mesmas foram criadas e eliminadas, permitindo uma anlise qualitativa.

5.3

Agente para Simulao


Para as simulaes a serem feitas com o sistema ABC+, existe a necessidade de criar

um agente para simulao. Este agente deve gerar eventos como um habitante em uma
residncia, os quais fazem o sistema ABC+ atuar armazenando eventos, criando regras,
acionando regras, eliminando regras e realizando outras aes possveis. A seguir feita uma
descrio sobre agentes e como deve ser um modelo de usurio; estas descries servem para
orientar a construo do agente para simulao.
5.3.1

Agentes
A definio de agentes vem sendo amplamente discutida, inclusive em diversas reas

como Inteligncia Artificial, Sistemas de Informao, Computao Grfica, entre outras,


entretanto no se encontra um consenso sobre a mesma.
Uma definio bastante abrangente dada por Russell e Norvig (2004):

69

Um agente tudo o que pode ser considerado capaz de perceber seu


ambiente por meio de sensores e de agir sobre este ambiente por intermdio de
atuadores.
A figura 5.5 apresenta a representao de um agente.

Agente

Sensores

Percepes

Ambiente

?
Atuadores

Aes

Figura 5.5 Representao de um agente (RUSSELL; NORVIG, 2004).

Em sua definio, Wooldridge e Rao (1999) dizem que:

Um agente um sistema de computao que capaz de agir


independentemente (autnomo) de um usurio....
Aprimora-se est definio destacando que o agente segue um propsito ou objetivo,
fazendo com que suas aes modifiquem o ambiente conforme suas necessidades
(CAVALHIERI, 2006).
O agente interage com outro agente ou com um humano por meio de uma linguagem
de comunicao, exibe um comportamento atravs de objetivos, escolhe de maneira dinmica
que aes executar e em qual ordem (SANTOS, 2004).
5.3.2

Modelo de usurio
Um modelo de usurio conforme Santos (2004) :

...uma representao explcita das caractersticas, preferncias e


necessidades de um usurio.

70

Em outra definio segundo Kobsa (1995), o modelo de usurio :

...uma coleo de informaes e suposies sobre usurios individuais


ou sobre grupos de usurios, necessrias para que o sistema adapte diversos
aspectos de suas funcionalidades e interface.
Para modelar o usurio imprescindvel definir as informaes necessrias para a
elaborao do modelo. As tarefas realizadas pelo sistema, os objetivos do usurio em relao
ao sistema e as caractersticas do sistema que sero afetadas pelo usurio devem ser
consideradas na identificao dos propsitos da utilizao do modelo.
5.3.3

Agentes Utilizados em Simulaes


Vrios trabalhos utilizam agentes para simular usurios ou ambientes. No trabalho de

Bolzani (2004a) os eventos gerados pelos usurios esto previstos na forma de agentes que
caminham por uma residncia inteligente e interagem com ela. Alm dos agentes usurios,
existem agentes que simulam eventos de temperatura externa, umidade, meses do ano,
dia/hora/minuto/segundo e eventos direto do integrador. No existe uma definio clara de
como os agentes foram criados, entretanto informado que a variao dos agentes feita
atravs de controles deslizantes, ao gosto de quem est simulando o sistema. Para os eventos
direto do integrador, o integrador gera os eventos a qualquer momento de maneira aleatria.
O trabalho de Domingues (2002) explica que uma das maneiras mais utilizadas para
criao de dados para teste a gerao aleatria, na qual pontos do domnio dos dados so
selecionados aleatoriamente. No existe a garantia da melhor seleo, entretanto por sua
facilidade de automatizao e capacidade de gerar grandes conjuntos de dados de teste
facilmente ela defendida. A tcnica tambm elimina a influncia do testador na gerao dos
dados para teste.
Outro trabalho interessante que trabalha com a criao de agentes e ambientes usados
em simulaes o trabalho de Moniz (1993). No trabalho a gerao de eventos aleatrios
feita de acordo com um valor (gerado aleatoriamente) usado para selecionar uma ao de um
banco de dados de aes.
Os trabalhos citados serviro de referncia para a criao do agente de teste a ser
utilizado neste trabalho.

71

5.3.4

Agente para simulao no sistema ABC+


O agente a ser utilizado nas simulaes no sistema ABC+ possui o comportamento

representado na figura 5.6.

Ambiente

Ao

Hbito

Percepo

Ambiente

Agente

Figura 5.6 Representao do agente no sistema ABC+.

Este agente para as simulaes no sistema ABC+ deveria ter seus eventos definidos
por um especialista, levando em considerao fatores tais como costumes, gostos, regio e
cultura, entre outros, do habitante que est simulando. Entretanto nas simulaes a serem
feitas sero abstrados tais fatores, inclusive sero abstrados os tipos de sensores e atuadores
a serem utilizados. Isto se deve ao fato de que o que se deseja testar o funcionamento do
sistema ABC+, sendo irrelevante nesta etapa de simulao que o agente (habitante) e a
residncia tenham seus modelos exatamente iguais aos reais, o que seria extremamente difcil
de se replicar.
O agente para simulao tem como objetivo unicamente gerar eventos. Os eventos
gerados sero capazes de satisfazer as necessidades e restries para os testes do
funcionamento do sistema proposto. O agente gera eventos atravs da troca de estados dos
sensores e atuadores de uma residncia. Aos sensores so aplicadas restries, as quais o
agente deve respeitar. Devem ser seguidas tambm as preferncias do habitante, as quais o
agente ir representar atravs de regras entre os atuadores e sensores. As regras do agente so
padres repetitivos de comportamento. Ademais das restries e preferncias, o agente deve
gerar eventos aleatrios para simular eventos espordicos que normalmente acontecem em
uma residncia.
5.3.5

Banco de Dados para Simulao


Os eventos para simulao esto armazenados em um Banco de dados (BD) externo ao

simulador. Estes eventos simulam a ao de um agente, cuja finalidade simular um habitante


real de uma casa e assim permitir estudar as variveis do sistema. Este BD representa um ms
de eventos.

72

O agente gerador de eventos, Banco de Dados, foi desenvolvido respeitando o descrito


nos itens 5.3.3 e 5.3.4 deste trabalho. Sero consideradas as caractersticas, preferncias e
necessidades do ambiente e usurio (SANTOS, 2004). Ademais, ser utilizada maneira de
criao aleatria dos dados (DOMINGUES, 2002) (MONIZ, 1993).
Para o Banco de Dados foram considerados:

Seis Sensores (de Sensor1 a Sensor6) sendo Sensor1 com estados A e B,


Sensor2 com estados A e B, Sensor3 com estados A e B, Sensor4 com estados
A e B, Sensor5 com estados A, B e C e Sensor6 com estados A, B, C e D.

Um atuador (Atuador) com os estados A, B e C.

Os sensores so o ambiente ao qual o agente para simulao tem percepo, ou seja,


ele observa o estado dos sensores. O atuador o ambiente ao qual o agente para simulao
realiza a ao, ou seja, ele atua definindo o estado do atuador; isto pode ser observado na
figura 5.6.
Para criao do BD foram feitas combinaes com os estados dos sensores e atuador.
Com os sensores considerados (Sensor1 a Sensor6) e seus devidos estados possvel ter 192
combinaes (2x2x2x2x3x4). Exemplos de combinaes podem ser observados na tabela 5.1.
Tabela 5.1 Exemplos de combinao no Banco de Dados.

Atuador

Sensor1

Sensor2

Sensor3

Sensor4

Sensor5

Sensor6

Posteriormente foram consideradas, como uma premissa, condies que no podem


acontecer entre os sensores. Isto foi feito para diminuir a quantidade de combinaes a serem
trabalhadas no Banco de Dados. Um exemplo prtico de combinaes que no podem
acontecer pode ser a existncia de um sensor de temperatura e outro de umidade, neste caso
pode-se considerar, somente como premissa, que nunca existir a condio de temperatura
alta e umidade alta ao mesmo tempo. Para o banco de dados as premissas so:

(Sensor2=A E Sensor5=C) OU

(Sensor3=B E Sensor6=D) OU

(Sensor1=B E Sensor4=A).

Com estas condies, existem 105 combinaes possveis de acontecer e 87 que no


podem acontecer.

73

Em seguida foram considerados 5 padres do agente para simulao, padres estes


refletidos em regras de automao que devem estar contidas no BD:

R1: SENSOR1=A E SENSOR2=B E SENSOR6=D ENTO ATUADOR=A;

R2: SENSOR2=B E SENSOR3=A E SENSOR5=B ENTO ATUADOR=B;

R3: SENSOR3=A E SENSOR4=B E SENSOR6=B ENTO ATUADOR=C;

R4: SENSOR1=B E SENSOR3=B E SENSOR5=B ENTO ATUADOR=A;

R5: SENSOR2=A E SENSOR3=B E SENSOR5=B E SENSOR6=A ENTO


ATUADOR=B.

As regras so os hbitos do agente para simulao, os quais para cada posio dos
sensores (percepo) ele indica uma posio (ao) de atuador (fig. 5.6).
A partir das regras foram encontradas 32 combinaes de sensores que as geram. Das
105 combinaes possveis, retirando-se estas 32 combinaes citadas anteriormente restam
73 combinaes, para as quais no existem padres de comportamento, portanto no existe
estado de Atuador determinado para estas combinaes. Para as cinco regras estipuladas, no
h no BD nenhuma combinao que as contrarie.
Na realidade, em 5 das 32 combinaes, o Atuador poderia ter assumido dois valores,
isto acontece porque a combinao dos sensores satisfaz a mais do que uma nica regra
desejada (R1 a R5). A Tabela 5.2 apresenta uma destas combinaes. Na primeira linha a
regra um est sendo atendida e na segunda linha a regra dois est sendo atendida, para uma
mesma combinao nos sensores. Neste caso definiu-se que a regra um a que seria atendida
no Banco de Dados. Isto implica que para a regra dois uma de suas combinaes no ir
aparecer e o algoritmo C4.5 ter de generalizar a regra sem esta combinao. Note que
quando a regra dois for criada, toda vez que esta combinao aparecer no Banco de Dados, a
regra ser contrariada, pois o valor do Atuador ser A e no B. Com isto devero ser
observados dois pontos: A regra dois, ou as outras que tambm esto na mesma condio,
aparecer tal como foi escrita ou estar mais especializada em funo de uma de suas
combinaes no existir? As contradies que a regra dois ir sofrer durante as simulaes
faro com que a mesma desaparea ou permanea no BDEmbrio ou BDAtivas?
Tabela 5.2 Exemplo de Combinao que atende duas regras.

Atuador

Sensor1

Sensor2

Sensor3

Sensor4

Sensor5

Sensor6

74

Para cada uma das 32 combinaes foi considerado que existe certa freqncia mensal
de repetio. O uso de uma freqncia de repetio serve para representar quantas vezes no
ms uma determinada combinao ir acontecer, isto se refletir no Banco de Dados em
vrias posies de memria (linhas), contendo a mesma informao em todas elas.
As combinaes tm freqncia mensal (repeties) de valores igual a 180 (para 6
combinaes), 90 (para 6 combinaes), 30 (para 8 combinaes), 15 (para 6 combinaes) e
3 (para 6 combinaes), conforme a tabela 5.3. Estas repeties geram um total de 1.968
(180x6+90x6+30x8+15x6+3x6) eventos (posies de memria do BD).
As outras 73 combinaes possveis foram copiadas 15 vezes, gerando mais 1.095
(73x15) eventos. Para estes eventos o valor do estado do Atuador foi produzido
aleatoriamente, com isto tm-se as 73 combinaes sem valor de atuador padronizado. Estes
eventos so eventos espordicos (sero assim chamados) e no desejvel que eles produzam
regras, por este motivo que seus valores foram produzidos aleatoriamente. Ao final existem
3.063 eventos no BD.

Tabela 5.3 Combinaes das regras e suas freqncias.


Sensor1

Sensor2

Sensor3

Sensor4

Sensor5

Sensor6

Atuador1

A
A
A
A
A
B
B
B
B
B
B
A
A
A
A
A
A
A
A
B
B
B
A
A
A
A
A
B
B
B
B
B

B
B
B
B
B
A
A
A
B
B
B
A
A
B
B
B
B
B
B
B
B
B
A
A
B
B
B
A
A
B
B
B

A
A
A
A
A
B
B
B
B
B
B
B
B
A
A
A
A
A
A
A
A
A
A
A
A
A
A
A
A
A
A
A

A
A
A
B
B
B
B
B
B
B
B
A
B
A
A
A
B
B
B
B
B
B
B
B
B
B
B
B
B
B
B
B

A
B
C
A
C
B
B
B
B
B
B
B
B
B
B
B
B
B
B
B
B
B
A
B
A
B
C
A
B
A
B
C

D
D
D
D
D
A
B
C
A
B
C
A
A
A
B
C
A
C
D
A
C
D
B
B
B
B
B
B
B
B
B
B

A
A
A
A
A
A
A
A
A
A
A
B
B
B
B
B
B
B
B
B
B
B
C
C
C
C
C
C
C
C
C
C

Freqncia
Regra
Mensal
180
180
90
90
30
30
30
15
15
3
3
180
180
90
90
30
30
30
15
15
3
3
180
180
90
90
30
30
15
15
3
3

75

Tabela 5.4 Exemplo de embaralhamento (eventos desordenados).


Sensor1
A
A
A
A
A
B
B
B
B
B
B
A
A
A
A
A
A

Sensor2
B
B
B
B
B
A
A
A
B
B
B
A
A
B
B
B
B

Sensor3
A
A
A
A
A
B
B
B
B
B
B
B
B
A
A
A
A

Sensor4
A
A
A
B
B
B
B
B
B
B
B
A
B
A
A
A
B

Sensor5
A
B
C
A
C
B
B
B
B
B
B
B
B
B
B
B
B

Sensor6
D
D
D
D
D
A
B
C
A
B
C
A
A
A
B
C
A

Atuador1
A
A
A
A
A
A
A
A
A
A
A
B
B
B
B
B
B

Aleatrio
76
27
31
23
7
90
65
8
20
46
47
100
90
82
92
43
81

Por ltimo foram gerados nmeros aleatrios entre 1 e 100 para cada um dos 3.063
eventos, como no exemplo da tabela 5.4. Os eventos foram ordenados pelos seus nmeros
aleatrios e assim ficaram embaralhados (tabela 5.5). O objetivo do embaralhamento no ter
um BD viciado, ou seja, ter os eventos distribudos de maneira no determinstica.
Tabela 5.5 Exemplo de embaralhamento (eventos ordenados).
Sensor1
A
B
B
A
A
A
A
B
B
B
A
A
A
B
A
A
A

Sensor2
B
A
B
B
B
B
B
B
B
A
B
B
B
A
A
B
A

Sensor3
A
B
B
A
A
A
A
B
B
B
A
A
A
B
B
A
B

Sensor4
B
B
B
B
A
A
A
B
B
B
A
B
A
B
B
A
A

Sensor5
C
B
B
A
B
C
B
B
B
B
A
B
B
B
B
B
B

Sensor6
D
C
A
D
D
D
C
B
C
B
D
A
A
A
A
B
A

Atuador1
A
A
A
A
A
A
B
A
A
A
A
B
B
A
B
B
B

Aleatrio
7
8
20
23
27
31
43
46
47
65
76
81
82
90
90
92
100

Obtm-se um Banco de Dados com 3.063 eventos embaralhados, simulando a ao de


um agente, a qual no determinstica. Existem 192 combinaes de sensores, das quais 87
esto eliminadas, 32 combinaes esto vinculadas a 5 padres e 73 combinaes de sensores
no geram padres especficos.

76

Foram gerados outros dois bancos de dados com os mesmos eventos, porm
embaralhados diferentemente. Isto permite que as simulaes sejam feitas com trs bancos de
dados, sendo considerado como resultado sempre a mdia das trs simulaes.

5.4

Resultados Obtidos
Foram feitas variaes dos valores de cada varivel em anlise na realizao das

simulaes. Em cada variao foram feitas trs simulaes, uma para cada BD de eventos, e
foram obtidos os dados dos parmetros. Em algumas simulaes tambm foram colhidos
dados mais detalhados, para se observar quais regras e quando as mesmas foram produzidas.
Foram realizadas anlises quantitativas, baseadas nos valores dos parmetros encontrados e
anlise qualitativa, para a qual foram utilizados os traados das simulaes.
5.4.1

Anlises Quantitativas
A partir dos dados dos parmetros obtidos nas simulaes foram criados os grficos

das figuras 5.7 a 5.13. Cada grfico representa uma varivel do sistema em anlise. O eixo Y
dos grficos sempre representa a quantidade de regras e o eixo X de cada grfico a varivel
que est sendo estudada.
Foram feitas vrias simulaes com variaes significativas dos valores das variveis;
muitas destas simulaes apresentaram resultados que no permitem chegar a qualquer
concluso, entretanto quando foi encontrada a gama certa de variao, os resultados obtidos
foram bastante satisfatrios e contriburam muito para as concluses.
A primeira observao importante que os eventos espordicos, que esto inseridos
no BD, acabaram gerando e contrariando novas regras, como resultado o nmero de regras
excludas, tanto no BDEmbrio (EE) quanto no BDAtivas (AE), foi aumentado. Um aspecto
importante que os eventos espordicos so benficos ao sistema, isto porque tornam o
trabalho do C4.5 mais consistente para o sistema. Na inexistncia dos eventos espordicos o
C4.5 cria regras muito genricas, como ser possvel verificar no item 5.4.2.
Como segunda observao, no foram geradas somente as 5 regras desejadas, mas sim
muitas outras. As regras geradas, sem contar as regras indesejveis provenientes dos eventos
espordicos, foram sempre regras relacionadas com as 5 regras desejadas, entretanto no so
sempre exatamente as desejadas, mas sim regras especializadas ou generalizadas demais em
relao as originais. Com o surgimento de regras especializadas ou generalizadas, os eventos

77

do BD subseqentes a tais regras acabaram gerando vrias excluses das mesmas, fato que
tambm contribuiu muito para o aumento de regras excludas (EE e AE).
5.4.2

Avaliao da Varivel NuEv


O grfico da figura 5.7 mostra o comportamento do sistema quando feita a variao

de NuEv, quantidade de eventos inseridos no C4.5.


As simulaes foram feitas variando o valor de NuEv desde 20 at 500, mantendo os
seguintes valores das outras variveis:

OK_Emb = 20;

NOK_Emb = 7;

EXC_At = 20;

ATIV_At = 2;

OK_Emb_exc = 2.

Quantidade de Regras

Nmero de eventos no C4.5


100
90
80
70
60

EC

50
40

AC

EE
AE

30
20
10
0
20

40

60

80

100

150

200

300

500

Eventos no C4.5 (NuEv)

Figura 5.7 Grfico da variao de NuEv.

Observa-se pelo grfico que todos os parmetros de quantidades de regras decrescem


com o aumento do nmero de eventos. Este resultado era o esperado para esta varivel, isto
acontece devido ao fato de que quanto menos eventos se coloca no C4.5, mais regras que no
deveriam ser criadas (generalizadas, especializadas e espordicas ou indesejveis) surgem.
Quando regras so criadas erroneamente, os eventos subseqentes s mesmas no BD acabam
excluindo-as; com isto novos eventos vo para o BDEventos e acionam novamente o C4.5
para criar novas regras, repetindo-se novamente o ciclo at o fim do eventos. Quando se
aumenta o nmero de eventos no C4.5, as regras geradas tendem a ser mais parecidas com as

78

regras desejadas, ocorrendo menos excluses e menos criaes de novas regras. De fato,
algumas das 5 regras definidas comeam a aparecer com NuEv em 20. Todas as 5 regras
definidas aparecem, simultaneamente, com o valor de 300 para NuEv, sendo portanto este o
melhor valor da varivel para a configurao das simulaes.
O grfico da figura 5.8 foi feito com outros trs Bancos de Dados onde os eventos
espordicos foram suprimidos, ou seja, foram colocados apenas eventos que geram as 5 regras
desejadas. O que se observou foi a severa diminuio em todos os parmetros de anlise, isto
em funo de no existir eventos que ficassem contrariando as regras que foram geradas. Um
fato observado foi que as regras ficaram extremamente generalizadas, sendo que em nenhum
momento, com nenhum valor de NuEv, foram encontradas exatamente as regras desejadas.
Isto demonstra que o C4.5 necessita de exemplos variados para gerar regras o mais especfico
possvel.
Num caso real a presena de eventos espordicos, os quais no representam a rotina
mais especfica do habitante, ser de grande valor para que as regras corretas surjam no
sistema. Apesar das regras geradas com este novo Banco de Dados serem genricas, o sistema
cumpriu o seu objetivo, visto que regras foram criadas e passaram a atuar acionando o
atuador, o problema que os eventos ficaram confinados em uma gama pequena de
combinaes, perante todas as possveis, neste caso se comeassem a surgir outras
combinaes de eventos as regras criadas poderiam passar a ser contrariadas. Enfim,
importante que se tenha uma boa variedade de exemplos para que o algoritmo C4.5 possa
criar regras especificas, condizentes com os atributos (sensores) que so manipulados na
rotina do habitante da casa.

Quantidade de Regras

Nmero de eventos no C4.5

18
16
EC
EE
AC
AE

14
12
10
8
6
4
2
0
20

40

60

80

100

150

200

300

Eventos no C4.5 (NuEv)

Figura 5.8 Grfico da variao de NuEv, com BD somente com regras desejadas.

79

5.4.3

Avaliao da Varivel OK_Emb


A figura 5.9 apresenta o grfico da variao de OK_Emb, valor mximo da varivel

OK. Esta varivel define quantas vezes a Regra Embrionria necessita ser confirmada antes
de a mesma ser promovida Regra Ativa.
As simulaes foram feitas variando o valor de OK_Emb desde 5 at 30, mantendo os
seguintes valores das outras variveis:

NuEv = 200;

NOK_Emb = 7;

EXC_At = 20;

ATIV_At = 2;

OK_Emb_exc = 2.

Observa-se que quanto maior for o valor desta varivel menos Regras Embrionrias
so promovidas e conseqentemente menos Regras Ativas sero criadas, isto ocorre porque a
Regra Embrionria tem de receber uma pontuao maior para ser promovida, o que torna mais
difcil sua promoo. Como as Regras Embrionrias no so promovidas, elas acabam sendo
eliminadas, da o aumento desta eliminao no grfico. Estas eliminaes acabam diminuindo
o nmero de regras indesejveis no sistema.
O comportamento desta varivel o que se esperava, pois o objetivo da varivel
facilitar ou dificultar a promoo da Regra Embrionria a Regra Ativa.
Valor Mximo OK - Embrionria

Quantidade de Regras

70
60
50
EC

40

EE
AC

30

AE

20
10
0
5

10

15

20

25

Valores de OK (OK_Emb)

Figura 5.9 Grfico da variao de OK_Emb.

30

80

O cruzamento da linha EE com as linhas AC e AE no grfico representa algo


importante, a partir deste ponto (OK_Emb maior ou igual a 10) que existem mais Regras
Embrionrias excludas do que Regras Ativas criadas, ou seja, as Regras Embrionrias
indesejadas so excludas antes de virarem Regras Ativas, o que desejvel. Com OK_Emb
igual a 20 j possvel verificar uma melhor estabilizao nos parmetros, sendo portanto este
um bom valor encontrado para a varivel.
5.4.4

Avaliao da Varivel NOK_Emb


A variao de NOK_Emb, valor mximo da varivel NOK, o qual define quantas

vezes a Regra Embrionria pode ser contrariada antes de a mesma ser eliminada,
apresentada no grfico da figura 5.10.
As simulaes foram feitas variando o valor de NOK_Emb desde 5 at 30, mantendo
os seguintes valores das outras variveis:

NuEv = 200;

OK_Emb = 20;

EXC_At = 20;

ATIV_At = 2;

OK_Emb_exc = 2.

Valor Mximo NOK - Embrionria

Q uantidade de Regras

60
50
40

EC
EE

30

AC
AE

20
10
0
5

10

15

20

25

Valores de NOK (NOK_Emb)

Figura 5.10 Grfico da variao de NOK_Emb.

30

81

Pelo grfico observa-se que quanto maior o valor de NOK_Emb menos Regras
Embrionrias so eliminadas e conseqentemente mais Regras Ativas so criadas, ou seja,
dificultada a eliminao da Regra Embrionria e facilitada a promoo da mesma para Regra
Ativa. Nas simulaes feitas, a partir do valor de NOK_Emb igual a 20, se observa uma
estabilidade nos dados, ou seja, j no existe a facilitao citada, pois no basta dificultar a
eliminao da Regra Embrionria para a mesma ser promovida a Ativa, torna-se necessrio
tambm que est regra ganhe pontos positivos para poder acender a Regra Ativa (varivel
OK_Emb). Como o objetivo de NOK_Emb facilitar ou dificultar a eliminao das Regras
Embrionrias, a varivel teve o comportamento esperado.
O cruzamento da linha EE com as linhas AC e AE no grfico representa novamente
algo importante, a partir deste ponto (NOK_Emb maior do que 10) que existem menos
Regras Embrionrias excludas do que Regras Ativas criadas, ou seja, as Regras Ativas
surgem antes das Regras Embrionrias terem sido excludas, o que indesejvel. Com
OK_Emb menor do que 10 existem menos Regras Ativas criadas do que Regras Embrionrias
excludas, sendo portanto este o valor a ser utilizado nesta varivel.
5.4.5

Avaliao da Varivel EXC_At


No grfico da figura 5.11 ocorre a variao no valor de EXC_At, valor mximo da

varivel EXC, o qual define quantas vezes a Regra Ativa pode ser contrariada antes da mesma
ser rebaixada a Regra Embrionria.
As simulaes foram feitas variando o valor de EXC_At desde 5 at 40, mantendo os
seguintes valores das outras variveis:

NuEv = 200;

OK_Emb = 20;

NOK_Emb = 7;

ATIV_At = 2;

OK_Emb_exc = 2.

Observa-se que todos os parmetros de quantidades de regras decrescem com o


aumento do valor de EXC e a partir do valor da varivel igual a 25 decrescem mais
suavemente. A diminuio do nmero de Regras Embrionrias ocorre devido a que quanto
maior o valor de EXC mais difcil a Regra Ativa ser excluda e, por conseqncia, se no
excluda, no novamente criada como Regra Embrionria. O fato de regras no serem
excludas tambm faz com que os eventos subseqentes do Banco de Dados sejam utilizados

82

para pontuar as regras e no so armazenados no BDEventos para gerar novas regras, em


outras palavras, um determinado evento ir gerar mais um ponto na campo EXC de uma
Regra Ativa, caso esta regra j tivesse sido eliminada o evento em questo seria armazenado
no BDEventos e acabaria gerando nova Regra Embrionria. Um ponto importante que
regras desejadas no so eliminadas, mesmo com valores maiores de EXC_At; isto pode ser
observado a partir do valor de EXC_At igual a 20, onde a quantidade de Regras Ativas se
mantm praticamente constante.
Valor Mximo EXC - Ativa

Quantidade de Regras

70
60
50
EC

40

EE
AC

30

AE

20
10
0
5

10

15

20

25

30

35

40

Valores de EXC (EXC_At)

Figura 5.11 Grfico da variao de EXC_At.

5.4.6

Avaliao da Varivel ATIV_At


No grfico da figura 5.12 ocorre a variao no valor de ATIV_At, valor mnimo da

varivel ATIV, cujo valor determina o mnimo de vezes que uma Regra Ativa tem de ser
acionada entre cada atuao do C4.5 para no ser rebaixada Regra Embrionria por desuso.
As simulaes foram feitas variando o valor de ATIV_At desde 1 at 300, mantendo
os seguintes valores das outras variveis:

NuEv = 200;

OK_Emb = 5;

NOK_Emb = 50;

EXC_At = 500;

OK_Emb_exc = 1.

83

Pelo grfico observa-se que quanto maior o valor de ATIV_At mais Regras Ativas so
eliminadas, ou seja, dificultada a permanncia da Regra Ativa. Observou-se tambm que
com o aumento de ATIV_At surge um nmero maior de Regras Embrionrias e Regras Ativas
criadas; isto acontece porque quando as Regras Ativas so rebaixadas aumenta o nmero de
Regras Embrionrias criadas, por outro lado algumas destas regras so novamente
promovidas a Regras Ativas e assim aumentando o nmero de Regras Ativas criadas.
Valor Minmo ATIV - Ativa

Quantidade de Regras

30
25
20

EC
EE

15

AC
AE

10
5
0
1

100

200

300

Valores de ATIV (ATIV_At)

Figura 5.12 Grfico da variao de ATIV_At.

Os valores de ATIV so altos, isto acontece devido maneira que o Banco de Dados
de testes foi criado, onde um evento deste Banco de Dados no tem relao com o evento
posterior. Neste caso um novo evento atua como se fossem at seis mudanas de sensores na
residncia, o que causa a repetio por seis no valor de ATIV quando existir atuao neste
campo, ou seja, quando uma Regra Ativa existir e receber um ponto positivo, na verdade
recebe at seis pontos. A varivel ATIV_At realmente uma varivel de controle de desuso
das Regras Ativas, sendo utilizada na prtica somente para garantir que a Regra Ativa que
caiu em desuso seja um dia rebaixada a Regra Embrionria. A variao da varivel no
apresentou grande variao no sistema.
5.4.7

Avaliao da Varivel OK_Emb_exc


No grfico da figura 5.13 ocorre a variao no valor de OK_Emb_exc, valor mnimo

da varivel OK, cujo valor determina o mnimo de vezes que uma Regra Embrionria tem de
ser acionada entre cada atuao do C4.5 para no ser eliminada por desuso.

84

As simulaes foram feitas variando o valor de OK_Emb_exc desde 1 at 17,


mantendo os seguintes valores das outras variveis:

NuEv = 100;

OK_Emb = 20;

NOK_Emb = 20;

EXC_At = 20;

ATIV_At = 2.

Pelo grfico observa-se que quanto maior o valor de OK_Emb_exc mais Regras
Embrionrias so eliminadas, ou seja, dificultada a permanncia da Regra Embrionria.
Observou-se tambm que com o aumento de OK_Emb_exc surge um nmero maior de
Regras Embrionrias criadas; isto acontece porque quando as Regras Embrionrias so
eliminadas, os eventos subseqentes s mesmas no BD acabam sendo armazenados no
BDEventos, acionando novamente o C4.5 e criando novas Regras Embrionrias, repetindo-se
novamente este ciclo at o fim do eventos.
Valor Minmo OK - Embrionria

Quantidade de Regras

60
50
40

EC
EE

30

AC
AE

20
10
0
1

13

17

Valores de OK (OK_Emb_exc)

Figura 5.13 Grfico da variao de OK_Emb_exc.

O cruzamento da linha EE com a linha AC no grfico representa que tanto as Regras


Embrionrias excludas quanto as Regras Ativas criadas crescem com o crescimento no
nmero de Regras Embrionrias criadas, entretanto em dado momento mais Regras
Embrionrias so excludas do que Regras Ativas so criadas, isto demonstra que para a
configurao utilizada mais fcil excluir uma Regra Embrionria do que promov-la a Regra
Ativa, sendo algo desejvel no sistema. A varivel OK_Emb_exc realmente uma varivel de
controle de desuso das Regras Embrionrias, sendo utilizada na prtica somente para garantir

85

que a Regra Embrionria que caiu em desuso seja um dia excluda do sistema. A variao da
varivel no apresentou grande variao no sistema
As variveis observadas na anlise quantitativa apresentaram o comportamento
esperado, conforme descrito no capitulo 4, no houveram resultados que contrariassem o que
foi proposto, nem que demonstrassem que o sistema apresenta falhas no seu funcionamento.
Vale ressaltar que a anlise est baseada na configurao desenvolvida (seis sensores, um
atuador e o Banco de Dados de teste), sendo importante em trabalhos futuros avaliar novas
configuraes.
Como ltima considerao, a no limitao do nmero mximo de regras do BDAtivas
no influenciou no processamento ou na capacidade de memria utilizados pelos simuladores.
As quantidades de Regras Ativas existentes simultaneamente nos testes, sem limitao, no
ultrapassou em nenhum momento o nmero de doze regras.
As tabelas com todos os valores das variveis e resultados das simulaes, os quais
permitiram a confeco dos grficos desta seo, so apresentadas no Apndice 2.
5.4.8

Anlise Qualitativa
A anlise qualitativa est baseada na avaliao dos traados (relatrio detalhado da

simulao). Com o traado possvel observar cada evento do Banco de Dados sendo inserido
no simulador e a respectiva ao do simulador. Sendo assim, pode-se verificar quando cada
Regra Embrionria ou Regra Ativa criada e quando eliminada (ou rebaixada).
A tabela 5.6 apresenta um exemplo de parte de um traado. O traado deste exemplo
foi retirado de uma simulao onde NuEv igual a 20, ou seja, so necessrios 20 eventos
para acionar o algoritmo C4.5. Nele possvel observar na primeira coluna os eventos em
seqncia que foram sendo gerados; sendo que a informao de cada linha (posio de
memria) contm os dados dos sensores de 1 a 6 separados por virgula e mais o dado do
atuador, o qual possui o smbolo underline _ no final.
Na segunda coluna esto as Regras Embrionrias; no exemplo, aps 20 eventos so
criadas 6 Regras Embrionrias, para as quais os campos OK e NOK iniciam-se com valor
zero. A cada novo evento feita ou a pontuao de OK e NOK para as regras que estiverem
vinculadas com o evento, ou a insero do evento na coluna EVENTOS, no caso do evento
no possuir nenhuma regra vinculada e ele. Quando uma Regra Embrionria se transforma em
Regra Ativa, a mesma colocada na terceira coluna. A regra aparece com os valores de ATIV
e EXC inicialmente iguais a zero. No exemplo, aps as Regras Embrionrias apresentadas,

86

foram colocadas duas linhas com informao ...... para expressar que vrios eventos foram
realizados at o surgimento de uma Regra Ativa.
Tabela 5.6 Exemplo de Traado.
EVENTOS
A, B, A, A, B, D, A_
A, B, A, A, B, D, A_
A, B, A, A, C, D, A_
A, B, A, B, A, D, A_
A, B, A, B, A, D, A_
B, B, B, B, B, A, A_
A, A, B, A, B, A, B_
A, A, B, B, B, A, B_
A, B, A, A, B, A, B_
A, B, A, A, B, B, B_
A, B, A, B, B, D, B_
A, A, A, B, A, B, C_
A, A, A, B, A, B, C_
A, A, A, B, A, B, C_
A, A, A, B, B, B, C_
A, A, A, B, B, B, C_
A, A, B, A, A, A, C_
B, B, B, B, A, C, A_
B, B, A, B, C, A, C_
A, A, B, A, A, B, A_

REGRAS EMBRIONRIAS

REGRAS ATIVAS

Sensor_2=A, Sensor_3=A, C_, ok 0, nok 0


Sensor_6=D, A_, ok 0, nok 0
Sensor_5=B, B_, ok 0, nok 0
Sensor_5=B, B_, ok 0, nok 0
Sensor_6=D, A_, ok 0, nok 0
Sensor_2=A, Sensor_3=A, C_, ok 0, nok 0
.....
.....
Sensor_6=D, A_, ativ 0, exc 0

Foram colhidos traados de todas as simulaes feitas para a anlise da varivel NuEV
(item 5.4.2), a menos do valor 500. Portanto foram obtidos traados com valores de NuEv
iguais a 20, 40, 60, 80, 100, 150, 200 e 300 para cada um dos trs bancos de dados de teste.
A partir dos traados foi feita a anlise das 5 regras desejadas, as quais esto presentes
no Banco de Dados de teste. As 5 regras e suas respectivas quantidades de repeties no
Banco de Dados de teste so:

R1: SENSOR1=A E SENSOR2=B E SENSOR6=D ENTO ATUADOR=A;


570 repeties.

R2: SENSOR2=B E SENSOR3=A E SENSOR5=B ENTO ATUADOR=B;


306 repeties.

R3: SENSOR3=A E SENSOR4=B E SENSOR6=B ENTO ATUADOR=C;


636 repeties.

R4: SENSOR1=B E SENSOR3=B E SENSOR5=B ENTO ATUADOR=A;

96 repeties.

R5: SENSOR2=A E SENSOR3=B E SENSOR5=B E SENSOR6=A ENTO


ATUADOR=B; 180 repeties.

87

Foi avaliado se as regras realmente foram criadas e em que momento da simulao as


mesmas so criadas, tanto como Regras Embrionrias quanto como Regras Ativas. O
momento em que as regras surge est expresso em porcentagem. O Banco de Dados possui
3.063 eventos, que representam 100% do Banco de Dados. Uma porcentagem de 10% do
Banco de Dados significa algo em torno de 306 eventos inseridos no simulador.
Pelo grfico da figura 5.14 possvel observar que com NuEv igual a 20, surge nas
simulaes somente uma das regras desejadas, a regra 3. A regra 3 a que mais repeties
possui no Banco de Dados (636). A regra surge como Regra Embrionria quase no final da
simulao (80%) e logo promovida a Regra Ativa. Nos traados de NuEv igual a 20, a
maioria das regras criadas possui apenas um ou dois atributos e so regras generalizadas em
relao as 5 regras desejadas, existem ainda regras oriundas dos eventos espordicos.
Importante ressaltar que a regra 3 uma regra com trs atributos. Estas generalizaes
ocorrem porque o algoritmo C4.5 tem poucos exemplos para criar as regras, o que
consequentemente faz com que as mesmas sejam regras mais simplificadas (generalizadas).
Com o valor de NuEv igual a 40, surge novamente a regra 3, como Regra Embrionria
e logo em seguida como Regra Ativa, entretanto ela aparece logo no incio da simulao.
Outra regra que surge no final da simulao a regra 4, porm somente como Regra
Embrionria. Para os traados de NuEv igual a 40 valem os mesmos comentrios de NuEv
igual a 20, ou seja, as regras criadas possuem apenas um ou dois atributos e so regras
generalizadas em relao as 5 regras desejadas, existem ainda regras oriundas dos eventos
espordicos
Para o valor de NuEv igual a 60 ocorre o mesmo que nos traados anteriores,
entretanto a regra criada a regra 2.
As regras comeam a surgir mais rapidamente a partir de NuEv igual a 80, onde
surgem duas regras desejadas, as regras 2 e 3. Ambas regras surgem logo no incio das
simulaes e em seguida a sua criao como Regras Embrionrias passam a Regras Ativas.
Nestes traados j possvel observar mais regras com dois e trs atributos.
Os traados de NuEv igual a 100 demonstram a existncia de trs regras desejadas
(regra 2, 3 e 4). A maioria das regras possuem trs atributos, ainda no possvel observar
regras com quatro atributos, que o caso da regra 5.

88

Criao de Regras
P
o
r
c
e
n
t
.
B
D

100%
90%
80%
70%
60%

R1-Embr
R1-Ativ
R2-Embr
R2-Ativ

50%
40%
30%
20%
10%
0%

R3-Embr
R3-Ativ
R4-Embr
R4-Ativ
R5-Embr
20

40

60

80

100

150

200

300

R5-Ativ

Qde Eventos no C4.5

Figura 5.14 Grfico de Criao de Regras em funo da quantidade de eventos no C4.5.

Com os valores de NuEv iguais a 150 e 200, surge a regra 1, alm das outras trs
regras que j haviam surgido anteriormente. As Regras Embrionrias surgem logo no incio
das simulaes e possvel observar regras com quatro atributos, porm a regra 5, que a
nica desejada com quatro atributos, ainda no foi criada.
Efetivamente com 300 eventos sendo inseridos no algoritmo C4.5 (NuEv igual a 300),
todas as 5 regras esto presentes. As regras surgem com cerca de 10% do Banco de Dados
inserido no simulador, ou seja, como 10% so 306 eventos e o nmero de eventos no
algoritmo C4.5 300, portanto logo na primeira execuo do C4.5 todas as regras desejadas
esto presentes, sendo promovidas a Regras Ativas na seqncia das simulaes.
Pela anlise quantitativa, onde podem ser observados os melhores valores de cada uma
das variveis nos itens 5.4.2 at 5.4.7, e pela anlise qualitativa realizada, ambas baseadas na
configurao desenvolvida (seis sensores, um atuador e o Banco de Dados de teste), os
valores das variveis que apresentaram o melhor resultado foram os seguintes:

NuEv = 300;

OK_Emb = 20;

NOK_Emb = 7;

EXC_At = 20;

ATIV_At = 2;

OK_Emb_exc = 2.

89

SENSOR1=A E SENSOR2=B E SENSOR6=D ENTO ATUADOR=A; - 570


SENSOR2=B E SENSOR3=A E SENSOR5=B ENTO ATUADOR=B; - 306
SENSOR3=A E SENSOR4=B E SENSOR6=B ENTO ATUADOR=C; - 636
SENSOR1=B E SENSOR3=B E SENSOR5=B ENTO ATUADOR=A; - 96
SENSOR2=A E SENSOR3=B E SENSOR5=B E SENSOR6=A ENTO ATUADOR=B. - 180

Figura 5.15 Tela do simulador com resultados satisfatrios.

A figura 5.15 apresenta a tela do simulador, com os valores das variveis descritos
anteriormente, onde se pode observar no campo de Regras Ativas (elipse em vermelho) a
presenas das 5 regras desejadas.
Com as anlises realizadas possvel responder a duas questes feitas no decorrer do
item 5.3.5 deste trabalho: A regra dois, ou as outras que tambm esto na mesma condio,
aparecer tal como foi escrita ou estar mais especializada em funo de uma de suas
combinaes no existir? As contradies que a regra dois ir sofrer durante as simulaes
faro com que a mesma desaparea ou permanea no BDEmbrio ou BDAtivas?
As respostas para estas questes so: A regra dois, e outras na mesma condio dela,
por vezes apareceu mais especializada e as contradies fizeram com que a mesma
desaparecesse do BDEmbrio ou BDAtivas, entretanto quando as variveis do sistemas foram
configuradas de certa maneira, a regra foi criada corretamente e mesmo sendo contrariada
no foi eliminada dos bancos de regras.

90

A anlise qualitativa permitiu observar que o sistema proposto pode ter suas variveis
configuradas de tal maneira a produzir regras que refletem a rotina desenvolvida pelo agente
(habitante da casa).
Foi observado tambm atravs dos traados que so criadas regras sobre
especializadas, fato conhecido como overfitting. Um exemplo disto a criao de regras com
quatro atributos, quando a regra desejada deveria ter trs atributos. Isto pode ser observado
quando o conjunto de eventos inseridos no algoritmo C4.5 no possui todos os exemplos
necessrios para criar uma regra generalizada, neste caso a regra produzida possui atributos a
mais para poder cobrir somente os exemplos do conjunto utilizado em sua gerao.
A criao de regras sobre especializadas no causa problemas no sistema, entretanto a
cobertura da regra menor do que a regra desejada. No sistema atual, para que a regra sobre
especializada amplie sua cobertura, necessrio que uma nova regra seja criada, para
complementar a regra existente.
Torna-se importante estudar uma maneira de diminuir a quantidade de sobre
especializao das regras, isto ser realizados em trabalhos futuros.

91

6.1

CONCLUSO E TRABALHOS FUTUROS

Consideraes Finais
O tema automao residencial tem sido bastante estudado, as possibilidades ainda no

exploradas permitiro o desenvolvimento de muitos trabalhos em diversas reas, tais como


Engenharia, Cincia da Computao, Sociologia, entre outras.
O trabalho desenvolvido props um sistema cujo objetivo observar e aprender regras
em uma casa de acordo com o comportamento de seus habitantes, utilizando o conceito de
aprendizado com regras de induo.
O sistema proposto partiu da idia de se armazenar os eventos ocorridos nos atuadores
de uma residncia, transform-los em regras e passar a executar estas regras quando as
condies dos eventos se repetissem; fazendo uso de tcnicas de aprendizado. Somado ao
aprendizado foi feito uso de um algoritmo que permitisse no ter de armazenar todas as
regras, mas sim generalizar as regras e assim economizar processamento e memria, tal
algoritmo o C4.5, que constri rvores de deciso.
O sistema proposto tinha como desafios iniciais resolver o problema das regras que
eram imediatamente ativadas, causando desconforto ao habitante, e o problema da no
deteco de seqncias causais de eventos no tempo, a qual causa armazenamento indevido
de eventos. Os problemas foram resolvidos atravs da criao das Regras Embrionrias e da
janela de observao de eventos.
Com base nas solues identificadas, foi criado um simulador que refletia um
dormitrio de uma residncia.
A lgica do sistema possui algumas variveis que afetam diretamente o funcionamento
do sistema, por tal motivo foi necessrio avaliar o comportamento destas variveis. Para isto
foi construdo um segundo simulador que permitiu analisar as variveis.
Os experimentos realizados nos simuladores demonstraram o seguinte, durante este
trabalho:

No primeiro simulador tem-se a indicao de que o sistema funciona, tal como


foi proposto, dando destaque para as Regras Embrionrias e a janela de
observao de eventos, que funcionaram como foram idealizadas, ou seja, as
Regras Embrionrias atuam como uma etapa de validao das regras e a janela

92

de observao de eventos no permite que seqncias causais de eventos sejam


armazenadas para gerarem futuras regras.

No segundo simulador tem-se a indicao de que possvel manipular as


variveis do sistema at encontrar a melhor configurao das mesmas, de tal
forma que o sistema se adaptou ao perfil do usurio e ao ambiente que est
sendo automatizado.

Um dos itens avaliados foi a janela de observao, que teve seu correto funcionamento
comprovado, entretanto no foram realizados testes para se verificar quais os melhores
valores para a janela de observao anterior e para a janela de observao posterior. A
avaliao de eventos descartados pela janela de observao deve ser feita com uma residncia
real e no com um simulador. As simulaes com o Banco de Dados de eventos criado no
permitiriam avaliar as condies em que a janela de observao deve atuar. Tendo um Banco
de Dados colhido de uma residncia real no necessrio realizar simulaes com o sistema
ABC+, basta aplicar a lgica da janela de observao sobre o Banco de Dados e identificar
quantos eventos so admitidos e quantos so descartados, perante os valores que so
configurados na janela de observao. Na verdade, uma vez tendo colhidos os dados de uma
residncia possvel calcular quais os valores devem ser utilizados na janela de observao,
sem para isto realizar testes.
Como principais pontos positivos identificados na realizao deste trabalho destacamse:

Tem-se um indicativo de que possvel ter um sistema de Domtica


Inteligente que aprende regras em uma residncia. Este sistema torna a
automao residencial mais acessvel a usurios com pouca familiaridade em
programar e configurar sistemas, evitando que os mesmos tenham de
programar as regras que desejam ter em sua residncia.

Tem-se um indicativo de que possvel configurar o sistema de Domtica


Inteligente para se ajustar ao perfil do habitante. As variveis do sistema
permitem criar e eliminar regras com diferentes velocidades e quantidades, ou
seja, mais ou menos rapidamente as regras so criadas e/ou eliminadas e mais
ou menos regras so criadas e/ou eliminadas.

Tem-se um indicativo de que possvel disponibilizar novas regras ao


habitante de uma residncia, sem causar oscilao no banco de regras. As
Regras Embrionrias e o desenvolvimento e manuteno das regras permitem

93

que mesmo no momento em que o habitante est se adaptando a novas regras,


as mesmas no sejam descartadas.

Tem-se um indicativo de que possvel filtrar eventos que no refletem a


rotina de um habitante. Eventos que gerariam regras incorretas, pois utilizariam
dados de sensores que esto desatualizados, so eliminados.

No foram realizadas anlises com variaes de perfis de Banco de Dados de eventos


(diferentes agentes) e com variaes no nmero de sensores, atuadores e valores possveis dos
sensores e atuadores. Para que o sistema possa ser estendido para aplicaes reais necessrio
que sejam feitas novas anlises envolvendo tais variaes.
Como principais pontos negativos encontrados, durante a realizao este trabalho,
destacam-se:

O sistema trabalha atualmente com somente um habitante na residncia. No


feita a diferenciao dos habitantes, se existirem vrios habitantes, as regras
sero as mesmas para todos.

No foi criado um Banco de Dados de eventos que fosse colhido de uma


residncia real. O Banco de Dados utilizado hipottico.

No foram feitos vnculos entre sensores e atuadores, portanto no foi


percebido loop entre as regras. A presena de loop entre as Regras Ativas pode
ser um grande problema.

Foram encontradas regras com sobre especializao (overfitting).

Os pontos negativos podem ser trabalhados de maneira a serem minimizados ou


corrigidos.

6.2

Trabalhos Futuros
Para resolver ou aperfeioar algumas dos pontos negativos e assim obter uma melhora

nos resultados do trabalho realizado, prope-se alguns trabalhos futuros, descritos a seguir.
6.2.1

Utilizao da Tecnologia RFID


Utilizao da tecnologia RFID para distino de habitantes na residncia. Alguns

sensores podem identificar o usurio atravs de etiquetas RFID e assim criar bancos de regras
especficos para cada habitante.

94

Como dito anteriormente, o sistema descrito trabalha com um habitante na casa, ou


melhor, considera que todos os habitantes se utilizam as mesmas regras. Isto no reflete a
realidade em uma casa, pois as pessoas tm diferentes hbitos.
Outra limitao est na situao em que um habitante da casa se aproxima da TV da
sala e a liga. Como aprender esta ao?
Para estes casos uma possvel soluo o uso da tecnologia RFID (Radio Frequency

Identification).
Os sistemas RFID so sistemas automticos de identificao que, usando sinais de
rdio freqncia, propiciam a identificao e localizao automtica de etiquetas eletrnicas
portadoras de dados dos itens aos quais as mesmas esto relacionadas.
Um habitante que estiver com seu pijama e este contiver uma etiqueta RFID, poder se
aproximar da TV e ao lig-la todas estas informaes sero armazenadas para gerar futuras
regras.
Do mesmo modo as roupas e pertences dos habitantes, contendo etiquetas RFID,
podero servir de identificador de cada habitante. O grande desafio identificar os habitantes
sem cadastramento de suas etiquetas RFID, ou seja, o sistema tem de ser bastante inteligente
para associar os itens a cada habitante.
6.2.2

Realizao de Testes em uma Residncia Real


Um trabalho importante a ser desenvolvido a colocao de sensores e atuadores em

uma residncia real. Sendo possvel obter dados reais da rotina de usurios. Com um teste
prtico ser possvel encontrar as configuraes corretas das variveis do sistema a serem
utilizadas em um sistema que possa ser comercializado, ademais ser possvel tambm
identificar se realmente o sistema est adequado para uso comercial.
6.2.3

Variao no Nmero de Sensores e Atuadores


Trabalhar com variao no nmero de sensores e atuadores, bem como com a

quantidade de estados destes sensores e atuadores outro ponto interessante a ser estudado.
Com isto ser possvel detalhar os vnculos existentes nas variveis do sistema com as
variaes apontadas. A variao sugerida visa avaliar se existe mudana no comportamento
das variveis, por exemplo, a varivel NuEv pode apresentar um grfico diferente quando

95

submetida a 6 sensores e a 10 sensores, ou ainda quando os sensores tem 2 estados ou 5


estados.
6.2.4

Simulao e Solues para Loop


Simulao de loop entre as regras e solues para eliminao destes loops. Se algum

sensor tiver seus estados vinculados aos estados de um atuador, ou de outro sensor, estamos
diante de dependncias que podem criar um loop ou realimentao, que nada mais do que a
execuo de uma regra levar a execuo de uma segunda regra e outras execues de regras,
at que a primeira regra do loop volte a ser acionada, o que no teria mais fim. O loop pode
levar ao travamento do sistema e causar ainda problemas nos dispositivos da residncia.
Identificar quando eles aparecem e como elimin-los, torna-se um trabalho importante.
6.2.5

Minimizao de Overfitting
Identificao e execuo de solues que permitam eliminar ou diminuir a super

especializao (overfitting) das regras. Tal trabalho permitir fazer com que o sistema crie as
regras desejadas mais rapidamente e com maior preciso.

96

REFERNCIAS BIBLIOGRFICAS
AHA, D.W; KIBLER, D.; ALBERT, M. Instanced-based learning algorithms. Machine
Learning 6, 37-66. 1991.
ANGEL, P. M. Introduccin a la domtica; Domtica: controle e automao. Escuela
Brasileo-Argentina de Informtica. EBAI. 1993.
BATISTA,

G.E.

Pr-processamento

de

Dados

em Aprendizado

de

Mquina

Supervisionado. So Carlos, Tese (doutorado), Universidade de So Paulo. 2003.


BOLZANI, C.A.M. Desenvolvimento de um simulador de controle de dispositivos

residenciais inteligentes: uma introduo aos sistemas domticos. So Paulo, Dissertao


(mestrado), Universidade de So Paulo. 2004a.
BOLZANI, C.A.M. Residncias Inteligentes. Editora Livraria da Fsica, So Paulo. 2004b.
BREIMAN, L.;FREDMAN, J.H.;OLSHEN, R.A.; STONE, C.J. Classification and

Regression Trees. Morgan Kaufmann Publishers, Wadsworth, CA. 1984.


BRETERNITZ, J. V. Domtica: as casas inteligentes. Disponvel em 20/05/2006 no stio
http://www.widebiz.com.br/gente/vivaldo/domotica.html. 2001.
BROOKS, A.R. The intelligent Room Project. In: 2th International Cognitive Technology
Conference (ICT97). Proceedings. Aizu, Japo. 1997.
CAVALHIERI, M.A. Modelo Comportamental baseado em crenas a teoria Bayesiana

para simulaes de vida artificial com humanos virtuais. So Paulo, Dissertao


(mestrado), Universidade de So Paulo. 2006.
DE JONG, K. Learning with Genetic Algorithms: An Overview. Machine Learning, N 3,
p.121-138. 1988.
DOMINGUES, A.L.S. Avaliao de critrios e Ferramentas de Teste para Programa 00.
So Carlos, Dissertao (mestrado), Universidade de So Paulo. 2002.
ENG, K. et al. Ada: Constructing a synthetic organism. In IEEE/RSJ International
Conference on Intelligent Robots and System (IROS 2002). Proceedings. Lausanne. Suia.

97

2002.
HOLLAND, J.H. Escaping brittleness: The possibilities of general-purpose learning

algorithms applied to parallel rule-based systems. Machine Learning: An Artificial


Intelligence Approach, p.27. 1986.
HOPFIELD, J.J. Neural networks and physical systems with emergent collective

computational abilities. In International Academy of Science of the U.S.A., volume 81,


p.3088-3092. 1982.
HUNT, E.B.; MARIN, J.; STONE, P.J. Experiments in Induction. New York: Academic
Press, EE.UU. 1966.
KOBSA, A. Supporting User Interfaces for All Through User Modeling. Proceedings of
the HCI International, Yokohama, Japo, p. 155-157, 1995.
LOH, W.Y.; SHIH, Y.S. Split selection methods for classification trees. Statistica Sinica,
vol. 7, pp. 815-840. 1997.
MCCULLOCH, W.S.; PITTS, W. A logical calculus of the ideas imminent in nervous

activity. In Bulletin of Mathematical Biophysics, volume 5, p.115-133. 1943.


MICHALSKI, R.S.; BRATKO, I.; KUBAT M. Machine Learning and Data Mining.
Methods and Applications. Wiley & Sons Ltd., EE.UU. 1998.
MINSKY, M.L.; PAPERT, S. Perceptrons. MIT Press, Cambridge. 1969.
MITCHELL, T. Machine Learning. McGraw Hill. 1997.
MONIZ, L.M.F.F. SSAA: Sistema Para Simulao de Agentes e Ambientes. Dissertao
(mestrado). Universidade Tcnica de Lisboa. Portugal. 1993.
MORGAN, J.; MESSEGER, R. Thaid: A sequential search program for the analysis of

nominal scale dependent variables. Technical report, Institute for Social Research,
University of Michigan. Technical Report. 1973.
MURATORI, J.R. As tendncias do mercado de Automao Residencial. So Paulo,
Congresso Habitar - Congresso de Automao Residencial e Tecnologias para Habitao.
2005.

98

OSRIO, F. S. Tutorial: Redes Neurais Aprendizado Artificial. Disponvel em


20/08/2005 no stio http://www.inf.unisinos.br/~osorio/IForumIA/fia99.pdf. 1999.
QUINLAN, J.R. Induction of decision trees. Machine Learning 1, p.81-106. 1986.
QUINLAN, J.R. C4.5: Programs for Machine Learning. San Mateo, California, EE.UU,
Morgan Kaufmann Publishers. 1993.
QUINLAN, J.R. MDL and Categorical Theories. Basser Departament of Computer Science,
University of Science, Australia. 1995.
REZENDE, S.O. Sistemas Inteligentes. Fundamentos e Aplicaes. Editora Manole, So
Paulo. 2002.
ROSENBLATT, F. The Perceptron: A probabilistic Model for Information Storage and

Organization in the Brain. Psychological Review, N65, p.386-408. 1958.


RUSSELL, S.J.; NORVIG, P. Inteligncia Artificial: traduo da segunda edio.
Elsevier, Rio de Janeiro. 2004.
RUTISHAUSER, U; SCHFER, A. Adaptative Building Automation: A multi-agent

approach. Research project. University of Applied Science Rapperswil. Suia. 2002a.


RUTISHAUSER, U; SCHFER, A. Adaptative Building Intelligence: A multi-agent

approach. Diploma Thesis. University of Applied Science Rapperswil. Suia. 2002b.


SANCHES, M. K; GEROMINI, M. R. Aprendizado de Mquina. Disponvel em
10/07/2005 no stio http://labic.icmc.usp.br/didatico/am/AM-2001.pdf. 2001.
SANTOS, C. T. Um Ambiente Virtual Inteligente e Adaptativo baseado em Modelos de

Usurio e Contedo. So Leopoldo-RS, Dissertao (mestrado), Universidade do Vale do


Rio dos Sinos Unisinos . 2004.
SERVENTE, M. Algoritmos TDIDT aplicados a la mineria de datos inteligente. Buenos
Aires, Dissertao (mestrado), Universidad de Buenos Aires. 2002.
SIERRA, E.A. et al. Sistema experto para control inteligente de las variables ambientales

de un edificio energticamente eficiente. XI Reunin de Trabajo en Procesamiento de la


Informacin y Control. Buenos Aires, Argentina. 2005.

99

SIMON, H.A. Search and Reasoning in Problem Solving. Artificial Intelligence, N21, p.730. 1983.
TONIDANDEL, F. Desenvolvimento e implementao de um sistema de planejamento

baseado em casos. So Paulo, Tese (doutorado), Universidade de So Paulo. 2003.


TONIDANDEL, F; TAKIUCHI, M.; MELO, E. Domtica Inteligente: Automao baseada

em comportamento. Congresso Brasileiro de Automtica. 2004.


UTGOFF, P. E. Incremental Induction of Decision Trees. Machine Learning, vol. 4, Pgs.
161-186. 1989.
WOOLDRIDGE, M; RAO, A. Foundations of rational agency. Kluwer, Dordrecht,
Netherlands. 1999.

100

APNDICE 1

REDE DE PETRI DO SISTEMA ABC+


A seguir apresentada a Rede de Petri do funcionamento do sistema:

t4

t3

p2

p1

t5

p3

t8

p5

t1

t2

t7

t13

p8

t14

t9

t6

p4

t12

p7

t15
t10

p6

t11

p10

p9
t16

t18

p11

t17

p12

t20

t19
p14

t21

p13
t22

t27

t26
p17

LEGENDA
EA=Evento Atuador
ES=Evento Sensor
BE=Banco de Eventos
RA=Regra Ativa
BRA=Banco de Regras Ativas
RE=Regra Embrionria
BRE=Banco de Regras Embrionrias

p16

t24

t23
p15

t25

POSIES
P1 Estado inicial de espera
P2 Busca por RA existente
P3 Realizao da ao X, fazer ATIV=ATIV+1,
com ATIV mximo=T e ordenao do BRA por
ATIV
P4 Busca por ES anterior recente (R segundos)
P5 Busca por RA existente
P6 Busca por ES posterior recente (R segundos)
P7 Avaliao se a regra igual ou contrria
P8 Fazendo EXC=EXC+1, se EXC>EXC_At a
regra excluda do BRA
P9 Armazenamento dos dados do ES posterior
P10 Busca por RE existente
P11 Avaliao se a regra igual ou contrria
P12 Fazendo OK+OK+1, se OK=OK_Emb regra
vira RA
P13 - Fazendo NOK=NOK+1, se
NOK>NOK_Emb regra excluda do BRE
P14 Colocao do evento no BE
P15 C4.5 gera novas regras a partir de BE
P16 As regras repetidas so ignoradas
P17 - Regras antigas do BRE com
OK<OK_Emb_exc so excludas; coloca regras
novas no BRE; para toda RA fazer ATIV=ATIV-1;
se RA tem ATIV<ATIV_At coloca-a no BRE

TRANSIES
T1 Novo evento de sensor
T2 Novo evento de atuador
T3 Existncia de RA
T4 No existncia de RA
T5 Finalizao da ao em P3
T6 Existncia de ES anterior
T7 No existncia de ES anterior
T8 Existncia de RA
T9 No existncia de RA
T10 - Existncia de ES posterior
T11 No existncia de ES posterior
T12 A regra igual
T13 A regra contrria
T14 Finalizao da ao em P8
T15 Finalizao da ao em P9
T16 - Existncia de RE
T17 No existncia de RE
T18 - A regra igual
T19 A regra contrria
T20 - Finalizao da ao em P12
T21 Finalizao da ao em P13
T22 BE no tm NuEv eventos
T23 BE tm NuEv eventos
T24 Alguma(s) nova(s) regra(s) est(o) em
BRA ou BRE
T25 Nenhuma nova regra est em BRA ou BRE
T26 - Finalizao da ao em P16
T27 Finalizao da ao em P17

Figura A1.1 Rede de Petri do sistema ABC+.

101

APNDICE 2

TABELAS DAS SIMULAES REALIZADAS


As tabelas a seguir foram resultados das simulaes feitas e serviram para gerar os
grficos apresentados nas anlises quantitativas.
Foram utilizadas as seguintes definies:
EC-1, EC-2 e EC-3: Nmero de Regras Embrionrias criadas utilizando o bando de
dados de teste 1, 2 e 3, respectivamente.
EE-1, EE-2 e EE-3: Nmero de Regras Embrionrias excludas utilizando o bando de
dados de teste 1, 2 e 3, respectivamente.
AC-1, AC-2 e AC-3: Nmero de Regras Ativas criadas utilizando o bando de dados de
teste 1, 2 e 3, respectivamente.
AE-1, AE-2 e AE-3: Nmero de Regras Ativas excludas (rebaixadas) utilizando o
bando de dados de teste 1, 2 e 3, respectivamente.

Simulaes com a Varivel NuEv


As simulaes foram feitas variando o valor de NuEv desde 20 at 500, mantendo os
seguintes valores das outras variveis:

OK_Emb = 20;

NOK_Emb = 7;

EXC_At = 20;

ATIV_At = 2;

OK_Emb_exc = 2.
Tabela A2.1 Resultados das simulaes da varivel NuEv.

NuEv EC-1 EC-2 EC-3 EC EE-1 EE-2 EE-3


20
95 91 96 94 67 71 74
40
69 72 84 75 48 49 51
60
56 65 74 65 33 49 42
80
67 71 58 65 37 40 36
100
62 49 53 55 43 34 34
150
55 44 44 48 37 29 21
200
48 45 52 48 29 30 25
300
37 30 30 32 19 21 16
500
26 36 32 31
6 15 21

EE AC-1 AC-2 AC-3


71 25 16 19
49 18 19 25
41 22 12 23
38 20 12 19
37 10 10 15
29 11 13 15
28 11 13 12
19 10
7 11
14
7
6
9

AC AE-1 AE-2 AE-3


20 23 13 17
21 16 16 21
19 18
9 20
17 17
8 16
12
6
6 12
13
5
8
9
12
7
9
9
9
4
1
5
7
0
0
1

AE
18
18
16
14
8
7
8
3
0

102

As simulaes feitas com os outros trs Bancos de Dados onde os eventos espordicos
foram suprimidos possuem exatamente as mesmas variaes e valores das variveis e os
resultados foram:
Tabela A2.2 Resultados das simulaes da varivel NuEv, com BD somente com regras desejadas.

NuEv EC-1 EC-2 EC-3 EC EE-1 EE-2 EE-3 EE AC-1 AC-2 AC-3 AC AE-1 AE-2 AE-3 AE
20
16
22
13 17
6
6
4 5
9
14
9 11
6
11
6
8
40
9
14
17 13
1
1
3 2
8
10
9
9
3
7
8
6
60
7
11
11 10
1
0
2 1
6
10
7
8
1
6
6
4
80
12
10
9 10
0
0
0 0
10
8
7
8
6
4
3
4
100
12
6
8
9
0
1
0 0
10
5
7
7
6
0
2
3
150
7
7
10
8
1
0
0 0
6
6
7
6
0
0
2
1
200
8
7
8
8
0
0
0 0
7
6
7
7
0
0
0
0
300
8
7
7
7
0
0
0 0
7
6
6
6
0
0
0
0

103

Simulaes com a Varivel OK_Emb


As simulaes foram feitas variando o valor de OK_Emb desde 5 at 30, mantendo os
seguintes valores das outras variveis:

NuEv = 200;

NOK_Emb = 7;

EXC_At = 20;

ATIV_At = 2;

OK_Emb_exc = 2.
Tabela A2.3 Resultados das simulaes da varivel OK_Emb.

OK_Emb EC-1 EC-2 EC-3 EC EE-1 EE-2 EE-3


5
65 56 67 63 15 18 19
10
44 53 52 50 23 27 19
15
46 44 58 49 28 28 27
20
48 45 52 48 29 30 25
25
38 48 50 45 26 31 25
30
39 45 51 45 27 31 35

EE AC-1 AC-2 AC-3


17 44 37 46
23 13 19 30
28 14 13 25
28 11 13 12
27
7 16 12
31
7 12 12

AC AE-1 AE-2 AE-3


42 39 30 41
21
6 15 25
17
9 10 22
12
7
9
9
12
2 11
8
10
2
8
8

AE
37
15
14
8
7
6

104

Simulaes com a Varivel NOK_Emb


As simulaes foram feitas variando o valor de NOK_Emb desde 5 at 30, mantendo
os seguintes valores das outras variveis:

NuEv = 200;

OK_Emb = 20;

EXC_At = 20;

ATIV_At = 2;

OK_Emb_exc = 2.
Tabela A2.4 Resultados das simulaes da varivel NOK_Emb.

NOK_Emb EC-1 EC-2 EC-3


5
41 47 61
10
49 44 44
15
35 34 40
20
39 32 35
25
40 37 34
30
37 37 30

EC EE-1 EE-2 EE-3


50 26 33 40
46 21 22 22
36 13 16 17
35 10 13
9
37 11 11
7
35
8
9
7

EE AC-1 AC-2 AC-3


33
9 12 10
22 13 10 19
15 18 15 19
11 19 15 21
10 16 18 20
8 19 17 18

AC AE-1 AE-2 AE-3


10
4
7
6
14
8
6 15
17 12 10 14
18 15 10 17
18 13 13 15
18 14 14 13

AE
6
10
12
14
14
14

105

Simulaes com a Varivel EXC_At


As simulaes foram feitas variando o valor de EXC_At desde 5 at 40, mantendo os
seguintes valores das outras variveis:

NuEv = 200;

OK_Emb = 20;

NOK_Emb = 7;

ATIV_At = 2;

OK_Emb_exc = 2.
Tabela A2.5 Resultados das simulaes da varivel EXC_At.

EXC_At EC-1 EC-2 EC-3 EC EE-1 EE-2 EE-3


5
58
53
66 59
31
29
25
10
44
50
65 53
29
32
27
15
45
49
48 47
30
30
26
20
48
45
52 48
29
30
25
25
41
45
44 43
29
28
24
30
40
45
48 44
30
28
23
35
40
42
40 41
30
27
25
40
40
38
40 39
29
26
24

EE AC-1 AC-2 AC-3


28
20
18
25
29
11
16
22
29
9
16
14
28
11
13
12
27
6
12
11
27
6
12
13
27
6
11
12
26
5
11
12

AC AE-1 AE-2 AE-3


21
18
16
23
16
9
12
20
13
4
13
11
12
7
9
9
10
1
9
8
10
1
9
9
10
1
6
7
9
1
5
7

AE
19
14
9
8
6
6
5
4

106

Simulaes com a Varivel ATIV_At


As simulaes foram feitas variando o valor de ATIV_At desde 1 at 300, mantendo
os seguintes valores das outras variveis:

NuEv = 200;

OK_Emb = 5;

NOK_Emb = 50;

EXC_At = 500;

OK_Emb_exc = 1.
Tabela A2.6 Resultados das simulaes da varivel ATIV_At.

ATIV_At EC-1 EC-2 EC-3 EC EE-1 EE-2 EE-3


1
27 22 14 21
1
1
0
100
28 22 14 21
1
1
0
200
29 23 14 22
1
1
0
300
35 27 14 25
1
1
0

EE
1
1
1
1

AC-1 AC-2 AC-3


22 15 12
22 15 12
24 15 12
24 19 12

AC
16
16
17
18

AE-1 AE-2 AE-3


8
1
1
9
1
1
10
3
1
16
6
1

AE
3
4
5
8

107

Simulaes com a Varivel OK_Emb_exc


As simulaes foram feitas variando o valor de OK_Emb_exc desde 1 at 17,
mantendo os seguintes valores das outras variveis:

NuEv = 100;

OK_Emb = 20;

NOK_Emb = 20;

EXC_At = 20;

ATIV_At = 2.
Tabela A2.7 Resultados das simulaes da varivel OK_Emb_exc.

OK_Emb_exc EC-1 EC-2 EC-3 EC EE-1 EE-2 EE-3


1
41
39
43 41
15
17
12
5
38
44
43 42
17
22
12
9
52
45
43 47
22
20
12
13
55
49
43 49
33
25
12
17
55
55
47 52
40
24
13

EE AC-1 AC-2 AC-3


15
12
14
25
17
12
17
25
18
17
17
25
23
16
18
25
26
11
25
27

AC AE-1 AE-2 AE-3


17
5
10
22
18
5
13
22
20
13
13
22
20
11
14
22
21
9
22
25

AE
12
13
16
16
19

Livros Grtis
( http://www.livrosgratis.com.br )
Milhares de Livros para Download:
Baixar livros de Administrao
Baixar livros de Agronomia
Baixar livros de Arquitetura
Baixar livros de Artes
Baixar livros de Astronomia
Baixar livros de Biologia Geral
Baixar livros de Cincia da Computao
Baixar livros de Cincia da Informao
Baixar livros de Cincia Poltica
Baixar livros de Cincias da Sade
Baixar livros de Comunicao
Baixar livros do Conselho Nacional de Educao - CNE
Baixar livros de Defesa civil
Baixar livros de Direito
Baixar livros de Direitos humanos
Baixar livros de Economia
Baixar livros de Economia Domstica
Baixar livros de Educao
Baixar livros de Educao - Trnsito
Baixar livros de Educao Fsica
Baixar livros de Engenharia Aeroespacial
Baixar livros de Farmcia
Baixar livros de Filosofia
Baixar livros de Fsica
Baixar livros de Geocincias
Baixar livros de Geografia
Baixar livros de Histria
Baixar livros de Lnguas

Baixar livros de Literatura


Baixar livros de Literatura de Cordel
Baixar livros de Literatura Infantil
Baixar livros de Matemtica
Baixar livros de Medicina
Baixar livros de Medicina Veterinria
Baixar livros de Meio Ambiente
Baixar livros de Meteorologia
Baixar Monografias e TCC
Baixar livros Multidisciplinar
Baixar livros de Msica
Baixar livros de Psicologia
Baixar livros de Qumica
Baixar livros de Sade Coletiva
Baixar livros de Servio Social
Baixar livros de Sociologia
Baixar livros de Teologia
Baixar livros de Trabalho
Baixar livros de Turismo

Você também pode gostar