Análise e Síntese de Algoritmos. Algoritmos em Grafos CLRS, Cap. 22
|
|
- Matheus Nunes Tavares
- 6 Há anos
- Visualizações:
Transcrição
1 Análise e Síntese de Algoritmos Algoritmos em Grafos CLRS, Cap. 22
2 Mudança no Horário Aulas Teóricas de 4ª feira 10:30 12:00 Sala: FA1 12:00 13:30 Sala: FA1 Deixa de haver aula teórica às 9:00 por troca com Modelação 2007/2008 Análise e Síntese de Algoritmos 2
3 Contexto Revisões [CLRS, Cap. 1-10] Algoritmos em Grafos [CLRS, Cap ] Algoritmos elementares; Árvores abrangentes; Caminhos mais curtos; Fluxos máximos Programação Linear [CLRS, Cap. 29] Técnicas de Síntese de Algoritmos [CLRS, Cap ] Programação dinâmica Algoritmos greedy Tópicos Adicionais [CLRS, Cap ] Emparelhamento de Cadeias de Caracteres Complexidade Computacional Algoritmos de Aproximação 2007/2008 Análise e Síntese de Algoritmos 3
4 Resumo Algoritmos elementares em grafos Representação de grafos Procura em Largura Primeiro Breadth-First Search (BFS) Propriedades da BFS Procura em Profundidade Primeiro Depth-First Search (DFS) Propriedades da DFS Ordenação Topológica Componentes Fortemente Ligados Strongly Connected Components (SCCs) Exemplos 2007/2008 Análise e Síntese de Algoritmos 4
5 Grafos Definição e Representação Grafo definido por um conjunto V de vértices e um conjunto E de arcos, G = (V, E) Arcos representam ligações entre pares de vértices E V V Grafo esparso: E << V V Representação dos arcos Matriz de adjacências: arcos representados por matriz Para grafos densos Listas de adjacências: arcos representados por listas Para grafos esparsos Grafos podem ser dirigidos ou não dirigidos Existência (ou não) da noção de direcção nos arcos 2007/2008 Análise e Síntese de Algoritmos 5
6 Grafos Definição e Representação Listas vs. Matriz de adjacências Não Dirigido: / / 3 2 / / Dirigido: / 2 3 / 3 / /2008 Análise e Síntese de Algoritmos 6
7 Grafos Definição e Representação Listas de adjacências: Grafos não dirigidos Tamanho das listas é 2 E Grafos dirigidos Tamanho das listas é E Tamanho total das listas de adjacências é O(V+E) 2 Matriz de adjacências: Θ( V ) para qualquer grafo Grafos pesados: Função de pesos: w: E R Permite associar um peso a cada arco 2007/2008 Análise e Síntese de Algoritmos 7
8 Procura em Largura Primeiro (BFS) Dados G = (V, E) e vértice fonte s, BFS explora sistematicamente vértices de G para descobrir todos os vértices atingíveis a partir de s Cálculo da distância: menor número de arcos de s para cada vértice atingível Identificação de árvore BF: caminho mais curto de s para cada vértice atingível v Fronteira entre nós descobertos e não descobertos é expandida uniformemente Nós à distância k descobertos antes de qualquer nó à distância k /2008 Análise e Síntese de Algoritmos 8
9 Procura em Largura Primeiro (BFS) Implementação: color[v]: cor do vértice v, branco, cinzento e preto π[v]: predecessor de v na árvore BF d[v]: tempo de descoberta de v Outras definições: δ(s,v): menor distância de s a v menor número de arcos em qualquer caminho de s para v 2007/2008 Análise e Síntese de Algoritmos 9
10 Procura em Largura Primeiro (BFS) ciclo principal Algoritmo: function BFS(G,s) for each vertex u in V[G] - { s } color[u] = white; d[u] = ; π[u] = NIL color[s] = gray; d[s] = 0; π[s] = NIL Q = { s } while Q inicializações u = Dequeue (Q) for each v Adj[u] if color[v] = white then color[v] = gray; d[v] = d[u] + 1; π[v] = u Enqueue (Q, v) color[u] = black 2007/2008 Análise e Síntese de Algoritmos 10
11 Procura em Largura Primeiro (BFS) Tempo de execução: O(V + E) Inicialização: O(V) Para cada vértice Colocado na fila apenas 1 vez: Lista de adjacências visitada 1 vez: O(V) O(E) Exemplo 2007/2008 Análise e Síntese de Algoritmos 11
12 Procura em Largura Primeiro (BFS) Resultado: Para qualquer arco (u,v): δ s,v δ s,u + Se u atingível, então v atingível caminho mais curto para v não pode ser superior a caminho mais curto para u mais arco (u,v) Se u não atingível, então resultado é válido (independentemente de v ser atingível) No final da BFS: ( ) ( ) 1 d[u] = δ(s,u), para todo o vértice u de V 2007/2008 Análise e Síntese de Algoritmos 12
13 Procura em Largura Primeiro (BFS) Árvores BF: (sub-grafo de G) Vértices atingíveis a partir de s Arcos que definem a relação predecessor da BFS G π = ( V, E ) π π V π = { v V : π[ v] NIL} { s} E = π π {( π[ v], v) E : v V { s}} 2007/2008 Análise e Síntese de Algoritmos 13
14 Procura Profundidade Primeiro (DFS) Grafo pesquisado dando prioridade aos arcos dos vértices mais recentemente visitados Resultado da procura: Floresta DF: G = ( V, E π π ) E = {( π[ v], v) : v V π[ v] NIL} π Floresta DF composta por várias árvores DF Implementação: color[u]: cor do vértice (branco, cinzento, preto) d[u]: tempo de início (de visita do vértice) f[u]: tempo de fim (de visita do vértice) 2007/2008 Análise e Síntese de Algoritmos 14
15 Procura Profundidade Primeiro (DFS) Algoritmo: function DFS(G) for each vertex u V[G] color[u] = white π[u] = NIL time = 1 for each vertex u V[G] if color[u] = white DFS-Visit(u) function DFS-Visit(u) color[u] = gray d[u] = time time = time + 1 for each v Adj[u] if color[v] = white π[v] = u DFS-Visit(v) color[u] = black f[u] = time time = time /2008 Análise e Síntese de Algoritmos 15
16 Procura Profundidade Primeiro (DFS) Tempo de execução: O(V+E) Inicialização: O(V) Chamadas a DFS-Visit dentro de DFS: O(V) Arcos analisados em DFS-Visit: Θ(E) Chamadas a DFS-Visit dentro de DFS-Visit: O(V) Mas v V Adj [ v] = Θ( E) Exemplo 2007/2008 Análise e Síntese de Algoritmos 16
17 Procura Profundidade Primeiro (DFS) Resultado: Numa DFS de G = (V, E), para cada par de vértices u e v apenas um dos 3 casos seguintes é verdade: Os intervalos [d[u], f[u]] e [d[v], f[v]] são disjuntos d[u] f[u] d[v] f[v] [d[u], f[u]] está contido em [d[v], f[v]] e u é descendente de v na árvore DF [d[v], f[v]] está contido em [d[u], f[u]] e v é descendente de u na árvore DF d[u] d[v] f[v] f[u] d[u] d[v] f[u] f[v] X 2007/2008 Análise e Síntese de Algoritmos 17
18 Procura Profundidade Primeiro (DFS) Classificação de arcos (u,v): Arcos de árvore: (tree edges) arcos na floresta DF, G π (u,v) é arco de árvore se v foi visitado devido ao arco (u,v) ser visitado Arcos para trás: (back edges) ligam vértice u a vértice v antecessor na mesma árvore DF Arcos para a frente: (forward edges) ligam vértice v a vértice descendente na mesma árvore DF Arcos de cruzamento: (cross edges) Na mesma árvore DF, se u (ou v) não antecessor de v (ou u) Entre árvores DF diferentes 2007/2008 Análise e Síntese de Algoritmos 18
19 Procura Profundidade Primeiro (DFS) Classificação de cada arco (u,v): Arco de árvore: d[u] < d[v] < f[v] < f[u] ; color[v] = white; visita v a partir de u Arco para trás: d[v] < d[u] < f[u] < f[v] ; color[v] = gray Arco para a frente: d[u] < d[v] < f[v] < f[u] ; color[v] = black Arco de cruzamento: d[v] < f[v] < d[u] < f[u] ; color[v] = black 2007/2008 Análise e Síntese de Algoritmos 19
20 Procura Profundidade Primeiro (DFS) Dado G = (V, E), não dirigido, cada arco é arco de árvore ou arco para trás i.e., não existem arcos para a frente e de cruzamento Numa floresta DFS, v é descendente de u se e só se quando u é descoberto existe um caminho de vértices brancos de u para v v descendente de u existe caminho de vértices brancos de u para v Qualquer vértice w descendente de u verifica [d[w], f[w]] [d[u], f[u]], pelo que w é branco quando u é descoberto 2007/2008 Análise e Síntese de Algoritmos 20
21 Recapitular Representação de grafos Listas de adjacências Matrizes de adjacências Procuras em grafos BFS Tempos de descoberta (d[]) DFS Tempos de início (d[]) e de fim (f[]) 2007/2008 Análise e Síntese de Algoritmos 21
22 Definições Dado grafo G = (V, E), um caminho p é uma sequência <v 0,v 1,,v k > tal que para todo o i, 0 i k-1, (v i,v i+1 ) E Se existe um caminho p de u para v,então v diz-se atingível a partir de u via p Um ciclo num grafo G = (V,E) é um caminho <v 0,v 1,,v k >, tal que v 0 = v k Um grafo dirigido G = (V,E) diz-se acíclico se não tem ciclos Directed acyclic graph (DAG) 2007/2008 Análise e Síntese de Algoritmos 22
23 Ordenação Topológica Uma ordenação topológica de um DAG G=(V,E) é uma ordenação de todos os vértices tal que se (u,v) E então u aparece antes de v na ordenação Algoritmos: Eliminação de vértices Utilizando informação de DFS 2007/2008 Análise e Síntese de Algoritmos 23
24 Ordenação Topológica (Cont.) Algoritmo: Colocar vértices em L O(V+E) function Topological-Sort-1(G) L = Q = // Lista de vértices // Fila de vértices for each v G if v sem arcos de entrada (w,v) Enqueue(Q,v) while Q u = Head(Q) Eliminar todos os arcos (u,v) if v sem arcos de entrada (w,v) Enqueue(Q,v) Dequeue(Q) Colocar u no fim da lista L Inicialização O(V) 2007/2008 Análise e Síntese de Algoritmos 24
25 Ordenação Topológica (Cont.) Algoritmo: function Topological-Sort-2(G) Executar DFS(G) para cálculo do tempo de fim f[v] para cada v Para cada vértice terminado, inserir no princípio de lista ligada return lista ligada de vértices Tempo de execução DFS: O(V+E) Exemplo 2007/2008 Análise e Síntese de Algoritmos 25
26 Ordenação Topológica (Cont.) Intuição: Na DFS: Tempo de fim de 3 é sempre > Tempo de fim de 4 Tempo de fim de 2 é sempre > Tempo de fim de 4 Tempo de fim de 1 é sempre > Tempo de fim de 2,4 Sem ciclos, se existe caminho de u para v, verifica-se sempre f[u] > f[v]! 2007/2008 Análise e Síntese de Algoritmos 26
27 Componentes Fortemente Ligados Definição: Dado grafo dirigido G = (V,E) um componente fortemente ligado (SCC) é um conjunto máximo de vértices U V, tal que para u,v U, u é atingível a partir de v, e v é atingível a partir de u Obs: vértice simples é SCC Outras definições: Grafo transposto de G = (V,E) G T = (V, E T ) tal que: E T = {( u,v ): ( v,u) E} OBS: G e G T têm os mesmos SCCs 2007/2008 Análise e Síntese de Algoritmos 27
28 Componentes Fortemente Ligados Algoritmo: function SCCs(G) Executar DFS(G) para cálculo do tempo de fim f[v] para cada v Representar G T Executar DFS(G T ) (no ciclo principal de DFS considerar os vértices por ordem decrescente de tempo de fim de DFS(G)) Cada árvore de DFS encontrada corresponde a novo SCC Tempo de execução: O(V+E) Exemplo 2007/2008 Análise e Síntese de Algoritmos 28
29 Componentes Fortemente Ligados Intuição: Em G: SCC 1 SCC 2 SCC 3 maior f > maior f > maior f Em G T : SCC 1 SCC 2 SCC 3 árvore DFS árvore DFS árvore DFS 2007/2008 Análise e Síntese de Algoritmos 29
30 Componentes Fortemente Ligados G: f[] = 24 4 max f > max f 8 max f > max f 12 G T : /2008 Análise e Síntese de Algoritmos 30
31 Problemas Algoritmo eficiente para determinar se grafo G = (V, E) é bipartido? Grafo G é bipartido se V pode ser dividido em L e R, tal que todos os arcos de G incidentes em 1 vértice de L e 1 vértice de R Algoritmo eficiente para calcular o diâmetro de uma árvore T = (V, E)? Diâmetro: max δ( u,v ) u,v V Solução: Duas BFSs 2007/2008 Análise e Síntese de Algoritmos 31
32 Outro Problema Algoritmo eficiente para determinar se um grafo G=(V, E) é semi-ligado Um grafo dirigido G = (V,E) diz-se semi-ligado se para qualquer par de vértices (u,v), u atingível a partir de v ou v atingível a partir de u 2007/2008 Análise e Síntese de Algoritmos 32
33 Revisão Algoritmos elementares em grafos Representação de grafos BFS; DFS Algoritmos Propriedades Aplicações: Ordenação topológica Componentes fortemente ligados A seguir: Estruturas de dados para conjuntos disjuntos (CLRS, Cap. 21) Árvores abrangentes de menor custo (CLRS, Cap. 23) 2007/2008 Análise e Síntese de Algoritmos 33
2006/2007 Análise e Síntese de Algoritmos 2
Análise e Síntese de Algoritmos Árvores Abrangentes de Menor Custo CLRS, Cap. 23 Resumo Árvores Abrangentes de Menor Custo Minimum-Spanning Trees (MSTs) Algoritmo (greedy) genérico Prova de optimalidade
Leia maisPercursos e Conectividade em Grafos Depth-First Search. DFS: Depth-First Search (pesquisa em profundidade)
Percursos e Conectividade em Grafos Depth-First Search Fernando Lobo Algoritmos e Estrutura de Dados II 1 / 23 DFS: Depth-First Search (pesquisa em profundidade) Assim que se descobre um nó, começa-se
Leia maisINSTITUTO SUPERIOR TÉCNICO Análise e Síntese de Algoritmos. RESOLUÇÃO DA REPESCAGEM DO 1 o TESTE
INSTITUTO SUPERIOR TÉCNICO Análise e Síntese de Algoritmos Ano Lectivo de 00/006 o Semestre RESOLUÇÃO DA REPESCAGEM DO o TESTE I. (,+,+,0 =,0 val.) ) Considere o seguinte grafo. d f i l a c g h b e j k
Leia maisAnálise e Síntese de Algoritmos. Caminhos Mais Curtos para Todos os Pares CLRS, Cap. 25
Análise e Síntese de Algoritmos Caminhos Mais Curtos para Todos os Pares CLRS, Cap. 25 Contexto Algoritmos Elementares em Grafos (CLR, Cap. 22) BFS & DFS Ordenação Topológica & SCCs Árvores Abrangentes
Leia maisFluxo Máximo a Custo Mínimo
Universidade Federal de Campina Grande Centro de Engenharia Elétrica e Informática Departamento de Sistemas e Computação Programa de Educação Tutorial (PET) Demontiê Junior (demontie@dsc.ufcg.edu.br) Fluxo
Leia maisÁrvores. ! utilizada em muitas aplicações. ! modela uma hierarquia entre elementos. ! O conceito de árvores está diretamente ligado à recursão
Árvores 1 Árvores! utilizada em muitas aplicações! modela uma hierarquia entre elementos! árvore genealógica! diagrama hierárquico de uma organização! modelagem de algoritmos! O conceito de árvores está
Leia mais2 Segmentação de imagens e Componentes conexas
Universidade Tecnológica Federal do Paraná (UTFPR) Departamento Acadêmico de Informática (DAINF) Algoritmos II Professor: Alex Kutzke (alexk@dainf.ct.utfpr.edu.br) Especificação do Primeiro Trabalho Prático
Leia maisScheduling and Task Allocation ADVANCED COMPUTER ARCHITECTURE AND PARALLEL PROCESSING Hesham El-Rewini 2005 Capítulo 10 Autor...: Antonio Edson Ceccon Professor..: Prof. Heitor Silvério Lopes Apresentação
Leia maisESTRUTURAS DE DADOS II prof. Alexandre César Muniz de Oliveira
ESTRUTURAS DE DADOS II prof. Alexandre César Muniz de Oliveira 1. Grafos 2. Ordenação 3. Busca Sugestão bibliográfica: E STRUTURAS DE DADOS USANDO C Aaron M. Tenenbaum, et alli DATA STRUCTURES AND ALGORITHMS
Leia maisÁrvores UFES. Teoria dos Grafos. CC/EC/Mestrado
Árvores Árvores Grafo Acíclico: não possui ciclos Árvores Grafo Acíclico: não possui ciclos Uma árvore é um grafo conexo acíclico Árvores Grafo Acíclico: não possui ciclos Uma árvore é um grafo conexo
Leia maisCurso de Formação de Oficiais Conhecimentos Específicos ENGENHARIA DE COMPUTAÇÃO CADERNO DE QUESTÕES
Curso de Formação de Oficiais Conhecimentos Específicos ENGENHARIA DE COMPUTAÇÃO CADERNO DE QUESTÕES 2014 1 a QUESTÃO Valor: 1,00 a) (0,30) Defina gramáticas livre de contexto. b) (0,30) Crie uma gramática
Leia maisUniversidade Federal de Goiás Campus Catalão Departamento de Matemática
Universidade Federal de Goiás Campus Catalão Departamento de Matemática Disciplina: Álgebra Linear Professor: André Luiz Galdino Aluno(a): 4 a Lista de Exercícios 1. Podemos entender transformações lineares
Leia maisINSTITUTO SUPERIOR TÉCNICO Análise e Síntese de Algoritmos. RESOLUÇÃO DA RESPESCAGEM DO 2 o TESTE
INSTITUTO SUPERIOR TÉCNICO Análise e Síntese de Algoritmos Ano Lectivo de 2006/2007 2 o Semestre RESOLUÇÃO DA RESPESCAGEM DO 2 o TESTE I. (2,0+2,0+2,0 = 6,0 val.) 1) Calcule o valor óptimo da função objectivo
Leia maisFERRAMENTA PARA REPRESENTAÇÃO GRÁFICA DO FUNCIONAMENTO DE ALGORITMOS APLICADOS EM GRAFOS
UNIVERSIDADE REGIONAL DE BLUMENAU CENTRO DE CIÊNCIAS EXATAS E NATURAIS CURSO DE CIÊNCIAS DA COMPUTAÇÃO BACHARELADO FERRAMENTA PARA REPRESENTAÇÃO GRÁFICA DO FUNCIONAMENTO DE ALGORITMOS APLICADOS EM GRAFOS
Leia maisÁlgebra Linear Aplicada à Compressão de Imagens. Universidade de Lisboa Instituto Superior Técnico. Mestrado em Engenharia Aeroespacial
Álgebra Linear Aplicada à Compressão de Imagens Universidade de Lisboa Instituto Superior Técnico Uma Breve Introdução Mestrado em Engenharia Aeroespacial Marília Matos Nº 80889 2014/2015 - Professor Paulo
Leia maisColectânea de Problemas Análise e Síntese de Algoritmos
Colectânea de Problemas Análise e Síntese de Algoritmos João Marques Silva Departamento de Engenharia Informática Instituto Superior Técnico (IST)/INESC-ID e-mail: joao.marques.silva@dei.ist.utl.pt Vers~ao
Leia maisExemplos. Jogo dos oito :-) Mundo dos blocos (ex: torre de Hanoi) Poblema das rainhas. Criptoaritmética. Missionários e Canibais.
istemas Inteligentes, 10-11 1 Exemplos Jogo dos oito :-) Mundo dos blocos (ex: torre de Hanoi) Poblema das rainhas Criptoaritmética Missionários e Canibais Resta-um e muitos outros... istemas Inteligentes,
Leia maisTeoria de Jogos. Algoritmo Minimax e Alfa-Beta AED - 2002
Teoria de Jogos Algoritmo Minimax e Alfa-Beta AED - 2002 Conceptualização do Problema Jogar pode ser visto como uma generalização do problema de procura em espaço de estados, em que existem agentes hostis
Leia maisTeoria dos Grafos. José de Oliveira Guimarães Departamento de Computação - UFSCar jose@dc.ufscar.br
Teoria dos Grafos José de Oliveira Guimarães Departamento de Computação - UFSCar jose@dc.ufscar.br 1 Introdução...2 1.1 Conceitos Básicos...2 1.2 História...3 1.3 Aplicações de Teoria dos Grafos...4 1.4
Leia maisTeoria dos Grafos. José de Oliveira Guimarães Departamento de Computação - UFSCar jose@dc.ufscar.br
Teoria dos Grafos José de Oliveira Guimarães Departamento de Computação - UFSCar jose@dc.ufscar.br 1 Introdução... 2 1.1 Conceitos Básicos... 2 1.2 História...4 1.3 Aplicações de Teoria dos Grafos...5
Leia maisProf. Daniela Barreiro Claro
O volume de dados está crescendo sem parar Gigabytes, Petabytes, etc. Dificuldade na descoberta do conhecimento Dados disponíveis x Análise dos Dados Dados disponíveis Analisar e compreender os dados 2
Leia maisMétodo de ordenação - objetivos:
Método de ordenação - objetivos: Corresponde ao processo de rearranjar um conjunto de objetos em uma ordem ascendente ou descendente. Facilitar a recuperação posterior de itens do conjunto ordenado. São
Leia maisManual de Programação TED1000 versão TC100 Ethernet
Manual de Programação TED1000 versão TC100 Ethernet Indice: Configurações iniciais...2 Configuração de IP...2 Teclas especiais...2 Cabo de rede...2 Programação...3 Abrindo a comunicação (abreip)...3 Enviando
Leia maisÍndice Geral. O Problema do Caminho Mais Curto com um só Objectivo
Índice Geral RESUMO CAPÍTULO 1 Introdução Geral 1. O problema multicritério--------------------------------------------------------------------------------- 1 2. O problema multiobjectivo ------------------------------------------------------------------------------
Leia maisCOBRANÇA BANCÁRIA CAIXA
COBRANÇA BANCÁRIA CAIXA ESPECIFICAÇÃO DE CÓDIGO DE BARRAS PARA BLOQUETOS DE COBRANÇA COBRANÇAS RÁPIDA E SEM REGISTRO GESER NOVEMBRO/2000 ÍNDICE PÁGINA 1 INTRODUÇÃO... 3 2 ESPECIFICAÇÕES...4 2.1 FORMATO......
Leia maisFastCube 2.0 Programmer Manual
FastCube 2.0 Programmer Manual I FastCube 2.0 Programmer Manual Table of contents Chapter I Arquitetura do FastCube 2 2 Chapter II Utilizaçã o dos componentes do FastCube 5 1 Salvar... e carregar um cubo
Leia maisAula 10: Escalonamento da CPU
Aula 10: Escalonamento da CPU O escalonamento da CPU é a base dos sistemas operacionais multiprogramados. A partir da redistribuição da CPU entre processos, o sistema operacional pode tornar o computador
Leia maisFunção. Adição e subtração de arcos Duplicação de arcos
Função Trigonométrica II Adição e subtração de arcos Duplicação de arcos Resumo das Principais Relações I sen cos II tg sen cos III cotg tg IV sec cos V csc sen VI sec tg VII csc cotg cos sen Arcos e subtração
Leia maisGraphing Basic no Excel 2007
Graphing Basic no Excel 2007 Tabela de Conteúdos 1. Inserindo e formatando os dados no Excel 2. Criando o gráfico de dispersão inicial 3. Criando um gráfico de dispersão de dados de titulação 4. Adicionando
Leia maisMatemática Discreta. Leandro Colombi Resendo. Matemática Discreta Bacharel em Sistemas de Informações
Matemática Discreta Leandro Colombi Resendo Grafos e Árvores Grafos e Suas Representações Árvores e suas Representações Árvores de Decisão Códigos de Huffman Definição: Uma árvore é um grafo conexo acíclico
Leia maisALGORITMOS E COMPLEXIDADE PROBLEMAS E ALGORITMOS
ALGORITMOS E COMPLEXIDADE PROBLEMAS E ALGORITMOS Algoritmos e Complexidade 1 Plano Problemas e algoritmos. Estrutura de um algoritmo e dados manipulados. Métodos algorítmicos para resolução de problemas.
Leia maisSistemas Operacionais. Sincronização: Semáforos Problema dos Leitores/Escritores
Sistemas Operacionais Sincronização: Semáforos Problema dos Leitores/Escritores Autoria Autores Eduardo André Mallmann 0905/96-9 João Paulo Reginatto 1530/96-0 Local Instituto de Informática UFRGS disciplina:
Leia maisEngenharia de Software II
Engenharia de Software II Aula 26 http://www.ic.uff.br/~bianca/engsoft2/ Aula 26-21/07/2006 1 Ementa Processos de desenvolvimento de software Estratégias e técnicas de teste de software Métricas para software
Leia maisLISTAS ENCADEADAS OU NÃO- SEQÜENCIAIS. Estrutura de Dados
LISTAS ENCADEADAS OU NÃO- SEQÜENCIAIS Listas Lineares Como visto anteriormente, as operações básicas para o nosso TAD Lista Linear são: FLVazia Vazia Retira Insere Imprime A implementação através de arrays
Leia maisÁrvores Parte 1. Aleardo Manacero Jr. DCCE/UNESP Grupo de Sistemas Paralelos e Distribuídos
Árvores Parte 1 Aleardo Manacero Jr. DCCE/UNESP Grupo de Sistemas Paralelos e Distribuídos Árvores uma introdução As listas apresentadas na aula anterior formam um conjunto de TADs extremamente importante
Leia maisTeoria dos Grafos. Valeriano A. de Oliveira Socorro Rangel Departamento de Matemática Aplicada. antunes@ibilce.unesp.br, socorro@ibilce.unesp.
Teoria dos Grafos Valeriano A. de Oliveira Socorro Rangel Departamento de Matemática Aplicada antunes@ibilce.unesp.br, socorro@ibilce.unesp.br Grafos e Algoritmos Preparado a partir do texto: Rangel, Socorro.
Leia mais1.2 OPERAÇÕES BÁSICAS EM ALGORITMOS E PROGRAMAS 18
ÍNDICE MÓDULO 1 INTRODUÇÃO À ALGORITMIA 11 1.1 PROGRAMAS E ALGORITMOS 12 Fases da programação 12 Algoritmos e algoritmia 13 Algoritmos em linguagem informal, pseudocódigo e fluxogramas 14 Símbolos utilizados
Leia maisA-Graph: Uma ferramenta computacional de suporte para o ensino-aprendizado da disciplina Teoria dos Grafos e seus Algoritmos
A-Graph: Uma ferramenta computacional de suporte para o ensino-aprendizado da disciplina Teoria dos Grafos e seus Algoritmos Luis Arturo Pérez Lozada 1 1 Centro de Matemática, Computação e Cognição Universidade
Leia maisÁrvores Binárias e Busca. Jeane Melo
Árvores Binárias e Busca Jeane Melo Roteiro Parte 1 Árvores Relação hierárquica Definição Formal Terminologia Caminhamento em Árvores Binárias Exemplos Parte 2 Busca seqüencial Busca Binária Grafos Conjunto
Leia maisI. Conjunto Elemento Pertinência
TEORI DOS CONJUNTOS I. Conjunto Elemento Pertinência Conjunto, elemento e pertinência são três noções aceitas sem definição, ou seja, são noções primitivas. idéia de conjunto é praticamente a mesma que
Leia maisGrafos Msc. Daniele Carvalho Oliveira. Doutoranda em Computação UFU Mestre em Computação - UFU Bacharel em Computação - UFJF 1
Grafos Msc. Daniele Carvalho Oliveira Doutoranda em Computação UFU Mestre em Computação - UFU Bacharel em Computação - UFJF 1 Árvore Geradora Mínima 2 Porque é um problema interessante Suponha que queremos
Leia maisModelos de Regressão Linear Simples - Erro Puro e Falta de Ajuste
Modelos de Regressão Linear Simples - Erro Puro e Falta de Ajuste Erica Castilho Rodrigues 2 de Setembro de 2014 Erro Puro 3 Existem dois motivos pelos quais os pontos observados podem não cair na reta
Leia maisFundamentos de Teste de Software
Núcleo de Excelência em Testes de Sistemas Fundamentos de Teste de Software Módulo 1- Visão Geral de Testes de Software Aula 2 Estrutura para o Teste de Software SUMÁRIO 1. Introdução... 3 2. Vertentes
Leia maisExercício. Exercício
Exercício Exercício Aula Prática Utilizar o banco de dados ACCESS para passar o MER dos cenários apresentados anteriormente para tabelas. 1 Exercício oções básicas: ACCESS 2003 2 1 Exercício ISERIDO UMA
Leia maisENG1000 Introdução à Engenharia
ENG1000 Introdução à Engenharia Aula 09 Vetores e Matrizes Edirlei Soares de Lima Introdução Até agora nós temos usado variáveis simples para armazenar valores usados por nossos
Leia maisOlimpíada Brasileira de Raciocínio Lógico Nível III Fase II 2014
1 2 Questão 1 Um dado é feito com pontos colocados nas faces de um cubo, em correspondência com os números de 1 a 6, de tal maneira que somados os pontos que ficam em cada par de faces opostas é sempre
Leia maisGestão de Sistemas Operacionais I
Gestão de Sistemas Operacionais I Professor: Wellington Fábio de Oliveira Martins MSDOS Comandos mais utilizados Para usar o MS-DOS no Windows 98 va no menu iniciar -> executar -> digita: command No Windows
Leia maisMatemática Discreta - 08
Universidade Federal do Vale do São Francisco urso de Engenharia da omputação Matemática Discreta - 08 Prof. Jorge avalcanti jorge.cavalcanti@univasf.edu.br www.univasf.edu.br/~jorge.cavalcanti www.twitter.com/jorgecav
Leia maisEspecificação do Código de Barras para Bloquetos de Cobrança Sem Registro e Registrada no SIGCB
1 INTRODUÇÃO... 2 2 ESPECIFICAÇÕES GERAIS... 2 2.1 FORMATO... 2 2.2 GRAMATURA DO PAPEL... 2 2.3 DIMENSÃO... 2 2.4 NÚMERO DE VIAS OU PARTES... 2 2.5 DISPOSIÇÃO DAS VIAS OU PARTES... 2 2.6 COR DA VIA/IMPRESSÃO...
Leia maisSISTEMAS DIGITAIS SISTEMAS DE NUMERAÇÃO E CÓDIGOS
SISTEMAS DE NUMERAÇÃO E CÓDIGOS SISTEMAS DE NUMERAÇÃO E CÓDIGOS - 2 SUMÁRIO: SISTEMAS DE NUMERAÇÃO DEFINIÇÃO DE SISTEMA DE NUMERAÇÃO EQUIVALENTE DECIMAL OPERAÇÕES ARITMÉTICAS BÁSICAS MUDANÇA DE SISTEMA
Leia maisUNIVERSIDADE 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: Produtos Notáveis; Equações; Inequações; Função; Função Afim; Paridade;
Leia maisAULA 07 Distribuições Discretas de Probabilidade
1 AULA 07 Distribuições Discretas de Probabilidade Ernesto F. L. Amaral 31 de agosto de 2010 Metodologia de Pesquisa (DCP 854B) Fonte: Triola, Mario F. 2008. Introdução à estatística. 10 ª ed. Rio de Janeiro:
Leia maisModelo Entidade Relacionamento (MER) Professor : Esp. Hiarly Alves
Tópicos Apresentação Entidade, Atributo e Relacionamento Cardinalidade Representação simbólica Generalizações / Especializações Agregações Apresentação O Modelo Entidade-Relacionamento tem o objetivo de
Leia maisAula de Hoje. Processamento Estatístico da Linguagem Natural. Decodificação. Decodificação. A treliça do algoritmo Viterbi
Processamento Estatístico da Linguagem Natural Aula 14 Professora Bianca (Sala 302 Bloco E) bianca@ic.uff.br http://www.ic.uff.br/~bianca/peln/ Aula de Hoje Cap. 6 Jurafsky & Martin Hidden Markov and Maximum
Leia maisDEPARTAMENTO DE MATEMÁTICA
FACULDADE DE CIÊNCIAS NATURAIS E MATEMÁTICA DEPARTAMENTO DE MATEMÁTICA Campus de Lhanguene, Av. de Moçambique, km 1, Tel: +258 21401078, Fax: +258 21401082, Maputo Cursos de Licenciatura em Ensino de Matemática
Leia maisEGEA ESAPL - IPVC. Resolução de Problemas de Programação Linear, com recurso ao Excel
EGEA ESAPL - IPVC Resolução de Problemas de Programação Linear, com recurso ao Excel Os Suplementos do Excel Em primeiro lugar deverá certificar-se que tem o Excel preparado para resolver problemas de
Leia maisSubconjuntos Especiais
Subconjuntos Especiais Cobertura de vértices ^ C uma cobertura de vértices de um grafo é um conjunto de vértices tal que cada aresta do grafo é incidente a, pelo menos, um vértice do conjunto. É um conjunto
Leia maisMatrizes. matriz de 2 linhas e 2 colunas. matriz de 3 linhas e 3 colunas. matriz de 3 linhas e 1 coluna. matriz de 1 linha e 4 colunas.
Definição Uma matriz do tipo m n (lê-se m por n), com m e n, sendo m e n números inteiros, é uma tabela formada por m n elementos dispostos em m linhas e n colunas. Estes elementos podem estar entre parênteses
Leia maisManual de Utilização. Ao acessar o endereço www.fob.net.br chegaremos a seguinte página de entrada: Tela de Abertura do Sistema
Abaixo explicamos a utilização do sistema e qualquer dúvida ou sugestões relacionadas a operação do mesmo nos colocamos a disposição a qualquer horário através do email: informatica@fob.org.br, MSN: informatica@fob.org.br
Leia maisMATEMÁTICA II. Aula 12. 3º Bimestre. Determinantes Professor Luciano Nóbrega
1 MATEMÁTICA II Aula 12 Determinantes Professor Luciano Nóbrega º Bimestre 2 DETERMINANTES DEFINIÇÃO A toda matriz quadrada está associado um número real ao qual damos o nome de determinante. O determinante
Leia maisModelo Relacional Normalização Diagramas E-R e Tabelas Originadas
Informática II Modelo Relacional Normalização Diagramas E-R e Tabelas Originadas (TÓPICOS ABORDADOS NAS AULAS DE INFORMÁTICA II) Por: Artur Sousa / Jorge Loureiro Conceitos de entidade e atributo Tipos
Leia maisAULA 1 INTRODUÇÃO A BANCO DE DADOS E VISÃO GERAL DO SQL CONCEITUANDO BANCO DE DADOS MODELO RELACIONAL
BANCO DE DADOS GERENCIAL 1 AULA 1 INTRODUÇÃO A BANCO DE DADOS E VISÃO GERAL DO SQL CONCEITUANDO BANCO DE DADOS Um banco de dados é uma coleção de dados (ou informações) organizadas de forma lógica, e que
Leia maisAula 11: Desvios e Laços
Aula 11: Desvios e Laços Nesta aula explicaremos alguns comandos que podem alterar o fluxo dos seus programas em JavaScript. Você aprenderá a estrutura dos comandos de desvios e laços. Entenderá como funcionam
Leia maisO Cálculo λ sem Tipos
Capítulo 2 O Cálculo λ sem Tipos 21 Síntaxe e Redução Por volta de 1930 o cálculo lambda sem tipos foi introduzido como uma fundação para a lógica e a matemática Embora este objectivo não tenha sido cumprido
Leia maisCapítulo1 Tensão Normal
- UNIVERSIDADE FEDERAL FLUMINENSE ESCOLA DE ENGENHARIA INDUSTRIAL METALÚRGICA DE VOLTA REDONDA PROFESSORA: SALETE SOUZA DE OLIVEIRA BUFFONI DISCIPLINA: RESISTÊNCIA DOS MATERIAIS Referências Bibliográficas:
Leia maisTipos de problemas de programação inteira (PI) Programação Inteira. Abordagem para solução de problemas de PI. Programação inteira
Tipos de problemas de programação inteira (PI) Programação Inteira Pesquisa Operacional I Flávio Fogliatto Puros - todas as variáveis de decisão são inteiras Mistos - algumas variáveis de decisão são inteiras
Leia maisRecorrendo à nossa imaginação podemos tentar escrever números racionais de modo semelhante: 1 2 = 1 + 3 + 32 +
1 Introdução Comecemos esta discussão fixando um número primo p. Dado um número natural m podemos escrevê-lo, de forma única, na base p. Por exemplo, se m = 15 e p = 3 temos m = 0 + 2 3 + 3 2. Podemos
Leia maisBCC402 Algoritmos e Programação Avançada. Prof. Marco Antonio M. Carvalho Prof. Túlio Ângelo M. Tóffolo 2011/1
BCC402 Algoritmos e Programação Avançada Prof. Marco Antonio M. Carvalho Prof. Túlio Ângelo M. Tóffolo 2011/1 Introdução ao Curso 2 Carga horária semanal 2 aulas teóricas e 2 aulas práticas (ambas em laboratório)
Leia mais1 Circuitos Pneumáticos
1 Circuitos Pneumáticos Os circuitos pneumáticos são divididos em várias partes distintas e, em cada uma destas divisões, elementos pneumáticos específicos estão posicionados. Estes elementos estão agrupados
Leia maisBCC202 - Estrutura de Dados I
BCC202 - Estrutura de Dados I Aula 14: Ordenação: QuickSort Reinaldo Fortes Universidade Federal de Ouro Preto, UFOP Departamento de Computação, DECOM Website: www.decom.ufop.br/reifortes Email: reifortes@iceb.ufop.br
Leia maisPESQUISA OPERACIONAL -PROGRAMAÇÃO LINEAR. Prof. Angelo Augusto Frozza, M.Sc.
PESQUISA OPERACIONAL -PROGRAMAÇÃO LINEAR Prof. Angelo Augusto Frozza, M.Sc. ROTEIRO Esta aula tem por base o Capítulo 2 do livro de Taha (2008): Introdução O modelo de PL de duas variáveis Propriedades
Leia maisLista de Exercícios 5: Soluções Teoria dos Conjuntos
UFMG/ICEx/DCC DCC Matemática Discreta Lista de Exercícios 5: Soluções Teoria dos Conjuntos Ciências Exatas & Engenharias 2 o Semestre de 206. Escreva uma negação para a seguinte afirmação: conjuntos A,
Leia maise-mail: ederaldoazevedo@yahoo.com.br
Assunto: Cálculo de Lajes Prof. Ederaldo Azevedo Aula 3 e-mail: ederaldoazevedo@yahoo.com.br 3.1. Conceitos preliminares: Estrutura é a parte ou o conjunto das partes de uma construção que se destina a
Leia maisCap. II EVENTOS MUTUAMENTE EXCLUSIVOS E EVENTOS NÃO- EXCLUSIVOS
Cap. II EVENTOS MUTUAMENTE EXCLUSIVOS E EVENTOS NÃO- EXCLUSIVOS Dois ou mais eventos são mutuamente exclusivos, ou disjuntos, se os mesmos não podem ocorrer simultaneamente. Isto é, a ocorrência de um
Leia maisENGENHARIA DE SOFTWARE
INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE Curso Técnico em Informática : ENGENHARIA DE SOFTWARE Prof.: Clayton Maciel Costa clayton.maciel@ifrn.edu.br Um conjunto estruturado
Leia maisAula 01 Introdução Custo de um algoritmo, Funções de complexidad e Recursão
MC3305 Algoritmos e Estruturas de Dados II Aula 01 Introdução Custo de um algoritmo, Funções de complexidad e Recursão Prof. Jesús P. Mena-Chalco jesus.mena@ufabc.edu.br 2Q-2015 1 Custo de um algoritmo
Leia maisAula 09 Análise Estrutural - Treliça Capítulo 6 R. C. Hibbeler 10ª Edição Editora Pearson - http://www.pearson.com.br/
Aula 09 Análise Estrutural - Treliça Capítulo 6 R. C. Hibbeler 10ª Edição Editora Pearson - http://www.pearson.com.br/ Estrutura Sistema qualquer de elementos ligados, construído para suportar ou transferir
Leia maisAndrés Eduardo Coca Salazar Tutor: Prof. Dr. Zhao Liang
: Finding Structures in Bach s, Chopin s and Mozart s NOLTA 08, Hungary, 2008 Complex network structure of musical composition: Algoritmic generation of appealing music Physica A 389 (2010) 126-132 Chi
Leia maisSERVIÇO PÚBLICO FEDERAL - MINISTÉRIO DA EDUCAÇÃO UNIVERSIDADE FEDERAL DE UBERLÂNDIA FACULDADE DE EDUCAÇÃO
SERVIÇO PÚBLICO FEDERAL - MINISTÉRIO DA EDUCAÇÃO UNIVERSIDADE FEDERAL DE UBERLÂNDIA FACULDADE DE EDUCAÇÃO Av. João Naves de Ávila, 2121 = Campus Santa Mônica = Sala 1G156 = CEP:38.408-100 = Uberlândia/MG
Leia maisGOVERNO DO ESTADO DE MATO GROSSO DO SUL SECRETARIA DE ESTADO DE EDUCAÇÃO E.E. ARACY EUDOCIAK
Unidade 3 química - Conteúdos curriculares: c8: Reações Químicas (classificação e equações) c9: Balanceamento de equações (Estequiometria) c9:massa atômica, massa molecular e o conceito de mol Representação:
Leia maisAnálise Qualitativa no Gerenciamento de Riscos de Projetos
Análise Qualitativa no Gerenciamento de Riscos de Projetos Olá Gerente de Projeto. Nos artigos anteriores descrevemos um breve histórico sobre a história e contextualização dos riscos, tanto na vida real
Leia maisInteligência Artificial
Inteligência Artificial Aula 7 Programação Genética M.e Guylerme Velasco Programação Genética De que modo computadores podem resolver problemas, sem que tenham que ser explicitamente programados para isso?
Leia maisLógica de Predicados
Lógica de Predicados Conteúdo Correção dos Exercícios (Rosen 47) Prioridade dos Quantificadores (Rosen 38) Ligando Variáveis (Rosen 38) Predicados com duas variáveis. Equivalências lógicas (Rosen 39) Negando
Leia maisUnidade 1: O Computador
Unidade : O Computador.3 Arquitetura básica de um computador O computador é uma máquina que processa informações. É formado por um conjunto de componentes físicos (dispositivos mecânicos, magnéticos, elétricos
Leia mais2) Escreva um algoritmo que leia um conjunto de 10 notas, armazene-as em uma variável composta chamada NOTA e calcule e imprima a sua média.
1) Inicializar um vetor de inteiros com números de 0 a 99 2) Escreva um algoritmo que leia um conjunto de 10 notas, armazene-as em uma variável composta chamada NOTA e calcule e imprima a sua média 3)
Leia maisMÓDULO 2 Topologias de Redes
MÓDULO 2 Topologias de Redes As redes de computadores de modo geral estão presentes em nosso dia adia, estamos tão acostumados a utilizá las que não nos damos conta da sofisticação e complexidade da estrutura,
Leia maisFluxo de caixa, valor presente líquido e taxa interna de retorno 1
Fluxo de caixa, valor presente líquido e taxa interna de retorno 1 Métodos de análise de investimentos Os chamados métodos exatos são os mais aceitos no mercado para avaliar investimentos. Serão analisados
Leia maisGrafos Procura (1) AED (IST/DEEC) 44. Grafos Procura (2) Procurar em grafos é equivalente a percorrer labirintos
rafos Procura () Algumas propriedades simples em grafos são fáceis de determinar, independentemente da ordem pela qual se examinam as arestas. Ex: grau de todos os vértices. Outras propriedades estão associadas
Leia maisATIVIDADES PRÁTICAS SUPERVISIONADAS
ATIVIDADES PRÁTICAS SUPERVISIONADAS ª Série Cálculo Numérico Engenharia Civil A atividade prática supervisionada (ATPS) é um procedimento metodológico de ensino-aprendizagem desenvolvido por meio de um
Leia maisMDS II Aula 04. Concepção Requisitos Diagrama de Casos de Uso (Use Cases)
MDS II Aula 04 Concepção Requisitos Diagrama de Casos de Uso (Use Cases) 55 DIAGRAMA DE CASOS DE USO BENEFÍCIOS DOS CASOS DE USO ILUSTRAR POR QUE O SISTEMA É NECESSÁRIO OS REQUISITOS DO SISTEMA SÃO COLOCADOS
Leia maisFunção Seno. Gráfico da Função Seno
Função Seno Dado um número real, podemos associar a ele o valor do seno de um arco que possui medida de radianos. Desta forma, podemos definir uma função cujo domínio é o conjunto dos números reais que,
Leia maisRoteiro de Auxílio para as Atividades Práticas de Sistemas de Informação
Roteiro de Auxílio para as Atividades Práticas de Sistemas de Informação A linguagem XML no contexto do curso de Sistemas de Informação é utilizada principalmente para o armazenamento e a manipulação de
Leia maisEntropia, Entropia Relativa
Entropia, Entropia Relativa e Informação Mútua Miguel Barão (mjsb@di.uevora.pt) Departamento de Informática Universidade de Évora 13 de Março de 2003 1 Introdução Suponhamos que uma fonte gera símbolos
Leia maisModelo Lógico: Tabelas, Chaves Primárias e Estrangeiras
Modelo Lógico: Tabelas, Chaves Primárias e Estrangeiras Apresentar a próxima etapa da modelagem de dados: o modelo lógico e os conceitos de tabelas, chaves primárias e estrangeiras e como o banco de dados
Leia maisEmparelhamentos Bilineares Sobre Curvas
Emparelhamentos Bilineares Sobre Curvas Eĺıpticas Leandro Aparecido Sangalli sangalli@dca.fee.unicamp.br Universidade Estadual de Campinas - UNICAMP FEEC - Faculdade de Engenharia Elétrica e de Computação
Leia maiscom Utilização do Código de Barras VERSÃO 04
Layout Padrão de Arrecadação/Recebimento com Utilização do Código de Barras VERSÃO 04 Vigência: a partir de 01.04.2005 não obrigatório manter contato prévio com os bancos G:\SERVBANC\CENEABAN\Padrões\Codbar4-v28052004.doc
Leia maisGeografia. Aula 02. Projeções Cartográficas A arte na construção de mapas. 2. Projeções cartográficas
Geografia. Aula 02 Projeções Cartográficas A arte na construção de mapas 2. Projeções cartográficas 2.1. Como representar figuras tridimensionais em um plano sem que ocorra deformidades? É possível eliminar
Leia maisConteúdo programático
Introdução à Linguagem C Conteúdo programático Introdução à Linguagem C Estrutura de Programas Variáveis, Constantes Operadores, Entrada e Saída de Dados Estruturas de Desvio Estrutura de Múltipla Escolha
Leia maisMódulo prático: QFD Casa da Qualidade. Autores: Rainer Pamminger Wolfgang Wimmer Com contribuições de: Cristina Rocha
Módulo prático: QFD Casa da Qualidade Autores: Rainer Pamminger Wolfgang Wimmer Com contribuições de: Cristina Rocha Introdução a este módulo Objectivos do módulo Identificar os stakeholders relevantes
Leia maisTécnicas de Contagem I II III IV V VI
Técnicas de Contagem Exemplo Para a Copa do Mundo 24 países são divididos em seis grupos, com 4 países cada um. Supondo que a escolha do grupo de cada país é feita ao acaso, calcular a probabilidade de
Leia mais