본문 바로가기

분류 전체보기

(79)
[전산학특강] 전산학특강 - 8 두 가지 가능한 (가상의hypothetical) 세계 – 왜 가상의일까? (상상할 수 있는) P의 두 가지 "버전"? A가 무엇인지에 따라 우리는 이러한 세계에 살고 있을 수도, 살고 있지 않을 수도 있습니다! 주의하십시오. P^는 "A가 P 안에 있다면 P는 어떤 모습이 될까?"라는 클래스와 동일하지 않습니다. 이 P의 두 가지 버전은 두 가지 다른 가능한 세계에 해당합니다. 첫 번째 세계에서, 우리의 프로그래밍 언어는 어떤 A의 인스턴스도 단 한 단계로 해결할 수 있는 마법 같은 새로운 명령어로 확장됩니다. 그러나, 이 명령어가 어떻게 작동하는지 우리는 알 수 없습니다. 오라클의 생각 과정을 볼 수 없기 때문입니다. 두 번째 세계에서는, A가 P 안에 있을 때, 다항 시간 안에 A를 해결하는 프로그램..
[전산학특강] 전산학특강 - 7 TQBF 문제 – 완전히 양자화된 부울 수식 f가 주어졌을 때, 어떻게 f가 TQBF의 멤버인지 (즉, f가 참인지) 판별할 수 있을까? 주어진 QBF에 대하여 TQBF (즉, 참)인지 여부를 결정하기 위한 간단한 재귀 알고리즘이 있습니다. \[ Q_1x_1Q_2x_2...Q_nx_n\phi(x_1, x_2,..., x_n) \] 수식에 양자자가 없으면 수식을 그대로 반환할 수 있습니다. 그렇지 않으면 첫 번째 양자자를 제거하고 첫 번째 변수에 대한 두 가능한 값을 모두 확인합니다: \[ A = Q_2x_2...Q_nx_n\phi(0, x_2,..., x_n) \] \[ B = Q_2x_2...Q_nx_n\phi(1, x_2,..., x_n) \] \[ Q_1 \]이 \[ \exists \] (있다면)이..
[전산학특강] 전산학특강 - 6(1) 예제 1 k-클리크 문제 다항 시간 검증기 V: 입력: (G, k, c) G에서 c가 k개의 노드의 집합인지 확인한다. G가 c 내의 노드들을 연결하는 모든 간선을 포함하고 있는지 확인한다. 둘 다 만족하면, '수락'한다. 그렇지 않으면, '거부'한다. 다항 시간 비결정적 알고리즘 N: 입력: (G, k), 여기서 G는 그래프이다. 비결정적으로 G의 k개의 노드의 부분 집합 c를 선택한다. G가 c 내의 노드들을 연결하는 모든 간선을 포함하고 있는지 확인한다. 만약 그렇다면, '수락'한다. 그렇지 않으면, '거부'한다. k-클리크 문제 (k-clique problem): 그래프 내에서 주어진 k 크기의 완전 그래프(모든 노드가 서로 연결된 부분 그래프)를 찾는 문제입니다. 예를 들어, k가 3이라면 3-..
[전산학특강] 전산학특강 - 6 예제 1 k-클리크 문제 다항 시간 검증기 V: 입력: (, c) G에서 c가 k개의 노드의 집합인지 확인한다. G가 c 내의 노드들을 연결하는 모든 간선을 포함하고 있는지 확인한다. 둘 다 만족하면, '수락'한다. 그렇지 않으면, '거부'한다. 다항 시간 비결정적 알고리즘 N: 입력: (G, k), 여기서 G는 그래프이다. 비결정적으로 G의 k개의 노드의 부분 집합 c를 선택한다. G가 c 내의 노드들을 연결하는 모든 간선을 포함하고 있는지 확인한다. 만약 그렇다면, '수락'한다. 그렇지 않으면, '거부'한다. k-클리크 문제 (k-clique problem): 그래프 내에서 주어진 k 크기의 완전 그래프(모든 노드가 서로 연결된 부분 그래프)를 찾는 문제입니다. 예를 들어, k가 3이라면 3-클리크(..
[전산학특강] 전산학특강 - 5 PATH를 결정하는 결정적 튜링 머신(dTM) M (= PATH를 결정하는 결정적 알고리즘) - 너비 우선 탐색(BFS) PATH를 결정하는 결정적 튜링 머신(dTM) M (= PATH를 결정하는 결정적 알고리즘) - 너비 우선 탐색(BFS) M은 다음과 같이 정의됩니다: "입력 (G, s, t)에 대하여, G는 시작 노드 s와 종료 노드 t를 가진 방향 그래프입니다: 노드 s에 표시를 합니다. 추가로 표시할 노드가 없을 때까지 아래 작업을 반복합니다: G의 모든 간선을 검사합니다. 만약 표시된 노드 a에서 표시되지 않은 노드 b로 가는 간선 (a, b)이 발견되면, 노드 b에 표시를 합니다. 만약 t가 표시되어 있으면, '수락'합니다. 그렇지 않으면 '거절'합니다." s는 표시됨(marked) (s,a..
[전산학특강] 전산학특강 - 4 비결정적 튜링 기계 (nTM) 각 상태와 테이프 기호의 조합에 대해 하나 이상의 가능성이 존재할 수 있습니다. 이 변형 V는 각 (qi, zr)에 대해 대체 전환의 유한 집합 {(qi, zw1, D1), (qj, zw2, D2), ...}을 할당하는 튜링 프로그램 δ를 가지고 있다. 기계는 이 집합에서 전환을 비결정적으로 (예측할 수 없게) 선택하고 수행한다. 만약 그러한 전환들이 존재한다면 기계는 해결책 (예: 최종 상태 qyes)으로 이어지는 전환 중 하나를 선택한다고 가정된다. 그렇지 않으면 기계는 멈춘다. 비결정적 튜링 기계는 결정적 튜링 기계(dTM)보다 더 강력한가요? 그렇게 "보이지만", ... nTM에 의해 수용되는(accepted) 언어 = dTM에 의해 수용되는(accepted) 언어 ..
[전산학특강] 전산학특강 - 3 stational changes(정적인 변화) – from the initial state(초기상태부터) 각 셀에는 유한한 테이프 알파벳 Γ에 속하는 테이프 심볼이 있다. 이 알파벳은 {𝑧1,...,𝑧𝑡} 로 이루어져 있으며, 𝑡는 3 이상이다. 𝑧𝑡 심볼은 특별하며, 셀이 비어있음을 나타낸다. 이 때문에 이 심볼은 '□' (빈 공간)로 표시되며 빈 공간이라고 불린다. '□' 외에도 적어도 두 개의 추가 심볼 0과 1이 있다. 여기서 𝑧1은 0을, 𝑧2는 1을 나타낸다. 제어 유닛은 항상 유한한 상태 집합 Q의 어떤 상태에 있다. 이 집합은 {𝑞1,...,𝑞𝑠}로 이루어져 있으며, 𝑠는 1 이상이다. 𝑞1을 초기 상태라고 부른다. 일부 상태는 '최종' 상태로 간주되며, 이들은 집합 𝐹 내에 모여있다. 모..
[전산학특강] 전산학특강 - 2 번역: P vs NP 문제란 무엇인가? (나중에 자세히 다룰 것이지만...) P: 효율적인 알고리즘이 존재하는 문제들의 집합 NP: 효율적인 검증 알고리즘이 존재하는 문제들의 집합, 여기서 검증 알고리즘은 두 개의 입력 X, Y를 받으며, X는 문제의 YES 인스턴스이고 Y는 증명서입니다. P는 NP의 부분집합이지만... NP도 P의 부분집합인가? [그럴 가능성은 적지만, 아직 그 답을 모릅니다.] 설명: P vs NP 문제는 컴퓨터 과학에서 가장 중요하고 미해결된 문제 중 하나입니다. P: P 클래스에 속하는 문제들은 "다항 시간" 내에 해결할 수 있는 알고리즘이 존재한다는 것을 의미합니다. 다시 말해, 이러한 문제들은 충분히 큰 컴퓨터와 충분한 시간이 주어지면 풀 수 있습니다. NP: NP 클래스에 ..