BC-0506: Comunicação e Redes Algoritmos em Grafos

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

Download "BC-0506: Comunicação e Redes Algoritmos em Grafos"

Transcrição

1 BC-0506: Comunicação e Redes Algoritmos em Grafos Santo André, 2Q2011 1

2 Parte 1: Algoritmos de Busca

3 Rediscutindo: Representações em Grafos Matriz de Adjacências Matriz de Incidências Lista de Adjacências 3

4 Matriz de Adjacências A matriz de adjacências de um grafo tem colunas e linhas indexadas pelos vértices. Se A for a matriz de adjacências de índices i e j, A(i,j) = 1 se os vértices i e j forem conectados por uma aresta e A(i,j) = 0 caso contrário. Em grafos não orientados a matriz de adjacências é sempre simétrica, ou seja, A(i,j) = A(j,i). 4

5 Exemplo: Grafo não-orientado e Matriz de Adjacência 5

6 Exemplo: Grafo orientado e Matriz de Adjacência 6

7 Matriz de Incidência A Matriz de Incidência representa computacionalmente um grafo em que as linhas e colunas são vértices e arestas. Assim, dado um grafo com n vértices e m arestas, podemos representá-lo por uma matriz B n x m, guardando informações sobre a incidência de vértices em cada aresta. Para representar um grafo sem pesos nas arestas e não-orientado, basta que as entradas da matriz B contenham +1 se a aresta chega no vértice, -1 se a aresta parte do vértice e 0 caso a aresta não chegue nem parta no/do vértice. 7

8 Exemplo: Matriz de Incidência 8

9 Lista de Adjacências O vetor de listas de adjacência de um grafo tem uma lista encadeada para cada um de seus vértices. A lista de cada vértice v contém todos os vértices vizinhos que se pode alcançar a partir de v. 9

10 Exemplo: Lista de Adjacências Adj[1] = {2} Adj[2] = {1,3,5} Adj[3] = {4} Adj[4] = {1,5} Adj[5] = {2} 10

11 Grafos Ponderados Um grafo pode ser ponderado ou não-ponderado. Se todas as arestas apresentarem um mesmo peso (ou custo), diz-se que o grafo é não ponderado e considera-se todas as arestas com custo igual a 1. O grafo será ponderado se diferentes arestas possuírem custos distintos. 11

12 Exemplo: Grafos Ponderados e Não-Ponderados Em grafos ponderados, representa-se entre parênteses o custo da aresta. Pode-se ainda representar um grafo não-ponderado ignorando os custos das arestas. Em um grafo nãoponderado, todas as arestas possuem custo igual a 1. 12

13 Caminhos em Grafos Um caminho num grafo é uma sequência de vértices dotada da propriedade de que cada novo vértice é adjacente ao anterior. A origem de um caminho é o primeiro vértice do caminho. O término é o último vértice. Diz-se que um caminho com origem s e término t vai de s a t. Dizemos que uma aresta v w pertence a um caminho se o vértice w é o sucessor de v no caminho. Todas as arestas de um caminho apontam no mesmo sentido, de um vértice para o seu sucessor. 13

14 Caminhos em Grafos Costuma-se diferenciar caminho de passeio em grafos. Assim, em um caminho de s a t, não pode haver nenhum vértice repetido, enquanto em um passeio isso pode acontecer. O comprimento de um caminho é o número de termos da sequência menos um. Em outras palavras, é o número de arestas do caminho. Em grafos não-orientados, a existência de caminhos é uma propriedade simétrica: para quaisquer dois vértices s e t, existe caminho de s a t, se e somente se, existe caminho de t a s. 14

15 Exemplo de Caminho Para o exemplo a seguir (não-orientado e nãoponderado), o caminho 1 a 3 deve ser passando pelo vértice 2. Caminho 1 a 3: Caminho 3 a 1:

16 Exemplo de Caminho Para grafos orientados (ponderados ou não) o caminho de s a t pode ser diferente do caminho de t a s. Exemplo: Caminho 1 a 3: Caminho 3 a 1:

17 Busca em Grafos Um algoritmo de busca (ou varredura) é um algoritmo que examina, sistematicamente, todos os vértices e todas as arestas de um grafo. Cada aresta é examinado uma só vez. Depois de visitar a ponta inicial de uma aresta, o algoritmo percorre aresta e visita sua ponta final. Para justificar a palavra "busca", devemos imaginar que o algoritmo percorre o grafo buscando todos os vértices que são acessíveis a partir de um determinado vértice em questão. 17

18 Busca em Grafos Há muitas maneiras de fazer uma tal busca. Cada estratégia de busca é caracterizada pela ordem em que os vértices são visitados. Assim, a ordem de visita torna-se essencial se desejamos determinar outras propriedades além da mera característica de um determinado vértice ser alcançado a partir de outro. 18

19 Busca em Grafos O algoritmo de busca em grafos pode então nos mostrar outras características de grafos. Os algoritmos mais comumente discutidos são os algoritmos de busca em largura e de busca em profundidade, que serão apresentados a seguir 19

20 Busca em Largura No algoritmo de busca em largura, a lista de vértices obedece a política FIFO (First-In-First-Out, ou o primeiro a entrar será o primeiro a sair Fila): o vértice que sai da lista é sempre o que está lá há mais tempo. O algoritmo pinta de preto todos os vértices que podem ser alcançados a partir de um vértice de origem até alcançar o vértice de destino. A principal característica desse algoritmo é que a busca segue um modelo de parametrização pela distância a partir da origem. No exemplo a seguir, vamos supor que estejamos buscando o caminho entre 1 e 5. 20

21 Exemplo: Busca em Largura No início todos os vértices são pintados de branco. Para o exemplo o vértice de origem é o 1, sendo marcado com largura igual a zero. O algoritmo pinta de cinza este vértice e o coloca em uma fila Q, mapeando também seus vizinhos. Neste caso, ele se conecta apenas com o vértice 2. Q = 1 21

22 Exemplo: Busca em Largura No próximo passo, o vértice 1 é retirado da fila Q e pintado de preto, enquanto o vértice 2 é mapeado com largura igual a 1 e inserido na fila Q. O vértice 2 é então pintado de cinza e seus vizinhos são mapeados. No caso, os vértices 1, 3 e 5. Q = 2 22

23 Exemplo: Busca em Largura O vértice 2 é retirado da fila Q e pintado de preto, enquanto os vértices 3 e 5 são colocados na fila Q e mapeados com largura igual a 2. O vértice 1 não é colocado na fila (apesar de haver uma conexão), pois já está pintado de preto. Q = 3, 5 23

24 Exemplo: Busca em Largura O vértice 3 é retirado da fila Q e pintado de preto, enquanto o vértice 4 é colocado na fila Q e mapeado com largura igual a 3. Q = 5, 4 24

25 Exemplo: Busca em Largura Em seguida o vértice 5 também é visitado, pintado de preto e retirado da fila Q. Como sua única conexão é com o vértice 2 (já pintado de preto), nada é feito. Q = 4 25

26 Exemplo: Busca em Largura No término da execução deste exemplo o vértice 4 é pintado de preto e retirado da fila Q. Como suas conexões levam a vértices já pintados de preto (1 e 5), nada é feito e a fila torna-se vazia (fim do algoritmo). Q vazia 26

27 Exemplo: Busca em Largura Para o caminho entre origem e destino parte-se do vértice de destino, examinado seus predecessores até chegar à origem. Depois inverte-se o vetor conseguido. Para este exemplo, o caminho é A seguir é apresentado um pseudocódigo do algoritmo de busca em largura. Q vazia 27

28 Pseudocódigo: Busca em Largura Busca_largura(Adj,origem,destino) // Adj é a lista de adjacências do grafo t = tamanho de Adj; para u = 1 até t, cor(u) = branco; fim cor(origem) = cinza; fila(1) = origem; i = 1; f = 2; enquanto i < f, u = fila(i); i = i + 1; c = Adj{u}; se (c não é vazio), para v = 1 até tamanho de c, se cor(c(v)) == branco, cor(c(v)) = cinza; predecessor(c(v)) = u; fila(f) = c(v); f = f + 1; fim cor(u) = preto; fim fim fim caminho(1) = destino; prev = predecessor(destino); enquanto (prev ~= origem), caminho(tamanho do caminho + 1) = prev; destino = prev; prev = predecessor(destino); fim caminho(tamanho do caminho + 1) = prev; para i = 1 até tamanho de caminho caminho2(i) = caminho(tamanho do caminho-i+1); fim 28

29 Busca em Profundidade A estratégia seguida pela busca em profundidade é, como seu nome implica, procurar cada vez mais fundo no grafo. Nessa busca as arestas são exploradas a partir do vértice v mais recentemente descoberto que ainda possui arestas inexploradas saindo dele. Quando todas as arestas alcançadas a partir do vértice de origem são visitadas a busca regressa para explorar as arestas que deixam o vértice do qual v foi descoberto. Para o exemplo a seguir, tentaremos descobrir o caminho de 1 a 5. 29

30 Exemplo: Busca em Profundidade No início todos os vértices são brancos, mas partindo do vértice 1, este é pintado de cinza e sua aresta é examinada, levando ao vértice 2. O vértice 1 é marcado com distância 0. 30

31 Exemplo: Busca em Profundidade O vértice 1 é pintado de preto. O vértice 2 é pintado de cinza, enquanto suas arestas serão examinadas e é atribuído a ele uma distância 1. A primeira aresta de 2 leva ao vértice 1, já pintado de preto. Partindo para a segunda aresta, esta leva ao vértice 3. 31

32 Exemplo: Busca em Profundidade O vértice 3 é então pintado de cinza e a ele é atribuído uma distância 2. Sua única aresta é examinada, levando ao vértice 4. 32

33 Exemplo: Busca em Profundidade O vértice 3 é pintado de preto e o vértice 4 é pintado de cinza, sendo que a ele é atribuído uma distância 3. Suas arestas serão examinadas. A primeira leva a um nó já pintado de preto, logo não é analisada. A segunda, leva ao vértice 5. 33

34 Exemplo: Busca em Profundidade O vértice 4 é pintado de preto e o vértice 5 é pintado de cinza, sendo que a ele é atribuído uma distância 4. Sua aresta é examinada, constatando-se que leva a um vértice já pintado de cinza. 34

35 Exemplo: Busca em Profundidade O vértice 5 é pintado de preto e parte-se para o exame da última aresta pertencente ao vértice 2. 35

36 Exemplo: Busca em Profundidade Como neste momento esta aresta remete a um vértice já pintado de preto (vértice 5), o vértice 2 também é pintado de preto e o algoritmo é terminado. Diferente da busca em largura, este algoritmo produz um caminho para o caminho de 1 a 5. 36

37 Busca em Profundidade: Detalhes O algoritmo de busca em profundidade na sua forma mais robusta utiliza um recurso computacional chamado recursão, em que uma dada função chama a si mesma. Um pseudocódigo para o algoritmo de busca em largura que encontra o caminho entre dois vértices é mostrado a seguir. Claramente há uma grande diferença no modo de implementação e nos resultados dos dois algoritmos. Desta forma, quando há a necessidade de obtenção do caminho mínimo entre dois vértices, outros algoritmos podem ser utilizados. 37

38 Pseudocódigo: Busca em Profundidade Busca_profundidade(Adj,origem,destino) //Adj é a lista de adjacências do grafo t = tamanho de Adj; para u = 1 até t, cor(u) = branco; fim caminho(1) = origem; c = busca_em_prof(adj,origem,destino,caminho); função busca_em_prof(adj,u,d,caminho) cor(u) = cinza; v = Adj[u]; caminho2 = caminho; se (v não é vazio), para i = 1 até tamanho(v), se (caminho(tamanho(caminho)))!= d), se (v(i) igual a d), cor(v(i)) = preto; caminho = caminho2; caminmho(tamanho(caminho2)+1) = d; Salto; senão se (cor(v(i)) == branco), caminho = caminho2; caminho(tamanho(caminho2)+1) = v(i); c = busca_em_prof(adj,v(i),d,caminho); caminho = c; fim fim fim cor(u) = preto; fim 38

39 Distância Um caminho C num grafo é mínimo se não existe outro caminho com mesma origem e mesmo término que C mas comprimento menor que o de C. A distância de um vértice s a um vértice t num grafo é o comprimento de um caminho mínimo de s a t. Se não existe caminho algum de s a t, a distância de s a t é infinita. A distância de s a t é d se e somente se (1) existe um caminho de comprimento d de s a t e (2) nenhum caminho de s a t tem comprimento menor que d. Em geral, num grafo direcionado a distância de um vértice s a um vértice t é diferente da distância de t a s. Se o grafo é nãoorientado, entretanto, as duas distâncias são iguais. 39

40 Grafos Ponderados Muitas aplicações associam um número a cada aresta de um grafo. Diremos que esse número é o custo da aresta, que pode ser remetido a uma característica física da conexão. Por exemplo, se duas arestas de um grafo representam conexões de cabos óticos entre cidades A, B, e C (vértices do grafo), sendo que a distância entre A e B é o dobro da distância de A a C, então pode-se atribuir um custo maior à aresta que liga os vértices A e B. Dependendo da aplicação, pode ser mais apropriado dizer "peso" ou "comprimento" no lugar de "custo". 40

41 Exemplo: Caminho de Custo Mínimo Se o grafo ponderado e direcionado abaixo for tomado como exemplo, o caminho mínimo C de 1 a 5 tem custo d igual a 2, levando a um caminho Perceba que existe um outro caminho , mas este possui custo d igual a 5. 41

42 Parte 2: Algoritmos de Caminhos Mínimos

43 Busca de Caminhos Mínimos Para a busca de caminhos mínimos em grafos há algoritmos específicos que executam a tarefa. Entretanto há formas específicas para tratar o problema, sendo diferentes quando busca-se caminhos mínimos a partir de um dado vértice ou quando se buscam os caminhos mínimos entre todos os pares de vértices. 43

44 Caminho Mínimo com Origem Fixa Problema dos Caminhos Mínimos com Origem Fixa: dado um vértice s de um grafo com custos nos arcos, encontrar, para cada vértice t que pode ser alcançado a partir de s, um caminho mínimo simples de s a t. Todos os algoritmos para esses problemas exploram a seguinte propriedade básica: Propriedade Triangular: Para quaisquer vértices x, y e z de um grafo com custos não-negativos nos arcos, temse d(x,z) d(x,y) + d(y,z), sendo d(i,j) a distância de i a j. 44

45 Algoritmo de Dijkstra Um algoritmo eficiente para a obtenção do caminho mínimo em grafos com custos nãonegativos é o chamado algoritmo de Dijkstra. O algoritmo pode ser usado, em particular, para encontrar um caminho de custo mínimo de um dado vértice a outro, ou a todos os outros vértices. O algoritmo de Dijkstra funciona de forma iterativa, passo a passo, como mostrado a seguir. A entrada é a matriz de adjacências do grafo. 45

46 Algoritmo de Dijkstra 1. Como primeiro passo é atribuída uma distância para todos os pares de vértices. De início é atribuída uma distância infinita para todos, menos para o vértice de origem. 2. Marque todos os vértices como não visitados e defina o vértice inicial como vértice corrente. 3. Para este vértice corrente, considere todos os seus vértices vizinhos não visitados e calcule a distância a partir do vértice. Se a distância for menor do que a definida anteriormente, substitua a distância. 4. Quando todos os visinhos do vértice corrente forem visitados, marque-o como visitado, o que fará com que ele não seja mais analisado (sua distância é mínima e final). 5. Eleja o vértice não visitado com a menor distância (a partir do vértice inicial) como o vértice corrente e continue a partir do passo 3. 46

47 Exemplo: Algoritmo de Dijkstra Para o exemplo a seguir, o vértice 1 é o vértice origem e o vértice corrente do início do algoritmo. A distância dele para todos os outros vértices é mostrada em vermelho. A distância para seu vizinho (vértice 2) é igual a 1. D = 1 D = D = D = D = 0 47

48 Exemplo: Algoritmo de Dijkstra O vértice 2 passa a ser o vértice corrente. A partir dele, atinge-se os vértices 3 e 5, sendo as respectivas distâncias calculadas para 2 (ao invés de infinito) e 2. D = 1 D = 2 D = 1 D = 2 D = D = 0 48

49 Exemplo: Algoritmo de Dijkstra O vértice 3 é o vértice corrente. A partir dele alcança-se o vértice 4, com distância 4. Neste ponto todos os vértices foram visitados e o vetor de distâncias mínimas a partir do vértice 1 é D = [ ]. D = 2 D = 1 D = 2 D = 4 D = 0 D = 2 49

50 Pseudocódigo: Algoritmo de Dijkstra Dijkstra(grafo,origem) para cada vértice v em grafo distancia[v] = Infinito; predecessor[v] = -1; fim distancia[origem] = 0; Q = todos os vértices de grafo; enquanto (Q não é vazio) faça, u = vértice é grafo com menor distância; se (distancia[u] == Infinito) Salta o laço; fim remova u de Q; para cada vizinho v de u d = distancia[u] + distancia entre u e v; se (d < distancia[v]), distancia[v] = d; predecessor[v] = u; fim fim fim fim 50

51 Caminhos mínimos entre todos os pares de vértices O Algoritmo de Floyd-Warshall é um algoritmo muito eficiente para encontrar todos as distâncias mínimas dos pares de caminhos em um grafo. Em aplicações onde é necessária a criação de uma matriz de caminhos mínimos ao invés de um vetor, este algoritmo é mais aconselhável. 51

52 Algoritmo de Floid-Warshall O algoritmo de Floyd-Warshall deve primeiramente modificar a matriz de adjacência do grafo, de modo que todas as posições dos pares de vértices em que não houver conexões sejam setadas como Infinito. Um pseudocódigo da implementação é mostrado a seguir, sendo a entrada do programa a própria matriz de adjacências. O programa retorna uma matriz com todos os pares de caminhos mínimos. 52

53 Pseudocódigo: Algoritmo de Floyd-Warshall FloidWarshall(Madj) para cada linha i em Madj para cada coluna j em Madj se (Madf[i][j] == 0) Madj[i][j] == Infinito; fim fim fim t = numero de linhas de Madj; Cmin = Madj; para k igual a 1 até t, para i igual a 1 até t, para j igual a 1 até t, Cmin[i][j] = min(cmin[i][j],cmin[i][k]+cmin[k][j]); fim fim fim retorna Cmin; fim 53

54 Referências Bibliográficas T. H. Cormen, C. H. Leiserson, R. L. Rivest, C. Stein, Algoritmos: Teoria e Prática, Editora Campus, R. Sedgewick, Algorithms in C, Addison Wisley,

55 Exercícios Propostos 1. Um grafo não-ponderado é representado pela lista de adjacências Adj = {[2]; [3]; [4,5,8]; []; [6,7]; [1]; [9]; [10]; [10]; []}. Represente graficamente este grafo e aplique o algoritmo de busca em largura e busca em profundidade para encontrar o caminho entre os vértices 1 e Considere um grafo orientado e ponderado que seja representado pela matriz de adjacência abaixo. Simule o algoritmo de Dijkstra e determine o vetor de distâncias a partir do vértice 1. Faça gráficos para mostrar a evolução do algoritmo. 3. Usando a mesma matriz de adjacências do exercício anterior, implemente o algoritmo de Floid-Warshall em qualquer linguagem para calcular a matriz de caminhos mínimos. 55

56 Atividade extra Uma rede de informação possui uma topologia representada por um grafo cuja matriz de adjacências é dada a seguir. Após um certo tempo de operação t o roteador representado pelo vértice 2 cai, deixando de existir as conexões que chegam e saem deste vértice. Passado um tempo t após a queda do vértice 2 o vértice 6 também cai e após 2t é a vez do vértice 12 sair de operação. Utilizando recursos computacionais, faça uma análise dos custos representados para o escoamento de informação devido à inoperabilidade destes roteadores e justifique suas afirmações por meio de gráficos e tabelas. Qual destas falhas representa a principal falha individual? 56

CAPÍTULO 2. Grafos e Redes

CAPÍTULO 2. Grafos e Redes CAPÍTULO 2 1. Introdução Um grafo é uma representação visual de um determinado conjunto de dados e da ligação existente entre alguns dos elementos desse conjunto. Desta forma, em muitos dos problemas que

Leia mais

Algoritmos e Estrutura de Dados III. Árvores

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

Leia mais

Arquitetura de Rede de Computadores

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

Leia mais

Trabalho Computacional

Trabalho Computacional Universidade Federal do Espírito Santo Departamento de Informática Profª Claudia Boeres Teoria dos Grafos - 2014/2 Trabalho Computacional 1. Objetivo Estudo e implementação de algoritmos para resolução

Leia mais

QUESTÃO 1 ALTERNATIVA B

QUESTÃO 1 ALTERNATIVA B 1 QUESTÃO 1 Marcos tem 10 0,25 = 2,50 reais em moedas de 25 centavos. Logo ele tem 4,30 2,50 = 1,80 reais em moedas de 10 centavos, ou seja, ele tem 1,80 0,10 = 18 moedas de 10 centavos. Outra maneira

Leia mais

Grafo: Algoritmos e Aplicações

Grafo: Algoritmos e Aplicações Grafo: Algoritmos e Aplicações Leandro Colombi Resendo leandro@ifes.edu.br Grafos: Algortimos e Aplicações Referências Basicas: Boaventura Netto, P. O., Grafos: Teoria, Modelos, Algoritmos, 2ª, SP, Edgar

Leia mais

Complexidade de Algoritmos

Complexidade de Algoritmos Complexidade de Algoritmos Complexidade de Algoritmos Envolvendo Estruturas de Dados Elementares Prof. Osvaldo Luiz de Oliveira Estas anotações devem ser complementadas por apontamentos em aula. Vetor

Leia mais

Estrutura de Dados Básica

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

Leia mais

Soluções Nível 1 5 a e 6 a séries (6º e 7º anos) do Ensino Fundamental

Soluções Nível 1 5 a e 6 a séries (6º e 7º anos) do Ensino Fundamental a e 6 a séries (6º e 7º anos) do Ensino Fundamental 1. (alternativa C) Os números 0,01 e 0,119 são menores que 0,12. Por outro lado, 0,1 e 0,7 são maiores que 0,. Finalmente, 0,29 é maior que 0,12 e menor

Leia mais

Árvores de Suporte de Custo Mínimo

Árvores de Suporte de Custo Mínimo Árvores de Suporte de Custo Mínimo Pedro Ribeiro DCC/FCUP 2014/2015 Pedro Ribeiro (DCC/FCUP) Árvores de Suporte de Custo Mínimo 2014/2015 1 / 28 Árvore de Suporte Uma árvore de suporte ou árvore de extensão

Leia mais

Algoritmos e Estruturas de Dados II. Trabalho Prático 2

Algoritmos e Estruturas de Dados II. Trabalho Prático 2 Algoritmos e Estruturas de Dados II Entrega: 24/09/08 Devolução: 15/10/08 Trabalho individual Prof. Jussara Marques de Almeida Trabalho Prático 2 Você foi contratado pela XOL X Online para desenvolver

Leia mais

7 - Análise de redes Pesquisa Operacional CAPÍTULO 7 ANÁLISE DE REDES. 4 c. Figura 7.1 - Exemplo de um grafo linear.

7 - Análise de redes Pesquisa Operacional CAPÍTULO 7 ANÁLISE DE REDES. 4 c. Figura 7.1 - Exemplo de um grafo linear. CAPÍTULO 7 7 ANÁLISE DE REDES 7.1 Conceitos Básicos em Teoria dos Grafos Diversos problemas de programação linear, inclusive os problemas de transporte, podem ser modelados como problemas de fluxo de redes.

Leia mais

Projeto e Análise de Algoritmos Projeto de Algoritmos Tentativa e Erro Parte 2. Prof. Humberto Brandão humberto@bcc.unifal-mg.edu.

Projeto e Análise de Algoritmos Projeto de Algoritmos Tentativa e Erro Parte 2. Prof. Humberto Brandão humberto@bcc.unifal-mg.edu. Projeto e Análise de Algoritmos Projeto de Algoritmos Tentativa e Erro Parte 2 Prof. Humberto Brandão humberto@bcc.unifal-mg.edu.br versão da aula: 0.3 Última aula teórica Algoritmo de Tentativa e Erro:

Leia mais

BCC204 - Teoria dos Grafos

BCC204 - Teoria dos Grafos BCC204 - Teoria dos Grafos Marco Antonio M. Carvalho (baseado nas notas de aula do prof. Haroldo Gambini Santos) Departamento de Computação Instituto de Ciências Exatas e Biológicas Universidade Federal

Leia mais

AMBIENTE PARA AUXILIAR O DESENVOLVIMENTO DE PROGRAMAS MONOLÍTICOS

AMBIENTE PARA AUXILIAR O DESENVOLVIMENTO DE PROGRAMAS MONOLÍTICOS UNIVERSIDADE REGIONAL DE BLUMENAU CENTRO DE CIÊNCIAS EXATAS E NATURAIS CURSO DE CIÊNCIAS DA COMPUTAÇÃO BACHARELADO AMBIENTE PARA AUXILIAR O DESENVOLVIMENTO DE PROGRAMAS MONOLÍTICOS Orientando: Oliver Mário

Leia mais

Teoria dos Grafos. Edson Prestes

Teoria dos Grafos. Edson Prestes Edson Prestes Complemento de Grafos Mostre que para qualquer Grafo G com 6 pontos, G ou possui um triângulo Considere um vértice v de V(G). Sem perda de generalidade, podemos assumir v é adjacente a outros

Leia mais

Tabela de roteamento

Tabela de roteamento Existem duas atividades que são básicas a um roteador. São elas: A determinação das melhores rotas Determinar a melhor rota é definir por qual enlace uma determinada mensagem deve ser enviada para chegar

Leia mais

Complexidade de Algoritmos. Edson Prestes

Complexidade de Algoritmos. Edson Prestes Edson Prestes Idéias básicas Um algoritmo guloso seleciona, a cada passo, o melhor elemento pertencente a entrada. Verifica se ele é viável - vindo a fazer parte da solução ou não. Após uma seqüência de

Leia mais

EAD Árvore árvore binária

EAD Árvore árvore binária EAD Árvore árvore binária - Uma árvore binária é um conjunto finito de elementos (nodos) que pode ser vazio ou particionado em três subconjuntos: - raiz da árvore (elemento inicial, que é único); - subárvore

Leia mais

Teleprocessamento e Redes (MAB-510) Gabarito da Segunda Lista de Exercícios 01/2010

Teleprocessamento e Redes (MAB-510) Gabarito da Segunda Lista de Exercícios 01/2010 Teleprocessamento e Redes (MAB-510) Gabarito da Segunda Lista de Exercícios 01/2010 Prof. Silvana Rossetto (DCC/IM/UFRJ) 1 13 de julho de 2010 Questões 1. Qual é a diferença fundamental entre um roteador

Leia mais

Protocolo TCP/IP. Neste caso cada computador da rede precisa de, pelo menos, dois parâmetros configurados:

Protocolo TCP/IP. Neste caso cada computador da rede precisa de, pelo menos, dois parâmetros configurados: Protocolo TCP/IP Neste caso cada computador da rede precisa de, pelo menos, dois parâmetros configurados: Número IP Máscara de sub-rede O Número IP é um número no seguinte formato: x.y.z.w Não podem existir

Leia mais

Capítulo 7. Topologia Digital. 7.1 Conexidade

Capítulo 7. Topologia Digital. 7.1 Conexidade Capítulo 7 Topologia Digital A Topologia Digital estuda a aplicação das noções definidas em Topologia sobre imagens binárias. Neste capítulo vamos introduzir algumas noções básicas de Topologia Digital,

Leia mais

Tecnologia de Redes de Computadores - aula 5

Tecnologia de Redes de Computadores - aula 5 Tecnologia de Redes de Computadores - aula 5 Prof. Celso Rabelo Centro Universitário da Cidade 1 Objetivo 2 3 4 IGPxEGP Vetor de Distância Estado de Enlace Objetivo Objetivo Apresentar o conceito de. Conceito

Leia mais

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 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

Leia mais

Teoria dos Grafos. Edson Prestes

Teoria dos Grafos. Edson Prestes Edson Prestes Grafos Cliques Maximais Para determinar os cliques maximais de um grafo G podemos usar o método de Maghout em Dado o grafo abaixo, calcule Determine os conjuntos independentes maximais em

Leia mais

Organização e Arquitetura de Computadores I

Organização e Arquitetura de Computadores I Organização e Arquitetura de Computadores I Aritmética Computacional Slide 1 Sumário Unidade Lógica e Aritmética Representação de Números Inteiros Aritmética de Números Inteiros Representação de Números

Leia mais

Respostas dos Exercícios Cap. 2 Russell & Norvig

Respostas dos Exercícios Cap. 2 Russell & Norvig Respostas dos Exercícios Cap. 2 Russell & Norvig 1. (2.2) Uma medida de desempenho e utilizada por um observador externo para avaliar o sucesso de um agente. Uma função de utilidade e utilizada por um

Leia mais

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 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 é

Leia mais

CT-234. Análise de Algoritmos e Complexidade Estrutural. Carlos Alberto Alonso Sanches

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

Leia mais

Orientação a Objetos

Orientação a Objetos Orientação a Objetos 1. Sobrecarga (Overloading) Os clientes dos bancos costumam consultar periodicamente informações relativas às suas contas. Geralmente, essas informações são obtidas através de extratos.

Leia mais

Sistemas de Numerações.

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

Leia mais

Pesquisa Operacional Programação em Redes

Pesquisa Operacional Programação em Redes Pesquisa Operacional Programação em Redes Profa. Alessandra Martins Coelho outubro/2013 Modelagem em redes: Facilitar a visualização e a compreensão das características do sistema Problema de programação

Leia mais

Solução de problemas por meio de busca (com Python) Luis Martí DEE/PUC-Rio http://lmarti.com

Solução de problemas por meio de busca (com Python) Luis Martí DEE/PUC-Rio http://lmarti.com Solução de problemas por meio de busca (com Python) Luis Martí DEE/PUC-Rio http://lmarti.com Python e AI (Re)-introdução ao Python. Problemas de busca e principais abordagens. Exemplos em Python Por que

Leia mais

Trabalho 7 Fila de prioridade usando heap para simulação de atendimento

Trabalho 7 Fila de prioridade usando heap para simulação de atendimento Trabalho 7 Fila de prioridade usando heap para simulação de atendimento Data: 21/10/2013 até meia-noite Dúvidas até: 09/10/2013 Faq disponível em: http://www2.icmc.usp.br/~mello/trabalho07.html A estrutura

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

Sistemas Operacionais e Introdução à Programação. Vetores e matrizes

Sistemas Operacionais e Introdução à Programação. Vetores e matrizes Sistemas Operacionais e Introdução à Programação Vetores e matrizes 1 Matrizes Cada elemento de uma matriz é referenciado indicando-se sua posição dentro da matriz. Na Matemática, matrizes são arranjos

Leia mais

Lei de Gauss Origem: Wikipédia, a enciclopédia livre.

Lei de Gauss Origem: Wikipédia, a enciclopédia livre. Lei de Gauss Origem: Wikipédia, a enciclopédia livre. A lei de Gauss é a lei que estabelece a relação entre o fluxo de campo elétrico que passa através de uma superfície fechada com a carga elétrica que

Leia mais

Estruturas de Dados Pilhas, Filas e Deques

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

Leia mais

4. Qual seria o impacto da escolha de uma chave que possua letras repetidas em uma cifra de transposição?

4. Qual seria o impacto da escolha de uma chave que possua letras repetidas em uma cifra de transposição? Prova de 2011-02 1. Descreva duas maneiras de estabelecer uma conexão entre processos na camada de transporte sem o conhecimento da porta (TSAP) ao qual o servidor remoto esteja associado. 2. Estabelecer

Leia mais

Inteligência Artificial Prof. Marcos Quinet Pólo Universitário de Rio das Ostras PURO Universidade Federal Fluminense UFF

Inteligência Artificial Prof. Marcos Quinet Pólo Universitário de Rio das Ostras PURO Universidade Federal Fluminense UFF Inteligência Artificial Prof. Marcos Quinet Pólo Universitário de Rio das Ostras PURO Universidade Federal Fluminense UFF No capítulo anterior... Estratégias de busca auxiliadas por heurísticas (A*, BRPM)

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

O ESPAÇO NULO DE A: RESOLVENDO AX = 0 3.2

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

Leia mais

a soma dois números anteriores da primeira coluna está na segunda coluna: (3m +1) + (3n +1) = 3(m + n) + 2.

a soma dois números anteriores da primeira coluna está na segunda coluna: (3m +1) + (3n +1) = 3(m + n) + 2. OBMEP 01 Nível 3 1 QUESTÃO 1 ALTERNATIVA A Basta verificar que após oito giros sucessivos o quadrado menor retorna à sua posição inicial. Como 01 = 8 1+ 4, após o 01º giro o quadrado cinza terá dado 1

Leia mais

Entendendo como funciona o NAT

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

Leia mais

Lógica de Programação

Lógica de Programação Lógica de Programação Unidade 20 ArrayList: Operações de Busca Curso Técnico em Informática SUMÁRIO INTRODUÇÃO... 3 TIPOS DE BUSCAS... 3 BUSCA ESPECÍFICA... 3 BUSCA ABRANGENTE... 3 PROCEDIMENTO DE BUSCA...

Leia mais

Solução da prova da 1 a fase OBMEP 2015 Nível 1. QUESTÃO 1 ALTERNATIVA E Como 2 x 100,00 126,80 = 200,00 126,80 = 73,20, o troco foi de R$ 73,20.

Solução da prova da 1 a fase OBMEP 2015 Nível 1. QUESTÃO 1 ALTERNATIVA E Como 2 x 100,00 126,80 = 200,00 126,80 = 73,20, o troco foi de R$ 73,20. 1 QUESTÃO 1 Como 2 x 100,00 126,80 = 200,00 126,80 = 73,20, o troco foi de R$ 73,20. QUESTÃO 2 Como 4580247 = 4580254 7, concluímos que 4580247 é múltiplo de 7. Este fato também pode ser verificado diretamente,

Leia mais

Estruturas de Controle A Tomada de Decisões

Estruturas de Controle A Tomada de Decisões Estruturas de Controle A Tomada de Decisões Foi visto anteriormente como trabalhar com entrada, processamento e saída utilizando variáveis, constantes e operadores aritméticos. Apesar de já se conseguir

Leia mais

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 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

Leia mais

SUMÁRIO 1. AULA 6 ENDEREÇAMENTO IP:... 2

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

Leia mais

Algoritmos e Estrutura de Dados. Prof. Tiago A. E. Ferreira

Algoritmos e Estrutura de Dados. Prof. Tiago A. E. Ferreira Algoritmos e Estrutura de Dados Aula 7 Estrutura de Dados: Listas Prof. Tiago A. E. Ferreira Introdução Um das formas mais usadas para se manter dados agrupados é a lista Lista de compras, itens de estoque,

Leia mais

Programação para Computação

Programação para Computação Universidade Federal do Vale do São Francisco Programação para Computação Professor: Marcelo Santos Linder E-mail: marcelo.linder@univasf.edu.br Ementa Conceito de algoritmo. Lógica de programação e programação

Leia mais

Morfologia Matemática Binária

Morfologia Matemática Binária Morfologia Matemática Binária Conceitos fundamentais: (Você precisa entender bem esses Pontos básicos para dominar a área! Esse será nosso game do dia!!! E nossa nota 2!!) Morfologia Matemática Binária

Leia mais

Teoria dos Grafos. Aulas 3 e 4. Profa. Alessandra Martins Coelho

Teoria dos Grafos. Aulas 3 e 4. Profa. Alessandra Martins Coelho Teoria dos Grafos Aulas 3 e 4 Profa. Alessandra Martins Coelho fev/2014 Passeio ou percurso Um passeio ou percurso é uma sequência finita de vértices e arestas Exemplo Em (1) o passeio inicia pelo vértice

Leia mais

The Stable Matching Problem

The Stable Matching Problem The Stable Matching Problem Aluno: José Eliton Albuquerque Filho Orientador: Thomas Lewiner Introdução O problema do emparelhamento estável ( Stable Matching Problem ), apresentado por David Gale e L.S.Shapley

Leia mais

ALGORITMOS PARTE 01. Fabricio de Sousa Pinto

ALGORITMOS PARTE 01. Fabricio de Sousa Pinto ALGORITMOS PARTE 01 Fabricio de Sousa Pinto Algoritmos: Definição 2 É uma sequência de instruções finita e ordenada de forma lógica para a resolução de uma determinada tarefa ou problema. Algoritmos 3

Leia mais

Capítulo 4 - Roteamento e Roteadores

Capítulo 4 - Roteamento e Roteadores Capítulo 4 - Roteamento e Roteadores 4.1 - Roteamento Roteamento é a escolha do módulo do nó de origem ao nó de destino por onde as mensagens devem transitar. Na comutação de circuito, nas mensagens ou

Leia mais

DAS5102 Fundamentos da Estrutura da Informação

DAS5102 Fundamentos da Estrutura da Informação Pilhas A estrutura de dados Pilha emula a forma de organização de objetos intuitiva que é utilizada diariamente nos mais diversos contextos da vida humana. Containeres são empilhados e desempilhados diariamente

Leia mais

Simulado OBM Nível 2

Simulado OBM Nível 2 Simulado OBM Nível 2 Gabarito Comentado Questão 1. Quantos são os números inteiros x que satisfazem à inequação? a) 13 b) 26 c) 38 d) 39 e) 40 Entre 9 e 49 temos 39 números inteiros. Questão 2. Hoje é

Leia mais

A4 Projeto Integrador e Lista de Jogos

A4 Projeto Integrador e Lista de Jogos A4 Projeto Integrador e Lista de Jogos 1ª ETAPA PROJETO INTEGRADOR (2 pontos na A4) Como discutido em sala de aula, a disciplina de algoritmos I também fará parte do projeto integrador, para cada grupo

Leia mais

Inteligência Artificial. Metodologias de Busca

Inteligência Artificial. Metodologias de Busca Inteligência Artificial Metodologias de Busca 1 Solução de problemas como Busca Um problema pode ser considerado como um objetivo Um conjunto de ações podem ser praticadas para alcançar esse objetivo Ao

Leia mais

Prof. Raul Sidnei Wazlawick UFSC-CTC-INE. Fonte: Análise e Projeto de Sistemas de Informação Orientados a Objetos, 2ª Edição, Elsevier, 2010.

Prof. Raul Sidnei Wazlawick UFSC-CTC-INE. Fonte: Análise e Projeto de Sistemas de Informação Orientados a Objetos, 2ª Edição, Elsevier, 2010. Visão Geral do Sistema Prof. Raul Sidnei Wazlawick UFSC-CTC-INE 2010 Fonte: Análise e Projeto de Sistemas de Informação Orientados a Objetos, 2ª Edição, Elsevier, 2010. A fase de concepção do UP consiste

Leia mais

Prof. Yandre Maldonado - 1 PONTEIROS. Prof. Yandre Maldonado e Gomes da Costa

Prof. Yandre Maldonado - 1 PONTEIROS. Prof. Yandre Maldonado e Gomes da Costa Prof. Yandre Maldonado - 1 PONTEIROS Prof. Yandre Maldonado e Gomes da Costa PONTEIROS Prof. Yandre Maldonado - 2 Ponteiro é uma variável que possui o endereço de outra variável; É um poderoso recurso

Leia mais

Prefixo a ser comparado Interface 1 0 10 1 111 2 Senão 3

Prefixo a ser comparado Interface 1 0 10 1 111 2 Senão 3 PEL/FEN Redes de Computadores 015/1 Segunda Lista de Exercícios Prof. Marcelo Gonçalves Rubinstein 1) Descreva os principais serviços providos pela camada rede. ) Cite as diferenças entre datagrama e circuito

Leia mais

Endereçamento IP 09/05/2014. Endereçamento IP CLASSE B CLASSE A CLASSE A CLASSE C

Endereçamento IP 09/05/2014. Endereçamento IP CLASSE B CLASSE A CLASSE A CLASSE C Endereçamento IP Endereçamento IP Prof. Marcel Santos Silva marcel@magres.com.br É uma sequência de números composta de 32 bits. Esse valor consiste num conjunto de quatro grupos de 8 bits. Cada conjunto

Leia mais

Ata da resolução de exercício

Ata da resolução de exercício Ata da resolução de exercício Exercício : 6.-3 Aluno: Paulo Gurgel Pinheiro pinheiro@ic.unicamp.br Disciplina: Complexidade de Algoritmos - MO47 Data: 0 de Maio de 009 Enuciado exercício 6.-3 Vamos supor

Leia mais

SISTEMA INTEGRADO DE GESTÃO ACADÊMICA

SISTEMA INTEGRADO DE GESTÃO ACADÊMICA MINISTÉRIO DA EDUCAÇÃO INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO TRIÂNGULO MINEIRO SISTEMA INTEGRADO DE GESTÃO ACADÊMICA MÓDULO PROTOCOLO MANUAL DO USUÁRIO VERSÃO: SETEMBRO/2010 SUMÁRIO Introdução...

Leia mais

Microsoft Access 2010. Para conhecermos o Access, vamos construir uma BD e apresentar os conceitos necessários a cada momento

Microsoft Access 2010. Para conhecermos o Access, vamos construir uma BD e apresentar os conceitos necessários a cada momento Microsoft Access 2010 Para conhecermos o Access, vamos construir uma BD e apresentar os conceitos necessários a cada momento 1 Principais objetos do Access Tabelas Guardam a informação da BD (Base de Dados)

Leia mais

AV2 - MA 12-2012. (a) De quantos modos diferentes posso empilhá-los de modo que todos os CDs de rock fiquem juntos?

AV2 - MA 12-2012. (a) De quantos modos diferentes posso empilhá-los de modo que todos os CDs de rock fiquem juntos? Questão 1. Num porta-cds, cabem 10 CDs colocados um sobre o outro, formando uma pilha vertical. Tenho 3 CDs de MPB, 5 de rock e 2 de música clássica. (a) De quantos modos diferentes posso empilhá-los de

Leia mais

TRANSMISSÃO DE DADOS Prof. Ricardo Rodrigues Barcelar http://www.ricardobarcelar.com

TRANSMISSÃO DE DADOS Prof. Ricardo Rodrigues Barcelar http://www.ricardobarcelar.com - Aula 3-1. A CAMADA DE REDE (Parte 1) A camada de Rede está relacionada à transferência de pacotes da origem para o destino. No entanto, chegar ao destino pode envolver vários saltos em roteadores intermediários.

Leia mais

XXXVI OLIMPÍADA PAULISTA DE MATEMÁTICA Prova da Primeira Fase (11 de agosto de 2012) Nível (6 o e 7 o anos do Ensino Fundamental)

XXXVI OLIMPÍADA PAULISTA DE MATEMÁTICA Prova da Primeira Fase (11 de agosto de 2012) Nível (6 o e 7 o anos do Ensino Fundamental) Instruções: XXXVI OLIMPÍADA PAULISTA DE MATEMÁTICA Prova da Primeira Fase (11 de agosto de 2012) Nível (6 o e 7 o anos do Ensino Fundamental) Folha de Perguntas A duração da prova é de 3h30min. O tempo

Leia mais

Aula 20. Roteamento em Redes de Dados. Eytan Modiano MIT

Aula 20. Roteamento em Redes de Dados. Eytan Modiano MIT Aula 20 Roteamento em Redes de Dados Eytan Modiano MIT 1 Roteamento Deve escolher rotas para vários pares origem, destino (pares O/D) ou para várias sessões. Roteamento datagrama: a rota é escolhida para

Leia mais

Aritmética Binária e. Bernardo Nunes Gonçalves

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

Leia mais

Especificação do 3º Trabalho

Especificação do 3º Trabalho Especificação do 3º Trabalho I. Introdução O objetivo deste trabalho é abordar a prática da programação orientada a objetos usando a linguagem Java envolvendo os conceitos de classe, objeto, associação,

Leia mais

A máscara de sub-rede pode ser usada para dividir uma rede existente em "sub-redes". Isso pode ser feito para:

A máscara de sub-rede pode ser usada para dividir uma rede existente em sub-redes. Isso pode ser feito para: Fundamentos: A máscara de pode ser usada para dividir uma rede existente em "s". Isso pode ser feito para: 1) reduzir o tamanho dos domínios de broadcast (criar redes menores com menos tráfego); 2) para

Leia mais

Solução da prova da 1 a fase OBMEP 2008 Nível 1

Solução da prova da 1 a fase OBMEP 2008 Nível 1 OBMEP 00 Nível 1 1 QUESTÃO 1 Como Leonardo da Vinci nasceu 91 anos antes de Pedro Américo, ele nasceu no ano 14 91 = 145. Por outro lado, Portinari nasceu 451 anos depois de Leonardo da Vinci, ou seja,

Leia mais

A lógica de programação ajuda a facilitar o desenvolvimento dos futuros programas que você desenvolverá.

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,

Leia mais

Sistema Banco de Preços Manual do Usuário OBSERVATÓRIO

Sistema Banco de Preços Manual do Usuário OBSERVATÓRIO Sistema Banco de Preços Manual do Usuário OBSERVATÓRIO da Despesa Pública 1 Sumário O Banco de Preços... 3 Acessando o Banco de Preços... 4 Funções do Banco de Preços... 5 Gerar Preço de Referência...

Leia mais

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?

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

Leia mais

ESTRUTURAS DE DADOS II

ESTRUTURAS DE DADOS II ESTRUTURAS DE DADOS II Msc. Daniele Carvalho Oliveira Doutoranda em Ciência da Computação - UFU Mestre em Ciência da Computação UFU Bacharel em Ciência da Computação - UFJF Conteúdo Programático 1. Introdução

Leia mais

Aula 4 Análise Circuitos Elétricos Prof. Marcio Kimpara

Aula 4 Análise Circuitos Elétricos Prof. Marcio Kimpara ELETICIDADE Aula 4 Análise Circuitos Elétricos Prof. Marcio Kimpara Universidade Federal de Mato Grosso do Sul 2 Fonte elétrica As fontes elétricas mantém a diferença de potencial (ddp) necessária para

Leia mais

UM TEOREMA QUE PODE SER USADO NA

UM TEOREMA QUE PODE SER USADO NA UM TEOREMA QUE PODE SER USADO NA PERCOLAÇÃO Hemílio Fernandes Campos Coêlho Andrei Toom PIBIC-UFPE-CNPq A percolação é uma parte importante da teoria da probabilidade moderna que tem atraído muita atenção

Leia mais

Busca em Árvores ou Grafos

Busca em Árvores ou Grafos Giga Mundo Computação RSS Sobre a Equipe Mais computacao no seu Email! Nosso forum Politica de Privacidade Busca em Árvores ou Grafos Posted by on March 10th, 2009 in Inteligência Artificial StatSoft Data

Leia mais

Unidade VI. Validação e Verificação de Software Teste de Software. Conteúdo. Técnicas de Teste. Estratégias de Teste

Unidade VI. Validação e Verificação de Software Teste de Software. Conteúdo. Técnicas de Teste. Estratégias de Teste Unidade VI Validação e Verificação de Software Teste de Software Profa. Dra. Sandra Fabbri Conteúdo Técnicas de Teste Funcional Estrutural Baseada em Erros Estratégias de Teste Teste de Unidade Teste de

Leia mais

SISTEMAS DISTRIBUÍDOS

SISTEMAS DISTRIBUÍDOS SISTEMAS DISTRIBUÍDOS Comunicação coletiva Modelo Peer-to-Peer Slide 6 Nielsen C. Damasceno Introdução Os modelos anteriores eram realizado entre duas partes: Cliente e Servidor. Com RPC e RMI não é possível

Leia mais

Problemas de Jogos e Tabuleiros

Problemas de Jogos e Tabuleiros Problemas de Jogos e Tabuleiros Professor Emiliano Augusto Chagas Para esquentar! 01) Duas crianças se revezam em turnos quebrando uma barra retangular de chocolate, com seis quadrados de altura e oito

Leia mais

PARANÁ GOVERNO DO ESTADO

PARANÁ GOVERNO DO ESTADO A COMUNICAÇÃO NA INTERNET PROTOCOLO TCP/IP Para tentar facilitar o entendimento de como se dá a comunicação na Internet, vamos começar contando uma história para fazer uma analogia. Era uma vez, um estrangeiro

Leia mais

BC-0506: Comunicação e Redes Aula 04: Roteamento

BC-0506: Comunicação e Redes Aula 04: Roteamento BC-0506: Comunicação e Redes Aula 04: Roteamento Santo André, Q011 1 Roteamento Princípios de Roteamento O que é... Sistemas Autônomos Roteamento Interno e Externo Principais Tipos de Algoritmos Distance-Vector

Leia mais

COMPUTAÇÃO GRÁFICA. Rasterização e Preenchimento de Regiões. MARCO ANTONIO GARCIA DE CARVALHO Fevereiro de 2009. Computação Gráfica

COMPUTAÇÃO GRÁFICA. Rasterização e Preenchimento de Regiões. MARCO ANTONIO GARCIA DE CARVALHO Fevereiro de 2009. Computação Gráfica COMPUTAÇÃO GRÁFICA Rasterização e Preenchimento de Regiões Objetivos Conhecer os fundamentos da construção de linhas e círculos Conhecer o modelo scan-line modelo de sementes para preenchimento de polígonos

Leia mais

UNIVERSIDADE FEDERAL DA BAHIA INSTITUTO DE MATEMÁTICA 5 0 Encontro da RPM TRANSFORMAÇÕES NO PLANO

UNIVERSIDADE FEDERAL DA BAHIA INSTITUTO DE MATEMÁTICA 5 0 Encontro da RPM TRANSFORMAÇÕES NO PLANO UNIVERSIDADE FEDERAL DA BAHIA INSTITUTO DE MATEMÁTICA 5 0 Encontro da RPM TRANSFORMAÇÕES NO PLANO Jorge Costa do Nascimento Introdução Na produção desse texto utilizamos como fonte de pesquisa material

Leia mais

Computadores XXI: Busca e execução Final

Computadores XXI: Busca e execução Final Computadores XXI: Busca e execução Final A6 Texto 6 http://www.bpiropo.com.br/fpc20060123.htm Sítio Fórum PCs /Colunas Coluna: B. Piropo Publicada em 23/01/2006 Autor: B.Piropo Na coluna anterior, < http://www.forumpcs.com.br/viewtopic.php?t=146019

Leia mais

FATEC Zona Leste. Teoria dos Gráfos. Métodos Quantitativos de Gestão MQG

FATEC Zona Leste. Teoria dos Gráfos. Métodos Quantitativos de Gestão MQG Teoria dos Gráfos Métodos Quantitativos de Gestão MQG Conceitualmente, um grafo consiste em um conjunto de vértices (pontos ou nós) e um conjunto de arestas (pontes ou arcos), ou seja, é uma noção simples,

Leia mais

O método de Monte Carlo: algumas aplicações na Escola Básica

O método de Monte Carlo: algumas aplicações na Escola Básica 1 Universidade de São Paulo/Faculdade de Educação Seminários de Ensino de Matemática (SEMA-FEUSP) Coordenador: Nílson José Machado novembro/2009 O método de Monte Carlo: algumas aplicações na Escola Básica

Leia mais

QUALIDATA Soluções em Informática. Módulo CIEE com convênio empresas

QUALIDATA Soluções em Informática. Módulo CIEE com convênio empresas FM-0 1/21 ÍNDICE 1. MÓDULO DESKTOP(SISTEMA INSTALADO NO CIEE)... 2 Cadastro de Ofertas de Empregos:... 2 Cadastro de Eventos:... 3 Cadastro de Instituições do Curriculum:... 5 Cadastro de Cursos do Curriculum:...

Leia mais

Comunicação de Dados IV. Gabarito da Lista de Exercícios 2

Comunicação de Dados IV. Gabarito da Lista de Exercícios 2 omunicação de Dados IV Gabarito da Lista de Exercícios ) Na topologia abaixo, considerando que as redes estão interligadas através de pontes transparentes, indique as informações armazenadas em cache nas

Leia mais

2 A Derivada. 2.1 Velocidade Média e Velocidade Instantânea

2 A Derivada. 2.1 Velocidade Média e Velocidade Instantânea 2 O objetivo geral desse curso de Cálculo será o de estudar dois conceitos básicos: a Derivada e a Integral. No decorrer do curso esses dois conceitos, embora motivados de formas distintas, serão por mais

Leia mais

A-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 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