정렬에 해당하는 복잡성 클래스


14

TCS의 두 부분은 알고리즘과 복잡성입니다. 간단히 말해서 알고리즘은 상한에 대한 연구이며 제한된 리소스로 무언가 를 할 있음을 보여 주며 복잡성은 당신에게 수없는 최소한의 자원없이 그것을 할.

복잡한 알고리즘에 배치하기 위해 결정 모델에 알고리즘 문제가 종종 언급됩니다.

그러나 항상 나를 괴롭히는 것은 일부 기본 알고리즘이 특정 클래스에 속하는 것으로 절대 언급되지 않는다는 것입니다. 한 가지 예는 (비교) 정렬입니다. 내가 할 수있는 것처럼, 관련 클래스가 너무 부족한 것처럼 보입니다 (실제로 로그 스페이스에서 결과가 정렬되어 있는지 확인합니까? 너무 약해 보이거나 결정 버전이 맞지 않습니다).

비교 정렬이 가장 좋고 가장 적합하고 가장 유용한 복잡성 클래스는 무엇입니까?

답변:


17

정렬 문제는 실제로 T C 0 ( A C 0 미만)에 대해 완료 됩니다TC0AC0 감소)에 . 이에 대한 표준 소스는 Vollmer 's book의 1.4.3 절 입니다 .

참고 TC0 의사 결정 문제의 클래스이지만, 우리가 일반적으로 기능 문제, 즉으로 정렬 생각, 우리는 출력 순서를 비 감소의 숫자, 말을합니다. 그러나 다음과 같이 정렬을 결정 문제로 정의 할 수도 있습니다.

일련의 숫자 주어 1 , ... , N 두 숫자 K , P [ N ] , 우리가 여부를 결정하려는 k는 위치에 인 (P) 우리가 선별하여 얻을 순서 1 , ... , N 비 감소의 주문. 참고 때 피하기 모호성 것을 A는 내가 = J를 , 우리가 원하는 내가 선행 J 만약 내가 < J를 .a1,,ank,p[n]akpa1,,anai=ajaiaji<j


우수 ... 어떤 공식 결정 문제로 지정 되었습니까?
Mitch

1
답변에 참조를 포함시키는 것이 두 배 우수합니다.
Oleksandr Bondarenko

@Mitch and @Okeksandr : 의견 주셔서 감사합니다! 그 요점을 명확히하기 위해 대답을 확장했습니다.
Dai Le

a1...anσ[1..n]1k<jn,aσk<aσj

2
aσk<aσj(aσk,aσj)k<jAC0

0

FP 가 당신이 찾고있는 것이라고 생각 합니다.


글쎄, 나는 기능적인 것이 아니라 관련 의사 결정 복잡성 클래스를 찾고 있지만, 그럼에도 불구하고 비교 정렬이 P- 완료 (또는 FP- 완료)에 가까운 곳이 아니라고 확신합니다. 완료 / 완료 될 것으로 예상되는 더 작은 클래스
Mitch

나는 완성도가 귀하의 질문에 대한 요구 사항 중 하나라는 것을 알지 못했습니다. 의사 결정 문제로서 (완전성 제약을 무시한다면) 왜 P가 답으로 받아 들여지지 않겠습니까? DTM이 주어지면 다항식 시간에 인증서를 생성하고 확인할 수 있습니다.
Nicholas Mancuso

일반적인 문제를 감안할 때, 내가 일반적으로 알고 싶은 것은 다항식 시간이라는 것이 아니라 그 클래스가 가장 작은 클래스라는 것입니다. LOGCFL, NL, L, AC_0 등에 있는지 알고 싶습니다. 더 잘할 수없는 방법입니다. 따라서 니트는 내 질문의 요구 사항이 아니지만 대답이 될 가능성이 큽니다.
Mitch
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.