DISSERTAÇÃO apresentada ao CEFET-PR para obtenção do título de MESTRE EM CIÊNCIAS. por RAFAEL STUBS PARPINELLI

Tamanho: px
Começar a partir da página:

Download "DISSERTAÇÃO apresentada ao CEFET-PR para obtenção do título de MESTRE EM CIÊNCIAS. por RAFAEL STUBS PARPINELLI"

Transcrição

1 CENTRO FEDERAL DE EDUCAÇÃO TECNOLÓGICA DO PARANÁ Programa de Pós-Graduação em Engenharia Elétrica e Informática Industrial DISSERTAÇÃO apresentada ao CEFET-PR para obtenção do título de MESTRE EM CIÊNCIAS por RAFAEL STUBS PARPINELLI UM ALGORITMO BASEADO EM COLÔNIAS DE FORMIGAS PARA CLASSIFICAÇÃO EM DATA MINING Banca Examinadora: Presidente e Orientador: Prof. Dr. HEITOR SILVÉRIO LOPES CEFET-PR Examinadores: Prof. Dr. MAURÍCIO FERNANDES FIGUEIREDO Prof. Dr. ALEX ALVES FREITAS (co-orientador) Prof. Dr. LUIZ CARLOS DE ABREU RODRIGUES UEM PUC CEFET-PR Curitiba, 17 de Agosto de 2001.

2 RAFAEL STUBS PARPINELLI UM ALGORITMO BASEADO EM COLÔNIAS DE FORMIGAS PARA CLASSIFICAÇÃO EM DATA MINING Dissertação apresentada ao Programa de Pós- Graduação em Engenharia Elétrica e Informática Industrial do Centro Federal de Educação Tecnológica do Paraná, como requisito parcial para a obtenção do título de Mestre em Ciências Área de Concentração: Informática Industrial Orientador: Prof. Dr. Heitor Sivério Lopes Co-orientador: Prof. Dr. Alex Alves Freitas Curitiba 2001

3 AGRADECIMENTOS Aos professores do CPGEI, pelos ensinamentos. Aos orientadores e amigos Heitor e Alex, pelo apoio e direcionamento na pesquisa. Aos colegas de laboratório, Cézar, Célia, Miguel, Valfredo, Heitor, Igor, Ivana e Alceo, pela agradabilíssima convivência. Aos amigos Igor, Rosalba, Cézar, Célia, Elaine, Morgana, Mauren, Edson, Fernando, Shirata, Robson, Charles e Celso, pelos vários momentos alegres de descontração. Aos meus queridos pais, Jair e Natalina, minhas irmãs Roberta, Rejane e Carolina, e à todos meus parentes (avós, avôs, tios, tias, primos, primas,...), pelo total apoio. iii

4 iv

5 SUMÁRIO LISTA DE ILUSTRAÇÕES... vi LISTA DE TABELAS... vii LISTA DE ABREVEATURAS E SIGLAS...viii RESUMO... ix ABSTRACT... x 1 INTRODUÇÃO MOTIVAÇÃO OBJETIVO DESCRIÇÃO DO CONTEÚDO OTIMIZAÇÃO POR COLÔNIAS DE FORMIGAS INSETOS SOCIAIS COLÔNIAS DE FORMIGAS REAIS COLÔNIAS DE FORMIGAS ARTIFICIAIS Similaridades e diferenças com as colônias reais Desenvolvimento de um algoritmo ACO DATA MINING DESCOBERTA DE CONHECIMENTO CARACTERÍSTICAS DOS ALGORITMOS DE DATA MINING TAREFA DE CLASSIFICAÇÃO BIAS INDUTIVO - DEFINIÇÃO UM ALGORITMO DE COLÔNIA DE FORMIGAS PARA CLASSIFICAÇÃO EM DATA MINING UMA VISÃO GERAL DO ANT-MINER CONSTRUÇÃO DAS REGRAS FUNÇÃO HEURÍSTICA PODA DAS REGRAS ATUALIZAÇÃO DO FEROMÔNIO Aumento da quantidade de feromônio nos termos usados Decréscimo da quantidade de feromônio nos termos não usados USANDO AS REGRAS DESCOBERTAS PARÂMETROS DO SISTEMA v

6 5 RESULTADOS E ANÁLISES BASES DE DADOS E MÉTODO DE DISCRETIZAÇÃO UTILIZADO PARÂMETROS DO SISTEMA UTILIZADOS NOS EXPERIMENTOS CRITÉRIOS DE AVALIAÇÃO ALGORITMOS UTILIZADOS NA COMPARAÇÃO DOS RESULTADOS Algoritmo C Algoritmo CN Algoritmo MLP-BP TAXA DE ACERTO Análise dos resultados SIMPLICIDADE DAS REGRAS DESCOBERTAS Análise dos resultados Ant-Miner vs. C Ant-Miner vs. CN INFLUÊNCIA DA PODA NO ALGORITMO ANT-MINER Análise dos resultados INFLUÊNCIA DO FEROMÔNIO Análise dos resultados SENSIBILIDADE DO ANT-MINER AO AJUSTE DE PARÂMETROS Análise dos resultados CONCLUSÕES E TRABALHOS FUTUROS REFERÊNCIAS BIBLIOGRÁFICAS vi

7 LISTA DE ILUSTRAÇÕES 1. Formigas encontrando o caminho mais curto ao redor de um obstáculo Exemplo de tarefa de classificação Uma descrição do algoritmo Ant-Miner Descrição do procedimento de poda Exemplo de árvore de decisão produzida na discretização de um atributo contínuo...37 vii

8 viii

9 LISTA DE TABELAS 1. Bases de dados utilizadas nos experimentos Taxa de acerto (%) do Ant-Miner, C4.5, CN2 e MLP-BP Simplicidade das listas de regras descobertas pelo Ant-Miner, C4.5 e CN Resultados do Ant-Miner sem podar as regras Resultados do Ant-Miner sem a influência do feromônio Taxa de acerto do Ant-Miner com diferentes valores para os parâmetros...51 ix

10 x

11 LISTA DE ABREVISTURAS E SIGLAS ACO - Ant Colony Optimization (Otimização por Colônias de Formigas) Ant-Miner - Ant Colony-based Data Miner (Minerador de Dados baseado em Colônias de Formigas) C4.5 - Algoritmo de indução de regras CN2 - Algoritmo de indução de regras FN - Falso Negativo FP - Falso Positivo KDD - Knowledge Discovery in Databases (Descoberta de Conhecimento em Bases de Dados) Max_casos_n_cobertos - Número máximo de casos não cobertos no conjunto de treinamento Min_casos_por_regra - Número mínimo de casos cobertos por cada regra MLP-BP - Multi Layer Perceptron with Back-Propagation (Perceptron Multi Camadas com Retro-Propagação do Erro) N/A - Não Avaliado Num_formigas - Tamanho da população de formigas Num_regras_converg - Teste de convergência das formigas RNA - Rede Neural Artificial UCI - University of California at Irvine (Universidade da Califórnia) VN - Verdadeiro Negativo VP - Verdadeiro Positivo xi

12 xii

13 RESUMO Este trabalho propõe um algoritmo para descoberta de regras de classificação chamado Ant-Miner (Minerador de Dados baseado em Colônias de Formigas - Ant Colony-based Data Miner). O objetivo do Ant-Miner é extrair conhecimento de bases de dados. Conhecimento este que é representado na forma de regras de classificação. Para isto, fez-se uma revisão da literatura sobre a recente área de pesquisa chamada Ant Colony Optimization, a qual se baseia no comportamento de colônias de formigas reais. Revisou-se também a literatura sobre alguns conceitos de data mining. Com o intuito de comparar os resultados do sistema aqui proposto, foram utilizados três outros algoritmos. Um primeiro baseado em Redes Neurais Artificiais do tipo multi-camadas com retro-propagação do erro (MLP-BP Multi Layer Perceptron with Back-Propagation), para análise e comparação somente da taxa de acerto. E dois outros algoritmos de indução de regras bastante citados e conhecidos na literatura, C4.5 e CN2, para análise e comparação da taxa de acerto e da simplicidade do conjunto de regras descobertas. O Ant-Miner foi aplicado a oito bases de dados de domínio público e os resultados foram comparados com os obtidos pelos outros três algoritmos citados. Os resultados obtidos permitem concluir que: o Ant-Miner é competitivo com os outros algoritmos utilizados na comparação, com respeito à taxa de acerto, e as regras descobertas pelo Ant-Miner são, na maioria dos experimentos, muito mais simples do que as descobertas pelo C4.5 e pelo CN2. xiii

14 ABSTRACT This work proposes an algorithm for data mining called Ant-Miner (Ant Colony-based Data Miner). The goal of Ant-Miner is to extract knowledge from data. This discovered knowledge is expressed in the form of IF-THEN classification rules. The algorithm is inspired by both research on the behavior of real ant colonies (Ant Colony Optimization) and some data mining concepts and principles. We compare the performance of Ant-Miner in eight public domain data sets using three others algorithms: an Neural Network-based (Multi Layer Perceptron with Back-Propagation) to analyze the accuracy rate only; and two others rule induction algorithms, C4.5 and CN2, both well-known data mining algorithms. The results provide evidence that: Ant-Miner is competitive with the three algorithms with respect to predictive accuracy; and the rule lists discovered by Ant-Miner are considerably simpler (smaller) than those discovered by C4.5 and CN2. xiv

15 1 CAPÍTULO 1 INTRODUÇÃO 1.1 MOTIVAÇÃO Recentemente tem havido um grande interesse na área de data mining, onde o objetivo geral é descobrir conhecimento que não é apenas correto, mas também compreensível e interessante para o usuário (FAYYAD, PIATETSKY-SHAPIRO e SMYTH, 1996; FREITAS e LAVINGTON, 1998). O interesse na extração deste conhecimento é fazer com que o usuário entenda os resultados produzidos pelo sistema e combine-os com seu próprio conhecimento para tomar uma decisão melhor informado, ao invés de confiar cegamente em um sistema com resultados incompreensíveis. Em uma base de dados pode-se ter vários atributos que se correlacionam entre si e o usuário desconhecer este fato. Com o uso de técnicas de data mining é possível gerar regras que correlacionem estes atributos simplificando a análise da base em questão. Em data mining, o conhecimento descoberto é frequentemente representado na forma de regras de previsão (ou classificação) do tipo: SE <condições> ENTÃO <classe> A parte <condições> é o antecedente da regra e contém uma combinação lógica de atributos previsores, na forma: termo1 E termo2 E.... Cada termo é uma tripla <atributo, operador, valor>, tal como <Gênero = feminino>. A parte <classe> é o consequente da regra e contém a classe prevista para os casos (objetos ou registros) cujos atributos previsores satisfazem a parte <condições> da regra. Em essência, a tarefa de classificação consiste em associar cada caso a uma classe, dentre um grupo pré-definido de classes, baseado em valores de alguns atributos (chamados de atributos previsores) para o caso. O uso de algoritmos baseados em colônias de formigas Ant-based Algorithms ou, como é mais frequentemente citado, Ant Colony Optimization (ACO) (DORIGO, COLORNI e MANIEZZO, 1996) como método para descobrir/induzir regras de classificação, no contexto de data mining, é uma área de pesquisa ainda muito pouco explorada. Atualmente, o único trabalho baseado em colônias de formigas desenvolvido para data mining e que se tem conhecimento é um algoritmo para clustering (MONMARCHE, 1999), que é,

16 2 com certeza, uma tarefa de data mining bastante diferente da tarefa de classificação apresentada neste trabalho. Também, em CORDÓN, CASILLAS e HERRERA (2000) foi proposto um outro tipo de sistema baseado em colônia de formigas para descoberta de regras. Entretanto, neste trabalho as regras geradas são regras fuzzy, usadas em um sistema de controle fuzzy, ao invés de regras de classificação no espírito de data mining. Acredita-se que o desenvolvimento de algoritmos baseados em colônias de formigas aplicados a data mining seja uma área de pesquisa promissora, pois um sistema baseado em colônias de formigas envolve agentes simples (formigas) que cooperam uns com os outros para alcançar um comportamento emergente e unificado, produzindo um sistema robusto capaz de encontrar soluções de alta qualidade para problemas com grande espaço de busca. No contexto da descoberta de regras, um sistema baseado em colônias de formigas tem a habilidade de desenvolver uma busca flexível e robusta para uma boa combinação das condições lógicas envolvendo os valores dos atributos previsores. Outro fato motivador é que grande parte dos trabalhos realizados na área de data mining foram desenvolvidos utilizando algoritmos do tipo árvores de decisão ou indução de regras determinísticos. Estes algoritmos são do tipo subida-de-colina (hill-climbing) onde pode ocorrer do algoritmo apenas encontrar pontos de máximos locais e não o máximo global. A utilização do paradigma ACO como técnica para indução de regras de classificação procura amenizar este problema, visto que esta abordagem possui um componente estocástico que favorece uma busca global sobre o espaço de busca do problema. Neste trabalho é investigada a eficácia da técnica ACO aplicada à descoberta de regras de classificação do tipo SE- ENTÃO em comparação com os algoritmos determinísticos. 1.2 OBJETIVO O presente trabalho tem como objetivo aplicar o paradigma de Otimização por Colônias de Formigas (ACO) a data mining, mais especificamente para a tarefa de classificação, com o intuito de extrair conhecimento na forma de regras do tipo SE-ENTÃO para auxílio à tomada de decisão. Por ser uma área de pesquisa ainda muito pouco explorada no contexto de data mining, este trabalho tem por objetivo desenvolver um novo algoritmo de ACO para descoberta de regras de classificação e também divulgar esta vertente de pesquisa, contribuindo com uma nova aplicação do paradigma ACO.

17 3 1.3 DESCRIÇÃO DE CONTEÚDO Esta dissertação está organizada em seis capítulos. No Capítulo 2 faz-se uma revisão da literatura sobre a heurística de Otimização por Colônias de Formigas, partindo-se desde o seu surgimento recente, até suas aplicações atuais. O Capítulo 3 revisa os tipos de tarefas de data mining e alguns conceitos. O Capítulo 4 descreve em detalhes o desenvolvimento do algoritmo aqui proposto Ant-Miner. No Capítulo 5 relatam-se os resultados obtidos e algumas discussões. E, finalmente, o Capítulo 6 apresenta as conclusões e trabalhos futuros.

18 4

19 5 CAPÍTULO 2 OTIMIZAÇÃO POR COLÔNIAS DE FORMIGAS 2.1 INSETOS SOCIAIS Insetos que vivem em colônias, tais como as formigas, abelhas, vespas e cupins, seguem suas próprias agendas de tarefas independentemente uns dos outros. Entretanto, quando estes insetos atuam em conjunto (como uma comunidade), eles são capazes de solucionar problemas complexos de seus cotidianos através de cooperação mútua. Problemas como selecionar e coletar materiais, encontrar e estocar comida, que requerem planejamentos sofisticados, são resolvidos por colônias de insetos sem nenhum tipo de supervisor ou controlador. Este comportamento coletivo que surge de um grupo de insetos sociais tem sido chamado de Inteligência de Enxames Swarm Inteligence (BONABEAU, DORIGO e THERAULAZ, 1999). Alguns comportamentos observados e estudados atualmente em insetos sociais são: a forma que se organizam para agrupar e ordenar larvas e corpos; a maneira que constróem seus ninhos e colméias; a maneira como se organizam para procurar alimentos; como é feita a divisão de trabalho no ambiente em que vivem; e como se organizam para transportar materiais. Uma colônia de insetos é um sistema descentralizado que soluciona problemas de grandes proporções, como citado anteriormente, fazendo-se uso de entidades muito simples que interagem entre si. As principais características destes sistemas são a flexibilidade e a robustez com os quais solucionam os problemas: a flexibilidade permite a adaptação da colônia às mudanças do ambiente, enquanto que a robustez permite que a tarefa em andamento seja concluída mesmo com uma possível falha de alguns indivíduos. Um dos mecanismos que dá suporte no entendimento da cooperação entre os insetos está fenotipicamente determinado através das diferenças físicas entre os indivíduos. Por exemplo, em espécies polimórficas de formigas, a divisão de trabalho pode ocorrer de forma que dois ou mais tipos físicos diferentes de operários coexistam na mesma colônia. Na espécie

20 6 Pheidole, operários mais jovens são menores e morfologicamente diferentes dos operários adultos e realizam tarefas diferentes: enquanto que os adultos, com mandíbulas muito mais desenvolvidas, cortam pedaços de folhas ou defendem o ninho, os operários jovens alimentam as larvas ou limpam o ambiente. Na ausência ou insuficiência de operários jovens, os adultos são estimulados a realizar as tarefas usualmente cumpridas pelos mais jovens, demostrando um alto grau de plasticidade na divisão de trabalho dentro da colônia. Muitas das atividades coletivas realizadas por insetos sociais são auto-organizáveis não necessitando de diferenças morfológicas entre os indivíduos. Estas atividades se caracterizam por interações a nível microscópico (através de substâncias químicas por exemplo) em muitas espécies de formigas e que fazem surgir padrões macroscópicos como, por exemplo, a definição das rotas entre fontes de alimentos e o ninho. Um sistema auto-organizável é um sistema que possui mecanismos que condicionam o surgimento de padrões a nível global através da interação entre os componentes que o constituem. Estes componentes interagem entre si tendo como base unicamente uma informação local, sem nenhuma referência ao padrão global a ser encontrado (solução do problema). Como, por exemplo, o comportamento global (melhor rota) das formigas que buscam por alimento e que emerge a partir de trilhas de feromônio 1 (informação local). Sob auto-organizaçao se define três conceitos/características básicas (BONABEAU, DORIGO e THERAULAZ, 1999): Realimentação positiva (amplificação positive feedback) que promove a criação de padrões/soluções. Um exemplo de realimentação positiva é o recrutamento para busca de alimento, que pode ser na forma de trilhas de feromônio em algumas espécies de formigas ou danças em colônias de abelhas; Realimentação negativa (negative feedback) a qual contrabalança a realimentação positiva, ajudando a estabilizar o padrão coletivo sendo buscado. A realimentação negativa pode ser na forma de saturação, exaustão ou competição. No exemplo da busca por alimento em colônias de formigas, a realimentação negativa pode se originar através da exaustão da fonte de alimento, competição entre fontes de alimentos ou evaporação das trilhas de feromônio; 1 Feromônio é uma substância química utilizada como meio de comunicação entre indivíduos de uma mesma espécie.

21 7 Flutuações (aleatoriedade) as quais são de grande importância pois tornam o sistema mais hábil para descobrir novas soluções (melhor exploração do espaço de busca). Para que uma colônia de insetos se auto-organize na realização de determinada tarefa, é necessário que tais insetos interajam entre si: tais interações podem ser diretas ou indiretas. Interações diretas ocorrem na forma de contatos através das antenas, troca de comida ou líquido, contato mandibular, contato visual, etc.. Interações indiretas são mais sutis: dois indivíduos interagem indiretamente quando um deles modifica o ambiente e o outro responde às novas características do ambiente em um instante de tempo seguinte. Tais interações indiretas são chamadas de estigmergia (um comportamento individual modifica o ambiente, o qual modifica o comportamento de outros indivíduos) (BONABEAU, DORIGO e THERAULAZ, 1999; DORIGO, MANIEZZO E COLORNI, 1991; DORIGO, DI CARO e GAMBARDELLA, 1999). A estigmergia está diretamente associada com o fator de flexibilidade da colônia. Isto porque quando o ambiente muda devido a alguma perturbação externa, os insetos respondem naturalmente a esta perturbação, como se fosse uma modificação causada pela atividade da colônia. Ou seja, a colônia coletivamente responde a perturbações externas com indivíduos exibindo o mesmo comportamento. No contexto de agentes (insetos) artificiais, este tipo de flexibilidade é de grande valia pois significa que os agentes podem responder a perturbações sem a necessidade de serem reprogramados para lidar com a perturbação específica. Alguns exemplos resultantes da combinação de estigmergia com auto-organização podem ser vistos em BONABEAU, DORIGO e THERAULAZ (1999): no recrutamento de formigas, aonde as trilhas de feromônio deixadas pelas formigas são uma forma de modificar o ambiente para se comunicar com as outras formigas que seguem estas trilhas; modificando o ambiente na limpeza do ninho, onde a resposta dos outros indivíduos às novas características do ambiente pode ser no não engajamento de novos operários para a limpeza, estando livres para desempenhar outras tarefas; e na engenharia que surge nas construções dos ninhos e colméias. Em todos estes casos o ambiente serve como meio de comunicação. Dentre os comportamentos observados em insetos sociais, a busca por alimento é o que possui maior aplicabilidade em problemas do mundo real. Na sequência, a Subseção 2.2 explica com maiores detalhes como surge este comportamento em colônias de formigas reais e na Subseção 2.3 é detalhado como colônias de formigas artificiais fazem uso deste comportamento para aplicações computacionais.

22 8 2.2 COLÔNIAS DE FORMIGAS REAIS Formigas são capazes de encontrar a rota mais curta entre uma fonte de alimento e o seu ninho sem o uso de informação visual, sendo capazes também de se adaptar a mudanças no meio (DORIGO, COLORNI e MANIEZZO, 1996). Um dos principais problemas estudados pelos entomologistas 2 é compreender como que animais quase cegos, tais como as formigas, conseguem encontrar o caminho mais curto entre sua colônia e uma fonte de alimento. Foi descoberto que, para trocar informação sobre qual caminho deve ser seguido, as formigas se comunicam umas com as outras através de trilhas de feromônio. O movimento das formigas deixa uma certa quantidade de feromônio no chão, marcando o caminho com uma trilha desta substância. O comportamento coletivo que emerge é uma forma de processo autocatalítico 3 que, quanto mais formigas seguirem uma trilha, mais atrativa esta trilha se tornará para ser seguida por outras formigas. Este processo pode ser descrito como um laço de alimentação positiva, onde a probabilidade de uma formiga escolher um caminho aumenta com o número de formigas que passaram por aquele caminho anteriormente (BONABEAU, DORIGO e THERAULAZ, 1999; DORIGO, COLORNI e MANIEZZO, 1996; DORIGO e GAMBARDELLA, 1997; DORIGO, DI CARO e GAMBARDELLA, 1999; STÜTZLE e DORIGO, 1999). A idéia básica deste processo é ilustrado na Figura 1. Na figura mais à esquerda as formigas se movem em linha reta do ninho para a fonte de alimento e vice-versa. A figura do centro ilustra o que acontece logo após um obstáculo ser colocado no caminho entre a fonte de alimento e o ninho. Para contornar o obstáculo, cada formiga, aleatoriamente, tem de escolher Ninho Ninho Ninho Comida Comida Comida Figura 1: Formigas encontrando o caminho mais curto ao redor de um obstáculo 2 Entomologistas são pesquisadores que estudam comportamentos em insetos. 3 Um processo autocatalítico (i.e. realimentação positiva) é um processo que se auto-reforça, de forma a causar uma convergência muito rápida e, se nenhum mecanismo de limitação for contraposto, pode causar uma explosão.

23 9 entre virar para a esquerda ou para a direita (com uma distribuição de probabilidade de 50%- 50%). Todas as formigas se movem aproximadamente com a mesma velocidade e depositam feromônio na trilha aproximadamente à mesma taxa. Entretanto, as formigas que, probabilisticamente, escolherem virar para a esquerda (direção ninho comida) irão percorrer a trilha de feromônio mais rapidamente, enquanto que as formigas que optaram por contornar o obstáculo pela direita seguirão um caminho mais longo, demorando mais para contornar o obstáculo. O mesmo ocorre com as formigas que estiverem fazendo o caminho (comida ninho). Como resultado, o feromônio é acumulado mais rapidamente no caminho mais curto ao redor do obstáculo. Visto que as formigas preferem seguir trilhas com grandes quantidades de feromônio, eventualmente todas as formigas convergirão para o caminho mais curto ao redor do obstáculo, como mostrado na figura da direita. Este processo no qual uma formiga é influenciada a seguir determinado caminho em direção a uma fonte de alimento por outra formiga ou por uma trilha de feromônio é uma forma de estigmergia conhecida como recrutamento. 2.3 COLÔNIAS DE FORMIGAS ARTIFICIAIS Um algoritmo de Colônias de Formigas (Ant-based Algorithms ou, como é mais frequentemente citado, Ant Colony Optimization ACO) é um sistema baseado em agentes que simula o comportamento natural das formigas na procura por alimentos desenvolvendo mecanismos de cooperação e aprendizado. A metodologia ACO foi proposta por DORIGO, COLORNI e MANIEZZO (1996) como uma nova heurística para resolver problemas de otimização combinatorial. Existem diversos problemas de otimização combinatorial na área de Pesquisa Operacional que são da classe NP, isto é, não existem algoritmos limitados polinomialmente que resolvam estes problemas. Em situações práticas, estes problemas são muito difíceis de serem resolvidos por algoritmos exatos, pois seu espaço de busca é muito grande, desencorajando o uso de métodos de busca exaustiva. Uma alternativa para a solução destes problemas é a utilização de métodos heurísticos, os quais abandonam a certeza da busca em favor de heurísticas que aumentem a probabilidade de efetuar um movimento rápido em direção à meta final. Dentre estes métodos encontra-se a heurística ACO. A metodologia ACO tem sido aplicada a uma variedade de problemas de otimização combinatorial tais como: o problema do caixeiro viajante (DORIGO e GAMBARDELLA,

24 ), associação quadrática (MANIEZZO e COLORNI, 1999), roteamento de veículos (BULLNHEIMER, HARTL e STRAUSS, 1997), escalonamento job shop (COLORNI, DORIGO, MANIEZZO et al., 1994), coloração de mapas (COSTA e HERTZ, 1997), dentre outras. Em data mining, a heurística ACO tem sido recentemente aplicada à tarefa de classificação (PARPINELLI, LOPES e FREITAS, 2001a, 2001b e 2001c) e à de clustering (MONMARCHE, 1999). ACO tem sido aplicada também no aprendizado de regras para controle fuzzy (CORDÓN, CASILLAS e HERRERA, 2000). Esta nova heurística tem se mostrado robusta, podendo ser aplicada a vários problemas de otimização combinatorial sem sofrer muitas alterações, como por exemplo, para o problema de associação quadrática e o problema de escalonamento de tarefas; e versátil, podendo ser aplicada à versões similares do mesmo problema, como por exemplo, para o problema do caixeiro viajante simétrico e assimétrico. Além disso, a estrutura dos algoritmos ACO é altamente adequada para processamento paralelo (BULLNHEIMER, KOTSIS e STRAUSS, 1998; STÜTZLE, 1998). Um ponto importante em se tratando de ACO é o fato de ser uma heurística baseada em população. Isto é vantajoso pois permite ao sistema usar o processo de realimentação positiva entre os agentes como mecanismo de busca. De passagem, é interessante mencionar que atualmente tem havido um interesse crescente no desenvolvimento de algoritmos para descoberta de regras de classificação que se baseiam em outras heurísticas baseadas em população principalmente algoritmos evolucionários (ARAÚJO, LOPES e FREITAS, 1999 e 2000; BOJARCZUK, LOPES e FREITAS, 1999 e 2000; FIDELIS, LOPES e FREITAS, 1999 e 2000; FREITAS, 1997; 1999 e 2001; NODA, FREITAS e LOPES, 1999) Similaridades e diferenças com as colônias reais Os algoritmos ACO, como dito anteriormente, originaram-se do estudo do comportamento da busca por alimento em formigas reais e fazem uso de (DORIGO, COLORNI e MANIEZZO, 1996; DORIGO, DI CARO e GAMBARDELLA, 1999): uma colônia de indivíduos que cooperam entre si; uma trilha de feromônio artificial para comunicação local; uma sequência de movimentos locais para formar os caminhos; uma política de decisão probabilística que faz uso somente da informação local.

25 11 Estes itens são detalhados a seguir: Cooperação entre os indivíduos da colônia. Como nas colônias reais, os algoritmos ACO são compostos por uma população, ou colônia, de entidades (formigas) concorrentes e assíncronas, que cooperam globalmente entre si para encontrar uma boa solução para o problema em questão. Mesmo que a complexidade do problema seja tal que prejudique a busca da formiga por soluções de alta qualidade, o resultado da cooperação entre os indivíduos da colônia como um todo normalmente produz soluções de alta qualidade. Como em uma colônia real, normalmente as formigas conseguem encontrar um caminho entre seu ninho e uma fonte de alimento. Esta cooperação entre os indivíduos da colônia surge através da informação que eles concorrentemente lêem/escrevem nos estados do problema (explicado no próximo item) que visitam; Trilhas de feromônio. As formigas artificiais modificam alguns aspectos no ambiente em que vivem assim como as formigas reais também o fazem. Enquanto as formigas reais depositam uma substância química, feromônio, as formigas artificiais modificam algumas informações numéricas armazenadas localmente no estado do problema que estão visitando. Por analogia, esta informação numérica é chamada de trilha de feromônio artificial, ou somente trilha de feromônio. Assim como as formigas reais, as formigas artificiais têm preferência probabilística por caminhos com maior quantidade de feromônio. Desta forma, caminhos mais curtos tendem a ter altas taxas de crescimento em suas quantidades de feromônio. Em algoritmos ACO as trilhas de feromônio são os únicos canais de comunicação entre as formigas. Usualmente, um mecanismo de evaporação, similar a evaporação real do feromônio, modifica a informação da quantidade de feromônio o tempo todo. A evaporação do feromônio permite que a colônia de formigas vagarosamente esqueça seu passado, podendo direcionar sua busca para novas soluções sem a influência das decisões tomadas tempos atrás; Busca por caminhos curtos e uso de movimentos locais. Tanto as formigas reais quanto as formigas artificiais compartilham uma mesma tarefa: encontrar um caminho mais curto (de custo mínimo) que junte a origem (ninho) com um destino (fontes de comida). As formigas reais e artificiais não pulam de um estado para outro, elas andam através de estados adjacentes no espaço de busca. A exata definição de estado e adjacência são específicas para cada problema que se esteja aplicando o algoritmo;

26 12 Regra de transição de estado probabilística e míope (visão de curto alcance). As formigas artificiais, assim como as reais, constróem soluções aplicando uma regra de transição probabilística para se mover através dos estados adjacentes. Como para as formigas reais, as formigas artificiais fazem uso somente da informação local, não podendo olhar para frente para prever possíveis estados. Sendo assim, esta regra de transição é completamente local, no espaço e no tempo. A regra de transição é uma função composta pela informação previamente conhecida do problema, representada pelas especificações do mesmo (equivalente à estrutura do terreno para formigas reais), e pelas modificações locais no ambiente (trilhas de feromônio) provocadas pelas formigas no passado. As formigas artificiais têm também algumas características que não são encontradas nas colônias de formigas reais (BONABEAU, DORIGO e THERAULAZ, 1999; DORIGO, COLORNI e MANIEZZO, 1996): Formigas artificiais vivem em um mundo discreto e seus movimentos consistem de transições de estados discretos para estados discretos; Formigas artificiais têm um estado interno. Este estado particular contém a memória das ações passadas de determinada formiga; Formigas artificiais depositam quantidades de feromônio em função da qualidade da solução encontrada. Somente algumas poucas espécies de formigas reais depositam quantidades de feromônio conforme a qualidade das fontes de alimentos encontradas; O momento em que as formigas artificiais atualizam/depositam o feromônio nas trilhas depende do problema e frequentemente não reflete o comportamento das colônias reais. Por exemplo, em muitos casos as formigas artificiais atualizam as trilhas de feromônio somente depois de terem gerado uma solução. Resumindo, a idéia básica é que, quando uma dada formiga tiver de escolher entre dois ou mais caminhos, o caminho que tiver sido mais frequentemente escolhido por outras formigas no passado terá uma maior probabilidade de ser escolhido por esta formiga para ser seguido. Sendo assim, trilhas com grandes quantidades de feromônio se tornam sinônimos de caminhos mais curtos.

27 Desenvolvimento de um algoritmo ACO Em essência, um algoritmo ACO (Ant Colony Optimization) executa iterativamente um loop contendo dois procedimentos básicos, que são: Um procedimento especificando como as formigas constróem ou modificam as soluções do problema a ser resolvido; e Um procedimento para a atualização das trilhas de feromônio. A construção ou modificação de uma solução é feita de maneira probabilística. A probabilidade de se adicionar um novo item à solução parcial corrente é dada por uma função heurística dependente do problema (η) e da quantidade de feromônio (τ) depositada pelas formigas no passado. A atualização das trilhas de feromônio é implementada como uma função que depende de uma taxa de evaporação do feromônio e da qualidade da solução produzida. Para implementar um ACO, primeiro deve-se definir (BONABEAU, DORIGO e THERAULAZ, 1999): Uma representação apropriada do problema, o qual deve permitir às formigas incrementalmente construir ou modificar soluções através do uso de uma regra probabilística de transição baseada na quantidade de feromônio na trilha e em uma heurística local; Um método para forçar a construção de soluções válidas (por exemplo, soluções que são válidas em uma determinada situação do mundo real) correspondentes à definição do problema; Uma função heurística (η) que mede a qualidade dos itens que podem ser adicionados à solução parcial atual; Uma regra para atualização do feromônio, a qual especifica como modificar a quantidade de feromônio na trilha (τ); Uma regra probabilística de transição baseada no valor da função heurística (η) e no conteúdo da trilha de feromônio (τ).

28 14

29 15 CAPÍTULO 3 DATA MINING 3.1 DESCOBERTA DE CONHECIMENTO Os métodos tradicionais que não fazem uso de sistemas computacionais, utilizados para transformar a informação armazenada em bases de dados em conhecimento necessitam de análise e interpretação manuais. À medida que uma base de dados cresce exponencialmente, torna-se ineficiente, inviável e impraticável a análise manual. O aumento da capacidade de análise, neste caso, pode ser obtido com o aumento do número de pessoas alocadas para a tarefa em questão ou com o aumento do número de pessoas com maior capacidade de análise. Não é realista supor que se possa aumentar a capacidade de análise na mesma proporção que cresce a complexidade do problema. O processo como um todo, da descoberta de conhecimento em bases de dados, é chamado de KDD (Knowledge Discovery in Databases Descoberta de Conhecimento em Bases de Dados), enquanto que o processo de data mining é um passo em particular deste processo. O processo de KDD inclui, além de data mining, passos como a preparação inicial da informação, sua seleção, filtragem, introdução de conhecimento já obtido e interpretação/consolidação dos resultados (FAYYAD, PIATETSKY-SHAPIRO e SMYTH, 1996). O KDD envolve várias áreas de pesquisa tais como bancos de dados, reconhecimento de padrões, inteligência artificial, estatística e visualização de dados, incorporando teorias, algoritmos e métodos destas áreas. O processo de data mining se propõe a descobrir conhecimento novo a partir de informações armazenadas em uma base de dados. A decisão de quanto o modelo reflete ou não conhecimento útil é feita no processo interativo do KDD, onde o julgamento humano é necessário. 3.2 CARACTERÍSTICAS DOS ALGORITMOS DE DATA MINING

30 16 Uma grande variedade de algoritmos de data mining têm sido descritos na literatura, os quais podem ser baseados em técnicas estatísticas determinísticas, buscas heurísticas, redes neurais artificiais, algoritmos genéticos, programação genética, etc.. Especificamente, pode-se dizer que os algoritmos de data mining consistem da composição de três componentes: o modelo, o critério de escolha e o algoritmo de busca (FAYYAD, PIATETSKY-SHAPIRO e SMYTH, 1996). Existem dois fatores relevantes a respeito do modelo: a função do modelo e a forma de representação do modelo. As funções (ou tarefas) mais comuns são: Classificação. Atribui a cada objeto (registro) uma classe, dentre um conjunto de classes pré-definidas. Como essa função é a abordada neste trabalho, ela será descrita em mais detalhes na Seção 3.3; Regressão. Mapea os dados para uma variável de valor real. De modo análogo à classificação, atribui a cada objeto um valor de um atributo especial, chamado atributo-meta. Porém, o atributo-meta é numérico, podendo assumir valores contínuos; ao contrário da classificação, onde o atributo meta é categórico, podendo assumir apenas as classes pré-definidas; Agrupamento (clustering). Mapea os dados em grupos ou classes. Esta tarefa se diferencia da classificação pelo fato destes grupos serem determinados pelo algoritmo e não pré-definidos como na classificação; Sumarização. Fornece uma descrição compacta de um subgrupo da base de dados; Modelagem de dependência. Descreve dependências significativas entre atributos. Esta tarefa é uma generalização da tarefa de classificação, no sentido que nesta tarefa há vários (mais de um) atributos-meta; Associação ou análise de relacionamento entre atributos. Determina as relações entre os campos de uma base de dados. Difere da modelagem de dependência principalmente pelo fato de não buscar regras previsoras; Análise de sequência. Modela padrões sequenciais com o objetivo de obter o estado do processo gerando a sequência ou para extrair e mostrar desvios e tendências. As formas de representação dos modelos mais comuns incluem árvores de decisão e regras SE-ENTÃO, modelos lineares, modelos não-lineares, modelos baseados em exemplos, e modelos de dependência gráfica probabilística. A flexibilidade do modelo e sua interpretação são determinados diretamente pela escolha de uma das representações

31 17 previamente citadas. Geralmente, os modelos mais complexos tendem a representar melhor os dados, mas também criam dificuldades no momento de interpretar os resultados, como ocorre em redes neurais. O algoritmo de busca é escolhido de acordo com o tipo particular de modelo ou tipos de modelos com o qual se está trabalhando e um critério de preferência (bias). Algumas características desejáveis para um algoritmo de data mining são: Que o algoritmo: Descubra conhecimento compreensível, normalmente definido como sendo regras expressas em um alto nível de abstração; Tenha alto grau de autonomia, necessário para descobrir conhecimento previamente desconhecido pelo usuário; Seja eficiente no processo de descoberta de conhecimento, necessária para lidar com grandes bancos de dados; Seja integrado com bancos de dados, o que também é importante para lidar com grandes bancos de dados. A compreensibilidade do conhecimento geralmente é associada à simplicidade sintática. Isso significaria que quanto menor a complexidade da regra descoberta em termos de número de condições, mais compreensível é a regra. Entretanto, esse conceito não é totalmente correto pois, em algumas aplicações, regras simples com apenas um atributo no antecedente podem tornar a regra descoberta genérica demais a ponto de invalidar sua condição como informação útil. Considerando um exemplo simples, em uma base de dados com características do corpo humano é possível descobrir regras como: SE (é bípede) ENTÃO (é homem), mas haveriam também as mulheres e até mesmo as aves sendo englobadas por essa regra. Além disso, o quanto o conhecimento deve ser compreensível depende de cada aplicação. Por exemplo, embora regras compreensíveis sejam essenciais em medicina (uma vez que vidas humanas estão em jogo) e em aplicações financeiras, a compreensibilidade tende a ser menos importante do que a porcentagem de previsões corretas. A principal motivação para descobrir regras de fácil compreensão está no fato de que em data mining o resultado é geralmente analisado por seres humanos. Uma melhor interpretação representa uma melhor utilização do conhecimento descoberto. Por outro lado, se os resultados forem usados diretamente por um sistema de computador, sem envolver, no processo de transição, uma interpretação humana, a compreensibilidade não é tão relevante.

32 18 Outro fator que influencia a compreensibilidade é a forma escolhida para representar os dados. A linguagem escolhida obviamente depende do usuário final ao qual os dados serão passados. Por exemplo, considere-se dados médicos para o diagnóstico de pacientes com certa patologia. Para um médico experiente, as informações podem ser apresentadas na forma de números, por exemplo, quantidade de insulina no sangue, pois ele possui capacidade para interpretar os dados nessa forma, enquanto que talvez um médico ainda em fase de residência compreenderá muito melhor se os resultados aparecerem discretizados como alto-risco, médio-risco e baixo-risco. Note-se que, para escolher qual abordagem seguir, deve-se achar um bom balanceamento entre o quanto de precisão se quer e o grau de simplicidade desejado. 3.3 TAREFA DE CLASSIFICAÇÃO O termo classificação pode cobrir qualquer contexto no qual alguma decisão ou previsão é feita tendo como base a informação disponível em dado momento. Um algoritmo de classificação é a ferramenta para fazer tais julgamentos em novas situações. Neste trabalho considera-se uma definição mais restrita de classificação. Assume-se que o problema se concentra na construção de um algoritmo que será aplicado a uma sequência de casos (objetos ou registros), sendo que cada novo caso deve ser associado a uma classe, de um grupo prédefinido de classes, tomando como base a observação dos atributos ou características de cada caso (FREITAS e LAVINGTON, 1998). A construção de um algoritmo de classificação (classificador), partindo-se de uma base de dados onde as classes verdadeiras dos casos são conhecidas, pode ser conhecida também por outros termos como reconhecimento de padrões, discriminação ou por aprendizado supervisionado (para diferenciar do aprendizado nãosupervisionado ou clustering, no qual as classes são deduzidas partindo-se dos dados). Dentre as aplicações nas quais a tarefa de classificação é fundamental, podem ser citados processos mecânicos, por exemplo, ordenação de cartas por uma máquina de postagem; atribuição de créditos a clientes em bases financeiras; e diagnósticos preliminares de patologias. De fato, alguns dos problemas que surgem na ciência, indústria e comércio podem ser vistos como problemas de classificação ou decisão usando dados complexos e frequentemente muito extensos. Um exemplo simples da tarefa de classificação é visto na Figura 2 (FREITAS e LAVINGTON, 1998). Neste exemplo, cada linha da base de dados (Figura 2a) representa um registro mostrando se determinado cliente comprou ou não certo produto (um livro, por

33 19 exemplo). Cada registro é composto por três atributos previsores Sexo, País e Idade e um atributo-meta (comprar ou não o produto). Com base nestes dez casos registrados, a Figura 2b a) Dados de entrada para um sistema de classificação Sexo País Idade Comprar (meta) Masc. França 25 Sim Masc. Inglaterra 21 Sim Fem. França 23 Sim Fem. Inglaterra 34 Sim Fem. França 30 Não Masc. Alemanha 21 Não Masc. Alemanha 20 Não Fem. Alemanha 18 Não Fem. França 34 Não Masc. França 55 Não b) Regras de classificação descobertas a partir dos dados de entrada SE (País = Alemanha ) ENTÃO (Comprar = Não ) SE (País = Inglaterra ) ENTÃO (Comprar = Sim ) SE (País = França E Idade 25) ENTÃO (Comprar = Sim ) SE (País = França E Idade > 25) ENTÃO (Comprar = Não ) Figura 2: Exemplo de tarefa de classificação mostra quatro regras de classificação que podem ser possivelmente descobertas por algum algoritmo de indução de regras. Note-se que o atributo Sexo compõe nenhuma regra. Isto porque tem um baixo poder de previsão, sendo irrelevante para a classificação. Na tarefa de classificação a base de dados geralmente é dividida em dois subconjuntos: um conjunto de treinamento (onde a classe é conhecida) e um conjunto de teste (onde a classe é desconhecida pelo algoritmo de data mining). As regras descobertas pelo classificador são avaliadas no conjunto de teste não vistos durante o treinamento (CHEN, HAN e YU, 1996). Esse é um ponto importante, pois se as regras descobertas fossem avaliadas no conjunto de treinamento, o qual foi usado para guiar a descoberta das regras, a estimativa de qualidade

34 20 (precisão preditiva) das regras seria otimista demais. O desafio é prever a classe de casos nos dados de teste, não vistos durante o treinamento. 3.4 BIAS INDUTIVO - DEFINIÇÃO Tendo-se um conjunto de amostras de dados, a quantidade de hipóteses (formas de abstrair conhecimento) que implicam essas amostras é potencialmente infinito. Um bias (tendência) é qualquer critério (explícito ou implícito), utilizado para favorecer uma hipótese ou outra, com exceção de consistências com os dados. Desta forma, todo algoritmo de aprendizado indutivo possui um bias sem bias não há indução (MITCHELL, 1980). Existem dois tipos de bias indutivo: Bias de representação É a forma de representação do conhecimento gerado pelo algoritmo de indução. Por exemplo, a maioria dos algoritmos de indução de regras não consegue descobrir regras que comparam dois atributos diferentes, como SE (Atrib1 > Atrib2).... Bias de busca (ou preferência) No caso de indução de regras, este bias é implementado pela função de avaliação das regras e pelo método de busca.

35 21 CAPÍTULO 4 UM ALGORITMO BASEADO EM COLÔNIAS DE FORMIGAS PARA CLASSIFICAÇÃO EM DATA MINING Neste capítulo será discutido em detalhes o algoritmo ACO proposto para a descoberta de regras de classificação, chamado Ant-Miner (Ant Colony-based Data Miner). O capítulo é subdividido em sete partes: uma descrição geral do Ant-Miner, a construção das regras, a função heurística, a poda das regras, a atualização do feromônio, o uso das regras descobertas para classificar novos casos e os parâmetros do sistema (PARPINELLI, LOPES e FREITAS, 2001a, 2001b e 2001c). 4.1 UMA VISÃO GERAL DO ANT-MINER Em um algoritmo ACO cada formiga incrementalmente constrói/modifica uma solução para determinado problema alvo. No caso deste trabalho o problema alvo é a descoberta de regras de classificação. Como mencionado no Capítulo 1, cada regra de classificação tem a forma: SE < termo1 E termo2 E...> ENTÃO <classe> Cada termo é uma tripla <atributo, operador, valor>, onde valor é um valor pertencendo ao domínio de atributo. O elemento operador na tripla é um operador relacional. A atual versão do Ant-Miner pode lidar somente com atributos categóricos, sendo o elemento operador na tripla sempre =. Atributos contínuos (valores reais) são discretizados como um passo de pré-processamento (KOHAVI e SAHAMI, 1996) (este processo é mais detalhado na Subseção 5.1). A parte <classe> é o consequente da regra e contém a classe prevista para os casos (objetos ou registros) em que os atributos previsores satisfazem a parte <termo1 E termo2 E...>, que são as condições que compõem a regra. Uma descrição de alto nível do Ant-Miner é mostrada na Figura 3. Ant-Miner segue uma sequência de passos para descobrir uma lista ordenada de regras de classificação que cubra todos ou quase todos os casos de treinamento. No início do processo de descoberta das regras a lista que armazenará as regras é uma lista vazia e o conjunto de treinamento é composto por todos os casos de treinamento. No inicio do laço ENQUANTO, todas as trilhas (estados do problema) são inicializadas com a mesma quantidade de feromônio. Cada iteração

36 22 do laço ENQUANTO, correspondente ao número de execuções do laço REPITA-ATÉ, descobre uma regra de classificação. Esta regra é adicionada à lista de regras descobertas, e os casos de treinamento que são corretamente cobertos por esta regra (i.e. os casos que satisfazem o antecedente da regra e têm a classe prevista pelo seu consequente) são removidos do conjunto de treinamento. Este processo é iterativamente executado enquanto o número de casos de treinamento for maior do que um parâmetro especificado pelo usuário, chamado Max_casos_n_cobertos (casos não cobertos no conjunto de treinamento). ConjuntoTreinamento = {todos os casos de treinamento }; ListaDeRegras = []; /* lista das regras é inicializada como lista vazia */ ENQUANTO (ConjuntoTreinamento > Max_casos_n_cobertos) i = 1; /* índice de cada formiga */ j = 1; /* índice do teste de convergência */ Inicialize todas trilhas com a mesma quantidade de feromônio; REPITA Ant i começa com uma regra vazia e incrementalmente constrói uma regra de classificação R i, adicionando um termo por vez à regra atual; Pode a regra R i ; Atualize o feromônio de todas as trilhas, incrementando o feromônio na trilha seguida pela formiga Ant i (proporcionalmente a qualidade da regra R i ) e decrementando o feromônio nas outras trilhas (simulando a evaporação do feromônio); SE (R i for igual a R i 1 ) /* atualiza teste de convergência */ ENTÃO j = j + 1; SENÃO j = 1; FIM-SE i = i + 1; ATÉ (i Num_formigas) OU (j Num_regras_converg) Escolha a melhor regra R m dentre todas as regras R i construídas pelas formigas; Adicione a regra R m na ListaDeRegras; ConjuntoTreinamento = ConjuntoTreinamento - {grupo de casos corretamente cobertos por R m }; FIM-ENQUANTO Adicione a regra padrão na última posição de ListaDeRegras; Figura 3: Uma descrição do algoritmo Ant-Miner Cada iteração do laço REPITA-ATÉ da Figura 3 engloba três passos: a construção da regra, a poda da regra e a atualização do feromônio, discutidos nas próximas subseções. No primeiro passo, construção da regra (Subseção 4.2), cada formiga Ant i começa com uma regra vazia, i.e. uma regra com nenhum termo em seu antecedente, e adiciona um termo por vez à sua regra parcial. A regra parcial construída por uma formiga corresponde ao caminho parcial seguido por esta formiga. Similarmente, a escolha de um termo para ser adicionado na regra parcial corresponde à escolha de uma direção para onde o caminho atual

37 23 será estendido, dentre todas as possíveis direções (todos os termos que podem ser adicionados à regra parcial). A escolha do termo a ser adicionado à regra parcial da formiga depende de dois fatores: da função heurística dependente do problema (η) e da quantidade de feromônio (τ) associada a cada termo, que serão discutidas em detalhes nas próximas subseções 4.3 e 4.5, respectivamente. Uma formiga adiciona termos um-a-um à sua regra até que esteja incapaz de continuar construindo sua regra. Esta situação pode surgir em duas situações: Quando todos os termos ainda não adicionados à regra fizerem com que esta cubra um número de casos menor que um limiar especificado pelo usuário, Min_casos_por_regra (número mínimo de casos cobertos por cada regra); ou Quando todos os atributos já tiverem sido usados pela formiga. Desta forma não haverá mais atributos para serem adicionados ao antecedente da regra. Notificando que cada atributo pode ocorrer somente uma vez em cada regra, para evitar regras inválidas, como por exemplo: SE (Sexo = masculino) E (Sexo = feminino).... Quando um destes dois critérios de parada for satisfeito, significa que a formiga Ant i construiu a regra R i (completou um caminho) e, a princípio, poder-se-ia utilizar esta regra para classificação. Na prática, entretanto, é desejável podar a regra descoberta (segundo passo do algoritmo) para remover termos irrelevantes que podem ter sido desnecessariamente inseridos na regra. Estes termos irrelevantes podem ter sido inseridos na regra devido a variações estocásticas no procedimento de seleção dos termos e/ou devido ao uso de uma função heurística local ou míope que considera somente um atributo por vez, ignorando interações entre atributos. O método de poda usado no Ant-Miner é descrito na Subseção 4.4. Como terceiro passo do algoritmo, a quantidade de feromônio em cada trilha é atualizada. Esta atualização do feromônio é feita de acordo com a qualidade da regra R i construída pela formiga Ant i. Desta forma, as outras formigas começam a construir suas regras usando as novas quantidades de feromônio para guiar sua busca. Este processo é repetido até que uma das duas condições seguintes sejam alcançadas: O número de regras construídas for maior ou igual do que um limiar especificado pelo usuário Num_formigas (indica o tamanho da população de formigas); ou

Inteligência Computacional Aplicada a Engenharia de Software

Inteligência Computacional Aplicada a Engenharia de Software Inteligência Computacional Aplicada a Engenharia de Software Estudo de caso III Prof. Ricardo de Sousa Britto rbritto@ufpi.edu.br Introdução Em alguns ambientes industriais, pode ser necessário priorizar

Leia mais

Inteligência de Enxame: ACO

Inteligência de Enxame: ACO Inteligência de Enxame: ACO! Otimização colônia de formigas é uma meta-heurística: «baseada em população «inspirada no comportamento forrageiro das formigas.! Muitas espécies de formigas são quase cegas.!

Leia mais

A Otimização Colônia de Formigas

A Otimização Colônia de Formigas A Otimização Colônia de Formigas Estéfane G. M. de Lacerda Departamento de Engenharia da Computação e Automação UFRN 22/04/2008 Índice A Inspiração Biológica O Ant System Aplicado ao PCV O Ant System Aplicado

Leia mais

IA Colônia de Formigas. Prof. Ricardo Britto DIE-UFPI rbritto@ufpi.edu.br

IA Colônia de Formigas. Prof. Ricardo Britto DIE-UFPI rbritto@ufpi.edu.br IA Colônia de Formigas Prof. Ricardo Britto DIE-UFPI rbritto@ufpi.edu.br Sumário Introdução O Experimento da Ponte Binária. Ant System Aplicado ao PCV. Elitist Ant System. Introdução Otimização colônia

Leia mais

O que é? Swarm Intelligence. Qual a origem? Cardume. Qualquer tentativa de projetar algoritmos ou técnicas de resolução distribuída de

O que é? Swarm Intelligence. Qual a origem? Cardume. Qualquer tentativa de projetar algoritmos ou técnicas de resolução distribuída de O que é? Swarm Intelligence (Inteligência oletiva) Prof. Luis Otavio lvares Qualquer tentativa de projetar algoritmos ou técnicas de resolução distribuída de problemas inspirada pelo comportamento coletivo

Leia mais

ADM041 / EPR806 Sistemas de Informação

ADM041 / EPR806 Sistemas de Informação ADM041 / EPR806 Sistemas de Informação UNIFEI Universidade Federal de Itajubá Prof. Dr. Alexandre Ferreira de Pinho 1 Sistemas de Apoio à Decisão (SAD) Tipos de SAD Orientados por modelos: Criação de diferentes

Leia mais

Na medida em que se cria um produto, o sistema de software, que será usado e mantido, nos aproximamos da engenharia.

Na medida em que se cria um produto, o sistema de software, que será usado e mantido, nos aproximamos da engenharia. 1 Introdução aos Sistemas de Informação 2002 Aula 4 - Desenvolvimento de software e seus paradigmas Paradigmas de Desenvolvimento de Software Pode-se considerar 3 tipos de paradigmas que norteiam a atividade

Leia mais

Sistema de mineração de dados para descobertas de regras e padrões em dados médicos

Sistema de mineração de dados para descobertas de regras e padrões em dados médicos Sistema de mineração de dados para descobertas de regras e padrões em dados médicos Pollyanna Carolina BARBOSA¹; Thiago MAGELA² 1Aluna do Curso Superior Tecnólogo em Análise e Desenvolvimento de Sistemas

Leia mais

Projeto e Análise de Algoritmos Projeto de Algoritmos Introdução. Prof. Humberto Brandão humberto@dcc.ufmg.br

Projeto e Análise de Algoritmos Projeto de Algoritmos Introdução. Prof. Humberto Brandão humberto@dcc.ufmg.br Projeto e Análise de Algoritmos Projeto de Algoritmos Introdução Prof. Humberto Brandão humberto@dcc.ufmg.br aula disponível no site: http://www.bcc.unifal-mg.edu.br/~humberto/ Universidade Federal de

Leia mais

Dadas a base e a altura de um triangulo, determinar sua área.

Dadas a base e a altura de um triangulo, determinar sua área. Disciplina Lógica de Programação Visual Ana Rita Dutra dos Santos Especialista em Novas Tecnologias aplicadas a Educação Mestranda em Informática aplicada a Educação ana.santos@qi.edu.br Conceitos Preliminares

Leia mais

1. Introdução. 1.1 Introdução

1. Introdução. 1.1 Introdução 1. Introdução 1.1 Introdução O interesse crescente dos físicos na análise do comportamento do mercado financeiro, e em particular na análise das séries temporais econômicas deu origem a uma nova área de

Leia mais

Aprendizagem de Máquina

Aprendizagem de Máquina Aprendizagem de Máquina Professor: Rosalvo Ferreira de Oliveira Neto Disciplina: Inteligência Artificial Tópicos 1. Definições 2. Tipos de aprendizagem 3. Paradigmas de aprendizagem 4. Modos de aprendizagem

Leia mais

2 Diagrama de Caso de Uso

2 Diagrama de Caso de Uso Unified Modeling Language (UML) Universidade Federal do Maranhão UFMA Pós Graduação de Engenharia de Eletricidade Grupo de Computação Assunto: Diagrama de Caso de Uso (Use Case) Autoria:Aristófanes Corrêa

Leia mais

CONCURSO PÚBLICO ANALISTA DE SISTEMA ÊNFASE GOVERNANÇA DE TI ANALISTA DE GESTÃO RESPOSTAS ESPERADAS PRELIMINARES

CONCURSO PÚBLICO ANALISTA DE SISTEMA ÊNFASE GOVERNANÇA DE TI ANALISTA DE GESTÃO RESPOSTAS ESPERADAS PRELIMINARES CELG DISTRIBUIÇÃO S.A EDITAL N. 1/2014 CONCURSO PÚBLICO ANALISTA DE GESTÃO ANALISTA DE SISTEMA ÊNFASE GOVERNANÇA DE TI RESPOSTAS ESPERADAS PRELIMINARES O Centro de Seleção da Universidade Federal de Goiás

Leia mais

6 Construção de Cenários

6 Construção de Cenários 6 Construção de Cenários Neste capítulo será mostrada a metodologia utilizada para mensuração dos parâmetros estocásticos (ou incertos) e construção dos cenários com respectivas probabilidades de ocorrência.

Leia mais

Figura 5.1.Modelo não linear de um neurônio j da camada k+1. Fonte: HAYKIN, 2001

Figura 5.1.Modelo não linear de um neurônio j da camada k+1. Fonte: HAYKIN, 2001 47 5 Redes Neurais O trabalho em redes neurais artificiais, usualmente denominadas redes neurais ou RNA, tem sido motivado desde o começo pelo reconhecimento de que o cérebro humano processa informações

Leia mais

MINERAÇÃO DE DADOS APLICADA. Pedro Henrique Bragioni Las Casas pedro.lascasas@dcc.ufmg.br

MINERAÇÃO DE DADOS APLICADA. Pedro Henrique Bragioni Las Casas pedro.lascasas@dcc.ufmg.br MINERAÇÃO DE DADOS APLICADA Pedro Henrique Bragioni Las Casas pedro.lascasas@dcc.ufmg.br Processo Weka uma Ferramenta Livre para Data Mining O que é Weka? Weka é um Software livre do tipo open source para

Leia mais

Tabela de Símbolos. Análise Semântica A Tabela de Símbolos. Principais Operações. Estrutura da Tabela de Símbolos. Declarações 11/6/2008

Tabela de Símbolos. Análise Semântica A Tabela de Símbolos. Principais Operações. Estrutura da Tabela de Símbolos. Declarações 11/6/2008 Tabela de Símbolos Análise Semântica A Tabela de Símbolos Fabiano Baldo Após a árvore de derivação, a tabela de símbolos é o principal atributo herdado em um compilador. É possível, mas não necessário,

Leia mais

Pós-Graduação em Gerenciamento de Projetos práticas do PMI

Pós-Graduação em Gerenciamento de Projetos práticas do PMI Pós-Graduação em Gerenciamento de Projetos práticas do PMI Planejamento do Gerenciamento das Comunicações (10) e das Partes Interessadas (13) PLANEJAMENTO 2 PLANEJAMENTO Sem 1 Sem 2 Sem 3 Sem 4 Sem 5 ABRIL

Leia mais

Podemos encontrar uma figura interessante no PMBOK (Capítulo 7) sobre a necessidade de organizarmos o fluxo de caixa em um projeto.

Podemos encontrar uma figura interessante no PMBOK (Capítulo 7) sobre a necessidade de organizarmos o fluxo de caixa em um projeto. Discussão sobre Nivelamento Baseado em Fluxo de Caixa. Item aberto na lista E-Plan Podemos encontrar uma figura interessante no PMBOK (Capítulo 7) sobre a necessidade de organizarmos o fluxo de caixa em

Leia mais

Conceito de pesquisa

Conceito de pesquisa Conceito de pesquisa A pesquisa e uma atividade voltada para a solução de problemas, através do emprego de procedimentos científicos. Seus elementos são: 1. Problema ou dúvida 2. Metodo científico 3. Resposta

Leia mais

Administração de dados - Conceitos, técnicas, ferramentas e aplicações de Data Mining para gerar conhecimento a partir de bases de dados

Administração de dados - Conceitos, técnicas, ferramentas e aplicações de Data Mining para gerar conhecimento a partir de bases de dados Universidade Federal de Pernambuco Graduação em Ciência da Computação Centro de Informática 2006.2 Administração de dados - Conceitos, técnicas, ferramentas e aplicações de Data Mining para gerar conhecimento

Leia mais

XIII Encontro de Iniciação Científica IX Mostra de Pós-graduação 06 a 11 de outubro de 2008 BIODIVERSIDADE TECNOLOGIA DESENVOLVIMENTO

XIII Encontro de Iniciação Científica IX Mostra de Pós-graduação 06 a 11 de outubro de 2008 BIODIVERSIDADE TECNOLOGIA DESENVOLVIMENTO XIII Encontro de Iniciação Científica IX Mostra de Pós-graduação 06 a 11 de outubro de 2008 BIODIVERSIDADE TECNOLOGIA DESENVOLVIMENTO EPE0147 UTILIZAÇÃO DA MINERAÇÃO DE DADOS EM UMA AVALIAÇÃO INSTITUCIONAL

Leia mais

Gerenciamento de Projetos Modulo II Ciclo de Vida e Organização do Projeto

Gerenciamento de Projetos Modulo II Ciclo de Vida e Organização do Projeto Gerenciamento de Projetos Modulo II Ciclo de Vida e Organização do Projeto Prof. Walter Cunha falecomigo@waltercunha.com http://waltercunha.com PMBoK Organização do Projeto Os projetos e o gerenciamento

Leia mais

FLUXOGRAMA DA PESQUISA

FLUXOGRAMA DA PESQUISA FLUXOGRAMA DA PESQUISA Desde a preparação até a apresentação de um relatório de pesquisa estão envolvidas diferentes etapas. Algumas delas são concomitantes; outras são interpostas. O fluxo que ora se

Leia mais

Complemento II Noções Introdutória em Redes Neurais

Complemento II Noções Introdutória em Redes Neurais Complemento II Noções Introdutória em Redes Neurais Esse documento é parte integrante do material fornecido pela WEB para a 2ª edição do livro Data Mining: Conceitos, técnicas, algoritmos, orientações

Leia mais

ROTEIRO PARA ELABORAÇÃO DE PROJETOS

ROTEIRO PARA ELABORAÇÃO DE PROJETOS APRESENTAÇÃO ROTEIRO PARA ELABORAÇÃO DE PROJETOS Breve histórico da instituição seguido de diagnóstico e indicadores sobre a temática abrangida pelo projeto, especialmente dados que permitam análise da

Leia mais

DATA WAREHOUSE. Introdução

DATA WAREHOUSE. Introdução DATA WAREHOUSE Introdução O grande crescimento do ambiente de negócios, médias e grandes empresas armazenam também um alto volume de informações, onde que juntamente com a tecnologia da informação, a correta

Leia mais

4 Avaliação Econômica

4 Avaliação Econômica 4 Avaliação Econômica Este capítulo tem o objetivo de descrever a segunda etapa da metodologia, correspondente a avaliação econômica das entidades de reservas. A avaliação econômica é realizada a partir

Leia mais

MRP II. Planejamento e Controle da Produção 3 professor Muris Lage Junior

MRP II. Planejamento e Controle da Produção 3 professor Muris Lage Junior MRP II Introdução A lógica de cálculo das necessidades é conhecida há muito tempo Porém só pode ser utilizada na prática em situações mais complexas a partir dos anos 60 A partir de meados da década de

Leia mais

O Processo de KDD. Data Mining SUMÁRIO - AULA1. O processo de KDD. Interpretação e Avaliação. Seleção e Pré-processamento. Consolidação de dados

O Processo de KDD. Data Mining SUMÁRIO - AULA1. O processo de KDD. Interpretação e Avaliação. Seleção e Pré-processamento. Consolidação de dados SUMÁRIO - AULA1 O Processo de KDD O processo de KDD Interpretação e Avaliação Consolidação de dados Seleção e Pré-processamento Warehouse Data Mining Dados Preparados p(x)=0.02 Padrões & Modelos Conhecimento

Leia mais

Feature-Driven Development

Feature-Driven Development FDD Feature-Driven Development Descrição dos Processos Requisitos Concepção e Planejamento Mais forma que conteúdo Desenvolver um Modelo Abrangente Construir a Lista de Features Planejar por

Leia mais

DESENVOLVIMENTO DE UM SOFTWARE NA LINGUAGEM R PARA CÁLCULO DE TAMANHOS DE AMOSTRAS NA ÁREA DE SAÚDE

DESENVOLVIMENTO DE UM SOFTWARE NA LINGUAGEM R PARA CÁLCULO DE TAMANHOS DE AMOSTRAS NA ÁREA DE SAÚDE DESENVOLVIMENTO DE UM SOFTWARE NA LINGUAGEM R PARA CÁLCULO DE TAMANHOS DE AMOSTRAS NA ÁREA DE SAÚDE Mariane Alves Gomes da Silva Eliana Zandonade 1. INTRODUÇÃO Um aspecto fundamental de um levantamento

Leia mais

CAP 254 CAP 254. Otimização Combinatória. Professor: Dr. L.A.N. Lorena. Assunto: Metaheurísticas Antonio Augusto Chaves

CAP 254 CAP 254. Otimização Combinatória. Professor: Dr. L.A.N. Lorena. Assunto: Metaheurísticas Antonio Augusto Chaves CAP 254 CAP 254 Otimização Combinatória Professor: Dr. L.A.N. Lorena Assunto: Metaheurísticas Antonio Augusto Chaves Conteúdo C01 Simulated Annealing (20/11/07). C02 Busca Tabu (22/11/07). C03 Colônia

Leia mais

Aprendizagem de Máquina. Ivan Medeiros Monteiro

Aprendizagem de Máquina. Ivan Medeiros Monteiro Aprendizagem de Máquina Ivan Medeiros Monteiro Definindo aprendizagem Dizemos que um sistema aprende se o mesmo é capaz de melhorar o seu desempenho a partir de suas experiências anteriores. O aprendizado

Leia mais

Metodologias de Desenvolvimento de Sistemas. Analise de Sistemas I UNIPAC Rodrigo Videschi

Metodologias de Desenvolvimento de Sistemas. Analise de Sistemas I UNIPAC Rodrigo Videschi Metodologias de Desenvolvimento de Sistemas Analise de Sistemas I UNIPAC Rodrigo Videschi Histórico Uso de Metodologias Histórico Uso de Metodologias Era da Pré-Metodologia 1960-1970 Era da Metodologia

Leia mais

GARANTIA DA QUALIDADE DE SOFTWARE

GARANTIA DA QUALIDADE DE SOFTWARE GARANTIA DA QUALIDADE DE SOFTWARE Fonte: http://www.testexpert.com.br/?q=node/669 1 GARANTIA DA QUALIDADE DE SOFTWARE Segundo a NBR ISO 9000:2005, qualidade é o grau no qual um conjunto de características

Leia mais

Lista de verificação (Check list) para planejamento e execução de Projetos

Lista de verificação (Check list) para planejamento e execução de Projetos www.tecnologiadeprojetos.com.br Lista de verificação (Check list) para planejamento e execução de Projetos Eduardo F. Barbosa Dácio G. Moura Material didático utilizado na disciplina Desenvolvimento de

Leia mais

Sistemas de Informação I

Sistemas de Informação I + Sistemas de Informação I Dimensões de análise dos SI Ricardo de Sousa Britto rbritto@ufpi.edu.br + Introdução n Os sistemas de informação são combinações das formas de trabalho, informações, pessoas

Leia mais

)HUUDPHQWDV &RPSXWDFLRQDLV SDUD 6LPXODomR

)HUUDPHQWDV &RPSXWDFLRQDLV SDUD 6LPXODomR 6LPXODomR GH6LVWHPDV )HUUDPHQWDV &RPSXWDFLRQDLV SDUD 6LPXODomR #5,6. Simulador voltado para análise de risco financeiro 3RQWRV IRUWHV Fácil de usar. Funciona integrado a ferramentas já bastante conhecidas,

Leia mais

Complemento IV Introdução aos Algoritmos Genéticos

Complemento IV Introdução aos Algoritmos Genéticos Complemento IV Introdução aos Algoritmos Genéticos Esse documento é parte integrante do material fornecido pela WEB para a 2ª edição do livro Data Mining: Conceitos, técnicas, algoritmos, orientações e

Leia mais

AUTOR: DAVID DE MIRANDA RODRIGUES CONTATO: davidmr@ifce.edu.br CURSO FIC DE PROGRAMADOR WEB VERSÃO: 1.0

AUTOR: DAVID DE MIRANDA RODRIGUES CONTATO: davidmr@ifce.edu.br CURSO FIC DE PROGRAMADOR WEB VERSÃO: 1.0 AUTOR: DAVID DE MIRANDA RODRIGUES CONTATO: davidmr@ifce.edu.br CURSO FIC DE PROGRAMADOR WEB VERSÃO: 1.0 SUMÁRIO 1 Conceitos Básicos... 3 1.1 O que é Software?... 3 1.2 Situações Críticas no desenvolvimento

Leia mais

Relatório Trabalho Prático 2 : Colônia de Formigas para Otimização e Agrupamento

Relatório Trabalho Prático 2 : Colônia de Formigas para Otimização e Agrupamento Relatório Trabalho Prático 2 : Colônia de Formigas para Otimização e Agrupamento Ramon Pereira Lopes Rangel Silva Oliveira 31 de outubro de 2011 1 Introdução O presente documento refere-se ao relatório

Leia mais

Algoritmos e Programação (Prática) Profa. Andreza Leite andreza.leite@univasf.edu.br

Algoritmos e Programação (Prática) Profa. Andreza Leite andreza.leite@univasf.edu.br (Prática) Profa. Andreza Leite andreza.leite@univasf.edu.br Introdução O computador como ferramenta indispensável: Faz parte das nossas vidas; Por si só não faz nada de útil; Grande capacidade de resolução

Leia mais

3 Classificação. 3.1. Resumo do algoritmo proposto

3 Classificação. 3.1. Resumo do algoritmo proposto 3 Classificação Este capítulo apresenta primeiramente o algoritmo proposto para a classificação de áudio codificado em MPEG-1 Layer 2 em detalhes. Em seguida, são analisadas as inovações apresentadas.

Leia mais

ENGENHARIA DE SOFTWARE I

ENGENHARIA DE SOFTWARE I ENGENHARIA DE SOFTWARE I Prof. Cássio Huggentobler de Costa [cassio.costa@ulbra.br] Twitter: www.twitter.com/cassiocosta_ Agenda da Aula (002) Metodologias de Desenvolvimento de Softwares Métodos Ágeis

Leia mais

MUDANÇAS NA ISO 9001: A VERSÃO 2015

MUDANÇAS NA ISO 9001: A VERSÃO 2015 MUDANÇAS NA ISO 9001: A VERSÃO 2015 Está em andamento o processo de revisão da Norma ISO 9001: 2015, que ao ser concluído resultará na mudança mais significativa já efetuada. A chamada família ISO 9000

Leia mais

Orientação a Objetos

Orientação a Objetos 1. Domínio e Aplicação Orientação a Objetos Um domínio é composto pelas entidades, informações e processos relacionados a um determinado contexto. Uma aplicação pode ser desenvolvida para automatizar ou

Leia mais

Tecnologia em Gestão Pública Desenvolvimento de Projetos - Aula 9 Prof. Rafael Roesler

Tecnologia em Gestão Pública Desenvolvimento de Projetos - Aula 9 Prof. Rafael Roesler Tecnologia em Gestão Pública Desenvolvimento de Projetos - Aula 9 Prof. Rafael Roesler Introdução Objetivos da Gestão dos Custos Processos da Gerência de Custos Planejamento dos recursos Estimativa dos

Leia mais

Gerenciamento de Problemas

Gerenciamento de Problemas Gerenciamento de Problemas O processo de Gerenciamento de Problemas se concentra em encontrar os erros conhecidos da infra-estrutura de TI. Tudo que é realizado neste processo está voltado a: Encontrar

Leia mais

Sistemas Auto-organizáveis BC0005

Sistemas Auto-organizáveis BC0005 Aplicações Sistemas Auto-organizáveis BC0005 Bases Computacionais da Ciência Modelagem e simulação Solução de problemas reais por modelos computacionais (visto na aula anterior) Sistemas auto-organizáveis

Leia mais

7.Conclusão e Trabalhos Futuros

7.Conclusão e Trabalhos Futuros 7.Conclusão e Trabalhos Futuros 158 7.Conclusão e Trabalhos Futuros 7.1 Conclusões Finais Neste trabalho, foram apresentados novos métodos para aceleração, otimização e gerenciamento do processo de renderização

Leia mais

Universidade Tecnológica Federal do Paraná UTFPR Programa de Pós-Graduação em Computação Aplicada Disciplina de Mineração de Dados

Universidade Tecnológica Federal do Paraná UTFPR Programa de Pós-Graduação em Computação Aplicada Disciplina de Mineração de Dados Universidade Tecnológica Federal do Paraná UTFPR Programa de Pós-Graduação em Computação Aplicada Disciplina de Mineração de Dados Prof. Celso Kaestner Poker Hand Data Set Aluno: Joyce Schaidt Versão:

Leia mais

MLP (Multi Layer Perceptron)

MLP (Multi Layer Perceptron) MLP (Multi Layer Perceptron) André Tavares da Silva andre.silva@udesc.br Roteiro Rede neural com mais de uma camada Codificação de entradas e saídas Decorar x generalizar Perceptron Multi-Camada (MLP -

Leia mais

INSTITUTO TECNOLÓGICO DE AERONÁUTICA DIVISÃO DE ENGENHARIA ELETRÔNICA LABORATÓRIO DE GUERRA ELETRÔNICA

INSTITUTO TECNOLÓGICO DE AERONÁUTICA DIVISÃO DE ENGENHARIA ELETRÔNICA LABORATÓRIO DE GUERRA ELETRÔNICA INSTITUTO TECNOLÓGICO DE AERONÁUTICA DIVISÃO DE ENGENHARIA ELETRÔNICA LABORATÓRIO DE GUERRA ELETRÔNICA CURSO DE ESPECIALIZAÇÃO EM ANÁLISE DE AMBIENTE ELETROMAGNÉTICO CEAAE /2008 DISCIPLINA EE-09: Inteligência

Leia mais

PLANOS DE CONTINGÊNCIAS

PLANOS DE CONTINGÊNCIAS PLANOS DE CONTINGÊNCIAS ARAÚJO GOMES Capitão SC PMSC ARAÚJO GOMES defesacivilgomes@yahoo.com.br PLANO DE CONTINGÊNCIA O planejamento para emergências é complexo por suas características intrínsecas. Como

Leia mais

ISO/IEC 12207: Gerência de Configuração

ISO/IEC 12207: Gerência de Configuração ISO/IEC 12207: Gerência de Configuração Durante o processo de desenvolvimento de um software, é produzida uma grande quantidade de itens de informação que podem ser alterados durante o processo Para que

Leia mais

Otimização de Funções Não Lineares por Meio do Algoritmo Árvore da Montanha

Otimização de Funções Não Lineares por Meio do Algoritmo Árvore da Montanha Otimização de Funções Não Lineares por Meio do Algoritmo Árvore da Montanha Amarildo de Vicente Colegiado do Curso de Matemática Centro de Ciências Exatas e Tecnológicas da Universidade Estadual do Oeste

Leia mais

Engenharia de Software III

Engenharia de Software III Engenharia de Software III Casos de uso http://dl.dropbox.com/u/3025380/es3/aula6.pdf (flavio.ceci@unisul.br) 09/09/2010 O que são casos de uso? Um caso de uso procura documentar as ações necessárias,

Leia mais

CAPÍTULO 3 - TIPOS DE DADOS E IDENTIFICADORES

CAPÍTULO 3 - TIPOS DE DADOS E IDENTIFICADORES CAPÍTULO 3 - TIPOS DE DADOS E IDENTIFICADORES 3.1 - IDENTIFICADORES Os objetos que usamos no nosso algoritmo são uma representação simbólica de um valor de dado. Assim, quando executamos a seguinte instrução:

Leia mais

IA: Problemas de Satisfação de Restrições. Prof. Msc. Ricardo Britto DIE-UFPI rbritto@ufpi.edu.br

IA: Problemas de Satisfação de Restrições. Prof. Msc. Ricardo Britto DIE-UFPI rbritto@ufpi.edu.br IA: Problemas de Satisfação de Restrições Prof. Msc. Ricardo Britto DIE-UFPI rbritto@ufpi.edu.br Introdução Um PSR é definido por um conjunto de variáveis X 1, X 2,..., X n, e por um conjunto de restrições,

Leia mais

ALESSANDRO RODRIGO FRANCO FERNANDO MARTINS RAFAEL ALMEIDA DE OLIVEIRA

ALESSANDRO RODRIGO FRANCO FERNANDO MARTINS RAFAEL ALMEIDA DE OLIVEIRA ALESSANDRO RODRIGO FRANCO FERNANDO MARTINS RAFAEL ALMEIDA DE OLIVEIRA INTRODUÇÃO O projeto de um banco de dados é realizado sob um processo sistemático denominado metodologia de projeto. O processo do

Leia mais

Pesquisa com Professores de Escolas e com Alunos da Graduação em Matemática

Pesquisa com Professores de Escolas e com Alunos da Graduação em Matemática Pesquisa com Professores de Escolas e com Alunos da Graduação em Matemática Rene Baltazar Introdução Serão abordados, neste trabalho, significados e características de Professor Pesquisador e as conseqüências,

Leia mais

Processos de gerenciamento de projetos em um projeto

Processos de gerenciamento de projetos em um projeto Processos de gerenciamento de projetos em um projeto O gerenciamento de projetos é a aplicação de conhecimentos, habilidades, ferramentas e técnicas às atividades do projeto a fim de cumprir seus requisitos.

Leia mais

GERAÇÃO DE VIAGENS. 1.Introdução

GERAÇÃO DE VIAGENS. 1.Introdução GERAÇÃO DE VIAGENS 1.Introdução Etapa de geração de viagens do processo de planejamento dos transportes está relacionada com a previsão dos tipos de viagens de pessoas ou veículos. Geralmente em zonas

Leia mais

Prof. Dr. Guanis de Barros Vilela Junior

Prof. Dr. Guanis de Barros Vilela Junior Prof. Dr. Guanis de Barros Vilela Junior INTRODUÇÃO O que é pesquisa? Pesquisar significa, de forma bem simples, procurar respostas para indagações propostas. INTRODUÇÃO Minayo (1993, p. 23), vendo por

Leia mais

Algoritmos Genéticos em Mineração de Dados. Descoberta de Conhecimento. Descoberta do Conhecimento em Bancos de Dados

Algoritmos Genéticos em Mineração de Dados. Descoberta de Conhecimento. Descoberta do Conhecimento em Bancos de Dados Algoritmos Genéticos em Mineração de Dados Descoberta de Conhecimento Descoberta do Conhecimento em Bancos de Dados Processo interativo e iterativo para identificar padrões válidos, novos, potencialmente

Leia mais

UNIVERSIDADE FEDERAL DE SANTA CATARINA GRADUAÇÃO EM SISTEMAS DE INFORMAÇÃO DEPARTAMENTO DE INFORMÁTICA E ESTATÍSTICA DATA MINING EM VÍDEOS

UNIVERSIDADE FEDERAL DE SANTA CATARINA GRADUAÇÃO EM SISTEMAS DE INFORMAÇÃO DEPARTAMENTO DE INFORMÁTICA E ESTATÍSTICA DATA MINING EM VÍDEOS UNIVERSIDADE FEDERAL DE SANTA CATARINA GRADUAÇÃO EM SISTEMAS DE INFORMAÇÃO DEPARTAMENTO DE INFORMÁTICA E ESTATÍSTICA DATA MINING EM VÍDEOS VINICIUS DA SILVEIRA SEGALIN FLORIANÓPOLIS OUTUBRO/2013 Sumário

Leia mais

Resenha. Fernanda Gabriela Gadelha ROMERO 1

Resenha. Fernanda Gabriela Gadelha ROMERO 1 Resenha As redes sociais na internet: instrumentos de colaboração e de produção de conhecimento (Redes Sociais na Internet. Raquel Recuero. Porto Alegre: Sulina, 2009) Fernanda Gabriela Gadelha ROMERO

Leia mais

QFD: Quality Function Deployment QFD: CASA DA QUALIDADE - PASSO A PASSO

QFD: Quality Function Deployment QFD: CASA DA QUALIDADE - PASSO A PASSO QFD: CASA DA QUALIDADE - PASSO A PASSO 1 - INTRODUÇÃO Segundo Akao (1990), QFD é a conversão dos requisitos do consumidor em características de qualidade do produto e o desenvolvimento da qualidade de

Leia mais

Módulo 15 Resumo. Módulo I Cultura da Informação

Módulo 15 Resumo. Módulo I Cultura da Informação Módulo 15 Resumo Neste módulo vamos dar uma explanação geral sobre os pontos que foram trabalhados ao longo desta disciplina. Os pontos abordados nesta disciplina foram: Fundamentos teóricos de sistemas

Leia mais

Preparando sua empresa para o forecasting:

Preparando sua empresa para o forecasting: Preparando sua empresa para o forecasting: Critérios para escolha de indicadores. Planejamento Performance Dashboard Plano de ação Relatórios Indicadores Embora o forecasting seja uma realidade, muitas

Leia mais

PLANEJAMENTO DA MANUFATURA

PLANEJAMENTO DA MANUFATURA 58 FUNDIÇÃO e SERVIÇOS NOV. 2012 PLANEJAMENTO DA MANUFATURA Otimizando o planejamento de fundidos em uma linha de montagem de motores (II) O texto dá continuidade à análise do uso da simulação na otimização

Leia mais

UNIVERSIDADE FEDERAL DO PARANÁ UFPR Bacharelado em Ciência da Computação

UNIVERSIDADE FEDERAL DO PARANÁ UFPR Bacharelado em Ciência da Computação SOFT DISCIPLINA: Engenharia de Software AULA NÚMERO: 10 DATA: / / PROFESSOR: Andrey APRESENTAÇÃO O objetivo desta aula é apresentar e discutir os conceitos de coesão e acoplamento. DESENVOLVIMENTO Projetar

Leia mais

Banco de Dados Aula 1 Introdução a Banco de Dados Introdução Sistema Gerenciador de Banco de Dados

Banco de Dados Aula 1 Introdução a Banco de Dados Introdução Sistema Gerenciador de Banco de Dados Banco de Dados Aula 1 Introdução a Banco de Dados Introdução Um Sistema Gerenciador de Banco de Dados (SGBD) é constituído por um conjunto de dados associados a um conjunto de programas para acesso a esses

Leia mais

1. Conceitos de sistemas. Conceitos da Teoria de Sistemas. Conceitos de sistemas extraídos do dicionário Aurélio:

1. Conceitos de sistemas. Conceitos da Teoria de Sistemas. Conceitos de sistemas extraídos do dicionário Aurélio: 1. Conceitos de sistemas Conceitos da Teoria de Sistemas OPTNER: É um conjunto de objetos com um determinado conjunto de relações entre seus objetos e seus atributos. TILLES: É um conjunto de partes inter-relacionadas.

Leia mais

Módulo 4. Construindo uma solução OLAP

Módulo 4. Construindo uma solução OLAP Módulo 4. Construindo uma solução OLAP Objetivos Diferenciar as diversas formas de armazenamento Compreender o que é e como definir a porcentagem de agregação Conhecer a possibilidade da utilização de

Leia mais

Planejamento Estratégico de TI. Prof.: Fernando Ascani

Planejamento Estratégico de TI. Prof.: Fernando Ascani Planejamento Estratégico de TI Prof.: Fernando Ascani Data Warehouse - Conceitos Hoje em dia uma organização precisa utilizar toda informação disponível para criar e manter vantagem competitiva. Sai na

Leia mais

O olhar do professor das séries iniciais sobre o trabalho com situações problemas em sala de aula

O olhar do professor das séries iniciais sobre o trabalho com situações problemas em sala de aula O olhar do professor das séries iniciais sobre o trabalho com situações problemas em sala de aula INTRODUÇÃO Josiane Faxina Universidade Estadual Paulista Júlio de Mesquita Filho Câmpus Bauru e-mail: josi_unesp@hotmail.com

Leia mais

Matlab - Neural Networw Toolbox. Ana Lívia Soares Silva de Almeida

Matlab - Neural Networw Toolbox. Ana Lívia Soares Silva de Almeida 27 de maio de 2014 O que é a Neural Networw Toolbox? A Neural Network Toolbox fornece funções e aplicativos para a modelagem de sistemas não-lineares complexos que não são facilmente modelados com uma

Leia mais

Avanços na transparência

Avanços na transparência Avanços na transparência A Capes está avançando não apenas na questão dos indicadores, como vimos nas semanas anteriores, mas também na transparência do sistema. Este assunto será explicado aqui, com ênfase

Leia mais

NBC TSP 10 - Contabilidade e Evidenciação em Economia Altamente Inflacionária

NBC TSP 10 - Contabilidade e Evidenciação em Economia Altamente Inflacionária NBC TSP 10 - Contabilidade e Evidenciação em Economia Altamente Inflacionária Alcance 1. Uma entidade que prepara e apresenta Demonstrações Contábeis sob o regime de competência deve aplicar esta Norma

Leia mais

DIMENSIONANDO PROJETOS DE WEB-ENABLING. Uma aplicação da Análise de Pontos de Função. Dimensionando projetos de Web- Enabling

DIMENSIONANDO PROJETOS DE WEB-ENABLING. Uma aplicação da Análise de Pontos de Função. Dimensionando projetos de Web- Enabling DIMENSIONANDO PROJETOS DE WEB-ENABLING Uma aplicação da Análise de Pontos de Função Dimensionando projetos de Web- Enabling Índice INTRODUÇÃO...3 FRONTEIRA DA APLICAÇÃO E TIPO DE CONTAGEM...3 ESCOPO DA

Leia mais

CAP 254 CAP 254. Otimização Combinatória. Professor: Dr. L.A.N. Lorena. Assunto: Metaheurísticas Antonio Augusto Chaves

CAP 254 CAP 254. Otimização Combinatória. Professor: Dr. L.A.N. Lorena. Assunto: Metaheurísticas Antonio Augusto Chaves CAP 254 CAP 254 Otimização Combinatória Professor: Dr. L.A.N. Lorena Assunto: Metaheurísticas Antonio Augusto Chaves Conteúdo C01 Simulated Annealing (20/11/07). C02 Busca Tabu (22/11/07). C03 Colônia

Leia mais

2 Atualidade de uma base de dados

2 Atualidade de uma base de dados 2 Atualidade de uma base de dados Manter a atualidade de uma base de dados é um problema que pode ser abordado de diferentes maneiras. Cho e Garcia-Molina [CHO] definem esse problema da seguinte forma:

Leia mais

Diagrama de transição de Estados (DTE)

Diagrama de transição de Estados (DTE) Diagrama de transição de Estados (DTE) O DTE é uma ferramenta de modelação poderosa para descrever o comportamento do sistema dependente do tempo. A necessidade de uma ferramenta deste tipo surgiu das

Leia mais

Referências internas são os artefatos usados para ajudar na elaboração do PT tais como:

Referências internas são os artefatos usados para ajudar na elaboração do PT tais como: Plano de Teste (resumo do documento) I Introdução Identificador do Plano de Teste Esse campo deve especificar um identificador único para reconhecimento do Plano de Teste. Pode ser inclusive um código

Leia mais

UNIVERSIDADE DE SÃO PAULO E S C O L A D E A R T E S, C I Ê N C I A S E H U M A N I D A D E

UNIVERSIDADE DE SÃO PAULO E S C O L A D E A R T E S, C I Ê N C I A S E H U M A N I D A D E UNIVERSIDADE DE SÃO PAULO E S C O L A D E A R T E S, C I Ê N C I A S E H U M A N I D A D E Trabalho proposto pela disciplina de Orientado por Professor Dr. Fernando Coelho Mário Januário Filho 5365372

Leia mais

PALAVRAS-CHAVE: Massas Nodulares, Classificação de Padrões, Redes Multi- Layer Perceptron.

PALAVRAS-CHAVE: Massas Nodulares, Classificação de Padrões, Redes Multi- Layer Perceptron. 1024 UMA ABORDAGEM BASEADA EM REDES PERCEPTRON MULTICAMADAS PARA A CLASSIFICAÇÃO DE MASSAS NODULARES EM IMAGENS MAMOGRÁFICAS Luan de Oliveira Moreira¹; Matheus Giovanni Pires² 1. Bolsista PROBIC, Graduando

Leia mais

Aspectos Sociais de Informática. Simulação Industrial - SIND

Aspectos Sociais de Informática. Simulação Industrial - SIND Aspectos Sociais de Informática Simulação Industrial - SIND Jogos de Empresas Utilizada com sucesso para o treinamento e desenvolvimento gerencial Capacita estudantes e profissionais de competência intelectual

Leia mais

SISTEMA. Tecnologia. Software. Hardware. Prazos. Pessoas. Qualidade. Custo GERENCIAMENTO DE RISCO: COMO GARANTIR O SUCESSO DOS PROJETOS DE TI?

SISTEMA. Tecnologia. Software. Hardware. Prazos. Pessoas. Qualidade. Custo GERENCIAMENTO DE RISCO: COMO GARANTIR O SUCESSO DOS PROJETOS DE TI? GERENCIAMENTO DE RISCO: COMO GARANTIR O SUCESSO DOS PROJETOS DE TI? Os projetos de Tecnologia de Informação possuem características marcantes, que os diferencia dos demais são projetos onde o controle

Leia mais

Modelagem e Simulação Material 02 Projeto de Simulação

Modelagem e Simulação Material 02 Projeto de Simulação Modelagem e Simulação Material 02 Projeto de Simulação Prof. Simão Sirineo Toscani Projeto de Simulação Revisão de conceitos básicos Processo de simulação Etapas de projeto Cuidados nos projetos de simulação

Leia mais

Do neurônio biológico ao neurônio das redes neurais artificiais

Do neurônio biológico ao neurônio das redes neurais artificiais Do neurônio biológico ao neurônio das redes neurais artificiais O objetivo desta aula é procurar justificar o modelo de neurônio usado pelas redes neurais artificiais em termos das propriedades essenciais

Leia mais

Princípios de Análise e Projeto de Sistemas com UML

Princípios de Análise e Projeto de Sistemas com UML Princípios de Análise e Projeto de Sistemas com UML 2ª edição Eduardo Bezerra Editora Campus/Elsevier Capítulo 9 Modelagem de estados Todos os adultos um dia foram crianças, mas poucos se lembram disso.

Leia mais

5 Extraindo listas de produtos em sites de comércio eletrônico

5 Extraindo listas de produtos em sites de comércio eletrônico 5 Extraindo listas de produtos em sites de comércio eletrônico Existem diversos trabalhos direcionadas à detecção de listas e tabelas na literatura como (Liu et. al., 2003, Tengli et. al., 2004, Krüpl

Leia mais

Projeto de Redes Neurais e MATLAB

Projeto de Redes Neurais e MATLAB Projeto de Redes Neurais e MATLAB Centro de Informática Universidade Federal de Pernambuco Sistemas Inteligentes IF684 Arley Ristar arrr2@cin.ufpe.br Thiago Miotto tma@cin.ufpe.br Baseado na apresentação

Leia mais

Projeto de Sistemas I

Projeto de Sistemas I Instituto Federal de Educação, Ciência e Tecnologia de São Paulo Projeto de Sistemas I Professora: Kelly de Paula Cunha E-mail:kellypcsoares@ifsp.edu.br Requisitos: base para todo projeto, definindo o

Leia mais

Concepção e Elaboração

Concepção e Elaboração UNIVERSIDADE ESTADUAL PAULISTA INSTITUTO DE BIOCIÊNCIAS, LETRAS E CIÊNCIAS EXATAS DEPARTAMENTO DE CIÊNCIAS DE COMPUTAÇÃO E ESTATÍSTICA Análise e Projeto Orientado a Objetos Concepção e Elaboração Estudo

Leia mais