Approximation Algorithms

(近似アルゴリズム)

Data Structures and Algorithms

15th lecture, January 18, 2018

http://www.sw.it.aoyama.ac.jp/2017/DA/lecture15.html

Martin J. Dürst

AGU

© 2009-18 Martin J. Dürst 青山学院大学

Today's Schedule

 

Summary of Last Lecture

 

The Importance of Dealing with NP Problems

 

Strategies for Dealing with NP Problems

There are some general solutions, but mostly, each problem has to be addressed separately.

 

Changing NP Problems

Example: Traveling salesman

 

Deal with Actual Data

Example: 3-SAT

Problems can be classified into three main categories:

With many careful optimizations and tricks, practical usages are possible.

Competition: http://www.satcompetition.org

 

Approximation Algorithms

 

Problem-specifc Approximation Algorithms

Example problem: Load balancing
Using m identical machines, finish (as quickly as possible) a number n of tasks that each take time ti to complete

 

Hill Climbing

 

Simulated Annealing

 

Genetic Algorithms

 

Summary

Approaches to deal with "intractable problems" that cannot be solved perfectly:

 

Schedule from Now On

 

Glossary

graph isomorphism
グラフ同型
approximation algorithm
近似アルゴリズム
planar distance
平面距離 (平面上の直線の距離)
triangle inequality
三角不等式
conjecture
推測
hill climbing
山登り法
simulated annealing
焼き鈍し法、シミュレーテッドアニーリング
genetic algorithm
遺伝的アルゴリズム
load balancing
ロード・バランシング
machine learning
機械学習
local optimum
局所的な最適解
cristal
結晶
evolution theory
進化論
genetic information
遺伝的情報
generation
世代
sexual reproduction
有性生殖
crossover
交叉 (交差、組み替え)
mutation
突然変異
natural selection
自然淘汰 (自然選択)