2-SAT 및 그의 응용
1. 2-SAT 문제란? 2-SAT 문제란 참/거짓의 값을 가지는 불리언 변수 $n$개 $x_1, x_2, \cdots, x_n$ 와 2-CNF가 있을 때, 2-CNF를 참으로 만들기 위해 $x_i$ 들에 적당한 값을 할당하는 문제이다. 2-CNF란 2개의 변수를 $\lor$ (or)한 식(절) 여러 개에 $\land$ 연산을 취해 만들어지는 식을 의미한다. 예를 들어, $(x_1 \lor x_2) \land (\bar x_3 \lor x_4)$ 는 2-CNF이다. 그리고, $x_1 = true$, $x_2 = false$, $x_3 = false$, $x_4 = false$ 는 이 식을 만족 시키는 하나의 방법이다. 반대로, $(x_1 \lor x_1) \land (\bar x_1 \lor \bar x..
레이블과 소수자성
요즘 들어 나의 글쓰기 실력이 지속적으로 줄어가는 것을 느꼈다. 고로, 내가 했던 생각들을 짧게나마 기록하는 습관을 들이려 노력해본다. 우리 사회는 사람들에게 레이블을 붙이는 것을 참 좋아하는 것 같다. 예를 들어, 사회가 나에게 붙여준 레이블은 남성, 대학생, 개발자, 20대 등이 있다. 이렇듯, 사회의 각 구성원은 여러 레이블을 단 채로 살아간다. 그런데, 한 사람이 여러 레이블을 달고서 살아간다고 한들, 사회는 모든 레이블에 균등한 가중치를 두고 바라보지 않는다. 두 명의 20대 남성 개발자가 있다고 하더라도, 한 명에게는 20대라는 사실에, 다른 한 명에게는 개발자라는 사실에 더 초점을 두고 바라볼 수도 있는 법이다. 즉, 사회가 개인을 바라볼 때 더 우선적으로 바라보게 되는 레이블이 존재하는 것..