Análise e Complexidade de Algoritmos

Documentos relacionados
Algoritmos geométricos

d) Por dois pontos distintos passa uma única reta

Colégio Adventista Portão EIEFM MATEMÁTICA Geometria Analítica 3º Ano APROFUNDAMENTO/REFORÇO

5. Invólucros Convexos no Plano

Ponto em Polígono. António Leslie Bajuelos Departamento de Matemática Universidade de Aveiro

Ponto 1) Representação do Ponto

Professor: Anselmo Montenegro Conteúdo (aula 6): - Fecho Convexo 2D. Instituto de Computação - UFF

Professor: Anselmo Montenegro Conteúdo: Aula 2. - Primitivas Geométricas. Instituto de Computação - UFF

Interseção de Semiplanos

3) O ponto P(a, 2) é equidistante dos pontos A(3, 1) e B(2, 4). Calcular a abscissa a do ponto P.

Geometria Computacional: Fecho convexo

Geometria Computacional Primitivas Geométricas. Claudio Esperança Paulo Roma Cavalcanti

5 de setembro de Gabarito. 1) Considere o ponto P = (0, 1, 2) e a reta r de equações paramétricas. r: (2 t, 1 t, 1 + t), t R.

A(500, 500) B( 600, 600) C(715, 715) D( 1002, 1002) E(0, 0) F (711, 0) (c) ao terceiro quadrante? (d) ao quarto quadrante?

GEOMETRIA ANALÍTICA. 2) Obtenha o ponto P do eixo das ordenadas que dista 10 unidades do ponto Q (6, -5).

Lista 3 com respostas

10. Determine as equações cartesianas das famílias de retas que fazem um ângulo de π/4 radianos com a reta y = 2x + 1.

Lista 5. Em toda a lista, as coordenadas referem-se a um sistema de coordenadas fixo (O; i, j, k)

Primitivas Geométricas

Geometria Analítica. Estudo do Plano. Prof Marcelo Maraschin de Souza

P1 de Álgebra Linear I Gabarito. 27 de Março de Questão 1)

Coordenadas Cartesianas

n. 15 ÁREA DE UM TRIÂNGULO Logo, a área do triângulo é obtida calculando-se a metade da área do S = 1 2

3º. EM Prof a. Valéria Rojas Assunto: Determinante, Área do Triângulo, Equação da reta, Eq. Reduzida da Reta

r : Exemplo: Considere a reta r :

Equação fundamental da reta

Geometria Descritiva 28/08/2012. Elementos Primitivos da Geometria

2. Na gura abaixo, representa-se um cubo. Desenhe a echa de origem H que representa ! DN =! DC

Exercícios de Aprofundamento Matemática Geometria Analítica

LISTA DE EXERCÍCIOS DE RECUPERAÇÃO GEOMETRIA 2ºANO

Geometria Computacional: Polígonos

2 Igualdade e Operações com pares ordenados. 1 Conjunto R 2. 3 Vetores. 2.1 Igualdade. 1.2 Coordenadas Cartesianas no Plano

Imagination is more important than knowledge A. Einstein. 4. Partição de Polígonos. Mestrado em Matemática e Aplicações

Geometria Analítica. Geometria Analítica 28/08/2012

Aula Exemplos e aplicações - continuação. Exemplo 8. Nesta aula continuamos com mais exemplos e aplicações dos conceitos vistos.

Bacharelado em Ciência e Tecnologia 2ª Lista de Exercícios - Geometria Analítica

EQUAÇÕES DE RETAS E PLANOS

FIGURAS GEOMÉTRICAS. MEDIDA

Análise e Complexidade de Algoritmos

Lista 3 com respostas

POLÍGONOS TRIÂNGULOS E QUADRILÁTEROS

Polígonos PROFESSOR RANILDO LOPES 11.1

EXAME NACIONAL DO ENSINO SECUNDÁRIO MATEMÁTICA A PROVA MODELO N.º 4 PROPOSTA DE RESOLUÇÃO 12.º ANO DE ESCOLARIDADE

TESTE DE AVALIAÇÃO 11º ANO

Plano cartesiano, Retas e. Alex Oliveira. Circunferência

EXERCÍCIOS DE FIXAÇÃO MATEMÁTICA II 3 a SÉRIE ENSINO MÉDIO INTEGRADO GEOMETRIA ANALÍTICA

1ª Prova de Geometria Analítica 1 Data: 06/09/2016

5. Invólucros Convexos no Plano (cont )

TEMA 2 GEOMETRIA ANALÍTICA FICHAS DE TRABALHO 11.º ANO COMPILAÇÃO TEMA 2 GEOMETRIA ANALÍTICA

Material Teórico - Módulo: Vetores em R 2 e R 3. Produto Vetorial. Terceiro Ano - Médio

MAT2457 ÁLGEBRA LINEAR PARA ENGENHARIA I 2 a Lista de Exercícios - 1 o semestre de f 1 = 2 e 1 e 2 e 3,

Arranjos. Claudio Esperança Paulo Roma LCG/UFRJ. All rights reserved.

LISTA DE REVISÃO PROVA TRIMESTRAL GEOMETRIA 2º ANO

ENSINO PRÉ-UNIVERSITÁRIO PROFESSOR(A) TURNO. 01. Determine a distância entre dois pontos A e B do plano cartesiano.

1 Geometria Analítica Plana

Lista de exercícios de GA na reta e no plano Período de Prof. Fernando Carneiro Rio de Janeiro, Janeiro de 2017

Lembremos que um paralelogramo é um quadrilátero (figura geométrica com quatro lados) cujos lados opostos são paralelos.

Matemática Básica II - Trigonometria Nota 01 - Sistema de Coordenadas no Plano

MATEMÁTICA A - 11.º Ano TRIGONOMETRIA

CIC 111 Análise e Projeto de Algoritmos II

Álgebra Linear I - Aula 9. Roteiro

Geometria Computacional

Exercícios de exames e provas oficiais

Instituto Federal de Educação, Ciência e Tecnologia Rio Grande do Sul Campus Rio Grande CAPÍTULO 4 GEOMETRIA ANALÍTICA

Conceitos básicos de Geometria:

Coordenadas Cartesianas

G1 de Álgebra Linear I Gabarito

Geometria Computacional

GAAL /1 - Simulado - 3 exercícios variados de retas e planos

Análise e Complexidade de Algoritmos

Análise empírica de algoritmos de ordenação

Introdução ao Cálculo Vetorial

MATERIAL COMPLEMENTAR GEOMETRIA ANALÍTICA Professor. Sander

Matemática. Nesta aula iremos aprender as. 1 Ponto, reta e plano. 2 Posições relativas de duas retas

GABARITO DE MATEMÁTICA INSTITUTO MILITAR DE ENGENHARIA

Lista 3.2: Retas - Planos e Distâncias PARTE 1: RETAS. 1. Verificar se os pontos P 1 (5, 5,6) e P 2 (4, 1,12) pertencem à reta r : x 3 1 = y + 1

Escola Secundária de Alberto Sampaio Ficha Formativa de Matemática A Geometria III Equação do plano e equação da reta no espaço

III CAPÍTULO 21 ÁREAS DE POLÍGONOS

Geometria Analítica l - MAT Lista 6 Profa. Lhaylla Crissaff

O MÉTODO DAS DUPLAS PROJEÇÕES ORTOGONAIS

Geometria Analítica? Onde usar os conhecimentos. os sobre Geometria Analítica?

1. O que é a eficiência assintótica de um algoritmo. Explique com suas palavras.

GAAL /1 - Simulado - 2 produto escalar, produto vetorial, retas e planos. Exercício 1: Determine a equação do plano em cada situação descrita.

Apresentaremos as equações do plano: Equação vetorial e Equação geral do. = AB e v. C A u B. ) não-colineares do plano.

NOTAÇÕES. R N C i z. ]a, b[ = {x R : a < x < b} (f g)(x) = f(g(x)) n. = a 0 + a 1 + a a n, sendo n inteiro não negativo.

Retas no Espaço. Laura Goulart. 28 de Agosto de 2018 UESB. Laura Goulart (UESB) Retas no Espaço 28 de Agosto de / 30

PROPOSTA DE RESOLUÇÃO DA PROVA DE MATEMÁTICA A DO ENSINO SECUNDÁRIO (CÓDIGO DA PROVA 635) 2ª FASE 22 DE JULHO 2019

GEOMETRIA ANALÍTICA CONTEÚDOS. Distância entre pontos Equação da reta Distância ponto reta Coeficientes Equação da circunferência.

Título do Livro. Capítulo 5

UFBA / UFRB a Fase Matemática RESOLUÇÃO: Professora Maria Antônia Gouveia. QUESTÕES de 01 a 08

Proposta de teste de avaliação

Capítulo Propriedades das operações com vetores

NOTAÇOES A ( ) 2. B ( ) 2^2. C ( ) 3. 7 D ( ) 2^ 3- E ( ) 2. Q uestão 2. Se x é um número real que satisfaz x3 = x + 2, então x10 é igual a

Plano Cartesiano e Retas. Vitor Bruno Engenharia Civil

8º ANO ENSINO FUNDAMENTAL Matemática. 1º Trimestre 45 questões 26 de abril (Sexta-feira)

Geometria Computacional

J. Delgado - K. Frensel - L. Crissaff Geometria Analítica e Cálculo Vetorial

Questão 1 a) A(0; 0) e B(8; 12) b) A(-4; 8) e B(3; -9) c) A(3; -5) e B(6; -2) d) A(2; 3) e B(1/2; 2/3) e) n.d.a.

Transcrição:

Análise e Complexidade de Algoritmos Introdução a algoritmos geométricos e seus métodos - varredura - envoltória convexa Prof. Rodrigo Rocha prof.rodrigorocha@yahoo.com http://www.bolinhabolinha.com Onde Estamos Ementa Revisão: Estrutura de dados;crescimento de funções; Indução matemática e métodos matemáticos. Medidas de complexidade, análise assintótica de limites de complexidades. Exemplos de análise de algoritmo iterativos e recursivos. Análise de desempenho de alguns algoritmos clássicos de busca e ordenação. Introdução aos principais paradigmas do projeto de algoritmos. Complexidade do Problema: Limites de Complexidade, Intratabilidade, Classes P, NP, problemas Np completos e NP-difíceis. 1

Geometria Computacional Anos 70 resolver problemas geométricos uso em aplicações: robótica computação gráfica cad processamento de imagens sistemas geográficos biologia molecular Geometria computacional Elementos básicos geométricos (plano) Ponto par p de coordenadas x,y Geometria Segmento parte de uma reta delimitada por dois pontos Polígono seqüência de pontos interligados por segmentos de retas consecutivos e que se fecham. (não colineares) 2

Intersecção de segmentos de reta dados dois segmentos de retas, verificar se há intersecção Problemas geométricos Localização de um ponto O ponto está fora ou dentro do polígono Melhor caminho dado um conjunto de pontos, encontrar um polígono aberto que não se cruze. Envoltória convexa Dado um conjunto de pontos S, a envoltória convexa de S é o menor polígono convexo que contém todos os pontos de S. Intersecção de segmentos Os segmentos (a,b) e (c,d) se interceptam? Resolução Geometria analítica Utilizar a orientação no plano Primitiva EsquerdaDireita diz se um ponto está a esquerda ou direita de um determinado vetor 3

Orientação no Plano A orientação de um conjunto ordenado de três pontos em um plano são horário (esquerda) anti-horário (direita) colineares Orientação no Plano Ocorre a intersecção de dois segmentos (p1,q1) e (p2,q2), se e somente se uma das condições abaixo forem verdadeiras (p1,q1,p2) e (p1,q1,q2) possuem orientação diferentes e (p2,q2,p1) e (p2,q2,q1) possuem orientação diferentes Caso especial (p1,q1,p2), (p1,q1,q2), (p2,q2,p1), e (p2,q2,q1) são colineares e - a projeção em x de (p1,q1) e (p2,q2) se interceptam - a projeção em y de (p1,q1) e (p2,q2) se interceptam Resumindo: Dado o segmento (p1,q1) e (p2,q2), existe intersecção entre eles se p1 estiver de um lado de (p2,q2) e q1 do outro e, p2 estiver de um lado de (p1,q1) e q2 do outro 4

Exemplos Calculando a orientação coeficiente angular do segmento (p1,p2): s = (y2-y1) / (x2-x1) coeficiente angular do segmento (p2,p3): t = (y3-y2) / (x3-x2) Achando a orientação horário (esquerda): s < t anti-horário (direita): s > t colinear : s = t Logo, a orientação depende da expressão: (y2-y1) (x3-x2) - (y3-y2) (x2-x1) seja: positiva, negativa ou nula Complexidade (detectar intersecção em um conjunto de segmentos): Ordenação dos 2*n pontos O(n log n). Varredura 2*n O(n) pior caso logo, complexidade=o(n log n) 5

Ponto no polígono Dado um polígono e um ponto, este ponto se encontra dentro ou fora do polígono? Ponto no polígono Traçamos uma reta do ponto para a direita, tendendo ao infinito. Observamos o número de intersecções, se ímpar: o ponto está dentro par: o ponto está do lado de fora Caso o ponto esteja na vértice (d e g) escolher uma outra reta, rotacionando-a a em alguns poucos graus tratamento diferenciado nas vértices máximo e mínimo: par outro: ímpar Complexidade Polígono P de n vértices, vamos ter que verificar a intersecção nas arestas: O(n) 6

Dado o seguinte conjunto de pontos Menor caminho Conectar os pontos sem cruzar Pegar o ponto mais baixo (ancora) Menor caminho Para cada ponto p, calcular o ângulo q(p) do segmento AP relativo ao eixo x 7

Atravessar os pontos incrementando os ângulos Menor caminho Como computar os ângulos? ti trigonometria ti problema: funções trigonométricas podem ser ineficientes computacionalmente não são instruções básicas do computador, devemos utilizar bibliotecas específicas utilizar a orientação para comparar os ângulos sem calculá-los utilizando a orientação Menor caminho q(p) < q(q) - orientação(a,p,q) = anti-horário Od Ordenando d todos os pontos encontrados pelo ângulo (exemplo: heapsort ou mergesort) Para n pontos Complexidade O(n log n) 8

Envoltória convexa Definição: Dado um conjunto de pontos S, a envoltória convexa de S é o menor polígono convexo que contém todos os pontos de S. Polígono Convexo Envoltória convexa Côncavo 9

Envoltória convexa Aplicações Algumas soluções Força bruta Força bruta melhorada Grahan Scan Hull 10

Força bruta Força bruta O ponto faz parte da envoltória convexa se e somente se não está contido em um triângulo formado por outros três pontos. Complexidade Para cada conjunto de pontos O(n) Verificar todos os triângulos formados O(n 3 ) logo, Complexidade O(n 4 ) Força bruta melhorada Força bruta melhorada para um determinado ponto fazer parte da envoltória convexa, verificar se todos os outros pontos estão do outro lado do segmento formado por ele e mais um ponto. Complexidade testar todos os n 2 pontos = O(n 2 ) realizar os testes O(n) logo, complexidade O(n 3 ) todos os pontos estão do outro lado, logo é aresta da envoltória convexa todos os pontos NÃO estão do outro lado, logo NÃO é aresta da envoltória convexa 11

Embrulho de presente Embrulho de presente Escolhemos um ponto âncora (abaixo e esquerda, por exemplo). Complexidade O(n) Para o próximo ponto, no sentido anti-horário, localizamos o próximo ponto a esquerda (utilizando orientação) ou seja, o ponto que tenha o menor ângulo relativo a horizontal exemplo: orientação(c,p,q) = anti-horário (esquerda) Complexidade Escolha do ponto mais a esquerda O(n) Para cada vértice da envoltória convexa, verificar a orientação do próximo ponto (saber o ponto a esquerda) chamando de v estes vértices O(v*n) Pior caso v=n, logo O(n 2 ) para h vértices Exemplo Embrulho de presente 12

Quick Hull Quick Hull Para três pontos a,b,c pertencentes ao conjunto P, os pontos contidos no triângulo formado por eles não fazem parte da envoltória convexa. Complexidade Achar um ponto extremo O(n) Melhor caso: balanceado: O(n log n) Pior caso desbalanceado: O(n 2 ) Funcionamento dado o segmento AB; localizar o ponto C (mais a direita de AB); Se c não existe retornar a AB Descartar os pontos contidos no triângulo ABC Descartar os pontos contidos no triângulo ABC Repetir para a esquerda BC e CA Repetir para a esquerda de BA Quick Hull 13

Varredura de Grahan Varredura de Grahan 1972, R. L. Grahan algoritmo Grahan Scan Primeiro algoritmo sobre envoltória convexa a rodar em O(n log n) Funcionamento Escolher o Pivô (P0), ponto mais extremo que pertence a envoltória convexa Todos os pontos S em relação a P0 são ordenados em relação ao ângulo polar a ordenação pode ser feita utilizando qualquer q algoritmo de ordenação. (Devemos escolher o melhor em termos de complexidade) funcionamento (cont.) formar o menor caminho fechado neste polígono, respeitando os ângulos e o pivo Varredura de Grahan seguindo pelo caminho formado entre os pontos, os elementos são removidos do começo do caminho e inseridos e excluídos do final deste caminho, utilizando orientação para decidir se aceita ou não o próximo ponto 14

Funcionamento (cont.) Varredura de Grahan (p,c,n) têm um giro a direita, logo descartamos o ponto c Funcionamento (cont.) (p,c,n) tem um giro a direita, logo descartamos o ponto c Varredura de Grahan (p,c,n) continua com giro a direita, logo descartamos o ponto c 15

Complexidade Varredura de Grahan escolha do pivô O(n) ordenação, por exemplo, heap sort O(n log n) determinar se o próximo ponto está a direita ou esquerda O(1), utilizando produto vetorial. É realizada para n pontos, logo O(n) logo, Complexidade = O(n) + O(n log n) + O(n) =O(nlogn) n) Varredura de Grahan Aumentando a velocidade eliminando os pontos contidos no seu interior achamos as extremidades de um quadrilátero formado pelo pontos Nordeste, Noroeste, Sudeste, Sudoeste eliminamos os pontos contidos no quadrilátero executamos a verredura de Grahan em média raiz(n) pontos são eliminados 16

Animações na web Embrulho de Presente http://www.cosc.canterbury.ac.nz/mukundan/cgeo/gwrap.html http://www.cse.unsw.edu.au/~lambert/java/3d/hull.html http://www.sinc.stonybrook.edu/stu/ypericle/convexhull/index.html Quick hull http://www.cosc.canterbury.ac.nz/mukundan/cgeo/quickhull.html http://www.cs.princeton.edu/~ah/alg_anim/version1/quickhull.html Grahan http://www.cosc.canterbury.ac.nz/mukundan/cgeo/gscan.html canterbury ac nz/mukundan/cgeo/gscan html http://www.personal.kent.edu/~rmuhamma/compgeometry/mycg/con vexhull/grahamscan/grahamscan.htm 17