Processamento da Informação Números Aleatórios Matrizes parte 2

Documentos relacionados
Teoria dos Grafos Aula 23

AULA 11 PROJETO E ANÁLISE DE ALGORITMOS. Conceitos básicos e representação de grafos Karina Valdivia Delgado

Grafos tipo abstrato de dados

Paradigmas de programação

GRAFOS Aula 07 Algoritmos de Caminho Mínimo: Bellman-Ford / Floyd-Warshall Max Pereira

MCTA028 Programação Estruturada Aula 03: - Funções e procedimentos - Vetores e matrizes

MCTA028 Programação Estruturada Aula 03: - Funções e procedimentos - Vetores e matrizes

Grafos: caminhos (matriz adjacência)

Teoria dos Grafos Aula 22

Teoria dos Grafos Aula 24

Vetores e matrizes. MCTA028 Programação Estruturada. Material preparado a partir de slides dos profs. Jesús Mena-Chalco e Fabrício Olivetti

Processamento da Informação Teoria. Listas e Matrizes

Acessibilidade e Fecho Transitivo de Grafos Dirigidos

CIC 110 Análise e Projeto de Algoritmos I

Processamento da Informação Estruturas de seleção simples e composta

Teoria dos Grafos Aula 3

GRAFOS. Prof. André Backes. Como representar um conjunto de objetos e as suas relações?

# Estrutura de Dados # Aula 08 Recursão (conceito, utilização, exemplos) Prof. Leinylson Fontinele Pereira

TGR BCC Representação Computacional de Grafos. Prof. Ricardo José Pfitscher

double x; x = enigmab1(100);

Circuitos Hamiltorianos

Comunicação e redes. Aula 2: Teoria dos Grafos Conceitos básicos. Professor: Guilherme Oliveira Mota.

1. Para cada pergunta selecione uma opção. Resposta correta +2, incorreta -1. [12 pontos]

Universidade Federal do ABC Disciplina: Processamento da Informação Avaliação: Prova 02 Professor: Jesús P. Mena-Chalco Data: 22/04/2015

Facebook. Um grafo é uma rede. Estrutura de dados fundamental em Informática, tal como listas e árvores.

UNIVERSIDADE DE SÃO PAULO INSTITUTO DE CIÊNCIAS MATEMÁTICAS E DE COMPUTAÇÃO Departamento de Ciências de Computação

Sistemas de Equações Lineares e Equações Vectoriais Aula 2 Álgebra Linear Pedro A. Santos

Grafos. Notas. Notas. Notas. Notas. Caminhos mais curtos de todos os pares

SCC0503 (Algoritmos e Estruturas de Dados II) Prof. Moacir P. Ponti Junior. Trabalho 2

Teoria dos Grafos. Valeriano A. de Oliveira Socorro Rangel Departamento de Matemática Aplicada.

UNIVERSIDADE DE SÃO PAULO INSTITUTO DE CIÊNCIAS MATEMÁTICAS E DE COMPUTAÇÃO Departamento de Ciências de Computação

Técnicas de Visualização para Árvores, Grafos e Redes

Estruturas de Dados Grafos

Grafos. Fabio Gagliardi Cozman. PMR2300 Escola Politécnica da Universidade de São Paulo

Teoria dos Grafos Aula 5

Caminhos mínimos de todos os pares

Complexidade de Algoritmos

Redes Complexas Aula 14

O ALEATÓRIO EM COMPUTAÇÃO. Por Diogo Anderson Integrante do Grupo PET Computação

Processamento da Informação Vetores Parte 1 (Arrays / Arranjos )

Processamento de Imagens usando Grafos (MAC6903)

O grau de saída d + (v) de um vértice v é o número de arcos que tem

Algoritimos e Estruturas de Dados III CIC210

Teoria dos Grafos Aula 7

Aula 14. Aula de hoje. Aula passada

Redes Complexas Aula 2

Pedro Vasconcelos DCC/FCUP. Programação Funcional 14 a Aula Um verificador de tautologia

Melhores momentos AULAS 1-8

Teoria dos Grafos. Valeriano A. de Oliveira, Socorro Rangel, Silvio A. de Araujo. Departamento de Matemática Aplicada

Teoria dos Grafos Aula 1 - Introdução

Teoria dos Grafos. Aula 5 - Estruturas de Dados para Grafos. Profª. Alessandra Martins Coelho. março/2013

GRAFOS Aula 03 Representações de Grafos Max Pereira

Grafos Direcionados. > Grafos Direcionados Representações Computacionais 1/36

Prova Didática Grafos: Árvores Geradoras e Caminhos Mínimos, Análise de Complexidade

Algoritmo de Dijkstra (um para todos ; arestas de peso não negativo ; guloso)

Teoria dos Grafos. Edson Prestes

Aula 20: Revisão Otimização Linear e Inteira Túlio A. M. Toffolo

Prof. Marco Antonio M. Carvalho

Grafos: conceitos básicos e métricas

PCC173 - Otimização em Redes

Processamento de Imagens usando Grafos (MAC6903)

AED2 - Aula 22 Busca em largura, cálculo de distâncias

Algoritmos em Grafos COM11087-Tópicos Especiais em Programação I

Teoria dos Grafos. Teoria dos Grafos. Profa. Sheila Morais de Almeida DAINF-UTFPR-PG. agosto

Teoria dos Grafos AULA

Processamento da Informação Vetores Parte 1 (Arrays / Arranjos )

Processamento de Imagens usando Grafos (MAC6903)

Um Minotauro Perdido & Percolação

Teoria dos Grafos Aula 2

Algoritmos em Grafos: Caminho Mínimo

Redes Complexas Aula 2

CI208 - Programação de Computadores. Aula 24: Arrays. Prof. MSc. Diego Roberto Antunes

Grafos Parte 1. Aleardo Manacero Jr.

Problemas de otimização

Aula 11: Modularização

Teoria dos Grafos. Edson Prestes

Representações de Grafos

Grafos: caminhos mínimos

Matemática Discreta. Aula 06: Teoria dos Grafos. Tópico 01: Grafos e suas Representações. Observação

GRAFOS E ALGORITMOS TEORIA DE GRAFOS

Noções de Simulação. Ciências Contábeis - FEA - Noturno. 2 o Semestre MAE0219 (IME-USP) Noções de Simulação 2 o Semestre / 23

Descritores de Imagem (introdução)

Faculdade de Engenharia da Computação

Processamento da Informação Teoria. Laços

1. Se v é um vetor, qual a diferença conceitual entre as expressões v[70] e v+70? [2 ponto]

Formulação de Programação Linear Inteira para o Problema de Particionamento em Conjuntos Convexos

Introdução à Teoria de Grafos e Topologia em SIG. João Matos Departamento de Engenharia Civil e Arquitectura

Eduardo Camponogara. DAS-9003: Introdução a Algoritmos

Grafos COM11087-Tópicos Especiais em Programação II

ESTRUTURAS DE DADOS. prof. Alexandre César Muniz de Oliveira. 1. Introdução 2. Pilhas 3. Filas 4. Listas 5. Árvores 6. Ordenação 7. Busca 8.

Distâncias Mínimas. Pedro Ribeiro 2014/2015 DCC/FCUP. Pedro Ribeiro (DCC/FCUP) Distâncias Mínimas 2014/ / 27

Modelagem e Análise de Sistemas - COS767

Otimização em Grafos

Volmir Eugênio Wilhelm Departamento de Engenharia de Produção UFPR 45

Artigo: Identificação de Códigos Maliciosos Metamórficos pela Medição do Nível de Similaridade de Grafos de Dependência

Redes. ADSA António Câmara

meio de busca Seções 3.1, 3.2 e 3.3

Estrutura de Dados e Algoritmos e Programação e Computadores II. Aula 11: Introdução aos Grafos

Programação I Aula 6 Números pseudo-aleatórios Pedro Vasconcelos DCC/FCUP

Teoria dos Grafos Caminhos. Profª. Alessandra Martins Coelho

Transcrição:

Processamento da Informação Números Aleatórios Matrizes parte 2 Prof. Jesús P. Mena-Chalco CMCC/UFABC Q/2

Algoritmos: Deterministicos Vs Não-deterministicos Um programa determinístico sempre gera a mesma saída para o mesmo conjunto de entrada. Um programa é não-determinístico quando apresenta resultados diferentes com os mesmos conjuntos de entrada. 3

O que faz um algoritmo ser não-deterministico? - Erro em hardware. - Opera de maneira sensível ao tempo. - Usa valores aleatórios. 4

Não-deterministico é ruim? As vezes é dificil criar algoritmos deterministicos que sejam rápidos para responder a uma entrada. Existem algoritmos não-deterministicos que resolvem o problema com uma ligeira margem de erro. 5

Números Aleatórios 6

Números aleatórios Sequência de números aleatórios são importantes em inúmeras aplicações. É muito dificil obter números verdadeiramente aletórios. Geralmente os números são chamados de pseudo-aleatórios (pois são gerados por algoritmos) int x = gerarnumeroaleatorio();

Números aletórios 8

Números aletórios Gerar um número aletório Pronto Math.Randon 9

Números aletórios Semente (seed) Temperatura Hora atual do sistema Número de rotações do HD Material radiativo... Gerar um número aletório Pronto Math.Randon

Números aletórios

Números aletórios 2

Números aletórios Pseudo-random https://boallen.com/random-numbers.html True-random 3

Matrizes 4

Matrizes Matriz unidimensional (vetor/array) Matriz bidimensional (2D) 2 3 4 Matriz tridimensional (3D) 5 2 2 2 3 3 3 M[2] M[2][4] 2 3 4 5 M[2][5][2] 5

Exercício : Bordas de uma matriz Vamos desenvolver um método que permita criar uma matriz nula, mas com valores nas bordas iguais a b (dado como entrada). Assinatura: static int[][] matrizb( int n, int m, int b ) Exemplo: 6

Exercício : Bordas de uma matriz

Exercício 2: Maior elemento Vamos desenvolver um método que permita calcular o maior elemento de uma matriz de inteiros. Assinatura: static int maiorelemento( int [][]M ) Exemplo: Resposta 8

Exercício 2: Maior elemento 9

Exercício 3: Multiplicação Vamos desenvolver um método que permita multiplicar cada elemento de uma matriz por um inteiro x. Assinatura: static int [][] vezes( int M[][], int x) Exemplo: M= x=5 Resposta = 55 55 55 55 55 55 2

Exercício 3: Multiplicação 2

Exercício 4: Considere M uma matriz de números inteiros. Qual o valor de K? 22

Exercício 4: Considere M uma matriz de números inteiros. Qual o valor de K? k = menor valor da matriz M. 23

Exercício 5: Maior elemento matriz 3D Vamos desenvolver um método que permita calcular o maior elemento de uma matriz de inteiros. Assinatura: static int maiorelemento( int M[][][] ) 24

Exercício 5: Maior elemento matriz 3D 25

Exercício 5: Maior elemento matriz 3D 26

Atividade em aula 2

Questão Resposta: [, ] 28

Questão 2 29

Questão 3 3

Questão 3 Nenhum defeito. O método calcula a somatória de todos os elementos da matriz 3

Desafio O método, dada uma matriz de inteiros, e dois inteiros r, e s, permite trocar a linha r pela linha s. Note que: <= r < M.length <= s < M.length 32

Desafio 2 33

Além das matrizes 34

Além das matrizes Duas maneiras populares de representar um grafo: (A) Listas de adjacência. (B) Matriz de adjacência. G = (V,A) 5 2 V = {,2,3,4,5,6,} 3 4 6 A = { {,2}, {,3}, {,4}, {2,3}, {2,5}, {2,}, {3,4}, {3,5}, {3,6} } 35

Além das matrizes Matriz de adjacência. 5 2 3 4 6 2 3 4 5 6 2 3 4 5 6 Grafo não-direcionado 36

Além das matrizes Matriz de adjacência. 5 2 3 4 6 2 3 4 5 6 2 3 4 5 6 Grafo direcionado 3

Além das matrizes Considere um programa de GPS para o cálculo da melhor rota entre dois pontos. Problema: Dado um endereço de origem e destino, encontrar um camino mínimo entre a origem e o destino, i.e., encontrar a rota com a menor distância. 38

Além das matrizes Modelar o problema através de grafos. Vértices: Cruzamentos entre ruas. Arestas: Cada trecho de rua. Peso/custo: Comprimento do trecho (em kilometros) 39

Algoritmo de Floyd-Warshall FloydWarshall(MAdj): D = Madj para cada linha i em MAdj para cada coluna j em MAdj se (Madj[i][j]== e i!=j) // sem conexão? dist[i][j] = INFINITO N = numero de linhas de MAdj para k igual a até N para i igual a até N para j igual a até N se D[i][j] > D[i][k]+D[k][j] D[i][j] = D[i][k]+D[k][j] 4

Entrada 2 5 3 4 2 Saída 2 3 4 5 4 3 2 2 2 4 2 2 3 3 4 2 2 5 2 2 5 2 3 4 5 2 3 4 5 5 2 5 2