어떤 상황에서


16

그 가정, 각 , 튜링 기계가 M의 ε 언어 결정 L 시간에 O ( N +의 ε을 ) . 시간 O ( n a + o ( 1 ) ) 에서 L 을 결정하는 단일 알고리즘이 있습니까? (여기서, o ( 1 ) 항은 입력 길이 인 n으로 측정됩니다 .)ϵ>0MϵLO(na+ϵ)LO(na+o(1))o(1)n

알고리즘 ϵ 측면에서 계산 가능하거나 효율적으로 계산 가능 하다면 차이가 있습니까?Mϵϵ

동기 부여 : 많은 증거 에서 제한 알고리즘 O ( n a + o ( 1 ) ) 보다 시간 알고리즘을 구성하는 것이 더 쉽습니다 . 특히, 한계 O ( n a + o ( 1 ) ) 에 전달 하려면 상수 항을 O ( n a + ϵ )묶어야 합니다. 한계에 직접 전달하기 위해 호출 할 수있는 일반적인 결과가 있다면 좋을 것입니다.O(na+ϵ)O(na+o(1))O(na+ϵ)O(na+o(1))

답변:


10

이 질문은 일련의 (구성 적) 객체 제한의 건설적인 존재에 관한 질문과 유사합니다. 일반적으로 이러한 객체 (여기서는 )를 효율적으로 균일하게 구성 할 수 있다면 한계의 존재를 건설적으로 보여줄 수 있습니다.Mϵ

예를 들어, 우리가 가지고 있다고 가정합니다 TM 실행 M을 | k | - 1 에서 X 와 그 실행 시간 것은 O ( N + | K | - 1 ) + O ( | K | ) 여기에 경계는 예를 들어, 또한 같은 균일 ( O ( 2 K . N + | K | - 1 )N(k,x)M|k|1xO(na+|k|1)+O(|k|)O(2k.na+|k|1)작동하지 않습니다). 그런 다음이 균일 한 시뮬레이터를 함수와 결합하여 시간 O ( n a + o ( 1 ) ) 에서 실행 되는 기계 N ( x , x ) 을 얻을 수 있습니다.(k,x)xN(x,x)O(na+o(1))

추신 : 는 점근 적 표기법의 중첩으로 인해 약간 모호합니다. 나는 그것을 n a + o ( 1 ) 로 해석하고 있습니다. 또한 우리는 필요 A가 너무 작은, 예를 들어 적어도 수 1 .O(na+o(1))na+o(1)a1


8

Levin의 범용 검색 알고리즘을 사용할 수 있습니다. 어떻게 든 알고리즘 시퀀스 열거 할 수 있다고 가정 K 결정 L을 각각의 시간에서 실행되는, C의 K N + 1 / K . Levin의 알고리즘은 매 k 마다 시간 T ( n ) D k n a + 1 / k 에서 실행되며 , 여기서 D kC k 에 따라 상수 입니다. 따라서 모든 k , τ ( n ) AkLCkna+1/kT(n)Dkna+1/kkDkCkk 감안ε>0을선택K=2/ε및하게N을=D 2 / ε K. 그런 다음nN의경우τ(n)ϵ입니다. 따라서τ(n)0이고 Levin의 알고리즘은 시간na+τ(n)=na+에서 실행됩니다.

τ(n)logT(n)lognalogDk+(a+1/k)lognlogna=logDklogn+1k.
ϵ>0k=2/ϵN=Dk2/ϵnNτ(n)ϵτ(n)0 .na+τ(n)=na+o(1)

에프에프O(no(a))

Levin의 알고리즘 자체를 사용하는 것이 아니라 모든 알고리즘을 실행한다는 아이디어입니다. 케이도브테일 링과 병행하여, 각각이 곱셈 요소에 의해서만 느려지는 방식.
Yuval Filmus

@ Yuval, 모든 알고리즘을 다듬을 때 어떤 대답을 받아 들일지 어떻게 결정합니까? 검색 문제에서는 각 추정 출력을 테스트 할 수 있지만 일반적으로는 불가능합니다.
David Harris

나는 나타나는 첫 번째 대답을 받아들입니다. 우리는 알고리즘이케이 올바르게 결정하다 .
Yuval Filmus
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.