랜덤 화는 언제 알고리즘의 속도를 높이고“안 돼서는 안됩니까?”


39

P / p o l y에 포함되어 있다는 Adleman의 증거 는 크기 n의 입력 에서 시간 t ( n ) 에서 실행되는 문제에 대한 무작위 알고리즘이있는 경우 문제 에 대한 결정 론적 알고리즘이 있음을 보여줍니다 크기 n의 입력 에 대해 시간 Θ ( t ( n ) n ) 에서 실행되는 [알고리즘은 Θ ( n ) 에서 무작위 알고리즘을 실행합니다.BPPP/polyt(n)nΘ(t(n)n)nΘ(n)독립적 인 무작위성 문자열. 모두를위한 좋은 반복 알고리즘의 임의성이 있어야합니다 가능한 입력]. 결정 론적 알고리즘은 불균일합니다. 입력 크기에 따라 다르게 동작 할 수 있습니다. 따라서 Adleman의 주장에 따르면 균일성에 신경 쓰지 않는다면 무작위 화는 입력 크기에서 선형 인 요소에 의해서만 알고리즘 속도를 높일 수 있습니다.2n

무작위 화가 계산 속도를 높이는 구체적인 예는 무엇입니까?

하나의 예는 다항식 아이덴티티 테스트입니다. 여기에서 입력은 필드에 걸쳐 m- 변이 다항식을 계산하는 n 크기의 산술 회로이며,이 작업은 다항식이 동일하게 0인지 여부를 알아내는 것입니다. 무작위 알고리즘은 임의의 점에서 다항식을 평가할 수있는 반면, 우리가 알고있는 최상의 결정 론적 알고리즘 (및 가능한 최상의)은 많은 점에서 다항식을 평가합니다.

다른 예는 최소 Karger-클라인 Tarjan으로 가장 확률 적 알고리즘은 선형 시간 트리를 스패닝한다 (그리고 오차 확률이 지수 함수 적으로 작다!) Chazelle 의해 가장 결정적 알고리즘은 시간에 실행되는 동안에 ( α 는 역 Ackermann 함수이므로 랜덤 화 속도는 실제로 작습니다). 흥미롭게도 Pettie와 Ramachandran은 최소 스패닝 트리에 대해 비 균일 결정 론적 선형 시간 알고리즘이 있다면 균일 한 결정 론적 선형 시간 알고리즘도 존재한다는 것이 증명되었습니다.O(mα(m,n))α

다른 예는 무엇입니까? 무작위 추출 속도가 큰 곳을 알 수있는 예는 무엇입니까? 그러나 아직 충분히 효율적인 결정 론적 알고리즘을 찾지 못했기 때문일 수 있습니다.



랜덤 생성기를 암호화 품질의 의사 랜덤 생성기로 대체하여 임의의 알고리즘을 결정 론적 알고리즘으로 항상 변환 할 수 있습니다. 우리가 아는 한, 그럴듯한 암호화 가정 하에서 이것은 잘 작동합니다. 그러므로 제 대답은 "우리가 아는 한, 실제 문제는 없습니다"라는 것입니다. 즉, 우리가 아는 한, 런타임의 격차는 실제 근본적인 차이가 아닌 엄격한 런타임 경계를 증명할 수 없다는 것을 반영합니다.
DW

1
합리적인 경도 가정 하에서 의사 난수 발생기에서 알고리즘 임의성을 공급할 수 있지만 실제로 결정 론적 알고리즘을 제거하려면 가능한 모든 시드에서 알고리즘을 실행해야합니다. 이것은 런타임을 폭파시킵니다!
Dana Moshkovitz

cc2O(c)

O(1)

답변:


28

O~(n2)O~(n4)O~(n6)


NlogNloglogNO~(n3)

비슷한 맥락에서 문제는 유한 필드에 대한 다항식 비 환원성 테스트입니다. 여기서 다시 알려진 결정 론적 알고리즘은 무작위 알고리즘보다 범위가 좋지 않지만 세부 사항은 기억하지 못합니다.
Emil Jeřábek

19

1+ϵ

이러한 무작위 화 된 전략의 첫 번째 예는 Dyer, Frieze 및 Kannan이었으며 결정 론적 알고리즘의 경도 결과는 Bárány와 Füredi입니다. Alistair Sinclair 는 이것에 대한 훌륭한 강의 노트를 가지고 있습니다.

나는 질문의 "그것이해서는 안된다"는 부분을 완전히 이해하고 있는지 확실하지 않기 때문에 이것이 법안에 맞는지 확신 할 수 없습니다.


1
[n/logn]n

9

이것이 귀하의 질문 (또는 적어도 일부)에 대답하는지 모르겠습니다. 그러나 무작위 배정이 가속화를 제공 할 수있는 실제 사례의 경우 최적화 문제와 NFL (No Free Lunch ) 정리 와의 관계에 있습니다.

무작위 화 (최적화) 알고리즘을 사용하면 성능이 향상 될 수 있음을 보여주는 "아마도 무료 점심은 아니지만 최소한 무료 전채" 라는 논문 이 있습니다.

요약:

f:XYXY유한 세트입니다. 이 결과를 [무료 점심 식사 정리]라고합니다. 여기에 다른 최적화 시나리오가 제시됩니다. 무 무료 런치 정리의 기반이되는 시나리오가 실제 최적화를 모델링하지 않는 이유가 논쟁의 여지가 있습니다. 보다 현실적인 시나리오의 경우 최적화 기술의 효율성이 다른 이유가 논쟁의 여지가 있습니다. 작은 예를 들어이 주장이 증명됩니다.

참고 문헌 :

  1. 최적화를위한 무료 점심 정리 없음 ( 최적화를위한 원래 NFL 정리)
  2. 아마도 무료 점심은 아니지만 적어도 무료 전채
  3. FF
  4. 기능의 클래스에있는 없음 무료 점심 결과는 개최 (이 부분 집합의 비율 것을 입증 무시할 작)
  5. 아니요 무료 점심 결과 있지 않음 보류하는 기능의 두 가지 클래스 (쇼는 것을 NFL의 결과가 함수의 집합에 적용되지 않는 기능에 대한 설명 길이가 충분히 바운스된다)
  6. 연속 점심은 무료이며 최적의 최적화 알고리즘을 설계합니다 (연속 도메인의 경우 [공식 버전] NFL 은 보유하지 않음을 나타냅니다.이 자유 점심 정리는 임의의 필드를 통한 임의 피트니스 기능 개념의 공식화를 기반으로합니다. )
  7. 외의 자유 중식 : 임의 문제점 클래스 현실적인 알고리즘 (프로그램이 ".. [A]를 여유 점심 정리의 LL 위반이있는 문제의 서브 세트 위에 비 블록 균일 분포로 표현 될 수있는 ")
  8. 무리 기반의 메타 휴리스틱 알고리즘 및 무 자유 점심 정리 ( "[..t] 따라서 재방 문의 경우에는 재 방문 시간 순서가 반복되지 않은 결과가 사실이 아닐 수 있습니다. NFL 정리 증명에 필요한 (Marshall and Hinton, 2010) ")
  9. 무료 점심 식사 및 알고리즘 무작위성 없음
  10. No Free Lunch and Benchmarks ( 컵에 국한되지 않은 기준으로 일반화되는 이론적 인 접근 방식 이지만, (사소하지 않은) 무작위 알고리즘이 평균적으로 결정 론적 알고리즘보다 성능이 우수 할 수 있음을 지적합니다. "[..]] 일반적인 경우에 제한되지 않은 NFL 결과 를 확인하기에는 확률이 부적절하다 . [..]이 논문은 확률을 버리고, 확률로 분배함으로써 측정 이론 이론적 한계를 없애는 이론 이론적 틀을 선호한다 ")

David H. Wolpert의 무료 점심 (및 무료 점심)에 대한 요약, 저녁 식사 요금은 얼마입니까? ( 참고 것을 NFL 형 정리는 실제 "를 지정하지 가격 으로 인해 증거의 자신의 유형")

일반화 최적화 (GO)에 대한 구체적 분석 :

  1. XZXZ

  2. f:XZ

  3. mf

    dm={dm(1),dm(2),...,dm(m)}
    t
    dm(t)={dmX(t),dmZ(t)}
    dmZ(t)f[dmX(t)]
  4. a={dtdmX(t):t=0..m}

  5. C(f,dm)

  6. C(.,.)

CfCfC(f,dm)f=f

마지막으로 무작위 화 (한 형태 또는 다른 형태)가 엄격하게 결정론적인 알고리즘보다 우수한 성능을 제공 할 수있는 이유는 간단 합니다.

  1. 최적화 의 맥락에서 (이에 제한되지는 않지만) 무작위 검색 절차는 평균적으로 결정적 검색보다 로컬 극단을 이탈 하여 전역 극단에 도달 할 수 있습니다.
  2. 2AAAAA

1

가장 좋은 예는 현재 OWF에 가장 적합한 후보로 간주되는 영역에 있으며, 놀랍게도 모든 인기있는 OWF는 놀랍게도 무작위 하위 지수 알고리즘을 갖지만 결정 론적 하위 지수 알고리즘은 없습니다 (예를 들어 정수 인수 분해). 실제로, 대부분의 경우, 어드바이스 문자열 (cryptoanalysis)이 주어진 효율적인 알고리즘이있을 것입니다.


-5

랜덤 화를 사용하는 알고리즘이있는 경우 항상 의사 난수를 사용하여 결정 론적 알고리즘으로 대체 할 수 있습니다. 문제에 대한 설명을 취하고 해시 코드를 계산 한 다음 해시 코드를 좋은 의사 난수 생성기의 시드로 사용하십시오. . 실제로, 누군가가 무작위 화를 사용하여 알고리즘을 구현할 때 실제로 일어날 수있는 일입니다.

해시 코드를 생략하면이 알고리즘과 실제 무작위 추출을 사용하는 알고리즘의 차이점은 생성 된 난수 시퀀스를 예측할 수 있으며 문제에 적용된 예측 난수가 항상 문제가 될 수 있다는 것입니다 최악의 결정을 내립니다. 예를 들어 의사 랜덤 피벗이있는 Quicksort의 경우 의사 랜덤 피벗이 항상 배열에서 가능한 가장 큰 값을 찾는 입력 배열을 구성 할 수 있습니다. 진정한 무작위성이 불가능합니다.

해시 코드를 사용하면 의사 난수가 최악의 결과를 생성하는 문제를 구성 하기매우 어려울 것입니다. 난수를 여전히 예측할 수 있지만 문제를 변경하면 의사 난수의 순서가 완전히 바뀝니다. 그래도 내가 그런 문제를 만들 수 없다는 것을 증명 하는 것은 불가능할 입니다.


나는 cstheory.SE를 처음 사용합니다. 그래서 downvoters-이 답변의 문제점은 무엇입니까?
galdre

3
두 가지가 잘못되었습니다. (1) 일반적으로 의사 난수를 구성하는 방법을 모릅니다. (2) 구성 방법을 알더라도 계산 비용이 많이 듭니다. 실제로 사용되는 의사 난수는 이론적으로 작동한다고 보장되지 않습니다. 우리가 아는 것은 경험적으로 작동하는 것입니다. (실제로 사용중인 대부분의 PRNG는 파손될 수 있으므로 일반적으로 파손하지 않으려는 경우에만 일반적으로 사용하기에 안전하지 않습니다.)
Yuval Filmus

2
cstheory.se는 프로그래밍 실습이 아니라 이론적 인 컴퓨터 과학 * 에 관한 것 입니다. 좋든 싫든, 두 영역은 상당히 분리되어 있습니다.
유발 Filmus

2
@YuvalFilmus : C. Gunther가 1987 년에 발명 한 Alternating Step Generator는 아직 고장이 나지 않았습니다 (아직 공개적인 휴식은 없었으며 NSA가 고장난 것 같습니다). 28 년은 깨지지 않은 채로 오랜 시간이 걸렸다. 나는 그런 간단한 발전기 (3 개의 LFSR과 1 개의 XOR 게이트, 얼마나 간단한가?)가 아직 고장 나지 않아서 더 자주 사용되지 않는다는 것에 놀랐다.
William Hird

2
@WilliamHird : "손상된"의 정의에 따라 실제로 고장난 것 같습니다 (관련된,보다 효율적이며 널리 사용되는 A5 / x 제품군과 다소 비슷 함). crypto.stackexchange.com/a/342를 참조하십시오 .
Emil Jeřábek
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.