내 질문에 대해 더 많이 생각하고 가능한 해결책에 도달했습니다. 그것은 길이가 문자열에만 정의되며 (이에 대해 더 논의 할지라도) 보편적 인 Turing 기계에 대해서는 이야기하지 않고 대신 이전 질문에 따르고 대체 계산 모델을 사용합니다.n=2m
기본적으로 문자열 를 | x | 함수 x = 2 m f x : { 0 , 1 } m → { 0 , 1 } . 그런 다음 복잡도 측정 값 K ' ( x ) 는 f x를 나타내는 고유 한 감소 된 이진 결정 다이어그램 (ROBDD; 표준 순서가 고정 된)의 크기 (가장자리 수)입니다 . 조건 [1]을 만족시킵니다. 또한, 사람은 시간 ROBDDs 다항식으로 계산 될 수 2 mx|x|=2mfx:{0,1}m→{0,1}K′(x)fx2m효과적인 측정 방법이 있습니다.
조건 [2]를 만족 시키려면 노드에 특수 유형을 허용하여 표준 BDD를 수정해야합니다. 일반적으로 노드는 인덱스 , 우리는 특별한 오라클 노드를 포함 할 것입니다. 들어 K ( X | Y ) 어디에 | y | = 2 m 다음과 같이 우리는 BDD 계열의 특수 노드 수 :i∈{1,...,m}K(x|y)|y|=2m
우리는 입력에 BDD 실행하는 경우 ( | | = m ) 다음으로 표시된 정상 노드 나는 단순히 레이블 가장자리 아래 우리를 보내 전 . 오라클 노드 대신 라벨 에지 아래 우릴 보낼 f를 Y ( ) . 따라서, K ' ( X | X ) = 2 및 높은 확률로 K ' ( X | Y ) ≈ K ( X ) A에 대한 Y는 임의로 고른.a|a|=miaify(a)K′(x|x)=2K′(x|y)≈K(x)y
[참고 : 조건부 복잡도를 여전히 효율적으로 계산할 수 있는지 확실하지 않습니다 :(]
설득력있게, 우리는 대한 OBDD를 빌드 한 이후에 하위 -additivity도 가지고 있습니다 . Y는 우리는 첫 번째 비트과에 쿼리를 가질 수 0 의 ROBDD로 이동 X 와에 1 에 대한 ROBDD에 y를 . 따라서 우리는 K ' ( x . y ) ≤ K ' ( x ) + K ' ( y )를 갖습니다 .x.y0x1yK′(x.y)≤K′(x)+K′(y)
하위 -additivity의 잠재적 비용으로, 우리는 단지 2의 거듭 제곱을 취하고 그들의 복잡성을 더함으로써 임의의 길이 x 에 대해 를 정의 할 수있다 . 예를 들어 | x | = 2 m 와 | y | = 2 L 과 M > L 우리가 정의 할 수 K를 ' ( X . Y ) = K ' ( X ) + K ' ( Y ) .K′(x)x|x|=2m|y|=2lm>lK′(x.y)=K′(x)+K′(y)
불행히도 내 접근 방식에는 몇 가지 제한 사항이 있습니다. 최소한의 의사 결정 트리 또는 BDD 만 고려한다면 OBDD를 넘어 설 수는 없습니다 . 이 답변 에서 다루어 질 난치 문제에 얽매일 것 입니다. OBDD의 가변 순서에 대해서도 다루기 힘든 결과 가있는 것 같습니다 . 따라서 OBDD는 이와 유사하지 않은 표준-콜 모고 로프-복잡성 접근법의 한계 인 것 같습니다.