결정론이 어려운 효율적이고 간단한 무작위 알고리즘


33

나는 많은 문제에 대해 우리는 매우 우아한 무작위 알고리즘을 알고 있지만 더 복잡한 결정적 솔루션은 없다는 것을 알고 있습니다. 그러나 나는 이것에 대한 몇 가지 예 만 알고 있습니다. 가장 두드러지게

  • Randomized Quicksort (및 볼록 껍질과 같은 관련 형상 알고리즘)
  • 무작위 배정
  • 다항식 아이덴티티 테스트
  • Klee의 측정 문제

이 중에서 다항식 신원 테스트 만 무작위성을 사용하지 않으면 실제로 어려운 것으로 보입니다.

무작위 솔루션이 매우 우아하거나 효율적이지만 결정적 솔루션이 아닌 문제의 더 많은 예를 알고 있습니까? 이상적으로는 문제가 평신도에게 동기를 부여하기 쉬워야합니다 (예를 들어 다항식 신원 테스트와 달리).


10
또 다른 예는 원시성 테스트입니다. Miller–Rabin 및 Solovay–Strassen 확률 우선 성 테스트는 매우 간단하고 효율적입니다. Agrawal, Kayal 및 Saxena에 의해 해결 된 효율적인 결정 론적 우선 성 테스트를 찾는 것은 오랫동안 열린 문제였습니다. AKS 검정은 결정 론적 다항식 검정의 우선 순위 검정입니다. 그러나 확률 론적 테스트만큼 간단하지 않고 효율적이지 않습니다.
— Yury

8
무작위 선택 (중간 값 찾기)은 결정론보다 다소 쉽습니다. 패킹을 해결하고 LP를 커버링하기위한 무작위 알고리즘은 결정 론적 대응 물 ( KY07 , GK95 ) 보다 빠릅니다 (최악의 경우 ). 많은 온라인 문제가 결정 론적 알고리즘 FK91 보다 경쟁력있는 알고리즘을 무작위 화 했습니다 .
— 닐 영

11
높은 크기의 볼록 본체의 부피를 계산하는 것은 인정 랜덤를 통해 -approximation. 결정 론적 알고리즘이 좋은 근사치를 제공 할 수없는 것으로 알려져 있습니다. 따라서 여기서 무작위 화가 필수적입니다. (1+ϵ)
— 찬드라 체 쿠리

5
@ChandraChekuri 좋은 의견이고 더 나은 답변이 될 것입니다 :)
— Suresh Venkat

3
오라클 모델의 @ChandraChekuri, 그렇지 않으면 BPP≠P
— Sasho Nikolov

답변:


36

볼트와 너트 정렬

1992 년에 Rawlins는 다음과 같은 문제를 제안했습니다. n 개의 너트와 n 개의 볼트가 있다고 가정합니다. 각 볼트는 정확히 하나의 너트에 맞으며 그렇지 않으면 너트와 볼트의 크기가 다릅니다. 크기가 너무 가까워 볼트 쌍 또는 너트 쌍을 직접 비교할 수 없습니다. 그러나 볼트를 함께 조여서 너트를 볼트와 비교할 수 있습니다. 일정한 시간에 볼트가 너무 크거나 작거나 너트에 적합한 지 여부를 알 수 있습니다. 너의 임무는 각 너트에 맞는 볼트를 찾거나 그와 동등한 크기로 너트와 볼트를 정렬하는 것입니다.

무작위 퀵소트의 간단한 변형은 시간 의 문제 를 높은 확률로 해결합니다. 임의의 볼트를 선택하십시오. 너트를 분할하는 데 사용하십시오. 일치하는 너트를 사용하여 볼트를 분할하십시오. 그리고 재귀. 그러나 o ( n 2 ) 에서도 실행되는 결정 론적 알고리즘을 찾는 것은 쉽지 않습니다. 결정 론적 O ( n log n ) -시간 알고리즘은 1995 년 Bradford에 의해 그리고 Komlós, Ma 및 Szemerédi에 의해 독립적으로 발견되었습니다. 두 알고리즘 모두 AKS 병렬 정렬 네트워크의 변형을 사용하므로 O ( nO(nlog⁡n)o(n2)O(nlog⁡n) 시간 제한이 상당히 큼; 무작위 알고리즘의 숨겨진 상수는 4입니다.O(nlog⁡n)

  • Noga Alon, Manuel Blum, Amos Fiat, Sampath Kannan, Moni Noar 및 Rafail Ostrovsky. 일치하는 너트와 볼트. Proc. 5 주년 ACM-SIAM 증상. 이산 알고리즘 , 690–696, 1994.
  • 노가 알론, 필립 브래드 포드, 루돌프 플라이셔 볼트와 너트를 더 빠르게 일치시킵니다. 알립니다. Proc. 레트 사람. 59 (3) : 123-127, 1996.
  • 필립 브래드 포드 볼트와 너트가 최적으로 일치합니다. 기술 MPI-I-95-1-025, 1995 년 Informatik의 Max-Planck-Institut. http://domino.mpi-inf.mpg.de/internet/reports.nsf/NumberView/1995-1-025
  • Phillip G. Bradford와 Rudolf Fleischer. 볼트와 너트를 더 빠르게 일치시킵니다. Proc. 6 일. Int. 증상 알고리즘 계산 , 402–408, 1995. 강의 노트 컴퓨팅. 공상 과학 1004.
  • János Komlós, Yuan Ma 및 Endre Szemerédi. 에 볼트와 너트를 일치 시간. SIAM J. 이산 수학. 11 (3) : 347–372, 1998.O(nlog⁡n)
  • 그레고리 J.E. 롤린스. 무엇에 비해? : 알고리즘 분석 소개 . 컴퓨터 과학 출판사 / WH 프리먼, 1992.

2
이것은 아름다운 예이지만 오라클 문제입니다. 오라클을 오라클에서 제거 할 수있는 방법이 있습니까?
— Peter Shor

98 Szemeredi 논문에 대한 링크가 있습니까? 이게 어려워? 동시에 각 볼트를 고유 한 너트와 비교하고 각 쌍을 정렬 된 순서로 배치하십시오. 일치하는 요소를 제거합니다. log (n) 단계에서 정렬 된 nbnbnbnbnb 시퀀스를 병합하여 일치하는 내용을 발차합니다. 편집 : 네 nnn과 bbbb 문자열의 비 호환성은 병합 단계에서 성가시다.
— Chad Brewbaker

@ChadBrewbaker 모든 쌍에서 볼트가 너트보다 작다고 가정하십시오. (예, 가능합니다.) 이제 알고리즘은 무엇을합니까? 다시 말해서, "annoying"= "전체 문제".
— Jeffε

나는 Szemeredi 논문을 찾고 그것이 얼마나 어려운지 크게 생각했습니다. 예, 병합 기반 접근 방식은 사소한 것이 아니라고 동의합니다. 그러나 병렬 그래프 연결성에 관한 Vishkin의 논문은 불가능하지 않다는 느낌을 남깁니다.
— Chad Brewbaker

너트와 볼트를 비교할 때마다 정점을 그래프에 추가하거나 두 정점을 모두 제거하는 일치 항목을 얻습니다. 목표는 연결된 구성 요소를 선형 작업량으로 축소하고 연결된 구성 요소의 모서리 스토리지 크기를 선형 공간에 묶는 방식으로 연결된 구성 요소를 병합하는 것입니다.
— Chad Brewbaker

17

폴리 타임에 대해서만 이야기하는 것이 아니라 우리가 연구하는 많은 계산 모델을 살펴보면 어디에서나 예제가 있습니다.

로그 공간 : 무 방향 ST 연결 (1979 년 이후 RL 및 2005 년 이후 L에서만)

NC에서 : 이분 그래프에서 병렬로 완벽한 일치 찾기 (RNC에서 여전히 NC에 알려지지 않음)

대화 형 증명에서 : 결정 론적 인 것은 NP를 제공하고 무작위 화 된 사람은 PSPACE를 수행 할 수 있습니다. 관련 : 증거를 결정적으로 확인하려면 모든 증거를 검토해야하지만 PCP 증거를 사용하면 일정한 수의 비트 만 확인할 수 있습니다.

알고리즘 메커니즘 설계에서 : 결정 론적 대응이없는 많은 무작위 화 된 진실한 근사 메커니즘.

통신 복잡성 : 항등 함수는 결정적으로 선형 통신을 요구하지만 로그 (또는 정확한 모델에 따라 일정한) 통신은 무작위로 필요합니다.

의사 결정 트리에서 및 / 또는 트리를 평가하려면 결정적인 선형 쿼리가 필요하지만 무작위 화의 경우 훨씬 적습니다. 이것은 본질적으로 게임 트리 평가를위한 무작위 서브 리니어 알고리즘을 제공하는 알파-베타 프 루닝과 동일합니다.

스트리밍 모델, 분산 컴퓨팅 모델 : 이전 답변을 참조하십시오.


12

대부분의 스트리밍 알고리즘

스트리밍 계산 모델 ( AMS , book )에서 알고리즘은 온라인 업데이트 시퀀스를 처리하며 부분 선형 공간 만 유지하도록 제한됩니다. 언제든지 알고리즘은 쿼리에 응답 할 수 있어야합니다.

많은 문제들에 대해, 서브 리니어 공간 랜덤 화 된 스트리밍 알고리즘이 존재하지만, 결정적인 알고리즘은 서브 리니어 공간에서의 문제를 해결할 수 없다. 이는 무작위와 결정 론적 의사 소통 복잡성 간의 격차와 관련이 있습니다. 간단한 예는 인 고유 카운트 마다 단계 : 문제 알고리즘 정수 주어진 I의 t ∈ [ N ] , 그것은 근사 할 수 있어야 D의 m = | { i t : t = 1 … m } | 즉, 시간 단계 m 까지 보이는 별개의 정수의 수tit∈[n]Dm=|{it:t=1…m}|m. 일정한 근사치를 달성하는 결정 론적 알고리즘이 공간을 사용해야한다는 것을 비교적 쉽게 알 수 있습니다 (예 : Piotr Indyk의 강의 노트 참조 ). 반면 Flajolet과 Martin 의 영리한 샘플링 알고리즘 (위의 AMS 논문에서 무작위성이 제한된 간단한 분석)은 O ( log n ) 비트로 일정한 근사치를 얻습니다 . 최신 연구 문제에 대한 최적의 제공 O를 ( 1Ω(n)O(log⁡n)계산 알고리즘1±ε근사.O(1ϵ2+log⁡n)1±ϵ


8

찾기 분산 네트워크에서 최대한의 독립적 인 세트 의 최대 학위와 노드 Δ를 . 알려진 최소 하한값 [3] ( Ω ( log Δ ) , Ω ( √nΔ무작위 및 결정적 알고리즘을 유지하는 log n )).min(Ω(log⁡Δ),Ω(log⁡n))

다음은 동기 라운드 로 진행되는 간단한 무작위 분산 알고리즘입니다 [1] . (라운드에서 모든 노드 는 일부 로컬 계산을 수행하고 이웃에게 메시지를 보낼 수 있습니다.이 메시지는 다음 라운드가 시작되기 전에 수신되도록 보장됩니다.)u

  1. 각 라운드에서, 각각의 활성 노드 확률 마크 자체 1 / D U 여기서 D U > 0 이다 정도 U ; 경우 D u는 = 0 , U는 단순히 독립 집합 들어간다. (초기에는 모든 노드가 활성화되어 있습니다.)u1/dudu>0udu=0u
  2. 가 이웃에서 유일하게 표시된 노드 인 경우 , u 는 독립 세트에 들어가서 자체를 비활성화하고 모든 이웃에게 자체를 비활성화하도록 알립니다. 나머지 활성 노드의 각도는 그에 따라 감소합니다. 즉, 비활성화 된 노드에 대한 모든 에지가 제거됩니다.uu
  3. 그렇지 않으면, 인접 노드 가 표시되어 있으면, 더 낮은 정점은 자체적으로 표시를 해제하고 활성 상태를 유지합니다.v

이 알고리즘 은 나머지 라운드의 절반이 매 라운드마다 삭제된다고 주장함으로써 확률이 높은 라운드 에서 종료됨을 알 수 있습니다 . 대조적으로, 가장 빨리 알려진 결정 론적 분산 알고리즘 [2]는 O ( n 1 / √O(log⁡n)반올림하고 상당히 더 복잡합니다.O(n1/log⁡n)


[1] Michael Luby : 최대 독립 세트 문제에 대한 간단한 병렬 알고리즘. SIAM J. Comput. 15 (4) : 1036-1053 (1986) http://dx.doi.org/10.1137/0215074

[2] Alessandro Panconesi, Aravind Srinivasan : 분산 네트워크 분해의 복잡성. J. 알고리즘 20 (2) : 356-374 (1996) http://dx.doi.org/10.1006/jagm.1996.0017

[3] Fabian Kuhn, Thomas Moscibroda, Roger Wattenhofer : 지역 계산 : 하한 및 상한. CoRR abs / 1011.5470 (2010) http://arxiv.org/abs/1011.5470


생물학적 시스템에서 영감을 얻은 최신 알고리즘 (PODC 2013)은 간단한 로컬 피드백 메커니즘을 사용하여 Luby만큼 우수한 성능을 달성합니다. arxiv.org/abs/1211.0235
— András Salamon

6

프로세스의 익명의 링에서 지도자 선거

1

익명의 링에 대한 결정 론적 리더 선거 알고리즘 이 없다는 간단한 주장 (예 : [1])이 있습니다 .

모델 : 각 라운드에서 모든 프로세스가 로컬 계산을 수행하고 링의 이웃에게 메시지를 보내고 이웃으로부터 메시지를받는 동기 라운드에서 계산이 진행된다고 가정합니다.

Ar≥01

r≥0rArrr+1A

An[1,n4]


[1] Dana Angluin : 프로세서 네트워크의 로컬 및 전역 속성 (확장 개요). STOC 1980 : 82-93. http://doi.acm.org/10.1145/800141.804655


6

쿼리 모델에서 대다수 문제

문제 . 우리는 의 세트가 주어집니다nij

무작위 알고리즘 . 임의의 공을 선택하고 이상을 확인하십시오n/2O(n)

O(n)

FRK Chung, RL Graham, J. Mao 및 AC Yao, 다수 및 복수 문제에 대한 명백하고 적응적인 전략, Proc. COCOON 2005 , 329–338 쪽.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책과 개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.