알고리즘 공부/Greedy Algorithm

매트로이드 이론

환성 2022. 1. 1. 17:05
728x90

매트로이드란?

  • 탐욕 알고리즘이 최적 해를 가려낼 수 있는 경우인지를 판별할 수 있게 하며, 독립성이라는 성질을 만족하는 수학적 공간

단, Greedy한 방법을 적용할 수 있는 모든 경우를 판별해낼 수 있는 것은 아니라서,

어떤 문제의 공간이 매트로이드 구조를 이루면, 탐욕 알고리즘이 최적해를 도출해낼 수 있지만,

탐욕 알고리즘이 최적해를 도출할 수 있는 모든 문제가 매트로이드 구조를 띄는 것은 아니다.

탐욕 알고리즘은 꼭 최적해가 아니여도 최적해에 근사한 값을 찾아낼 수 있다는 점에서 유용한 알고리즘이다.

 

 

💡 어떤 유한 집합 n의 부분 집합들의 집합인 𝐼(즉, 𝐼⊆ 2ⁿ)가 아래 성질을 만족하면 집합 𝐼는 Matroid이다.

 

 

매트로이드의 특성

상속성(Heredity)

A∈I이고, B⊆A이면 B∈I이다.

 

증강성(Augmentation)

크기가 다른 두 집합 A,B(|A|<|B|)가 I에 속하면 ,B의 원소이면서 A의 원소가 아닌 것 중에 A에 더해서 I에 속하게 하는

원소가 존재한다.

교환성(Exchange)

A,B∈I에 대해 어떠한 b∈B−A이든, A∪{b}−{a}∈I가 되는 a∈A−B가 존재한다.

 

포화집합

매트로이드 𝐼⊆2𝑆 와 𝐴∈𝐼 에서 𝐴가 더 이상 확장될 수 없으면, 𝐴는 포화 집합 이다.

 

 

 

 

가중치 매트로이드

매트로이드 𝐼의 원집합 𝑆의 원소들이 양의 가중치를 가지면, 𝐼는 가중치 매트로이드이다.

 

 

 

 

 

 

 

인접성

임의의 해 𝐴,𝐵∈𝐼 에 대해, 𝐵=(𝐴∪{b})−{a} 이고,

𝑎∈𝐴,𝑏∈𝐵−𝐴 이면, "B는 A에 인접하다."라 표현한다.

 

 

 

 

 

 

 

'알고리즘 공부 > Greedy Algorithm' 카테고리의 다른 글

탐욕알고리즘의 예시  (0) 2022.01.03
Prim, Kruskal 알고리즘  (0) 2022.01.01
탐욕 알고리즘 - 개요  (3) 2022.01.01