은하 알고리즘

Galactic algorithm

은하 알고리즘은 충분히 큰 문제에 대해서는 다른 알고리즘을 능가하는 알고리즘이지만, 실제로는 알고리즘이 결코 사용되지 않을 정도로 "충분히 큰" 알고리즘이다.은하 알고리즘은 리처드 립톤과 켄 리건에 의해 그렇게 이름지어졌다.[1] 왜냐하면 그것들은 우리가 여기 지구에서 찾을 수 있는 어떤 단순한 지상 데이터 세트에도 사용되지 않을 것이기 때문이다.

사용 사례

이러한 알고리즘이 실제로 사용되지 않더라도 은하 알고리즘은 여전히 컴퓨터 과학에 기여할 수 있다.

  • 알고리즘은 비실용적이더라도 결국 실제 알고리즘을 만드는 데 사용될 수 있는 새로운 기법을 보여줄 수 있다.
  • 컴퓨터 크기는 교차점까지 따라갈 수 있기 때문에 이전에 비실용적인 알고리즘이 실용화된다.
  • 비실용 알고리즘은 여전히 추측한 한계가 달성될 수 있거나 제안된 한계가 잘못되었다는 것을 증명할 수 있으며, 따라서 알고리즘 이론을 진전시킬 수 있다.립톤은 다음과 같이 말한다.[1]

    이것만으로도 중요할 수 있고 종종 그러한 알고리즘을 찾는 훌륭한 이유가 된다.예를 들어, 만약 내일 거대하지만 가능한 다항식 시간의 구속을 가진 인수 알고리즘이 있다는 것을 보여준 발견이 있다면, 그것은 인수인계에 대한 우리의 믿음을 바꿀 것이다.이 알고리즘은 결코 사용되지 않을 수도 있지만, 앞으로의 연구를 확실히 팩토링으로 구체화시킬 것이다.

    마찬가지로, 부울 만족도 문제 O( 2 O 알고리즘은 실제로는 사용할 수 없지만, 컴퓨터 과학에서 가장 중요한 개방적 문제 및 밀레니엄상 문제 중 하나로 간주되는 P 대 NP 문제를 해결할 것이다.[2]

정수 곱하기

은하 알고리즘의 예는 1729차원 푸리에 변환에 기초하여 두 숫자를 곱하는 것으로 알려진 가장 빠른 방법이다.[3][4]이는 숫자들이 알려진 우주의172912 원자 수보다 훨씬 큰 최소 2비트(최소 10자리1038)를 가질 때까지 명시된 효율에 도달하지 못한다는 것을 의미한다.그래서 이 알고리즘은 결코 실제로 사용되지 않는다.[5]

행렬 곱하기

짐승-강력 곱셈에 대한 첫 번째 개선인 3 (n 2.807) 807인 재귀 인 Strassen 알고리즘이다이 알고리즘은 은하계가 아니며 실제로 사용된다.정교한 그룹 이론을 사용하여 이것의 추가 확장은 Coppersmith-Winograd 알고리즘과 약간 더 나은 후계자들로, ( O를 전달한다이는 은하계적 – "우리는 그럼에도 불구하고 빠른 매트릭스 곱셈의 복잡성에 수반되는 거대한 상수들이 대개 이러한 알고리즘을 비실용적으로 만들기 때문에 그러한 개선은 이론적인 관심사일 뿐이라는 것을 강조한다."[6]

통신 채널 용량

클로드 섀넌통신 채널의 용량에 도달할 수 있는 간단하지만 비실용적인 코드를 보여주었다.가능한 모든 -bit 메시지에 임의 코드 단어를 할당하고 가장 가까운 코드 단어를 찾아 디코딩해야 한다. (를) 충분히 크게 선택하면 기존 코드를 모두 능가하고 채널 용량에 임의로 근접할 수 있다.불행히도, 기존 코드를 능가할 만큼 큰 도 완전히 비현실적이다.[7]이러한 코드들은 결코 사용되지 않았지만, 오늘날 채널 용량에 임의로 가까운 비율을 달성할 수 있는 보다 실용적인 알고리즘에 대한 수십 년의 연구를 고무시켰다.[8]

서브그래프

그래프 {\이(가) 마이너로서 포함되어 있는지 여부를 결정하는 문제는 일반적으로 NP-완전하지만, 이(가) 고정되어 있는 경우에는 다항 시간 내에 해결할 수 있다.실험을 위한 영사 시간 여부 H{H\displaystyle}은 미성년자의 G{G\displaystyle}에 이 사건은 O(n2){O(n^{2})\displaystyle},[9]이 n{n\displaystyle}은 수 vertices에 G{G\displaystyle}과 큰 O표기법 숨기는 끊임 없는 말이 맞을 수가 있superexponentially에 H{년.dIsplaystyle H}. 그 상수 2↑↑(2↑↑(2↑↑(h/2)보다)vertices의 H에서 h{h\displaystyle}은 번호{H\displaystyle}h의 경우 .[10]cm부터 4{\displaystyle h=4}크누스의 up-arrow 표기법에서){2\uparrow \uparrow(2\uparrow \uparrow(2\uparrow \uparrow(h/2))\displaystyle)}더 크다. 수 있상수가 = 2 2}}}}} \at n}}을(를) 가진 n}}}}}}}}}}을(를) 초과하므로 합리적으로 계산할 수 없다.For , the constant is far larger: , where the part 는 2의 16개의 지수 스택으로, 정확한 값을 실질적으로 계산할 수 없을 정도로 큰 숫자다.[11]전체 표현은 그 많은 2매의 파워타워다.

암호 해독

암호학자의 경우 암호 "차단"은 흉포력 공격보다 더 빠른 것으로, 즉 가능한 각 키에 대해 한 번의 시험 암호 해독을 수행하는 것이다.많은 경우에서, 그것들이 가장 잘 알려진 방법임에도 불구하고, 그것들은 여전히 현재의 기술로는 실현이 불가능하다.한 예로 128비트 AES에 대해 알려진 최고의 공격이 있는데, 2 조작만 하면 .[12]실용적이지 않음에도 불구하고 이론적 단절은 때때로 취약성 패턴에 대한 통찰력을 제공할 수 있다.

출장 판매원 문제

수십 년 동안, 미터법 공간에서 여행하는 세일즈맨 문제에 대해 가장 잘 알려진 근사치는 최적보다 최대 50% 더 긴 경로를 생성하는 매우 단순한 크리스토피데스 알고리즘이었다.(다른 많은 알고리즘은 대개 훨씬 더 잘 할 수 있지만, 그럴 가능성은 없다.)2020년에는 - 까지 이를 이길 수 있는 훨씬 더 새롭고 복잡한 알고리즘이 발견되었다.[13]비록 아무도 이 알고리즘의 아주 사소한 최악의 경우 개선을 위해 이 알고리즘으로 전환하지는 않을 것이지만, 그것은 여전히 중요한 것으로 여겨진다. "이 작은 개선은 이론적인 문제점과 심리적인 문제 모두를 뚫고 지나가기 때문이다."[14]

후터 검색

"Hutter search"라는 단일 알고리즘은 몇 가지 주의사항을 배제하고 점증적으로 최적의 시간에 잘 정의된 문제를 해결할 수 있다.가능한 모든 알고리즘(실시간 기준)을 검색하는 동시에 가능한 모든 증명(증거 길이 기준)을 검색해 각 알고리즘에 대한 정확성 증명을 찾는 방식으로 작동한다.정확성 증명은 크기가 유한하기 때문에 "만일"은 상수를 추가하며 점증적 런타임에는 영향을 주지 않는다.그러나 이 상수는 너무 커서 알고리즘은 완전히 비실용적이다.[15][16]예를 들어, 주어진 알고리즘의 정확성에 대한 가장 짧은 증거가 1000비트 길이라면, 검색은 먼저 다른 최소 2개의999 잠재적 증거를 검사할 것이다.

최적화

로그 냉각 일정과 함께 사용할 경우 시뮬레이션된 어닐링은 최적화 문제의 전지구적 최적화를 찾는 것으로 입증되었다.그러나 이러한 냉각 스케줄은 완전히 비실용적인 가동 시간을 초래하며, 결코 사용되지 않는다.[17]그러나 이러한 이상적인 알고리즘이 존재한다는 것을 알게 되면서 복잡한 최적화 문제에 대해 매우 우수한(최적성은 아니지만) 솔루션을 찾을 수 있는 실용적인 변형이 생겨났다.[18]

참조

  1. ^ a b Lipton, Richard J., and Kenneth W. Regan (2013). "David Johnson: Galactic Algorithms". People, Problems, and Proofs. Heidelberg: Springer Berlin. pp. 109–112.{{cite book}}: CS1 maint : 복수이름 : 작성자 목록(링크)
  2. ^ Fortnow, L. (2009). "The status of the P versus NP problem" (PDF). Communications of the ACM. 52 (9): 78–86. doi:10.1145/1562164.1562186. S2CID 5969255.
  3. ^ David, Harvey; Hoeven, Joris van der (March 2019). "Integer multiplication in time O(n log n)". HAL. hal-02070778.
  4. ^ David Harvey (April 2019). "We've found a quicker way to multiply really big numbers". Phys.org.
  5. ^ "We've found a quicker way to multiply really big numbers". 알고리즘의 저자들 중 한 명으로부터 인용하자면, "새로운 알고리즘은 우리 논문에 제시된 증거가 터무니없이 큰 숫자에 대해서만 작용하기 때문에, 현재 형태로는 실제로 실용적이지 않다.설사 각각의 숫자가 수소 원자에 쓰여져 있다고 해도, 관측 가능한 우주에서는 그것들을 기록할 수 있는 공간이 거의 없을 것이다."
  6. ^ Le Gall, F. (2012), "Faster algorithms for rectangular matrix multiplication", Proceedings of the 53rd Annual IEEE Symposium on Foundations of Computer Science (FOCS 2012), pp. 514–523, arXiv:1204.1111, doi:10.1109/FOCS.2012.80, S2CID 2410545
  7. ^ Larry Hardesty (January 19, 2010). "Explained: The Shannon limit". MIT News Office.
  8. ^ "Capacity-Approaching Codes" (PDF).
  9. ^ Kawarabayashi, K. I.; Kobayashi, Y.; Reed, B. (2012). "The disjoint paths problem in quadratic time". Journal of Combinatorial Theory, Series B. 102 (2): 424–435. doi:10.1016/j.jctb.2011.07.004.
  10. ^ Johnson, David S. (1987). "The NP-completeness column: An ongoing guide (edition 19)". Journal of Algorithms. 8 (2): 285–303. CiteSeerX 10.1.1.114.3864. doi:10.1016/0196-6774(87)90043-5.
  11. ^ 울프람알파 연산
  12. ^ Biaoshuai Tao & Hongjun Wu (2015). Information Security and Privacy. Lecture Notes in Computer Science. Vol. 9144. pp. 39–56. doi:10.1007/978-3-319-19962-7_3. ISBN 978-3-319-19961-0.
  13. ^ Anna R. Karlin; Nathan Klein; Shayan Oveis Gharan (September 1, 2020). "A (Slightly) Improved Approximation Algorithm for Metric TSP". arXiv:2007.01409 [cs.DS].
  14. ^ Erica Klarreich (October 8, 2020). "Computer Scientists Break Traveling Salesperson Record".
  15. ^ Hutter, Marcus (2002-06-14). "The Fastest and Shortest Algorithm for All Well-Defined Problems". arXiv:cs/0206022.
  16. ^ Gagliolo, Matteo (2007-11-20). "Universal search". Scholarpedia. 2 (11): 2575. Bibcode:2007SchpJ...2.2575G. doi:10.4249/scholarpedia.2575. ISSN 1941-6016.
  17. ^ Liang, Faming, Yichen Cheng, and Guang Lin (2014). "Simulated stochastic approximation annealing for global optimization with a square-root cooling schedule". Journal of the American Statistical Association. 109 (506): 847–863. doi:10.1080/01621459.2013.872993. S2CID 123410795.{{cite journal}}: CS1 maint : 복수이름 : 작성자 목록(링크)
  18. ^ Ingber, Lester (1993). "Simulated annealing: Practice versus theory". Mathematical and Computer Modelling. 18 (11): 29–57. doi:10.1016/0895-7177(93)90204-C.