Redes Bayesianas e Inferência Exata
|
|
|
- Luís Neto Melgaço
- 10 Há anos
- Visualizações:
Transcrição
1 ESCOLA POLITÉCNICA DA UNIVERSIDADE DE SÃO PAULO Departamento de Engenharia de Computação e Sistemas Digitais PCS2059 Inteligência Artificial Gabriel Iseppe Porto Raphael Petegrosso Victor Tseimazides
2 Sumário 1 Introdução Inferência por Enumeração O Algoritmo de Eliminação de Variáveis A Complexidade da Inferência Exata Algoritmos de Agrupamento Conclusões
3 1 Introdução As Redes Bayesianas são grafos que tem por objetivo representar informações probabilísticas quantitativas para variáveis discretas ou contínuas. De modo simplificado, o grafo representa as probabilidades condicionais entre nós filhos e pais, ou seja, P(X i Parents(X i )), que quantifica o efeito dos nós pais em seus filhos. A notação P(a b) simboliza a probabilidade condicional de A = true em relação a B = true, ou seja, calcula a probabilidade de A ocorrer, dado que B teve sucesso. Para calcular esta probabilidade condicional, utiliza-se a seguinte equação: P(a b) = P(a b) / P(b) EQUAÇÃO 1 A Figura 1 mostra um exemplo de Rede Bayesiana Figura 1 Exemplo de Rede Bayesiana Nesta rede ilustramos a seguinte situação: imagine que você comprou um alarme para sua casa que pode ser disparado em 2 situações: quando ocorre um terremoto e quanto um ladrão tenta entrar na sua casa. Além disso, seus dois vizinhos John e Mary ligarão para o seu celular caso ouçam o alarme. Obviamente a situação não conta com o teor da conversa no telefone, mas sim com o fato de ser identificada uma ligação. As probabilidades que esses eventos ocorram serão a seguinte, dados que, como visto da Figura 1, Burglary (B) e Earthquake (E) não tem probabilidade condicional, Alarm (A) é condicional a B e E, JohnCalls (J) é condicional a A e por fim MaryCalls (M) é condicional a A: P(B) = 0.001; P(E) = B E P(A) true true 0.95 true false 0.94 false true 0.29 false false A P(J) true 0.90 false 0.05 A P(M) true 0.70 false 0.01 A utilização de inferência em Redes Bayesianas se refere à tarefa de determinar a distribuição de probabilidade posterior de um grupo de variáveis X. Para isso, utilizamos um conjunto de variáveis de evidência E, ou seja, eventos observados, e um conjunto de variáveis não- 3
4 evidenciadas Y, chamadas de variáveis escondidas. Desta forma, uma inferência seria questionar qual a distribuição de probabilidade posterior P(X e). No exemplo dado, uma inferência a ser resolvida seria calcularmos qual a distribuição de probabilidade posterior de um ladrão estar tentando assaltar a sua casa, dado que John e Mary fizeram uma ligação para você. Em outras palavras, realizarmos o seguinte cálculo: P(Burglary JohnCalls = true, MaryCalls = true) A seguir, discutiremos a dificuldade de calcular essa probabilidade de forma exata, ou seja, sem utilizar algoritmos numéricos de aproximação. 2 Inferência por Enumeração Inicialmente é importante termos em mente a seguinte Equação 2, que representa a probabilidade de uma série de eventos ocorrer, dados seus condicionais, ou seja, seus parents no grafo da Rede Bayesiana: EQUAÇÃO 2 Além disso, para calcularmos P(X e) podemos utilizar a seguinte equação: EQUAÇÃO 3 Nesta equação vemos que podemos transformar a probabilidade condicional ao evento e em uma somatória de probabilidades que leva em conta todos os valores da variável escondida y, ou seja, a. P (X, e, y) + a. P(X, e, ~y), onde a é uma constante de normalização. Voltando ao exemplo dado e considerando a Equação 3 citada, podemos calcular a probabilidade P(B j, m) da seguinte forma: Onde as variáveis escondidas, neste caso, são e e a, uma vez que tanto John quanto Mary dependem do Alarm e o Alarm, por sua vez, depende do Earthquake e do Burglary, estando tanto o Alarm quando o Earthquake escondidos no problema. Em outras palavras, não importa se houve terremoto ou não e não importa se o alarme tocou ou não. Simplesmente queremos saber se há um ladrão em casa, dado que John e Mary fizeram uma ligação. Utilizando a Equação 2 na probabilidade final temos o seguinte: 4
5 Por fim, isolando as constantes que não fazem parte das somatória temos o seguinte: Assim, chegamos a uma equação que mostra que a probabilidade posterior desejada pode ser calculada através de um produtório que tem como fatores somatórias em relação as variáveis escondidas. Para facilitar, podemos dizer que a equação pode ser expandida para o seguinte: P(b j, m) = a (P(b). (P(e). (P(a b, e). P(j a). P(m a) + P(~a b, e). P(j ~a). P(m ~a)) + P(~e). (P(a b, ~e). P(j a). P(m a) + P(~a b, ~e). P(j ~a). P(m ~a))) Podemos também simbolizar esta expressão através da seguinte árvore, que facilita a visualização, onde as probabilidades de cada ramo foram determinadas através das tabelas de probabilidades mostradas na definição do problema: Figura 2 Árvore de Cálculo da Inferência Exata É importante termos em mente que as variáveis que estamos tratando são booleanas e, dessa forma, a expansão da somatória seria maior que esta. Além disso, estamos considerando poucas variáveis. Realizando o cálculo teremos que P(b j, m) = a. 0, Para normalizar o valor, fazemos o mesmo cálculo para P(~b j, m), que nos dará P(~b j, m) = a. 0, Assim, normalizando os valores temos: P(b j, m) = 0, / (0, , ) = 0,284 e P(~b j, m) = 0, / (0, , ) = 0,716. 5
6 Concluímos, portanto, que há 28,4% de chance de haver um ladrão em casa, dado que John e Mary fizeram uma ligação. Um algoritmo capaz de percorrer uma Árvore de Cálculo de Inferência Exata, como a do exemplo anterior, é o ENUMERATION ASK, mostrado abaixo. function ENUMERATION-AsK(X, e, bn) returns a distribution over X inputs: X, the query variable e, observed values for variables E bn, a Bayes net with variables {X} U E U Y / * Y = hidden variables * / Q(X) <- a distribution over X, initially empty for each value x i of X do extend e with value xi for X Q(x i ) <- ENUMERATE-ALL(VARS[bn], e) return NORMALIZE(Q(X)) function ENUMERATE-ALL(vars, e) returns a real number if EMPTY?(vars) then return 1.0 Y <- First(vars) if Y has value y in e then return P(y Parents(Y)) x ENUMERATE-ALL(REST(vars),e) else return Σ y P(y Parents(Y)) x ENUMERATE-ALL(REST(VU~S), e,) where e y is e extended with Y = y Figura 3 Algoritmo ENUMERATION - ASK Neste algoritmo a complexidade de processamento cresce linearmente de acordo com as variáveis acrescentadas à Rede Bayesiana, porém, a complexidade em tempo de processamento cresce na ordem de 2 n onde n é o numero de variáveis. Na figura abaixo nota-se facilmente que para o cálculo de, por exemplo, P(b j, m), o algoritmo calcula duas vezes o valor de P(j ~a). P(m ~a), o que representa desperdício de tempo. Figura 4 Cáculo repetido no Enumeration-Ask 6
7 Uma solução intuitiva para este problema seria calcular o a valor de uma determinada subexpressão e em seguida salvar o valor calculado para ser utilizado posteriormente. Uma forma de se fazer isso é através do algoritmo de Eliminação de Variáveis, explicado adiante. 3 O Algoritmo de Eliminação de Variáveis Olhando-se para a equação abaixo, retirada do último exemplo, a maneira convencional de se avaliá-la é da esquerda para a direita, como se partíssemos do nó raiz até atingirmos a base. Tal procedimento leva ao problema citado anteriormente da múltipla inferência de subexpressões, que pode ser evitado ser a avaliarmos a expressão da direita para esquerda (bottom up), armazenado os valores intermediários e eliminando da somatória os valores com independem da variável analisada. Mostraremos agora, passo a passo, como o algoritmo funciona para o caso onde queremos saber qual a probabilidade de uma invasão ter ocorrido dado que Mary e John ligaram. Representamos cada parte da equação acima por letras maiúsculas, por exemplo: M = P (m a) J = P (j a) A= P (a b, e) E = P ( e ) B = P ( b ) Para cada letra associamos um fator que armazenará a probabilidade da variável representada através de uma matriz como feito a seguir: Repare que a probabilidade de M ocorrer depende somente de tocar ou não o alarme, o que nos leva a um vetor de dois elementos, sendo o primeiro a probabilidade de m sendo que o alarme tocou, e o segundo a probabilidade de m sendo que o alarme não tocou. O mesmo ocorre para J. No caso de f A (A,B,E) teremos uma matriz 2 x 2 x 2. Sabendo f A (A,B,E), f J (A) e f M (A) devemos agora calcular a somatória sobre a desses três termos: 7
8 Observação: Para multiplicar os fatores não se utiliza a multiplicação de matrizes, e sim um método chamado pointwise pruduct que será explicado mais para a frente Realizamos o mesmo procedimento em E resultado em: Finalmente podemos calcular P (b j, m) apenas multiplicando P ( b) pelo fator f ĒĀJM (B). Explicaremos agora o método, já citado, para multiplcar os fatores, chamado de pointwise pruduct. O pointwise pruduct representa nada mais do que a união de dois fatores, por exemplo, sendo f 1 (A,B) e f 2 (B,C), para f 1 X f 2 teremos f 3 (A,B,C), como podemos notar na figura a seguir: Figura 5 Tabela de Pointwise Product Com rotinas para realizar de adaptação de somatórias e de Pointwise Product o algoritmo de eliminação de variáveis pode ser implementado como a seguir: 8
9 function ELIMINATION-AsK(X, e, bn) returns a distribution over X inputs: X, the query variable e, evidence specified as an event bn, a Bayesian network specifying joint distribution P(X1,..., X,) factors []; vars <- R E V E R S E ( V A R S [bn ] ) for each var in vars do factors [ MAKE-FACTOR ( var, e) (factors] if var is a hidden variable then factors SUM-OU T ( Var, factors) return NORMALIZE(POINTWISE-PRODUCT(factors)) Figura 6 Algoritmo de Eliminação de Variáveis 4 A Complexidade da Inferência Exata O algoritmo de Eliminação de Variáveis é mais eficiente que a inferência por enumeração por evitar computações repetidas, além de descartar variáveis irrelevantes. Os requisitos de tempo e espaço da eliminação de variáveis são dominados pelo tamanho do maior fator construído durante a operação do algoritmo. Este, por sua vez, é determinado pela ordem de eliminação de variáveis e pela estrutura da rede. A rede bayesiana do exemplo mostrada na Figura 1 contém apenas um caminho nãodirecionado entre quaisquer dois nós da rede. Redes deste tipo são chamadas de singularmente conectadas (singly connected networks) ou poli-árvores (polytrees), e possuem uma propriedade particular: a complexidade espacial e temporal da inferência exata nelas é linear no tamanho da rede. Aqui, o tamanho é definido como o número de entradas na tabela de probabilidades condicionais (CPT); se o número de pais de cada nó é delimitado por uma constante, então a complexidade também será linear no número de nós. Estes resultados valem para qualquer ordenação coerente com a ordenação topológica da rede. Para redes multiplamente conectadas (multiply connected networks), a eliminação de variáveis pode apresentar complexidade exponencial de tempo e espaço no pior caso, mesmo quando o número de pais por nó é delimitado. Existe uma estreita ligação entre a complexidade da rede bayesiana de inferência e a complexidade dos CSPs (problemas de satisfação de restrições). A dificuldade de resolver um CSP discreto está relacionada ao quanto a forma de seu grafo de restrições se parece com uma árvore. Medidas como hypertree width, que limitam a complexidade de resolver um CSP, também podem ser aplicadas diretamente a redes Bayesianas. Além disso, o algoritmo de eliminação de variáveis pode ser generalizado para resolver CSPs, bem como redes bayesianas. 5 Algoritmos de Agrupamento O algoritmo de eliminação de variáveis é simples e eficiente para responder a consultas individuais. Entretanto, para se calcular probabilidades posteriores para todas as variáveis em uma rede, ele pode ser menos eficiente. Por exemplo, em uma rede poli-árvore, seria preciso fazer O(n) consultas custando O(n) cada uma, perfazendo um total de O(n2) tempo. Usando algoritmos de 9
10 agrupamento (também conhecidos como algoritmos joint tree), o tempo pode ser reduzido para O(n). Por esta razão, estes algoritmos são amplamente utilizados em ferramentas comerciais de redes bayesianas. A idéia básica do agrupamento é juntar nós individuais da rede de modo a formar nós agrupados, de tal forma que o resultado é uma rede poli-árvore. Por exemplo, a rede multiplamente conectada mostrada na Figura 7(a) pode ser convertida em uma poli-árvore combinando os nós Sprinkler e Rain em um nó agrupado chamado Sprinkler+Rain, como mostrado na figura 7(b). Os dois nós booleanos são substituídos por um nó maior que pode assumir quatro valores: TT, TF, FT, e FF. Este nó tem apenas um pai, a variável booleana Cloudy e, portanto, existem dois casos condicionados. Figura 7 (a) rede multiplamente conectada com suas CPTs. (b) equivalente agrupado da rede anterior. Assim que a rede está na forma poli-árvores, um algoritmo específico de inferência é aplicado. Esse algoritmo é capaz de calcular probabilidades posteriores para todos os nós não-evidência na rede em tempo O(n), onde n é agora o tamanho da rede modificada. No entanto, a complexidade NP do problema não desaparece: se uma rede requer tempo e espaço exponenciais com a eliminação de variáveis, então os CPTs na rede agrupada irão requerer tempo e espaço exponenciais para construir. 6 Conclusões Redes bayesianas são úteis para resolver problemas de teoria da probabilidade tradicional. O seu uso não requer muitos números, de forma a trazer métodos eficientes de solução exata, bem como uma variedade de métodos de aproximação. 10
Raciocínio Probabilístico. Inteligência Artificial. Redes Bayesianas. Exemplo. Exemplo. Exemplo. Capítulo 14 Russell & Norvig Seções 14.1 a 14.
Inteligência Artificial Raciocínio Probabilístico Aula 13 Profª Bianca Zadrozny http://www.ic.uff.br/~bianca/ia Capítulo 14 Russell & Norvig Seções 14.1 a 14.2 Redes Bayesianas Estrutura de dados para
INF 1771 Inteligência Artificial
Edirlei Soares de Lima INF 1771 Inteligência Artificial Aula 23 Redes Bayesianas Vantagens e Desvantagens da Probabilidade Possui uma boa fundamentação formal. Permite encontrar
a 1 x 1 +... + a n x n = b,
Sistemas Lineares Equações Lineares Vários problemas nas áreas científica, tecnológica e econômica são modelados por sistemas de equações lineares e requerem a solução destes no menor tempo possível Definição
Projeto e Análise de Algoritmos Projeto de Algoritmos Tentativa e Erro. Prof. Humberto Brandão [email protected]
Projeto e Análise de Algoritmos Projeto de Algoritmos Tentativa e Erro Prof. Humberto Brandão [email protected] Laboratório de Pesquisa e Desenvolvimento Universidade Federal de Alfenas versão
O ESPAÇO NULO DE A: RESOLVENDO AX = 0 3.2
3.2 O Espaço Nulo de A: Resolvendo Ax = 0 11 O ESPAÇO NULO DE A: RESOLVENDO AX = 0 3.2 Esta seção trata do espaço de soluções para Ax = 0. A matriz A pode ser quadrada ou retangular. Uma solução imediata
Busca. Pesquisa sequencial
Busca Banco de dados existem para que, de tempos em tempos, um usuário possa localizar o dado de um registro, simplesmente digitando sua chave. Uma tabela ou um arquivo é um grupo de elementos, cada um
Exercícios Resolvidos sobre probabilidade total e Teorema de Bayes
Exercícios Resolvidos sobre probabilidade total e Teorema de Bayes Para ampliar sua compreensão sobre probabilidade total e Teorema de Bayes, estude este conjunto de exercícios resolvidos sobre o tema.
Inteligência Artificial
Universidade Federal de Campina Grande Unidade Acadêmica de Sistemas e Computação Curso de Pós-Graduação em Ciência da Computação Inteligência Artificial Representação do Conhecimento (Parte II) Prof.
Aritmética Binária e. Bernardo Nunes Gonçalves
Aritmética Binária e Complemento a Base Bernardo Nunes Gonçalves Sumário Soma e multiplicação binária Subtração e divisão binária Representação com sinal Sinal e magnitude Complemento a base. Adição binária
Algoritmos e Estrutura de Dados III. Árvores
Algoritmos e Estrutura de Dados III Árvores Uma das mais importantes classes de estruturas de dados em computação são as árvores. Aproveitando-se de sua organização hierárquica, muitas aplicações são realizadas
FACULDADE CAMPO LIMPO PAULISTA MESTRADO EM CIÊNCIA DA COMPUTAÇÃO. Projeto e Análise de Algoritmos II Lista de Exercícios 2
FACULDADE CAMPO LIMPO PAULISTA MESTRADO EM CIÊNCIA DA COMPUTAÇÃO Projeto e Análise de Algoritmos II Lista de Exercícios 2 Prof. Osvaldo. 1. Desenvolva algoritmos para as operações abaixo e calcule a complexidade
2. Representação Numérica
2. Representação Numérica 2.1 Introdução A fim se realizarmos de maneira prática qualquer operação com números, nós precisamos representa-los em uma determinada base numérica. O que isso significa? Vamos
Arquitetura de Rede de Computadores
TCP/IP Roteamento Arquitetura de Rede de Prof. Pedro Neto Aracaju Sergipe - 2011 Ementa da Disciplina 4. Roteamento i. Máscara de Rede ii. Sub-Redes iii. Números Binários e Máscara de Sub-Rede iv. O Roteador
O Problema do Troco Principio da Casa dos Pombos. > Princípios de Contagem e Enumeração Computacional 0/48
Conteúdo 1 Princípios de Contagem e Enumeração Computacional Permutações com Repetições Combinações com Repetições O Problema do Troco Principio da Casa dos Pombos > Princípios de Contagem e Enumeração
Portas Lógicas Básicas Prof. Rômulo Calado Pantaleão Camara. Carga Horária: 2h/60h
Portas Lógicas Básicas Prof. Rômulo Calado Pantaleão Camara Carga Horária: 2h/60h Colegiado de Engenharia da Computação CECOMP Introdução à Algebra de Boole Em lógica tradicional, uma decisão é tomada
Somatórias e produtórias
Capítulo 8 Somatórias e produtórias 8. Introdução Muitas quantidades importantes em matemática são definidas como a soma de uma quantidade variável de parcelas também variáveis, por exemplo a soma + +
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:
Fundamentos em Informática (Sistemas de Numeração e Representação de Dados)
1 UNIVERSIDADE DO CONTESTADO / UnC CAMPUS CONCÓRDIA/SC CURSO DE SISTEMAS DE INFORMAÇÃO Fundamentos em Informática (Sistemas de Numeração e Representação de Dados) (Apostila da disciplina elaborada pelo
Árvores Binárias de Busca
Árvores Binárias de Busca Definição Uma Árvore Binária de Busca possui as mesmas propriedades de uma AB, acrescida da seguinte propriedade: Para todo nó da árvore, se seu valor é X, então: Os nós pertencentes
Exercícios Teóricos Resolvidos
Universidade Federal de Minas Gerais Instituto de Ciências Exatas Departamento de Matemática Exercícios Teóricos Resolvidos O propósito deste texto é tentar mostrar aos alunos várias maneiras de raciocinar
UNIVERSIDADE FEDERAL DO ESPÍRITO SANTO PROGRAMA DE EDUCAÇÃO TUTORIAL - MATEMÁTICA PROJETO FUNDAMENTOS DE MATEMÁTICA ELEMENTAR
UNIVERSIDADE FEDERAL DO ESPÍRITO SANTO PROGRAMA DE EDUCAÇÃO TUTORIAL - MATEMÁTICA PROJETO FUNDAMENTOS DE MATEMÁTICA ELEMENTAR Assuntos: Matrizes; Matrizes Especiais; Operações com Matrizes; Operações Elementares
REDES BAYESIANAS. Palavras-chave: Redes bayesianas, Grafo, Estrutura de Dados, Inteligência artificial.
REDES BAYESIANAS Gabriel Rigo da Cruz Jacobsen [email protected] Prof. Leonardo Sommariva, Estrutura de Dados RESUMO: Uma rede bayesiana é uma forma de representar o conhecimento de um domínio onde
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
CT-234. Análise de Algoritmos e Complexidade Estrutural. Carlos Alberto Alonso Sanches
CT-234 Estruturas de Dados, Análise de Algoritmos e Complexidade Estrutural Carlos Alberto Alonso Sanches CT-234 4) Árvores balanceadas AVL, Rubro-Negras, B-Trees Operações em árvores binárias de busca
BUSCA EM LISTAS LISTAS SEQÜENCIAIS, LISTAS SIMPLESMENTE E DUPLAMENTE ENCADEADAS E LISTAS CIRCULARES
BUSCA EM LISTAS LISTAS SEQÜENCIAIS, LISTAS SIMPLESMENTE E DUPLAMENTE ENCADEADAS E LISTAS CIRCULARES ALGORITMOS DE BUSCA EM LISTAS COM ALOCAÇÃO SEQÜENCIAL Busca em Listas Lineares A operação de busca é
Espaço Amostral ( ): conjunto de todos os
PROBABILIDADE Espaço Amostral (): conjunto de todos os resultados possíveis de um experimento aleatório. Exemplos: 1. Lançamento de um dado. = {1,, 3, 4,, 6}. Doador de sangue (tipo sangüíneo). = {A, B,
OPERADORES E ESTRUTURAS DE CONTROLE
OPERADORES E ESTRUTURAS DE CONTROLE 3.1 Operadores Os operadores indicam o tipo de operação matemática que será executada gerando novos valores a partir de um ou mais operadores. São muito utilizados em
Figura 1 Busca Linear
----- Evidentemente, possuir os dados não ajuda o programador ou o usuário se eles não souberem onde os dados estão. Imagine, por exemplo, uma festa de casamento com cem convidados na qual não se sabe
Capítulo 7 Medidas de dispersão
Capítulo 7 Medidas de dispersão Introdução Para a compreensão deste capítulo, é necessário que você tenha entendido os conceitos apresentados nos capítulos 4 (ponto médio, classes e frequência) e 6 (média).
- UNIVERSIDADE DO VALE DO RIO DOS SINOS CIÊNCIAS EXATAS E TECNOLÓGICAS Curso: Informática / Ciência da Computação
Programação 1I Prof. Osório Árvores Binárias Pag.: 1 - UNIVERSIDADE DO VALE DO RIO DOS SINOS CIÊNCIAS EXATAS E TECNOLÓGICAS Curso: Informática / Ciência da Computação Programação II Disciplina: Linguagem
ALGORITMOS E FLUXOGRAMAS
ALGORITMOS E FLUXOGRAMAS Prof. André Backes INTRODUÇÃO Computadores = cérebros eletrônicos? Computadores são máquinas e, por si sós, não podem ser inteligentes. Alguém as projetou e deu a ela todas as
Curso: Técnico de Informática Disciplina: Redes de Computadores. 1- Apresentação Binária
1- Apresentação Binária Os computadores funcionam e armazenam dados mediante a utilização de chaves eletrônicas que são LIGADAS ou DESLIGADAS. Os computadores só entendem e utilizam dados existentes neste
A lógica de programação ajuda a facilitar o desenvolvimento dos futuros programas que você desenvolverá.
INTRODUÇÃO A lógica de programação é extremamente necessária para as pessoas que queiram trabalhar na área de programação, seja em qualquer linguagem de programação, como por exemplo: Pascal, Visual Basic,
Disciplina: Unidade III: Prof.: E-mail: Período:
Encontro 08 Disciplina: Sistemas de Banco de Dados Unidade III: Modelagem Lógico de Dados Prof.: Mario Filho E-mail: [email protected] Período: 5º. SIG - ADM Relembrando... Necessidade de Dados Projeto
AULA 6 LÓGICA DOS CONJUNTOS
Disciplina: Matemática Computacional Crédito do material: profa. Diana de Barros Teles Prof. Fernando Zaidan AULA 6 LÓGICA DOS CONJUNTOS Intuitivamente, conjunto é a coleção de objetos, que em geral, tem
Análise e Complexidade de Algoritmos
Análise e Complexidade de Algoritmos Uma visão de Intratabilidade, Classes P e NP - redução polinomial - NP-completos e NP-difíceis Prof. Rodrigo Rocha [email protected] http://www.bolinhabolinha.com
Resolução de problemas e desenvolvimento de algoritmos
SSC0101 - ICC1 Teórica Introdução à Ciência da Computação I Resolução de problemas e desenvolvimento de algoritmos Prof. Vanderlei Bonato Prof. Cláudio Fabiano Motta Toledo Sumário Análise e solução de
Estrutura de Dados Básica
Estrutura de Dados Básica Professor: Osvaldo Kotaro Takai. Aula 7: Recursividade O objetivo desta aula é apresentar o conceito de recursão para solução de problemas. A recursão é uma técnica de programação
Entendendo como funciona o NAT
Entendendo como funciona o NAT Vamos inicialmente entender exatamente qual a função do NAT e em que situações ele é indicado. O NAT surgiu como uma alternativa real para o problema de falta de endereços
x0 = 1 x n = 3x n 1 x k x k 1 Quantas são as sequências com n letras, cada uma igual a a, b ou c, de modo que não há duas letras a seguidas?
Recorrências Muitas vezes não é possível resolver problemas de contagem diretamente combinando os princípios aditivo e multiplicativo. Para resolver esses problemas recorremos a outros recursos: as recursões
Sumário. (11) 3177-7700 www.systax.com.br
Sumário Introdução... 3 Amostra... 4 Tamanho do cadastro de materiais... 5 NCM utilizadas... 6 Dúvidas quanto à classificação fiscal... 7 Como as empresas resolvem as dúvidas com os códigos de NCM... 8
Eventos independentes
Eventos independentes Adaptado do artigo de Flávio Wagner Rodrigues Neste artigo são discutidos alguns aspectos ligados à noção de independência de dois eventos na Teoria das Probabilidades. Os objetivos
Geração de código intermediário. Novembro 2006
Geração de código intermediário Novembro 2006 Introdução Vamos agora explorar as questões envolvidas na transformação do código fonte em uma possível representação intermediária Como vimos, nas ações semânticas
Lista de Exercícios 1: Soluções Fundamentos da Lógica Lógica Proposicional
UFMG/ICEx/DCC DCC111 Matemática Discreta Lista de Exercícios 1: Soluções Fundamentos da Lógica Lógica Proposicional Ciências Exatas & Engenharias 2 o Semestre de 2015 1. Construa a tabela da verdade para
ALGORITMOS E ESTRUTURAS DE DADOS CES-11 CES-11 CES-11
ALGORITMOS E ESTRUTURAS DE DADOS Prof. Paulo André Castro [email protected] Sala 110 Prédio da Computação www.comp.ita.br/~pauloac IECE - ITA Uma árvore binária é: uma árvore vazia; ou uma árvore onde qualquer
MAT 461 Tópicos de Matemática II Aula 3: Resumo de Probabilidade
MAT 461 Tópicos de Matemática II Aula 3: Resumo de Probabilidade Edson de Faria Departamento de Matemática IME-USP 19 de Agosto, 2013 Probabilidade: uma Introdução / Aula 3 1 Probabilidade Discreta: Exemplos
Departamento de Matemática - UEL - 2010. Ulysses Sodré. http://www.mat.uel.br/matessencial/ Arquivo: minimaxi.tex - Londrina-PR, 29 de Junho de 2010.
Matemática Essencial Extremos de funções reais Departamento de Matemática - UEL - 2010 Conteúdo Ulysses Sodré http://www.mat.uel.br/matessencial/ Arquivo: minimaxi.tex - Londrina-PR, 29 de Junho de 2010.
APLICAÇÕES DE NÚMEROS COMPLEXOS
http://hermes.ucs.br/ccet/deme/emsoares/inipes/complexos/ APLICAÇÕES DE NÚMEROS COMPLEXOS Silvia Carla Menti Propicio Universidade de Caxias do Sul Centro de Ciências Exatas e Tecnologia Departamento de
2aula TEORIA DE ERROS I: ALGARISMOS SIGNIFICATIVOS, ARREDONDAMENTOS E INCERTEZAS. 2.1 Algarismos Corretos e Avaliados
2aula Janeiro de 2012 TEORIA DE ERROS I: ALGARISMOS SIGNIFICATIVOS, ARREDONDAMENTOS E INCERTEZAS Objetivos: Familiarizar o aluno com os algarismos significativos, com as regras de arredondamento e as incertezas
JSP - ORIENTADO A OBJETOS
JSP Orientação a Objetos... 2 CLASSE:... 2 MÉTODOS:... 2 Método de Retorno... 2 Método de Execução... 2 Tipos de Dados... 3 Boolean... 3 Float... 3 Integer... 4 String... 4 Array... 4 Primeira:... 4 Segunda:...
Aplicações de Combinatória e Geometria na Teoria dos Números
Aplicações de Combinatória e Geometria na Teoria dos Números Nesse artigo vamos discutir algumas abordagens diferentes na Teoria dos Números, no sentido de envolverem também outras grandes áreas, como
Título: Sistemas Lineares no CAp UFRJ: Interpretações Algébrica e Gráfica
Autor Letícia Guimarães Rangel Co-autor(es): Fernando Celso Villar Marinho Lílian Káram Parente Cury Spiller Rita Maria Cardoso Meirelles Tipo de Pesquisa Ensino Médio Números e Operações Componente Curricular
Aula 4 Pseudocódigo Tipos de Dados, Expressões e Variáveis
1. TIPOS DE DADOS Todo o trabalho realizado por um computador é baseado na manipulação das informações contidas em sua memória. Estas informações podem ser classificadas em dois tipos: As instruções, que
Geometria Computacional
Universidade Federal do Espírito Santo Centro de Ciências Agrárias CCA UFES Departamento de Computação Universidade Federal do Espírito Santo CCA UFES Geometria Computacional Tópicos Especiais em Programação
Construção de tabelas verdades
Construção de tabelas verdades Compreender a Lógica como instrumento da ciência e como estrutura formal do pensamento, conhecendo e compreendendo as operações com os principais conceitos proposicionais
Estruturas de Dados Pilhas, Filas e Deques
Estruturas de Dados Pilhas, Filas e Deques Prof. Eduardo Alchieri Estruturas de Dados Pilhas Pilhas Lista LIFO (Last In, First Out) Os elementos são colocados na estrutura (pilha) e retirados em ordem
Curso: Redes II (Heterogênea e Convergente) Tema da Aula: Características Roteamento
Curso: Redes II (Heterogênea e Convergente) Tema da Aula: Características Roteamento Professor Rene - UNIP 1 Roteamento Dinâmico Perspectiva e histórico Os protocolos de roteamento dinâmico são usados
Estruturas de Dados. Prof. Gustavo Willam Pereira Créditos: Profa. Juliana Pinheiro Campos
Estruturas de Dados Prof. Gustavo Willam Pereira Créditos: Profa. Juliana Pinheiro Campos Árvores Conceitos Árvores binárias Árvores binárias de pesquisa Árvores binárias balanceadas Árvores ESTRUTURAS
ANÁLISE DA CONSERVAÇÃO PÓS-COLHEITA DA ALFACE (Lactuca Sativa, L) UTILIZANDO O SISTEMA DE APOIO À TOMADA DE DECISÃO BKD
ANÁLISE DA CONSERVAÇÃO PÓS-COLHEITA DA ALFACE (Lactuca Sativa, L) UTILIZANDO O SISTEMA DE APOIO À TOMADA DE DECISÃO BKD RESUMO Thereza P. P. Padilha Fabiano Fagundes Conceição Previero Laboratório de Solos
Material Teórico - Módulo de Divisibilidade. MDC e MMC - Parte 1. Sexto Ano. Prof. Angelo Papa Neto
Material Teórico - Módulo de Divisibilidade MDC e MMC - Parte 1 Sexto Ano Prof. Angelo Papa Neto 1 Máximo divisor comum Nesta aula, definiremos e estudaremos métodos para calcular o máximo divisor comum
Batalha Naval Algoritmos de Busca. Correlações curriculares Matemática: Números: maior que, menor que, iguais a.
Atividade 6 Batalha Naval Algoritmos de Busca Sumário Computadores são freqüentemente requisitados a encontrar informação em grandes coleções de dados. Estes precisam desenvolver métodos rápidos e eficientes
Deadlocks. Prof. Marcos Ribeiro Quinet de Andrade Universidade Federal Fluminense - UFF Pólo Universitário de Rio das Ostras - PURO
Prof. Marcos Ribeiro Quinet de Andrade Universidade Federal Fluminense - UFF Pólo Universitário de Rio das Ostras - PURO Dispositivos e recursos são compartilhados a todo momento: impressora, disco, arquivos,
E A D - S I S T E M A S L I N E A R E S INTRODUÇÃO
E A D - S I S T E M A S L I N E A R E S INTRODUÇÃO Dizemos que uma equação é linear, ou de primeiro grau, em certa incógnita, se o maior expoente desta variável for igual a um. Ela será quadrática, ou
Árvores. Algoritmos e Estruturas de Dados 2005/2006
Árvores Algoritmos e Estruturas de Dados 2005/2006 Árvores Conjunto de nós e conjunto de arestas que ligam pares de nós Um nó é a raiz Com excepção da raiz, todo o nó está ligado por uma aresta a 1 e 1
QualiQuantiSoft Versão 1.3c
QualiQuantiSoft Versão 1.3c Qualiquantisoft v1.3c Pág.: 1/15 Índice Apresentação do programa... 3 Funções operacionais do programa... 3 Itens de menu... 6 Teclas de atalho... 6 Instrumento de Análise de
ARQUITETURA DE COMPUTADORES - CONCEITUAL
Aula 01 04/08/2008 Universidade do Contestado UnC Sistemas de Informação Arquitetura de Computadores 2ª Fase Prof. Carlos Guerber ARQUITETURA DE COMPUTADORES - CONCEITUAL O QUE É O COMPUTADOR? Um computador
Pesquisa Sequencial e Binária. Introdução à Programação SI2
Pesquisa Sequencial e Binária Introdução à Programação SI2 3 Contexto Diferentes estratégias para pesquisa (busca) de um elemento específico em um conjunto de dados. Lista, array, coleção Operação importante,
BCC202 - Estrutura de Dados I
BCC202 - Estrutura de Dados I Aula 04: Análise de Algoritmos (Parte 1) Reinaldo Fortes Universidade Federal de Ouro Preto, UFOP Departamento de Ciência da Computação, DECOM Website: www.decom.ufop.br/reifortes
Roteiro. Arquitetura. Tipos de Arquitetura. Questionário. Centralizado Descentralizado Hibrido
Arquitetura Roteiro Arquitetura Tipos de Arquitetura Centralizado Descentralizado Hibrido Questionário 2 Arquitetura Figura 1: Planta baixa de uma casa 3 Arquitetura Engenharia de Software A arquitetura
SUMÁRIO 1. AULA 6 ENDEREÇAMENTO IP:... 2
SUMÁRIO 1. AULA 6 ENDEREÇAMENTO IP:... 2 1.1 Introdução... 2 1.2 Estrutura do IP... 3 1.3 Tipos de IP... 3 1.4 Classes de IP... 4 1.5 Máscara de Sub-Rede... 6 1.6 Atribuindo um IP ao computador... 7 2
Estabilidade. Carlos Alexandre Mello. Carlos Alexandre Mello [email protected] 1
Estabilidade Carlos Alexandre Mello 1 Introdução Já vimos que existem três requisitos fundamentais para projetar um sistema de controle: Resposta Transiente Estabilidade Erros de Estado Estacionário Estabilidade
Prof. Rafael Gross. [email protected]
Prof. Rafael Gross [email protected] Todo protocolo define um tipo de endereçamento para identificar o computador e a rede. O IP tem um endereço de 32 bits, este endereço traz o ID (identificador)
Tabela de símbolos: tabelas de espalhamento
Tabela de símbolos: tabelas de espalhamento Marcelo K. Albertini 14 de Janeiro de 2014 2/28 Resumo de complexidades Análises para operação efetuada após N inserções pior caso caso médio keys chave get
AULA 1 Iniciando o uso do TerraView
1.1 AULA 1 Iniciando o uso do TerraView Essa aula apresenta a interface principal do TerraView e sua utilização básica. Todos os arquivos de dados mencionados nesse documento são disponibilizados junto
APLICATIVOS GRÁFICOS (AULA 10)
Prof. Breno Leonardo G. de M. Araújo [email protected] http://blog.brenoleonardo.com.br APLICATIVOS GRÁFICOS (AULA 10) 1 Roteiro Operações Booleanas Comprimir e Expandir Simplificação Criando Texto Editor
Circuitos Digitais. Engenharia de Automação e Controle Engenharia Elétrica. São Paulo 2014. Prof. José dos Santos Garcia Neto
Engenharia de Automação e Controle Engenharia Elétrica Circuitos Digitais Prof. José dos Santos Garcia Neto São Paulo 2014 Prof. José dos Santos Garcia Neto 1 Introdução Esta apostila tem como objetivo
Árvores Binárias de Busca
Árvores Binárias de Busca Uma Árvore Binária de Busca T (ABB) ou Árvore Binária de Pesquisa é tal que ou T = 0 e a árvore é dita vazia ou seu nó contém uma chave e: 1. Todas as chaves da sub-árvore esquerda
UNIVERSIDADE DE SÃO PAULO. Faculdade de Arquitetura e Urbanismo
UNIVERSIDADE DE SÃO PAULO Faculdade de Arquitetura e Urbanismo DISTRIBUIÇÃO AMOSTRAL ESTIMAÇÃO AUT 516 Estatística Aplicada a Arquitetura e Urbanismo 2 DISTRIBUIÇÃO AMOSTRAL Na aula anterior analisamos
Conceitos Importantes:
Conceitos Importantes: Variáveis: Por Flávia Pereira de Carvalho, 2007 i O bom entendimento do conceito de variável é fundamental para elaboração de algoritmos, consequentemente de programas. Uma variável
Manual SAGe Versão 1.2 (a partir da versão 12.08.01)
Manual SAGe Versão 1.2 (a partir da versão 12.08.01) Submissão de Relatórios Científicos Sumário Introdução... 2 Elaboração do Relatório Científico... 3 Submissão do Relatório Científico... 14 Operação
A equação do 2º grau
A UA UL LA A equação do 2º grau Introdução Freqüentemente, ao equacionarmos um problema, obtemos uma equação na qual a incógnita aparece elevada ao quadrado. Estas são as chamadas equações do 2º grau.
Redes Bayesianas: o que são, para que servem, algoritmos e exemplos de aplicações. Inteligência Artificial Profa.: Inês Dutra Roberto Ligeiro
Redes Bayesianas: o que são, para que servem, algoritmos e exemplos de aplicações. Inteligência Artificial Profa.: Inês Dutra Roberto Ligeiro Resumo Introdução. Raciocinando sobre incertezas. Cálculo de
WORKSHOP Ferramenta OLAP IBM Cognos
WORKSHOP Ferramenta OLAP IBM Cognos O objetivo deste documento é orientar o usuário final na utilização das funcionalidades da ferramenta OLAP IBM Cognos, referente a licença de consumidor. Sumário 1 Query
6.3 Equivalência entre Autômatos com Pilha Não-Determinísticos e Gramáticas Livre do Contexto
Capítulo 6. Autômatos com Pilha 6.3 Equivalência entre Autômatos com Pilha Não-Determinísticos e Gramáticas Livre do Contexto Nos exemplos da seção anterior, vimos que os autômatos com pilha existem para
SISTEMA DE GERENCIAMENTO DE PROJETOS - REDMINE MANUAL DE USO
SISTEMA DE GERENCIAMENTO DE PROJETOS - REDMINE MANUAL DE USO AGOSTO DE 2013 SUMÁRIO STI/UFF - Sistema de Gerenciamento de Projetos do PDI SUMÁRIO... 2 1 Introdução... 3 1.1 O que é e qual a finalidade
Placas, cabos e hubs
PRÁTICA DE IDENTIFICAÇÃO DE MATERIAIS DE REDE Placas, cabos e hubs A maioria das redes de microcomputadores para PCs utilizam cabos e placas tipo Ethernet. Podemos encontrar três tipos de cabos Ethernet:
Cálculo utilizando variáveis do tipo DATA
Cálculo utilizando variáveis do tipo DATA Pré requisitos: Elaboração de questionário Análise de resultados Visões: relatórios multimídia Publicação de questionário na internet O uso de variáveis do tipo
Sistemas de Numerações.
Matemática Profº: Carlos Roberto da Silva; Lourival Pereira Martins. Sistema de numeração: Binário, Octal, Decimal, Hexadecimal; Sistema de numeração: Conversões; Sistemas de Numerações. Nosso sistema
Lista de Exercícios 4: Soluções Sequências e Indução Matemática
UFMG/ICEx/DCC DCC Matemática Discreta Lista de Exercícios : Soluções Sequências e Indução Matemática Ciências Exatas & Engenharias o Semestre de 05 O conjunto dos números racionais Q é enumerável, ou seja,
GERENCIAMENTO DE ESTOQUE NA FARMÁCIA
GERENCIAMENTO DE ESTOQUE NA FARMÁCIA Em qualquer empresa que atua na comercialização de produtos, o estoque apresenta-se como elemento fundamental. No ramo farmacêutico, não é diferente, sendo o controle
GUIA DE REDAÇÃO PARA TRABALHO DE EM974
GUIA DE REDAÇÃO PARA TRABALHO DE EM974 CONSIDERAÇÕES GERAIS O objetivo deste documento é informar a estrutura e a informação esperadas num texto de Trabalho de Graduação. O conteúdo do texto deverá ser
Sumário. Prefácio... xi. Prólogo A Física tira você do sério?... 1. Lei da Ação e Reação... 13
Sumário Prefácio................................................................. xi Prólogo A Física tira você do sério?........................................... 1 1 Lei da Ação e Reação..................................................
4 Segmentação. 4.1. Algoritmo proposto
4 Segmentação Este capítulo apresenta primeiramente o algoritmo proposto para a segmentação do áudio em detalhes. Em seguida, são analisadas as inovações apresentadas. É importante mencionar que as mudanças
Algoritmos de Busca em Tabelas
Dentre os vários algoritmos fundamentais, os algoritmos de busca em tabelas estão entre os mais usados. Considere por exemplo um sistema de banco de dados. As operações de busca e recuperação dos dados
Você pode dizer isso de novo! Compressão de Texto
Atividade 3 Você pode dizer isso de novo! Compressão de Texto Sumário Desde que os computadores possuíam apenas uma quantidade limitada de espaço para armazenar informações, estes precisavam armazená-las
Universidade Federal de Mato Grosso do Sul Faculdade de Computação Disciplina de Verão: Algoritmos e Programação II
Universidade Federal de Mato Grosso do Sul Faculdade de Computação Disciplina de Verão: Algoritmos e Programação II Professores: Liana Duenha 10 de março de 2014 Professores: Liana Duenha () Universidade
IA: Problemas de Satisfação de Restrições. Prof. Msc. Ricardo Britto DIE-UFPI [email protected]
IA: Problemas de Satisfação de Restrições Prof. Msc. Ricardo Britto DIE-UFPI [email protected] Introdução Um PSR é definido por um conjunto de variáveis X 1, X 2,..., X n, e por um conjunto de restrições,
