복잡성 하한 : 의사 결정 트리와 RAM의 차이


15

최근 의사 결정 트리 모델에서 문제의 복잡성에 대한 2 차 하한을 발견했으며이 결과가 랜덤 액세스 머신 모델에 부분적으로 일반화 될 수 있는지 궁금합니다 . 에 의해 부분적으로 , 나는 특정 시간 / 공간 트레이드 오프와 프로그램을 RAM으로 일반화를 의미한다. 예를 들어, 선형 시간 및 공간 RAM 프로그램으로 내 문제를 해결할 수 없음을 보여주고 싶습니다.

AM Ben-Amram과 Z. Galil은이 논문 에서 시간 와 공간 s 에서 실행되는 RAM 프로그램 을 O ( t) 로 시뮬레이션 할 수 있음을 증명했습니다.에스 포인터 시스템의 시간. 의사 결정 트리에 적용될 수있는 유사한 결과를 알고 있습니까?영형(로그에스)

또한,이 공간에서 실행되는 RAM 프로그램을 시뮬레이션 할 수 정도의 의사 결정 트리 ? (직관적으로, 간접 주소 지정은 degree 노드를 사용하여 시뮬레이션 할 수 있습니다 )에스에스에스


고전적인 쿼리 복잡성 (의사 결정 트리 복잡성)에 대해 너무 많이 알지 못하지만 양자 설정 (양자 쿼리 복잡도)의 유사한 모델에서 작업 할 때 때로는 회로 모델의 하한이 상당히 떨어집니다. 예를 들어, HSP의 경우 쿼리 복잡성이 다항식이지만 쿼리 간의 단일 게이트는 기하 급수적 인 게이트를 사용합니다 ... 일반 HSP가 다항식 시간에 수행 할 수 없다고 생각되는 경우 쿼리 복잡도는 매우 느슨한 하한. 아니면 매우 느슨한 하한으로 괜찮습니까?
Artem Kaznatcheev

실제로, 나는 RAM에서 실행되는 (일부) 프로그램에 대한 슈퍼 선형 하한을 얻고 싶습니다. 그렇기 때문에 공간 복잡성을 제한하면 도움이되기를 바랍니다.
Totoro

1
나는 너의 질문을 이해할 수 없다. 쿼리 복잡성에 대한 이차 하한을 어떻게 가질 수 있습니까? 또한 시공간 상충 관계는 종종 직접 제품 정리를 사용하므로 이러한 결과를 얻으려면 더 열심히 노력해야 할 수도 있습니다.
Hartmut Klauck

1
의사 결정 트리 모델의 복잡성 하한은 문제의 가능한 출력 수에 대한 하한에서 비롯됩니다 (대수는 트리의 높이에 대한 하한을 제공합니다).
Totoro

답변:


10

RAM을 시뮬레이션 할 수있는 의사 결정 트리와 관련된 자연스러운 모델은 분기 프로그램입니다. 기본적으로 공통 하위 트리가 통합되어 DAG를 생성하는 의사 결정 트리입니다. RAM의 시간 T와 공간 S는 ​​분기 프로그램에서 높이 T와 크기 2 ^ S로 시뮬레이션 할 수 있습니다. 다 방향 분기를 사용해야 할 수도 있습니다.

의사 결정 문제의 경우 모든 의사 결정 트리에는 입력의 높이 = # 입력 및 공간 = 총 비트 수가 필요하다는 것이 분명합니다. 다 방향 분기에서는 입력의 # 비트가 일반적인 입력 수의 측정 값보다 클 수 있습니다 (예 : 각 n 개의 로그를 n 개의 로그를 취합니다) nlog n의 전체 입력 비트와 같은 문제에 대해서는 시간 O (n) 및 공간 = O (n) 비트에서는 특정 문제를 해결할 수 없습니다. 그게 당신의 형태에 문제가 있습니까?

더 많은 하한을 얻으려고 출력 수를 사용하고 있다고 제안하는 것 같습니다. 다중 출력 문제의 경우 리프 노드가 아닌 단일 가장자리를 따라 많은 출력을 허용하는 것이 일반적입니다 (예 : Borodin-Cook의 1982 년 하한 정렬에 대한 논문 참조). 그러나이 가정이 없어도 높이 = # 입력 및 공간 = # 입력 비트를 가진 모든 함수를 계산할 수도 있습니다. (입력을 읽고 기억하고 각 리프 노드에서 모든 값을 출력하십시오.)


답변 주셔서 감사합니다. 문제의 입력은 정수 집합의 집합이므로 목록으로 주어진다고 가정 할 수 있습니다. 어쨌든, Borodin과 Cook의 기술을 지적 해 주셔서 감사합니다 (아직 전혀 몰랐습니다). 내 문제에 일종의 방법을 적용 할 수 있기를 바랍니다.
Totoro

1

손실없이 RAM을 시뮬레이션하는 의사 결정 트리와 관련된 자연스러운 모델은 분기 프로그램입니다. 기본적으로 공통 하위 트리가 통합되어 DAG를 생성하는 의사 결정 트리입니다. RAM의 시간 T와 공간 S는 ​​분기 프로그램에서 높이 T와 크기 2 ^ S로 시뮬레이션 할 수 있습니다. 다 방향 분기를 사용해야 할 수도 있습니다.

의사 결정 문제의 경우 모든 의사 결정 트리에는 입력의 높이 = # 입력 및 공간 = 총 비트 수가 필요하다는 것이 분명합니다. 다 방향 분기에서는 입력의 # 비트가 일반적인 입력 수의 측정 값보다 클 수 있습니다 (예 : 각 n 개의 로그를 n 개의 로그를 취합니다) nlog n의 전체 입력 비트와 같은 문제에 대해서는 RAM의 시간 O (n) 및 공간 = O (n) 비트에서는 특정 문제를 해결할 수 없습니다.) 이것이 문제의 형태입니까?

더 많은 하한을 얻으려고 출력 수를 사용하고 있다고 제안하는 것 같습니다. 그러나 이것으로도 높이 = # 입력 및 공간 = # 입력 비트로 모든 함수를 계산할 수도 있습니다. (입력을 읽고 기억하고 각 리프 노드에 필요한 모든 값을 출력하십시오. 단일 노드에서 여러 개의 출력을 허용하는 것이 일반적입니다.)


저자가이 답변을 이전 답변과 병합하는 것이 좋습니다. 거의 동일하기 때문입니다.
Oleksandr Bondarenko
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.