SlideShare a Scribd company logo
1 of 38
Download to read offline
서울시립대 알고리즘 소모임
SAT Problem
겨울방학 2주차
강의자 소개
2020 AL林 정기 스터디 2
이름 최문기
소속 서울시립대 컴퓨터과학부(16학번)
핸들 iknoom1107(BOJ) IKnoom(Codeforces) IKnoom(AtCoder)
ICPC 팀 ManManChiAnunTeam (2020 Seoul Regional 본선 진출 및 28위)
- 김정현, 최문기, 최연웅
2020 AL林 정기 스터디 3
부울식
부울식(boolean expression)
2020 AL林 정기 스터디 4
✓ 부울식
부울식은 부울 변수(이진 변수)들이 다음 연산자로 결합된 것이다.
∧, ∨, →, ⇔, ¬
부울 변수(이진 변수) : 0 또는 1만 값으로 받을 수 있는 변수
부울 연산
2020 AL林 정기 스터디 5
논리곱(∧, AND)
논리합(∨, OR)
논리 부정(¬, NOT)
a b a ∧ b
0 0 0
0 1 0
1 0 0
1 1 1
a b a ∨ b
0 0 0
0 1 1
1 0 1
1 1 1
a ¬a
0 1
1 0
리터럴, 절, CNF
2020 AL林 정기 스터디 6
• 부울 변수나 그 역을 리터럴Literal이라고 한다.
• 리터럴들이 논리합으로 연결된 것을 절Clause이라 한다.
• 절들이 논리곱으로 연결된 것을 CNFConjunctive Normal Form(논리곱 정규형)이라 한다.
• 각 절이 정확히 k개의 서로 다른 리터럴로 되어있는 CNF를 k-CNF라 한다.
리터럴, 절, CNF
2020 AL林 정기 스터디 7
• 1-CNF : 𝑥1 ∧ ¬𝑥2 ∧ ¬𝑥3
• 2-CNF : (𝑥1 ∨ ¬𝑥2) ∧ (𝑥2 ∨ 𝑥3) ∧ (¬𝑥3 ∨ ¬𝑥1)
• 3-CNF : (𝑥1 ∨ ¬𝑥2 ∨ 𝑥3) ∧ (¬𝑥1 ∨ ¬𝑥3 ∨ 𝑥4)
...
부울식의 만족
2020 AL林 정기 스터디 8
✓ 부울식의 만족
부울식은 변수 값을 할당하여 참이 될 수 있으면 만족 가능하다 한다.
1. ¬𝑥1 ∧ (𝑥2 ∨ 𝑥1) : 만족 가능
2. (𝑥1 ∨ 𝑥1) ∧ (¬𝑥1 ∨ ¬𝑥1) : 만족 불가능
2020 AL林 정기 스터디 9
충족 가능성 문제
(satisfiability problem, SAT)
GSAT(general satisfiability)
2020 AL林 정기 스터디 10
✓ GSAT(general satisfiability, 일반 부울식 만족 문제)
입력 : 부울식 ϕ
질문 : ϕ이 만족 가능한가?
SAT(satisfiability)
2020 AL林 정기 스터디 11
✓ SAT(satisfiability, 만족 문제)
입력 : CNF 형식의 부울식 ϕ
질문 : ϕ이 만족 가능한가?
1-SAT(1-satisfiability)
2020 AL林 정기 스터디 12
✓ 1-SAT(1-satisfiability, 1-CNF 만족 문제)
입력 : 1-CNF 형식의 부울식 ϕ
질문 : ϕ이 만족 가능한가?
2-SAT(2-satisfiability)
2020 AL林 정기 스터디 13
✓ 2-SAT(2-satisfiability, 2-CNF 만족 문제)
입력 : 2-CNF 형식의 부울식 ϕ
질문 : ϕ이 만족 가능한가?
3-SAT(3-satisfiability)
2020 AL林 정기 스터디 14
✓ 3-SAT(3-satisfiability, 3-CNF 만족 문제)
입력 : 3-CNF 형식의 부울식 ϕ
질문 : ϕ이 만족 가능한가?
1-SAT, 2-SAT, 3-SAT, ...
2020 AL林 정기 스터디 15
• 1-SAT : 𝑥1 ∧ ¬𝑥2 ∧ ¬𝑥3가 만족 가능한가?
• 2-SAT : (𝑥1 ∨ ¬𝑥2) ∧ (𝑥2 ∨ 𝑥3) ∧ (¬𝑥3 ∨ ¬𝑥1)가 만족 가능한가?
• 3-SAT : (𝑥1 ∨ ¬𝑥2 ∨ 𝑥3) ∧ (¬𝑥1 ∨ ¬𝑥3 ∨ 𝑥4)가 만족 가능한가?
...
정리1 : 모든 GSAT는 다항시간 안에 3-SAT로 변환 가능하다.
2020 AL林 정기 스터디 16
정리1 : 모든 GSAT는 다항시간 안에 3-SAT로 변환 가능하다.
2020 AL林 정기 스터디 17
𝐴 → 𝐵 ≡ ¬𝐴 ∨ 𝐵
𝐴 ⇔ 𝐵 ≡ (¬𝐴 ∨ 𝐵) ∧ (𝐴 ∨ ¬𝐵)
(𝐴 ∧ 𝐵) ∨ (𝐶 ∧ 𝐷)
≡ (𝐴 ∨ 𝐶) ∧ (𝐴 ∨ 𝐷) ∧ (𝐵 ∨ 𝐶) ∧ (𝐵 ∨ 𝐷)
정리1 : 모든 GSAT는 다항시간 안에 3-SAT로 변환 가능하다.
2020 AL林 정기 스터디 18
이와 같은 방법으로 정리하면 부울식에 각 절에는 리터럴이 1개 또는 2개 또는 3개이다.
리터럴이 2개인 경우 : 변수 𝑝를 도입하여 3개로 늘릴 수 있다.
(𝑎 ∨ 𝑏) ≡ (𝑎 ∨ 𝑏 ∨ 𝑝) ∧ (𝑎 ∨ 𝑏 ∨ ¬𝑝)
리터럴이 1개인 경우 : 변수 𝑝1, 𝑝2를 도입하여 3개로 늘릴 수 있다.
𝑎 ≡ (𝑎 ∨ 𝑝1 ∨ 𝑝2) ∧ (𝑎 ∨ ¬𝑝1 ∨ 𝑝2) ∧ (𝑎 ∨ 𝑝1 ∨ ¬𝑝2) ∧ (𝑎 ∨ ¬𝑝1 ∨ ¬𝑝2)
정리1 : 모든 GSAT는 다항시간 안에 3-SAT로 변환 가능하다.
2020 AL林 정기 스터디 19
따라서 모든 GSAT는 3-SAT로 변환 가능함을 보였다.
여기까지 정리
2020 AL林 정기 스터디 20
1. 다음 문제들을 정의했습니다.
- GSAT
- SAT
- 1-SAT, 2-SAT, 3-SAT
2. 모든 GSAT는 다항시간 안에 3-SAT로 변환이 가능함을 보였습니다.
2020 AL林 정기 스터디 21
Algorithms for solving SAT
Algorithms for solving SAT
2020 AL林 정기 스터디 22
• 1-SAT을 푸는 알고리즘
• 2-SAT을 푸는 알고리즘
• 3-SAT을 푸는 알고리즘
Solving 1-SAT
2020 AL林 정기 스터디 23
𝑥1 ∧ ¬𝑥2 ∧ ¬𝑥3가 만족 가능한가?
1-SAT는 아주 쉽게 선형시간 안에 풀립니다.
1. 한 부울식에 𝑥1 , ¬𝑥1 이 같이 있으면 성립하지 않고
2. 그렇지 않으면 모든 절이 1이 되도록하여 만족시킬 수 있습니다.
Solving 2-SAT
2020 AL林 정기 스터디 24
(𝑥1 ∨ ¬𝑥2) ∧ (𝑥2 ∨ 𝑥3) ∧ (¬𝑥3 ∨ ¬𝑥1)가 만족 가능한가?
2-SAT 또한 SCC를 이용하면 선형시간 안에 풀립니다. (1976, 로버트 타잔)
1. 각 리터럴을 노드로 하여 그래프로 치환합니다.
2. SCC를 구하고 𝑥1 , ¬𝑥1 이 같은 SCC에 있으면 불가능하고 아니면 가능합니다.
2-SAT Algorithm : 자세히
2020 AL林 정기 스터디 25
먼저 각 리터럴을 노드로 하여 그래프로 치환합니다.
간선은 어떻게 표현해야할까요?
만약 𝑎 ∨ 𝑏가 성립하려면 다음 두 명제가 성립해야합니다.
1. ¬𝑎 → 𝑏 : a가 성립하지 않으면 b가 성립해야하고
2. ¬𝑏 → 𝑎 : b가 성립하지 않으면 a가 성립해야합니다.
2-SAT Algorithm : 자세히
2020 AL林 정기 스터디 26
𝑎 ∨ 𝑏 ≡ ¬𝑎 → 𝑏 ∧ (¬𝑏 → 𝑎)
이렇게 각 리터럴을 명제로 보고 간선을 명제 사이의 관계로 봅시다.
그럼 명제들 사이의 그래프가 만들어집니다.
2-SAT Algorithm
2020 AL林 정기 스터디 27
(𝑥1 ∨ ¬𝑥2) ∧ (𝑥2 ∨ 𝑥3) ∧ (¬𝑥3 ∨ ¬𝑥1)
이제 SCC를 구합시다.
𝑥1 𝑥2 𝑥3
¬𝑥1 ¬𝑥2 ¬𝑥3
𝑥 , ¬𝑥 이 같은 SCC에 있으면 불가능하고 아니면 가능합니다.
2-SAT Algorithm
2020 AL林 정기 스터디 28
𝑥1 𝑥2
𝑥3
¬𝑥1 ¬𝑥2 ¬𝑥3
Solving 3-SAT
2020 AL林 정기 스터디 29
(𝑥1 ∨ ¬𝑥2 ∨ 𝑥3) ∧ (¬𝑥1 ∨ ¬𝑥3 ∨ 𝑥4)가 만족 가능한가?
선형시간 안에 풀 수 없습니다.
이 문제는 NP-완비에 속하는 문제이며
현재 가장 빠른 알고리즘은 O(1.308n)라고 합니다. (PPSZ algorithm)
손으로 직접 풀어보기
2020 AL林 정기 스터디 30
참고사항들..
P=NP? P≠NP?
2020 AL林 정기 스터디 31
https://en.wikipedia.org/wiki/P_versus_NP_problem
P, NP, NP-하드, NP-완비
2020 AL林 정기 스터디 32
P문제 : (Polynomial) 다항식 시간에 해결할 수 있는 문제
NP문제 : (Nondeterministic Polynomial) 비결정론적 다항식 시간에 해결할 수 있는 문제
NP-하드NP-Hard : 모든 NP문제를 다항식 시간 안에 변환하여
어떤 문제 A를 만들 수 있다면 A는 NP-하드 문제이다.
NP-완비NP-Complete : 어떤 문제 A가 NP이면서 NP-하드이면 NP-완비 문제이다.
P, NP, NP-하드, NP-완비
2020 AL林 정기 스터디 33
어떤 문제가 NP-완비임을 보이는 방법!
1. NP임을 보인다.
2. NP-하드임을 보인다.
P, NP, NP-하드, NP-완비
2020 AL林 정기 스터디 34
1. 어떤 문제 A가 NP임을 보인다.
NP에 속하는 문제는 그 문제의 답에 대한 근거가 주어졌을 때 그것이 옳은 근거인지 다항 시간 안에 판별
할 수 있으면 됩니다. 즉, 다항시간 안에 답이 맞는지 확인 할 수 있으면 됩니다.
2. (★) 어떤 문제 A가 NP-하드임을 보인다.
직접 보이기가 정말 정말 어렵다고 합니다.
그래서 이미 알려진 NP-하드 문제를 다항 시간 안에 A로 변환할 수 있는지를 확인합니다.
어떤 NP-하드 문제를 다항 시간 안에 A로 바꿀 수 있다면 NP-하드의 정의에 의하여 A도 NP-하드입니다.
최초의 NP-하드 문제
2020 AL林 정기 스터디 35
1971년에 스티븐 쿡이
GSAT(일반 부울식 만족 문제)가 NP-하드임을
NP-하드의 정의에 따라서 증명하였습니다.
(상당히 복잡한 증명이라고 합니다.)
그리고 덕분에 왼쪽 트리와 같이
NP-하드 문제들이 증명이 되었다고 합니다.
(이걸 말하고 싶었어요. SAT는 NP-하드의 아버지)
2-SAT : 대회를 준비한다면..
2020 AL林 정기 스터디 36
여러 대회에서 2-SAT 관련 문제가 출제되기도 합니다.
그만큼 잘 알려져 있다고 할 수 있지요.
ICPC : https://www.acmicpc.net/problem/16367
UCPC : https://www.acmicpc.net/problem/13166
정올 고등부 : https://www.acmicpc.net/problem/2519
Applications
2020 AL林 정기 스터디 37
https://ai.stackexchange.com/questions/67/what-are-the-real-world-uses-for-sat-solvers
https://en.wikipedia.org/wiki/2-satisfiability#Applications
참고 및 출처
2020 AL林 정기 스터디 38
문병로, 쉽게 배우는 알고리즘, 한빛 아카데미(2018)
Cormen, Thomas H.; Leiserson, Charles E.; Rivest, Ronald L.; Stein, Clifford, Introduction to Algorithms
(3rd ed.). MIT Press and McGraw-Hill(1990). ISBN 0-262-03384-4. 5 printings up to 2016
https://m.blog.naver.com/PostView.nhn?blogId=kks227&logNo=220803009418&proxyReferer=https:%2F
%2Fwww.google.com%2F
wikipedia.org

More Related Content

Similar to 2020 겨울방학 정기스터디 2주차

Similar to 2020 겨울방학 정기스터디 2주차 (20)

Np cooks theorem
Np cooks theoremNp cooks theorem
Np cooks theorem
 
2021 1학기 정기 세미나 2주차
2021 1학기 정기 세미나 2주차2021 1학기 정기 세미나 2주차
2021 1학기 정기 세미나 2주차
 
Lecture8
Lecture8Lecture8
Lecture8
 
P, NP and NP-Complete, Theory of NP-Completeness V2
P, NP and NP-Complete, Theory of NP-Completeness V2P, NP and NP-Complete, Theory of NP-Completeness V2
P, NP and NP-Complete, Theory of NP-Completeness V2
 
smtlecture.10
smtlecture.10smtlecture.10
smtlecture.10
 
constructing_generic_algorithms__ben_deane__cppcon_2020.pdf
constructing_generic_algorithms__ben_deane__cppcon_2020.pdfconstructing_generic_algorithms__ben_deane__cppcon_2020.pdf
constructing_generic_algorithms__ben_deane__cppcon_2020.pdf
 
Week3 ap3421 2019_part1
Week3 ap3421 2019_part1Week3 ap3421 2019_part1
Week3 ap3421 2019_part1
 
The Queue Length of a GI M 1 Queue with Set Up Period and Bernoulli Working V...
The Queue Length of a GI M 1 Queue with Set Up Period and Bernoulli Working V...The Queue Length of a GI M 1 Queue with Set Up Period and Bernoulli Working V...
The Queue Length of a GI M 1 Queue with Set Up Period and Bernoulli Working V...
 
A Stochastic Limit Approach To The SAT Problem
A Stochastic Limit Approach To The SAT ProblemA Stochastic Limit Approach To The SAT Problem
A Stochastic Limit Approach To The SAT Problem
 
Positive and negative solutions of a boundary value problem for a fractional ...
Positive and negative solutions of a boundary value problem for a fractional ...Positive and negative solutions of a boundary value problem for a fractional ...
Positive and negative solutions of a boundary value problem for a fractional ...
 
A Verified Decision Procedure for Pseudo-Boolean Formulas
A Verified Decision Procedure for Pseudo-Boolean FormulasA Verified Decision Procedure for Pseudo-Boolean Formulas
A Verified Decision Procedure for Pseudo-Boolean Formulas
 
lecture01_lecture01_lecture0001_ceva.pdf
lecture01_lecture01_lecture0001_ceva.pdflecture01_lecture01_lecture0001_ceva.pdf
lecture01_lecture01_lecture0001_ceva.pdf
 
Hierarchical Deterministic Quadrature Methods for Option Pricing under the Ro...
Hierarchical Deterministic Quadrature Methods for Option Pricing under the Ro...Hierarchical Deterministic Quadrature Methods for Option Pricing under the Ro...
Hierarchical Deterministic Quadrature Methods for Option Pricing under the Ro...
 
Embedding and np-Complete Problems for 3-Equitable Graphs
Embedding and np-Complete Problems for 3-Equitable GraphsEmbedding and np-Complete Problems for 3-Equitable Graphs
Embedding and np-Complete Problems for 3-Equitable Graphs
 
Episode 50 : Simulation Problem Solution Approaches Convergence Techniques S...
Episode 50 :  Simulation Problem Solution Approaches Convergence Techniques S...Episode 50 :  Simulation Problem Solution Approaches Convergence Techniques S...
Episode 50 : Simulation Problem Solution Approaches Convergence Techniques S...
 
LA question Pool
LA question PoolLA question Pool
LA question Pool
 
Conference ppt
Conference pptConference ppt
Conference ppt
 
DAA.pdf
DAA.pdfDAA.pdf
DAA.pdf
 
DAA.pdf
DAA.pdfDAA.pdf
DAA.pdf
 
class23.ppt
class23.pptclass23.ppt
class23.ppt
 

More from Moonki Choi

More from Moonki Choi (15)

2021 2학기 정기 세미나 5주차
2021 2학기 정기 세미나 5주차2021 2학기 정기 세미나 5주차
2021 2학기 정기 세미나 5주차
 
2021 2학기 정기 세미나 4주차
2021 2학기 정기 세미나 4주차2021 2학기 정기 세미나 4주차
2021 2학기 정기 세미나 4주차
 
2021 여름방학 정기 세미나 3주차
2021 여름방학 정기 세미나 3주차2021 여름방학 정기 세미나 3주차
2021 여름방학 정기 세미나 3주차
 
2021 여름방학 정기 세미나 1주차
2021 여름방학 정기 세미나 1주차2021 여름방학 정기 세미나 1주차
2021 여름방학 정기 세미나 1주차
 
2021 알림 오세요
2021 알림 오세요2021 알림 오세요
2021 알림 오세요
 
2021 1학기 정기 세미나 6주차
2021 1학기 정기 세미나 6주차2021 1학기 정기 세미나 6주차
2021 1학기 정기 세미나 6주차
 
2021 1학기 정기 세미나 3주차
2021 1학기 정기 세미나 3주차2021 1학기 정기 세미나 3주차
2021 1학기 정기 세미나 3주차
 
2020 여름방학 정기스터디 6주차
2020 여름방학 정기스터디 6주차2020 여름방학 정기스터디 6주차
2020 여름방학 정기스터디 6주차
 
2020 여름방학 정기스터디 5주차
2020 여름방학 정기스터디 5주차2020 여름방학 정기스터디 5주차
2020 여름방학 정기스터디 5주차
 
2020 겨울방학 정기스터디 3주차
2020 겨울방학 정기스터디 3주차2020 겨울방학 정기스터디 3주차
2020 겨울방학 정기스터디 3주차
 
2020 2학기 정기스터디 8주차
2020 2학기 정기스터디 8주차2020 2학기 정기스터디 8주차
2020 2학기 정기스터디 8주차
 
2020 2학기 정기스터디 2주차
2020 2학기 정기스터디 2주차2020 2학기 정기스터디 2주차
2020 2학기 정기스터디 2주차
 
2020 2학기 정기스터디 1주차
2020 2학기 정기스터디 1주차2020 2학기 정기스터디 1주차
2020 2학기 정기스터디 1주차
 
2020 1학기 정기스터디 2주차
2020 1학기 정기스터디 2주차2020 1학기 정기스터디 2주차
2020 1학기 정기스터디 2주차
 
2020 1학기 정기스터디 1주차
2020 1학기 정기스터디 1주차2020 1학기 정기스터디 1주차
2020 1학기 정기스터디 1주차
 

Recently uploaded

Call Girls in South Ex (delhi) call me [🔝9953056974🔝] escort service 24X7
Call Girls in South Ex (delhi) call me [🔝9953056974🔝] escort service 24X7Call Girls in South Ex (delhi) call me [🔝9953056974🔝] escort service 24X7
Call Girls in South Ex (delhi) call me [🔝9953056974🔝] escort service 24X7
9953056974 Low Rate Call Girls In Saket, Delhi NCR
 
DeepFakes presentation : brief idea of DeepFakes
DeepFakes presentation : brief idea of DeepFakesDeepFakes presentation : brief idea of DeepFakes
DeepFakes presentation : brief idea of DeepFakes
MayuraD1
 

Recently uploaded (20)

fitting shop and tools used in fitting shop .ppt
fitting shop and tools used in fitting shop .pptfitting shop and tools used in fitting shop .ppt
fitting shop and tools used in fitting shop .ppt
 
DC MACHINE-Motoring and generation, Armature circuit equation
DC MACHINE-Motoring and generation, Armature circuit equationDC MACHINE-Motoring and generation, Armature circuit equation
DC MACHINE-Motoring and generation, Armature circuit equation
 
Max. shear stress theory-Maximum Shear Stress Theory ​ Maximum Distortional ...
Max. shear stress theory-Maximum Shear Stress Theory ​  Maximum Distortional ...Max. shear stress theory-Maximum Shear Stress Theory ​  Maximum Distortional ...
Max. shear stress theory-Maximum Shear Stress Theory ​ Maximum Distortional ...
 
Thermal Engineering -unit - III & IV.ppt
Thermal Engineering -unit - III & IV.pptThermal Engineering -unit - III & IV.ppt
Thermal Engineering -unit - III & IV.ppt
 
UNIT 4 PTRP final Convergence in probability.pptx
UNIT 4 PTRP final Convergence in probability.pptxUNIT 4 PTRP final Convergence in probability.pptx
UNIT 4 PTRP final Convergence in probability.pptx
 
FEA Based Level 3 Assessment of Deformed Tanks with Fluid Induced Loads
FEA Based Level 3 Assessment of Deformed Tanks with Fluid Induced LoadsFEA Based Level 3 Assessment of Deformed Tanks with Fluid Induced Loads
FEA Based Level 3 Assessment of Deformed Tanks with Fluid Induced Loads
 
Call Girls in South Ex (delhi) call me [🔝9953056974🔝] escort service 24X7
Call Girls in South Ex (delhi) call me [🔝9953056974🔝] escort service 24X7Call Girls in South Ex (delhi) call me [🔝9953056974🔝] escort service 24X7
Call Girls in South Ex (delhi) call me [🔝9953056974🔝] escort service 24X7
 
PE 459 LECTURE 2- natural gas basic concepts and properties
PE 459 LECTURE 2- natural gas basic concepts and propertiesPE 459 LECTURE 2- natural gas basic concepts and properties
PE 459 LECTURE 2- natural gas basic concepts and properties
 
Navigating Complexity: The Role of Trusted Partners and VIAS3D in Dassault Sy...
Navigating Complexity: The Role of Trusted Partners and VIAS3D in Dassault Sy...Navigating Complexity: The Role of Trusted Partners and VIAS3D in Dassault Sy...
Navigating Complexity: The Role of Trusted Partners and VIAS3D in Dassault Sy...
 
Ghuma $ Russian Call Girls Ahmedabad ₹7.5k Pick Up & Drop With Cash Payment 8...
Ghuma $ Russian Call Girls Ahmedabad ₹7.5k Pick Up & Drop With Cash Payment 8...Ghuma $ Russian Call Girls Ahmedabad ₹7.5k Pick Up & Drop With Cash Payment 8...
Ghuma $ Russian Call Girls Ahmedabad ₹7.5k Pick Up & Drop With Cash Payment 8...
 
NO1 Top No1 Amil Baba In Azad Kashmir, Kashmir Black Magic Specialist Expert ...
NO1 Top No1 Amil Baba In Azad Kashmir, Kashmir Black Magic Specialist Expert ...NO1 Top No1 Amil Baba In Azad Kashmir, Kashmir Black Magic Specialist Expert ...
NO1 Top No1 Amil Baba In Azad Kashmir, Kashmir Black Magic Specialist Expert ...
 
Hostel management system project report..pdf
Hostel management system project report..pdfHostel management system project report..pdf
Hostel management system project report..pdf
 
Computer Networks Basics of Network Devices
Computer Networks  Basics of Network DevicesComputer Networks  Basics of Network Devices
Computer Networks Basics of Network Devices
 
Bhubaneswar🌹Call Girls Bhubaneswar ❤Komal 9777949614 💟 Full Trusted CALL GIRL...
Bhubaneswar🌹Call Girls Bhubaneswar ❤Komal 9777949614 💟 Full Trusted CALL GIRL...Bhubaneswar🌹Call Girls Bhubaneswar ❤Komal 9777949614 💟 Full Trusted CALL GIRL...
Bhubaneswar🌹Call Girls Bhubaneswar ❤Komal 9777949614 💟 Full Trusted CALL GIRL...
 
Online electricity billing project report..pdf
Online electricity billing project report..pdfOnline electricity billing project report..pdf
Online electricity billing project report..pdf
 
Basic Electronics for diploma students as per technical education Kerala Syll...
Basic Electronics for diploma students as per technical education Kerala Syll...Basic Electronics for diploma students as per technical education Kerala Syll...
Basic Electronics for diploma students as per technical education Kerala Syll...
 
Thermal Engineering-R & A / C - unit - V
Thermal Engineering-R & A / C - unit - VThermal Engineering-R & A / C - unit - V
Thermal Engineering-R & A / C - unit - V
 
💚Trustworthy Call Girls Pune Call Girls Service Just Call 🍑👄6378878445 🍑👄 Top...
💚Trustworthy Call Girls Pune Call Girls Service Just Call 🍑👄6378878445 🍑👄 Top...💚Trustworthy Call Girls Pune Call Girls Service Just Call 🍑👄6378878445 🍑👄 Top...
💚Trustworthy Call Girls Pune Call Girls Service Just Call 🍑👄6378878445 🍑👄 Top...
 
Tamil Call Girls Bhayandar WhatsApp +91-9930687706, Best Service
Tamil Call Girls Bhayandar WhatsApp +91-9930687706, Best ServiceTamil Call Girls Bhayandar WhatsApp +91-9930687706, Best Service
Tamil Call Girls Bhayandar WhatsApp +91-9930687706, Best Service
 
DeepFakes presentation : brief idea of DeepFakes
DeepFakes presentation : brief idea of DeepFakesDeepFakes presentation : brief idea of DeepFakes
DeepFakes presentation : brief idea of DeepFakes
 

2020 겨울방학 정기스터디 2주차

  • 1. 서울시립대 알고리즘 소모임 SAT Problem 겨울방학 2주차
  • 2. 강의자 소개 2020 AL林 정기 스터디 2 이름 최문기 소속 서울시립대 컴퓨터과학부(16학번) 핸들 iknoom1107(BOJ) IKnoom(Codeforces) IKnoom(AtCoder) ICPC 팀 ManManChiAnunTeam (2020 Seoul Regional 본선 진출 및 28위) - 김정현, 최문기, 최연웅
  • 3. 2020 AL林 정기 스터디 3 부울식
  • 4. 부울식(boolean expression) 2020 AL林 정기 스터디 4 ✓ 부울식 부울식은 부울 변수(이진 변수)들이 다음 연산자로 결합된 것이다. ∧, ∨, →, ⇔, ¬ 부울 변수(이진 변수) : 0 또는 1만 값으로 받을 수 있는 변수
  • 5. 부울 연산 2020 AL林 정기 스터디 5 논리곱(∧, AND) 논리합(∨, OR) 논리 부정(¬, NOT) a b a ∧ b 0 0 0 0 1 0 1 0 0 1 1 1 a b a ∨ b 0 0 0 0 1 1 1 0 1 1 1 1 a ¬a 0 1 1 0
  • 6. 리터럴, 절, CNF 2020 AL林 정기 스터디 6 • 부울 변수나 그 역을 리터럴Literal이라고 한다. • 리터럴들이 논리합으로 연결된 것을 절Clause이라 한다. • 절들이 논리곱으로 연결된 것을 CNFConjunctive Normal Form(논리곱 정규형)이라 한다. • 각 절이 정확히 k개의 서로 다른 리터럴로 되어있는 CNF를 k-CNF라 한다.
  • 7. 리터럴, 절, CNF 2020 AL林 정기 스터디 7 • 1-CNF : 𝑥1 ∧ ¬𝑥2 ∧ ¬𝑥3 • 2-CNF : (𝑥1 ∨ ¬𝑥2) ∧ (𝑥2 ∨ 𝑥3) ∧ (¬𝑥3 ∨ ¬𝑥1) • 3-CNF : (𝑥1 ∨ ¬𝑥2 ∨ 𝑥3) ∧ (¬𝑥1 ∨ ¬𝑥3 ∨ 𝑥4) ...
  • 8. 부울식의 만족 2020 AL林 정기 스터디 8 ✓ 부울식의 만족 부울식은 변수 값을 할당하여 참이 될 수 있으면 만족 가능하다 한다. 1. ¬𝑥1 ∧ (𝑥2 ∨ 𝑥1) : 만족 가능 2. (𝑥1 ∨ 𝑥1) ∧ (¬𝑥1 ∨ ¬𝑥1) : 만족 불가능
  • 9. 2020 AL林 정기 스터디 9 충족 가능성 문제 (satisfiability problem, SAT)
  • 10. GSAT(general satisfiability) 2020 AL林 정기 스터디 10 ✓ GSAT(general satisfiability, 일반 부울식 만족 문제) 입력 : 부울식 ϕ 질문 : ϕ이 만족 가능한가?
  • 11. SAT(satisfiability) 2020 AL林 정기 스터디 11 ✓ SAT(satisfiability, 만족 문제) 입력 : CNF 형식의 부울식 ϕ 질문 : ϕ이 만족 가능한가?
  • 12. 1-SAT(1-satisfiability) 2020 AL林 정기 스터디 12 ✓ 1-SAT(1-satisfiability, 1-CNF 만족 문제) 입력 : 1-CNF 형식의 부울식 ϕ 질문 : ϕ이 만족 가능한가?
  • 13. 2-SAT(2-satisfiability) 2020 AL林 정기 스터디 13 ✓ 2-SAT(2-satisfiability, 2-CNF 만족 문제) 입력 : 2-CNF 형식의 부울식 ϕ 질문 : ϕ이 만족 가능한가?
  • 14. 3-SAT(3-satisfiability) 2020 AL林 정기 스터디 14 ✓ 3-SAT(3-satisfiability, 3-CNF 만족 문제) 입력 : 3-CNF 형식의 부울식 ϕ 질문 : ϕ이 만족 가능한가?
  • 15. 1-SAT, 2-SAT, 3-SAT, ... 2020 AL林 정기 스터디 15 • 1-SAT : 𝑥1 ∧ ¬𝑥2 ∧ ¬𝑥3가 만족 가능한가? • 2-SAT : (𝑥1 ∨ ¬𝑥2) ∧ (𝑥2 ∨ 𝑥3) ∧ (¬𝑥3 ∨ ¬𝑥1)가 만족 가능한가? • 3-SAT : (𝑥1 ∨ ¬𝑥2 ∨ 𝑥3) ∧ (¬𝑥1 ∨ ¬𝑥3 ∨ 𝑥4)가 만족 가능한가? ...
  • 16. 정리1 : 모든 GSAT는 다항시간 안에 3-SAT로 변환 가능하다. 2020 AL林 정기 스터디 16
  • 17. 정리1 : 모든 GSAT는 다항시간 안에 3-SAT로 변환 가능하다. 2020 AL林 정기 스터디 17 𝐴 → 𝐵 ≡ ¬𝐴 ∨ 𝐵 𝐴 ⇔ 𝐵 ≡ (¬𝐴 ∨ 𝐵) ∧ (𝐴 ∨ ¬𝐵) (𝐴 ∧ 𝐵) ∨ (𝐶 ∧ 𝐷) ≡ (𝐴 ∨ 𝐶) ∧ (𝐴 ∨ 𝐷) ∧ (𝐵 ∨ 𝐶) ∧ (𝐵 ∨ 𝐷)
  • 18. 정리1 : 모든 GSAT는 다항시간 안에 3-SAT로 변환 가능하다. 2020 AL林 정기 스터디 18 이와 같은 방법으로 정리하면 부울식에 각 절에는 리터럴이 1개 또는 2개 또는 3개이다. 리터럴이 2개인 경우 : 변수 𝑝를 도입하여 3개로 늘릴 수 있다. (𝑎 ∨ 𝑏) ≡ (𝑎 ∨ 𝑏 ∨ 𝑝) ∧ (𝑎 ∨ 𝑏 ∨ ¬𝑝) 리터럴이 1개인 경우 : 변수 𝑝1, 𝑝2를 도입하여 3개로 늘릴 수 있다. 𝑎 ≡ (𝑎 ∨ 𝑝1 ∨ 𝑝2) ∧ (𝑎 ∨ ¬𝑝1 ∨ 𝑝2) ∧ (𝑎 ∨ 𝑝1 ∨ ¬𝑝2) ∧ (𝑎 ∨ ¬𝑝1 ∨ ¬𝑝2)
  • 19. 정리1 : 모든 GSAT는 다항시간 안에 3-SAT로 변환 가능하다. 2020 AL林 정기 스터디 19 따라서 모든 GSAT는 3-SAT로 변환 가능함을 보였다.
  • 20. 여기까지 정리 2020 AL林 정기 스터디 20 1. 다음 문제들을 정의했습니다. - GSAT - SAT - 1-SAT, 2-SAT, 3-SAT 2. 모든 GSAT는 다항시간 안에 3-SAT로 변환이 가능함을 보였습니다.
  • 21. 2020 AL林 정기 스터디 21 Algorithms for solving SAT
  • 22. Algorithms for solving SAT 2020 AL林 정기 스터디 22 • 1-SAT을 푸는 알고리즘 • 2-SAT을 푸는 알고리즘 • 3-SAT을 푸는 알고리즘
  • 23. Solving 1-SAT 2020 AL林 정기 스터디 23 𝑥1 ∧ ¬𝑥2 ∧ ¬𝑥3가 만족 가능한가? 1-SAT는 아주 쉽게 선형시간 안에 풀립니다. 1. 한 부울식에 𝑥1 , ¬𝑥1 이 같이 있으면 성립하지 않고 2. 그렇지 않으면 모든 절이 1이 되도록하여 만족시킬 수 있습니다.
  • 24. Solving 2-SAT 2020 AL林 정기 스터디 24 (𝑥1 ∨ ¬𝑥2) ∧ (𝑥2 ∨ 𝑥3) ∧ (¬𝑥3 ∨ ¬𝑥1)가 만족 가능한가? 2-SAT 또한 SCC를 이용하면 선형시간 안에 풀립니다. (1976, 로버트 타잔) 1. 각 리터럴을 노드로 하여 그래프로 치환합니다. 2. SCC를 구하고 𝑥1 , ¬𝑥1 이 같은 SCC에 있으면 불가능하고 아니면 가능합니다.
  • 25. 2-SAT Algorithm : 자세히 2020 AL林 정기 스터디 25 먼저 각 리터럴을 노드로 하여 그래프로 치환합니다. 간선은 어떻게 표현해야할까요? 만약 𝑎 ∨ 𝑏가 성립하려면 다음 두 명제가 성립해야합니다. 1. ¬𝑎 → 𝑏 : a가 성립하지 않으면 b가 성립해야하고 2. ¬𝑏 → 𝑎 : b가 성립하지 않으면 a가 성립해야합니다.
  • 26. 2-SAT Algorithm : 자세히 2020 AL林 정기 스터디 26 𝑎 ∨ 𝑏 ≡ ¬𝑎 → 𝑏 ∧ (¬𝑏 → 𝑎) 이렇게 각 리터럴을 명제로 보고 간선을 명제 사이의 관계로 봅시다. 그럼 명제들 사이의 그래프가 만들어집니다.
  • 27. 2-SAT Algorithm 2020 AL林 정기 스터디 27 (𝑥1 ∨ ¬𝑥2) ∧ (𝑥2 ∨ 𝑥3) ∧ (¬𝑥3 ∨ ¬𝑥1) 이제 SCC를 구합시다. 𝑥1 𝑥2 𝑥3 ¬𝑥1 ¬𝑥2 ¬𝑥3
  • 28. 𝑥 , ¬𝑥 이 같은 SCC에 있으면 불가능하고 아니면 가능합니다. 2-SAT Algorithm 2020 AL林 정기 스터디 28 𝑥1 𝑥2 𝑥3 ¬𝑥1 ¬𝑥2 ¬𝑥3
  • 29. Solving 3-SAT 2020 AL林 정기 스터디 29 (𝑥1 ∨ ¬𝑥2 ∨ 𝑥3) ∧ (¬𝑥1 ∨ ¬𝑥3 ∨ 𝑥4)가 만족 가능한가? 선형시간 안에 풀 수 없습니다. 이 문제는 NP-완비에 속하는 문제이며 현재 가장 빠른 알고리즘은 O(1.308n)라고 합니다. (PPSZ algorithm) 손으로 직접 풀어보기
  • 30. 2020 AL林 정기 스터디 30 참고사항들..
  • 31. P=NP? P≠NP? 2020 AL林 정기 스터디 31 https://en.wikipedia.org/wiki/P_versus_NP_problem
  • 32. P, NP, NP-하드, NP-완비 2020 AL林 정기 스터디 32 P문제 : (Polynomial) 다항식 시간에 해결할 수 있는 문제 NP문제 : (Nondeterministic Polynomial) 비결정론적 다항식 시간에 해결할 수 있는 문제 NP-하드NP-Hard : 모든 NP문제를 다항식 시간 안에 변환하여 어떤 문제 A를 만들 수 있다면 A는 NP-하드 문제이다. NP-완비NP-Complete : 어떤 문제 A가 NP이면서 NP-하드이면 NP-완비 문제이다.
  • 33. P, NP, NP-하드, NP-완비 2020 AL林 정기 스터디 33 어떤 문제가 NP-완비임을 보이는 방법! 1. NP임을 보인다. 2. NP-하드임을 보인다.
  • 34. P, NP, NP-하드, NP-완비 2020 AL林 정기 스터디 34 1. 어떤 문제 A가 NP임을 보인다. NP에 속하는 문제는 그 문제의 답에 대한 근거가 주어졌을 때 그것이 옳은 근거인지 다항 시간 안에 판별 할 수 있으면 됩니다. 즉, 다항시간 안에 답이 맞는지 확인 할 수 있으면 됩니다. 2. (★) 어떤 문제 A가 NP-하드임을 보인다. 직접 보이기가 정말 정말 어렵다고 합니다. 그래서 이미 알려진 NP-하드 문제를 다항 시간 안에 A로 변환할 수 있는지를 확인합니다. 어떤 NP-하드 문제를 다항 시간 안에 A로 바꿀 수 있다면 NP-하드의 정의에 의하여 A도 NP-하드입니다.
  • 35. 최초의 NP-하드 문제 2020 AL林 정기 스터디 35 1971년에 스티븐 쿡이 GSAT(일반 부울식 만족 문제)가 NP-하드임을 NP-하드의 정의에 따라서 증명하였습니다. (상당히 복잡한 증명이라고 합니다.) 그리고 덕분에 왼쪽 트리와 같이 NP-하드 문제들이 증명이 되었다고 합니다. (이걸 말하고 싶었어요. SAT는 NP-하드의 아버지)
  • 36. 2-SAT : 대회를 준비한다면.. 2020 AL林 정기 스터디 36 여러 대회에서 2-SAT 관련 문제가 출제되기도 합니다. 그만큼 잘 알려져 있다고 할 수 있지요. ICPC : https://www.acmicpc.net/problem/16367 UCPC : https://www.acmicpc.net/problem/13166 정올 고등부 : https://www.acmicpc.net/problem/2519
  • 37. Applications 2020 AL林 정기 스터디 37 https://ai.stackexchange.com/questions/67/what-are-the-real-world-uses-for-sat-solvers https://en.wikipedia.org/wiki/2-satisfiability#Applications
  • 38. 참고 및 출처 2020 AL林 정기 스터디 38 문병로, 쉽게 배우는 알고리즘, 한빛 아카데미(2018) Cormen, Thomas H.; Leiserson, Charles E.; Rivest, Ronald L.; Stein, Clifford, Introduction to Algorithms (3rd ed.). MIT Press and McGraw-Hill(1990). ISBN 0-262-03384-4. 5 printings up to 2016 https://m.blog.naver.com/PostView.nhn?blogId=kks227&logNo=220803009418&proxyReferer=https:%2F %2Fwww.google.com%2F wikipedia.org