当前位置:高等教育资讯网  >  中国高校课件下载中心  >  大学文库  >  浏览文档

香港中文大学:《Design and Analysis of Algorithms》课程教学资源(辅导课件)tutorial 11

资源类别:文库,文档格式:PPTX,文档页数:12,文件大小:141.91KB,团购合买
点击下载完整版文档(PPTX)

CSCI 3160 Design and Analysis of Algorithms Chengyu Lin

CSCI 3160 Design and Analysis of Algorithms Chengyu Lin

Approximation algorithms 。Motivation Some (optimization)problems are very hard Unlikely to have efficient polynomial-time algorithms Approximation algorithms -Algorithms to find approximate solutions to optimization problems

Approximation algorithms • Motivation – Some (optimization) problems are very hard – Unlikely to have efficient polynomial-time algorithms • Approximation algorithms – Algorithms to find approximate solutions to optimization problems

Optimization Many problems are actually optimization problems i.e-the task can be naturally rephrased as finding a maximal/minimal solution For example:Vertex Cover problem

Optimization • Many problems are actually optimization problems • i.e – the task can be naturally rephrased as finding a maximal/minimalsolution • For example: Vertex Cover problem

Approximation Algorithm An algorithm that returns near-optimal solutions in polynomial time Approximation Ratio p(n): Define:C*as a optimal solution and C is the solution produced by the approximation algorithm -max (C/C*,C*/C)<=p(n) -Maximization problem:0<C<=C*,thus C*/C shows that C*is larger than c by p(n) Minimization problem:0<C*<=C,thus C/C* shows that C is larger than C*by p(n)

Approximation Algorithm • An algorithm that returns near-optimal solutions in polynomial time • Approximation Ratio ρ(n): – Define: C* as a optimal solution and C is the solution produced by the approximation algorithm – max (C/C*, C*/C) <= ρ(n) – Maximization problem: 0 < C <= C*, thus C*/C shows that C* is larger than C by ρ(n) – Minimization problem: 0 < C* <= C, thus C/C* shows that C is larger than C* by ρ(n)

Techniques A variety of techniques to design and analyze many approximation algorithms for computationally hard problems: Combinatorial algorithms Linear Programming based algorithms Semi-definite Programming based algorithms

Techniques • A variety of techniques to design and analyze many approximation algorithms for computationally hard problems: – Combinatorial algorithms – Linear Programming based algorithms – Semi-definite Programming based algorithms

Vertex Cover 。Definition Given an undirected graph G=V,E),a subset 'V is called a vertex cover of G iff for every edge eeE,e has at least one endpoint incident at V 。Example Vertex Cover

Vertex Cover • Definition – Given an undirected graph 𝐺 = (𝑉, 𝐸),a subset 𝑉′ ⊆ 𝑉 is called a vertex cover of 𝐺 iff for every edge 𝑒 ∈ 𝐸, 𝑒 has at least one endpoint incident at 𝑉′ • Example

Vertex Cover Problem ●Definition: Given an undirected graph G=(V,E),find a vertex cover with minimum size (has the least number of vertices) -This is sometimes called cardinality vertex cover More generalization: Given an undirected graph G=(V,E),and a cost function on vertices c:V>Q+ -Find a minimum cost vertex cover

Vertex Cover Problem • Definition: – Given an undirected graph G=(V,E), find a vertex cover with minimum size (has the least number of vertices) – This is sometimes called cardinality vertex cover • More generalization: – Given an undirected graph G=(V,E), and a cost function on vertices c: V → Q+ – Find a minimum cost vertex cover

How to solve it 。Matching: -A set M of edges in a graph G is called a matching of G if no two edges in set M have an endpoint in common 。Example:

How to solve it • Matching: – A set M of edges in a graph G is called a matching of G if no two edges in set M have an endpoint in common • Example:

How to solve it(cont. 。Maximum Matching: -A matching of G with the greatest number of edges 。Maximal Matching: -A matching which is not contained in any larger matching Note:Any maximum matching is certainly maximal,but not the reverse

How to solve it(cont.) • Maximum Matching: – A matching of G with the greatest number of edges • Maximal Matching: – A matching which is not contained in any larger matching • Note: Any maximum matching is certainly maximal, but not the reverse

Main observation No vertex can cover two edges of a matching The size of every vertex cover is at least the size of every matching:M<C .M=C indicates the optimality Possible Solution:Using Maximal matching to find Minimum vertex cover

Main observation • No vertex can cover two edges of a matching • The size of every vertex cover is at least the size of every matching: |M| ≤ |C| • |M| = |C| indicates the optimality • Possible Solution: Using Maximal matching to find Minimum vertex cover

点击下载完整版文档(PPTX)VIP每日下载上限内不扣除下载券和下载次数;
按次数下载不扣除下载券;
24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
共12页,试读已结束,阅读完整版请下载
相关文档

关于我们|帮助中心|下载说明|相关软件|意见反馈|联系我们

Copyright © 2008-现在 cucdc.com 高等教育资讯网 版权所有