Algoritmos em Grafos: Circuitos de Euler e Problema do Carteiro Chinês

Documentos relacionados
Modelos de Computação -Folha de trabalho n. 2

Exemplos de autómatos finitos

Aula 4: Autômatos Finitos Autômatos Finitos Não-Determinísticos

LRE LSC LLC. Autômatos Finitos são reconhecedores para linguagens regulares. Se não existe um AF a linguagem não é regular.

GRUPO I. Espaço de rascunho: G 2 10

Teoria de Linguagens 2 o semestre de 2014 Professor: Newton José Vieira Primeira Lista de Exercícios Entrega: até 16:40h de 23/10.

Apostila 02 - Linguagens Regulares Exercícios

Diogo Pinheiro Fernandes Pedrosa

Hierarquia de Chomsky

Resumo. Sinais e Sistemas Transformada Z. Introdução. Transformada Z Bilateral

Diferenciação Numérica

Faculdade de Computação

Teoria da Computação. Unidade 3 Máquinas Universais (cont.) Referência Teoria da Computação (Divério, 2000)

Material envolvendo estudo de matrizes e determinantes

ROTAÇÃO DE CORPOS SOBRE UM PLANO INCLINADO

DETERMINANTES. Notação: det A = a 11. Exemplos: 1) Sendo A =, então det A = DETERMINANTE DE MATRIZES DE ORDEM 2

3.3 Autómatos finitos não determinísticos com transições por ε (AFND-ε)

EXERCÍCIOS RESOLVIDOS DE TEORIA DOS GRAFOS

Resumo com exercícios resolvidos do assunto: Aplicações da Integral

EXAME DE INGRESSO º Período

Capítulo 3. Autómatos e respectivas linguagens

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

FUNÇÕES. Mottola. 1) Se f(x) = 6 2x. é igual a (a) 1 (b) 2 (c) 3 (d) 4 (e) 5. 2) (UNIFOR) O gráfico abaixo. 0 x

INTEGRAIS DEFINIDAS. Como determinar a área da região S que está sob a curva y = f(x) e limitada pelas retas verticais x = a, x = b e pelo eixo x?

INTEGRAIS DEFINIDAS. Como determinar a área da região S que está sob a curva y = f(x) e limitada pelas retas verticais x = a, x = b e pelo eixo x?

Escola Secundária/2,3 da Sé-Lamego Ficha de Trabalho de Matemática A Ano Lectivo 2011/12 Distribuição de probabilidades 12.º Ano

UNIVERSIDADE FEDERAL DE PERNAMBUCO. Resumo. Nesta aula, utilizaremos o Teorema Fundamental do Cálculo (TFC) para o cálculo da área entre duas curvas.

EQUAÇÃO DO 2 GRAU. Seu primeiro passo para a resolução de uma equação do 2 grau é saber identificar os valores de a,b e c.

(x, y) dy. (x, y) dy =

Bhaskara e sua turma Cícero Thiago B. Magalh~aes

E m Física chamam-se grandezas àquelas propriedades de um sistema físico

Definição 1 O determinante de uma matriz quadrada A de ordem 2 é por definição a aplicação. det

Trigonometria FÓRMULAS PARA AJUDÁ-LO EM TRIGONOMETRIA

Introdução à Integral Definida. Aula 04 Matemática II Agronomia Prof. Danilene Donin Berticelli

UNITAU APOSTILA. SUCESSÃO, PA e PG PROF. CARLINHOS

MATRIZES. 1) (CEFET) Se A, B e C são matrizes do tipo 2x3, 3x1 e 1x4, respectivamente, então o produto A.B.C. (a) é matriz do tipo 4 x 2

PARTE I - Circuitos Resistivos Lineares

x 0 0,5 0,999 1,001 1,5 2 f(x) 3 4 4,998 5,

Comprimento de Curvas. Exemplo. Exemplos, cont. Exemplo 2 Para a cúspide. Continuação do Exemplo 2

CÁLCULO INTEGRAL. e escreve-se

POLINÔMIOS. Definição: Um polinômio de grau n é uma função que pode ser escrita na forma. n em que cada a i é um número complexo (ou

RESUMO DE INTEGRAIS. d dx. NOTA MENTAL: Não esquecer a constante para integrais indefinidas. Fórmulas de Integração

Sistems Lineres Form Gerl onde: ij ij coeficientes n n nn n n n n n n b... b... b...

Elementos de Análise - Lista 6 - Solução

ÁLGEBRA LINEAR Equações Lineares na Álgebra Linear EQUAÇÃO LINEAR SISTEMA LINEAR GEOMETRIA DA ESQUAÇÕES LINEARES RESOLUÇÃO DOS SISTEMAS

Resumo. Sinais e Sistemas Transformada Z. Introdução. Transformada Z Bilateral

MATRIZES, DETERMINANTES E SISTEMAS LINEARES PROF. JORGE WILSON

fundamental do cálculo. Entretanto, determinadas aplicações do Cálculo nos levam a formulações de integrais em que:

Prova 3 Matemática QUESTÕES APLICADAS A TODOS OS CANDIDATOS QUE REALIZARAM A PROVA ESPECÍFICA DE MATEMÁTICA. QUESTÕES OBJETIVAS GABARITO 3

Prova 3 Matemática QUESTÕES APLICADAS A TODOS OS CANDIDATOS QUE REALIZARAM A PROVA ESPECÍFICA DE MATEMÁTICA. QUESTÕES OBJETIVAS GABARITO 4

Lista 5: Geometria Analítica

FUNÇÃO DO 2º GRAU OU QUADRÁTICA

Física. Resolução das atividades complementares. F4 Vetores: conceitos e definições. 1 Observe os vetores das figuras:

Capítulo III INTEGRAIS DE LINHA

Física III Escola Politécnica GABARITO DA P2 25 de maio de 2017

TRANSFORMAÇÃO DE FONTES

CAPÍTULO 2 AUTÓMATOS FINITOS

Técnicas de Análise de Circuitos

Geometria Analítica Prof Luis Carlos

V ( ) 3 ( ) ( ) ( ) ( ) { } { } ( r ) 2. Questões tipo exame Os triângulos [ BC Da figura ao lado são semelhantes, pelo que: BC CC. Pág.

16.4. Cálculo Vetorial. Teorema de Green

Exercícios de Dinâmica - Mecânica para Engenharia. deslocamento/espaço angular: φ (phi) velocidade angular: ω (ômega) aceleração angular: α (alpha)

Autómatos Finitos Determinísticos. 4.1 Validação de palavras utilizando Autómatos

Transcrição:

CAL (00-0) MIEIC/FEUP Algoritmos em Grfos (0-0-0) Algoritmos em Grfos: Circuitos de Euler e Prolem do Crteiro Chinês R. Rossetti, A.P. Roch, A. Pereir, P.B. Silv, T. Fernndes FEUP, MIEIC, CPAL, 00/0 Circuitos de Euler Puzzle: desenhr s figurs ixo sem levntr o lápis e sem repetir rests; de preferênci, terminndo no mesmo vértice em que inicir. Reformulção como prolem em Teori de Grfos: pôr um vértice em cd intersecção Cminho de Euler: cminho que visit cd rest exctmente um vez Prolem resolvido por Euler em 7 e que mrc o início d Teori dos Grfos Circuito de Euler: cminho de Euler que começ e c no mesmo vértice Circuito de Euler e Pro. Crteiro Chinês./rr ()

CAL (00-0) MIEIC/FEUP Algoritmos em Grfos (0-0-0) Condições necessáris e suficientes Um grfo não dirigido contém um circuito de Euler sse () é conexo e () cd vértice tem gru (nº de rests incidentes) pr. Um grfo não dirigido contém um cminho de Euler sse () é conexo e () todos menos dois vértices têm gru pr (estes dois vértices serão os vértices de início e fim do cminho). Um grfo dirigido contém um circuito de Euler sse () é (fortemente) conexo e () cd vértice tem o mesmo gru de entrd e de síd. Um grfo dirigido contém um cminho de Euler sse () é (fortemente) conexo e () todos menos dois vértices têm o mesmo gru de entrd e de síd, e os dois vértices têm grus de entrd e de síd que diferem de. Método sedo em pesquis em profundidde pr encontrr um circuito de Euler Método:. Escolher um vértice qulquer e efectur um pesquis em profundidde prtir desse vértice (se o grfo stisfizer s condições necessáris e suficientes, est pesquis termin necessrimente no vértice de prtid, formndo um circuito, emor não necessrimente de Euler). Enqunto existirem rests por visitr. Procurr o primeiro vértice no cminho (circuito) otido té o momento que possu um rest não percorrid. Lnçr um su-pesquis em profundidde prtir desse vértice (sem voltr percorrer rests já percorrids). Inserir o resultdo (circuito) no cminho principl Tempo de execução: O( E + V ) Cd vértice e rest é percorrido um únic vez Cd vez que se percorre um djcente, vnç-se o pontdor de djcentes (pr não voltr percorrer s mesms rests) Usm-se lists ligds pr efectur inserções em tempo constnte Circuito de Euler e Pro. Crteiro Chinês./rr ()

CAL (00-0) MIEIC/FEUP Algoritmos em Grfos (0-0-0) Exemplo em grfo não dirigido Arests por visitr Cminho dest iterção Cminho cumuldo ª iter. -*----7- -*----7-7 Com rests por visitr ª iter. 7 --- --------7- (Circuito de Euler) Prolem do crteiro chinês (Chinese postmn prolem) Ddo um grfo pesdo conexo G=(V,E), encontrr um cminho fechdo (i.e., com início e fim no mesmo vértice) de peso mínimo que trvesse cd rest de G pelo menos um vez. A um cminho nesss condições chm-se percurso óptimo do crteiro Chinês. A qulquer cminho fechdo (não necessrimente de peso mínimo) que trvesse cd rest de G pelo menos um vez chm-se percurso do crteiro. Prolem estuddo pel primeir vez p/ Mei-Ku Kun em 9, relciondo com distriuição de correspondênci o longo de um conjunto de rus, prtindo e terminndo num estção de correios. Se o grfo G for Eulerino, então qulquer circuito de Euler é um percurso óptimo do crteiro Chinês. Se o grfo G não for Eulerino, pode-se construir um grfo Eulerino G* duplicndo lgums rests de G, seleccionds por form conseguir um grfo Eulerino com peso totl mínimo ver seguir. Nunc é necessário visitr cd rest mis do que dus vezes! Circuito de Euler e Pro. Crteiro Chinês./rr ()

CAL (00-0) MIEIC/FEUP Algoritmos em Grfos (0-0-0) Algoritmo pr chr um percurso óptimo do crteiro chinês num grfo não dirigido. Achr todos os vértices de gru ímpr (com nº ímpr de rests incidentes) em G. Sej k o nº (pr!) destes vértices. Se k=0, fzer G*=G e sltr pr o psso.. Achr os cminhos mis curtos (e distâncis mínims) entre todos os pres de vértices de gru ímpr em G.. Construir um grfo completo G' com os vértices de gru ímpr de G ligdos entre si por rests de peso igul à distânci mínim clculd no psso.. Encontrr um emprelhmento perfeito de peso mínimo em G' (ver seguir). Isto corresponde emprelhr os vértices de gru ímpr de G, por form minimizr som ds distâncis entre vértices emprelhdos.. Pr cd pr (u, v) no emprelhmento perfeito encontrdo, dicionr pseudo-rests (rests prlels duplicds) G o longo de um cminho mis curto entre u e v. Sej G* o grfo resultnte.. Achr um circuito de Euler em G*. Este circuito é um percurso óptimo do crteiro Chinês. 7 Relizção do psso Psso mis complexo Um emprelhmento perfeito é um emprelhmento que envolve todos os vértices O prolem de encontrr um emprelhmento perfeito de peso mínimo pode ser reduzido o prolem de encontrr um emprelhmento de peso máximo num grfo genérico por um simples mudnç de pesos Bst sustituir cd peso w ij por M+-w ij, em que M é o peso d rest mis pesd Sendo o grfo completo e com número pr de vértices, um emprelhmento de peso máximo é necessrimente perfeito Um emprelhmento de peso máximo num grfo genérico pode ser encontrdo em tempo polinomil - ver referêncis Circuito de Euler e Pro. Crteiro Chinês./rr ()

CAL (00-0) MIEIC/FEUP Algoritmos em Grfos (0-0-0) Exemplo (/) Grfo G e vértices de gru ímpr (somredos) v 9 Exemplo (/) Distâncis (pelo cminho mis curto) entre todos os pres de vértices de gru ímpr d(v i,v j ) v v v v v v v - 7 0 v - v - 9 0 v - v - 7 v - 0 Circuito de Euler e Pro. Crteiro Chinês./rr ()

CAL (00-0) MIEIC/FEUP Algoritmos em Grfos (0-0-0) Exemplo (/) Grfo G' correspondente (com vértices unidos por rests de peso igul à distânci) e emprelhmento perfeito de peso mínimo (rests trço forte): Exemplo (/) Grfo G* correspondente, com um possível numerção ds rests o longo de um circuito de Euler (distâncis não são mostrds): Circuito de Euler e Pro. Crteiro Chinês./rr ()

CAL (00-0) MIEIC/FEUP Algoritmos em Grfos (0-0-0) * Cso de grfos dirigidos Modificções o lgoritmo nterior: ) Identificm-se os vértices com nº diferentes de rests entrr e sir ) Procurm-se os cminhos mis curtos de vértices que têm défice de síds pr vértices que têm défices de entrds ) Constrói-se um grfo iprtido, em que os vértices são distinguidos consonte têm mis rests entrr ou sir e são replicdos consonte diferenç entre entrds e síds ) Procur-se um emprelhmento perfeito de peso mínimo num grfo iprtido - Em vez de replicr os vértices no ponto, pode-se ssocir cd vértice um multiplicidde (nº de emprelhmentos em que pode prticipr) e converter o prolem directmente pr um prolem de fluxo máximo de custo mínimo em que lgums rests têm cpcidde superior -> Ver no exemplo seguir Resolúvel igulmente em tempo polinomil Infelizmente, o prolem é NP-completo (tempo exponencil) qundo se cominm rests dirigids com rests não dirigids (grfos mistos) Exemplo: determinr o percurso seguir pelo cmião do lixo, qundo lgums rus têm sentidos únicos * Exemplo (/) Grfo G e vértices com diferente nº de entrds e síds: 0 - - 0 7 (nº de entrds) (nº de síds) - Circuito de Euler e Pro. Crteiro Chinês./rr (7)

CAL (00-0) MIEIC/FEUP Algoritmos em Grfos (0-0-0) * Exemplo (/) Grfo G com distâncis de vértices com deficit de síds pr vértices com deficit de entrds, e emprelhmento perfeito de peso mínimo (rests trço forte, otids resolvendo o prolem de fluxo máximo de custo mínimo indicdo no slide seguinte): 7 multiplicidde dupl (pode prticipr em dus prelhs) 7 * Exemplo (/) Formulção do prolem de emprelhmento óptimo como prolem de fluxo máximo de custo mínimo: s,0,0,0,0,,,,,7,,,,,,7, cpcidde,0,0,0 custo t Cpcidde = multiplicidde Cpcidde = min(multiplicidde(origem),multiplicidde(destino)) Circuito de Euler e Pro. Crteiro Chinês./rr ()

CAL (00-0) MIEIC/FEUP Algoritmos em Grfos (0-0-0) * Exemplo (/) Grfo G* correspondente, pós duplicção de cminhos mis curtos entre os vértices emprelhdos, e um numerção possível ds rests o longo de um circuito de Euler (distâncis não são mostrds): 9 0 7 7 Nº de sequênci de visit 0 9 7 * Exemplo de plicção (/) Achr um conjunto de sequêncis de teste complets (do estdo inicil um estdo finl) de comprimento totl mínimo corindo tods s trnsições num utómto finito Ligm-se os estdos finis o estdo inicil e procur-se um percurso óptimo do crteiro Not: conceito de estdo finl fz mis sentido em máquins de estdos UML; no cso de utómtos finitos, podem-se considerr como tl estdos de ceitção e estdos sorventes (donde não é possível sir) Strt s s s s Strt 0 s restrt restrt 0 s s s Custo d rest Etiquet d rest (símolo) Circuito de Euler e Pro. Crteiro Chinês./rr (9)

CAL (00-0) MIEIC/FEUP Algoritmos em Grfos (0-0-0) * Exemplo de plicção (/) Resolução do prolem do crteiro chinês dirigido: G 0 s s s 0 s s G s G* (com nº de ordem de visit): s s s 9 0 s 7 Solução finl: Cminho de Euler usndo etiquets: -------restrt--restrt---restrt Strings de teste:,, 9 Referêncis e mis informção The Algorithm Design Mnul, Steven S. Skien, Springer- Verlg, 99 0 Circuito de Euler e Pro. Crteiro Chinês./rr (0)