Escolar Documentos
Profissional Documentos
Cultura Documentos
So Bernardo do Campo
2007
Livros Grtis
http://www.livrosgratis.com.br
Milhares de livros grtis para download.
So Bernardo do Campo
2007
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.
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).
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).
SUMRIO
INTRODUO ........................................................................................................................................ 18
1
1.1
OBJETIVO ................................................................................................................................... 18
1.2
MOTIVAO ................................................................................................................................ 19
1.3
APRENDIZADO DE MQUINA........................................................................................................... 20
2.1
Inteligncia Artificial........................................................................................................... 20
2.1.2
Aprendizado......................................................................................................................... 20
2.1.3
Aprendizado Automtico..................................................................................................... 21
2.1.4
2.1.5
2.1.6
Formas de Aprendizado....................................................................................................... 24
2.1.7
2.1.8
2.1.9
2.2
ALGORITMO C4.5........................................................................................................................ 28
2.2.1
2.2.2
2.2.3
DOMTICA............................................................................................................................................. 43
3.1
Atuadores e Sensores........................................................................................................... 44
3.1.2
Controlador.......................................................................................................................... 46
3.1.3
3.2
3.3
4.2
4.3
4.4
5.2
5.2.1
5.3
Agentes ................................................................................................................................ 68
5.3.2
5.3.3
5.3.4
5.3.5
5.4
5.4.2
5.4.3
5.4.4
5.4.5
5.4.6
5.4.7
5.4.8
6.2
6.2.2
6.2.3
6.2.4
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
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
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.
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
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:
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
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
22
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
25
As rvores de deciso,
26
As Regras se-ento,
As Redes semnticas,
A Lgica de predicados.
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
Algoritmo C4.5
O algoritmo C4.5 (QUINLAN, 1993) um sistema de aprendizado que constri
29
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
H(Si)= -pi1 log pi1 pi2 log pi2 pi3 log pi3........- pin log pin
2
(2.3)
31
32
(2.7)
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)
33
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
Um conjunto de dados;
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.
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
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
Desconhecido
Ensolarado
Nublado
Chuva
No
Sim
Total
37
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
Desconhecido
Alta
Normal
No
0.3
Sim
Total
2.3
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)
39
Figura 2.4 Construo de uma rvore de deciso utilizando C4.5 (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
0
4
2
Condio ausente
<regra atual>
Estado=Ensolarado
Umidade=Alta
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
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
Condio ausente
<regra atual>
Umidade=Normal
Regra 2
SE Estado = Ensolarado
E Umidade = Normal
ENTO JogoTnis = Sim [66.2%]
Erros
0
4
Condio ausente
<regra atual>
Estado=Nublado
Regra 3
SE Estado = Nublado
ENTO JogoTnis = Sim [70.7%]
Erros
1
4
Condio ausente
<regra atual>
Estado=Chuva
Regra 4
SE Estado = Chuva
ENTO JogoTnis = Sim [54.6%]
42
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
43
DOMTICA
A palavra Domtica a juno da palavra latina Domus (casa) e do termo Robtica
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
45
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.
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
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
(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,
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).
51
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
4.1
A Janela de Observao
Nas condies em que o habitante entra no dormitrio e imediatamente acende a
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.
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.
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.
4.3
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
Pontuao
Negativa
Banco de Eventos
Regras em validao
Regra
Excluda
56
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
....
....
....
....
....
....
Regra
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
Regra
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
....
....
....
....
....
....
....
....
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
58
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
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
Torna-se necessrio definir os nomes destas variveis do sistema, as quais sero objeto
de avaliao neste trabalho:
61
62
4.4
63
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
64
65
5.2
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:
NOK_Emb = Valor do campo NOK do BDEmbrio para regra ser excluda [Q];
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
Figura 5.3 Simulador para teste das variveis do sistema ABC+ (Eventos e Regras).
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).
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
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:
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
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
69
Agente
Sensores
Percepes
Ambiente
?
Atuadores
Aes
Modelo de usurio
Um modelo de usurio conforme Santos (2004) :
70
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
Ambiente
Ao
Hbito
Percepo
Ambiente
Agente
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
72
Atuador
Sensor1
Sensor2
Sensor3
Sensor4
Sensor5
Sensor6
(Sensor2=A E Sensor5=C) OU
(Sensor3=B E Sensor6=D) OU
(Sensor1=B E Sensor4=A).
73
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.
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
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
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
OK_Emb = 20;
NOK_Emb = 7;
EXC_At = 20;
ATIV_At = 2;
OK_Emb_exc = 2.
Quantidade de Regras
EC
50
40
AC
EE
AE
30
20
10
0
20
40
60
80
100
150
200
300
500
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
18
16
EC
EE
AC
AE
14
12
10
8
6
4
2
0
20
40
60
80
100
150
200
300
Figura 5.8 Grfico da variao de NuEv, com BD somente com regras desejadas.
79
5.4.3
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)
30
80
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.
Q uantidade de Regras
60
50
40
EC
EE
30
AC
AE
20
10
0
5
10
15
20
25
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
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.
82
Quantidade de Regras
70
60
50
EC
40
EE
AC
30
AE
20
10
0
5
10
15
20
25
30
35
40
5.4.6
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
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
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
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)
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
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:
96 repeties.
87
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
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
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
Consideraes Finais
O tema automao residencial tem sido bastante estudado, as possibilidades ainda no
92
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:
93
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
sensores podem identificar o usurio atravs de etiquetas RFID e assim criar bancos de regras
especficos para cada habitante.
94
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
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
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
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
97
2002.
HOLLAND, J.H. Escaping brittleness: The possibilities of general-purpose learning
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
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
100
APNDICE 1
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
101
APNDICE 2
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.
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
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.
AE
37
15
14
8
7
6
104
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.
AE
6
10
12
14
14
14
105
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.
AE
19
14
9
8
6
6
5
4
106
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.
EE
1
1
1
1
AC
16
16
17
18
AE
3
4
5
8
107
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.
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