맨위로가기

NL (복잡도)

"오늘의AI위키"는 AI 기술로 일관성 있고 체계적인 최신 지식을 제공하는 혁신 플랫폼입니다.
"오늘의AI위키"의 AI를 통해 더욱 풍부하고 폭넓은 지식 경험을 누리세요.

1. 개요

NL은 로그 공간을 사용하는 비결정적 튜링 기계로 풀 수 있는 문제들의 복잡도 종류이다. NL-완전 문제로는 ST-연결성 문제와 2-만족성 문제가 있으며, NL은 P에 포함된다. NL은 co-NL과 같으며, Immerman–Szelepcsényi 정리에 의해 증명되었다. NL은 확률적 튜링 기계와 증명서로도 특징지을 수 있으며, 일차 논리에 추이 닫힘 연산자를 추가하여 표현할 수 있다. NL 클래스는 보완, 합집합, 교집합, 연결 및 클레이니 스타 연산에 대해 닫혀 있다.

더 읽어볼만한 페이지

  • 복잡도 종류 - P (복잡도)
    P는 결정론적 튜링 기계로 다항 시간 내에 풀 수 있는 판정 문제들의 집합이며, 다항 시간 균일 불 대수 회로 집합으로도 정의되고, NP, co-NP 등 다른 복잡도 종류들과 관계를 가진다.
  • 복잡도 종류 - P-NP 문제
    P-NP 문제는 계산 복잡도 이론에서 P와 NP 복잡도 종류의 관계에 대한 미해결 문제로, 컴퓨터 과학과 수학에 혁명적인 변화를 가져올 것으로 예상되며 암호학, 최적화, 인공지능 등 다양한 분야에 큰 영향을 미칠 수 있다.
NL (복잡도)

2. NL-완전 문제

복잡도 종류에서 가장 "어려운" 문제가 그 종류 이름에 완전이 붙는 문제들이다. 완전 문제를 빠르게 푸는 방법이 있다면, 그 복잡도 종류의 문제들은 그 방법으로 빠르게 풀 수 있다.

'''NL-완전'''이라고 알려진 문제로는 ST-연결성 문제와 2-만족성 문제가 있다. ST-연결성(또는 도달가능성) 문제는 유향 그래프에서 꼭짓점 S와 T를 연결하는 경로가 있는지를 결정하는 문제이다. 2-만족성 문제는 모든 절이 두 리터럴의 논리합인 논리식이 있을 때, 이 식을 만족하도록 진리값을 할당할 수 있는지를 묻는 문제이다.

3. 포함 관계

NL은 P에 포함된다는 것이 알려져 있다. 2-만족성 문제를 푸는 다항 시간 알고리즘이 존재하기 때문이다. 그러나 NL = P인지, L = NL인지는 아직 밝혀지지 않았다. 비결정론적 공간은 보수(complement영어)에 대해 닫혀 있으므로, NL = co-NL이다. (Immerman–Szelepcsényi 정리)

회로 복잡도에서 NL은 NC 위계에 놓일 수 있다. 다음 관계가 성립한다.[1]

:\mathbf{NC_1 \subseteq L \subseteq NL \subseteq NC_2}

또한 NL = RL = ZPL이라는 사실도 알려져 있다. RL은 확률적 튜링 기계가 로그 공간만 쓰고 시간 제약은 받지 않을 때 풀 수 있는 문제의 복잡도 종류로서, '예'라고 답변해야 할 경우에 1/3보다 작은 확률로 '아니오'라고 잘못 답변할 가능성이 있다. ZPL은 확률적 알고리즘이 로그 공간만 쓰고 시간 제약은 받지 않을 때 잘못 없이 풀 수 있는 문제들의 복잡도 종류이다. 그러나 RL과 ZPL에 각각 다항 시간 제약을 준 복잡도 종류인 RLP나 ZPLP와 NL이 같은지는 알려져 있지 않다.[2]

사비치 정리를 이용하면 NL과 결정론적 공간을 관련지을 수 있다. 사비치 정리에 따르면 어떤 비결정론적 알고리즘도 입력 크기에 대해 최대 2차 공간만 더 쓰면 결정론적 기계로 시뮬레이트할 수 있다. 또한 \mathbf{NL \subseteq SPACE}(\log^2 n)이라는 관계도 성립한다. 이는 \mathbf{NL \subseteq L}^2과 같다. 더 큰 공간 복잡도 종류는 2차식에 따른 증가에 영향을 받지 않기 때문에 여기에 관련된 비결정론적 복잡도 종류와 결정론적 복잡도 종류는 같다고 알려져 있다. 예를 들어 PSPACE = NPSPACE이다.

4. 확률적 정의

복잡도 종류 C가 확률적 튜링 기계로 로그 공간을 들여서 풀 수 있는 문제로서, 절대로 잘못 승인하는 일은 없지만 1/3보다 낮은 확률로 잘못 거부할 수는 있는 문제라고 하자. 여기서 상수 1/3은 임의로 정해진 수치이다. 0 ≤ x < 1/2 범위에 있는 어떤 x라도 상관 없다.

그러면 C는 '''NL'''이다. 이와 대응하는 판정 복잡도 종류인 '''L'''과 달리, C는 다항 시간이라는 제약이 없다. 난수성을 이용해 무한 반복에서 빠져나올 수 있기 때문이다.

C가 NL과 같다는 것을 보이는 간단한 알고리즘이 있다. 먼저, C가 '''NL'''에 속하는 것은 틀림없다. 이유는 아래와 같다.


  • 입력 문자열이 언어에 속하지 않으면, 모든 계산 경로를 거부한다.
  • 입력 문자열이 언어에 속하면, NL 알고리즘은 최소한 한 계산 경로를 승인한다. 그리고 C 알고리즘은 적어도 전체 계산 경로 중 2/3 이상을 승인한다.


NL이 C에 속한다는 것을 보이기 위해서, NL 알고리즘을 취하고 길이가 n인 랜덤 계산 경로를 선택한다. 그리고 이것을 2n 번 반복한다. 길이가 n을 넘는 계산 경로는 없고 계산 경로가 모두 2n개 있기 때문에, 그중 하나를 승인할 가능성이 높아진다. (일정한 상수 이하로)

여기서 유일한 문제는 2n까지 올라가는 이진 계수기는 로그 공간으로 부족하다는 점이다. 이 문제를 해결하기 위해 임의화된 계수기를 사용한다. 이 계수기는 단순히 동전 n개를 동시에 뒤집고 모든 동전이 앞면을 위로 향했을 때 멈추고 거부한다. 이 사건은 2-n 확률로 일어나기 때문에 과정이 멈추기까지 평균 2n 시행이 필요할 것으로 예상할 수 있다. 이 계수기에서는 앞면이 위로 향한 개수만 세면 되고, 이것은 로그 공간으로도 할 수 있다.

따라서 공간만 고려하는 관점에서는 랜덤화와 비결정성은 동등하게 강력한 것으로 보인다. Immerman–Szelepcsényi 정리에 따르면 NL은 보완에 닫혀 있으므로, 이러한 확률적 계산에서 일면 오류는 영면 오류로 대체될 수 있다.

5. 증명서 정의

'''NL'''은 '''NP'''와 같은 클래스와 유사하게, 증명서로 동등하게 특징지을 수 있다. 읽기 전용 읽기-1회 입력 테이프가 추가된 결정론적 로그 공간 경계 튜링 머신을 생각해 보자. 어떤 언어가 '''NL'''에 속한다는 것은, 해당 튜링 머신이 추가 입력 테이프에서 적절한 증명서를 선택했을 때 그 언어에 속하는 모든 단어를 수락하고, 증명서에 관계없이 그 언어에 속하지 않는 모든 단어를 거부하는 경우뿐이다.[1]

젬 세이와 아부제르 야카리을마즈는 위의 설명에 있는 결정론적 로그 공간 튜링 머신을, 상수 비트 수만 사용하도록 허용된 경계 오류 확률적 상수 공간 튜링 머신으로 대체할 수 있음을 증명했다.[2]

6. 서술 복잡도

'''NL'''은 추이 닫힘 연산자를 추가한 일차 논리로 표현할 수 있는 언어를 정확히 포함한다.[1] 이는 '''NL'''을 논리적으로 특징화하는 간단한 방법이다.[1]

7. 닫힘 성질

NL은 보완, 합집합, 교집합, 연결, 클레이니 스타 연산에 대해 닫혀 있다.

참조

[1] 서적 Complexity Theory: A Modern Approach http://www.cs.prince[...] Cambridge University Press 2009
[2] 논문 Finite state verifiers with constant randomness



본 사이트는 AI가 위키백과와 뉴스 기사,정부 간행물,학술 논문등을 바탕으로 정보를 가공하여 제공하는 백과사전형 서비스입니다.
모든 문서는 AI에 의해 자동 생성되며, CC BY-SA 4.0 라이선스에 따라 이용할 수 있습니다.
하지만, 위키백과나 뉴스 기사 자체에 오류, 부정확한 정보, 또는 가짜 뉴스가 포함될 수 있으며, AI는 이러한 내용을 완벽하게 걸러내지 못할 수 있습니다.
따라서 제공되는 정보에 일부 오류나 편향이 있을 수 있으므로, 중요한 정보는 반드시 다른 출처를 통해 교차 검증하시기 바랍니다.

문의하기 : help@durumis.com