"현대"컴퓨터 과학이 등장하기 전의 확률 적 (무작위 화) 알고리즘


27

편집 : 2012 년 12 월 6 일까지 가장 높은 점수를받은 답변을 선택했습니다.

이것은 간단한 질문입니다.

(결정 론적) 알고리즘의 개념은 BC로 거슬러 올라갑니다. 확률 알고리즘은 어떻습니까?

에서 이 위키 항목 , 계산 기하학에서 가장 가까운 쌍 문제에 대한 라빈의 알고리즘은 첫 번째 무작위 알고리즘으로 주어졌다 (년 ???). Lipton은 Rabin 알고리즘을 현대의 랜덤 알고리즘 시대의 시작으로 소개 했지만 첫 번째 알고리즘 아닙니다. 또한 1960 년대에 발견 된 확률 적 유한 오토마타 (매우 간단한 계산 모델)에 대한 많은 알고리즘을 알고 있습니다.

1960 년대 이전에도 확률 론적 / 무작위 화 알고리즘 (또는 방법)을 알고 있습니까?

또는

첫 번째 확률 / 무작위 화 알고리즘으로 볼 수있는 것은 무엇입니까?


25
맛이 좋은지 확인하기 위해 숟가락으로 끓는 수프를 맛보는 오래된 아이디어는 본질적으로 무작위 샘플링, 입증 가능한 확률을 가진 확률 알고리즘입니다.
arnab

3
라빈의 알고리즘은 "현대"컴퓨터 과학이 잘 확립 된 지 1976 년에 출판되었다.
Jeffε

예를 들어, 수십억 년 전에 인류를 앞둔 자연 현상이 "알고리즘"을 나타내는 것으로 생각하는지 여부를 명확하게하기 위해 "알고리즘"에 적용하려는 기준이 있는지 분명히 설명해 주시겠습니까? 이하?
Niel de Beaudrap

@NieldeBeaudrap : 제 생각에는 수학적으로 잘 정의 된 알고리즘이 있습니다. (그러나 개인적으로 나는 arnab 의 답변을 매우 좋아합니다. )
Abuzer Yakaryilmaz

답변:


33

이 글은 HC Williams와 함께 "컴퓨터 앞에 팩터링 정수"라는 논문에서 조금 논의되었습니다.

1917 년 논문에서 HC Pocklington은 sqrt (a), modulo p를 찾기위한 알고리즘에 대해 논의했는데, 이는 특정 형태의 비 잔류 물을 얻기 위해 무작위로 요소를 선택하는 것에 의존했습니다. 그는이 방법에 결함 인 2 차성 법칙을 이용하여 시험을 통해 비 잔류 물을 찾아야한다고 말했다. 하나를 찾는 데 어려움이 없어야합니다. "

이것은 무작위 알고리즘에 대한 최초의 언급 중 하나입니다.


3
이것은 정말 좋은 참조입니다. Pocklington의 알고리즘은 이후 무작위 화되지 않았습니까? 접선 적으로, 나는 CS 안팎에서 당신의 작업, 특히 Bachet의 추측에 대한 알고리즘 (종이는 찾기가 어려웠습니다!)을 좋아하지만 시민의 자유는 작동합니다. Errol Morris의 "Mr. Death"를 보셨습니까?
로스 스나이더

흥미 롭군 무작위 우선 순위 테스트를 연상시킵니다
Sasho Nikolov

3
라스 베이거스 알고리즘도! 좋은 참조.
David Eppstein

아주 좋은 참조.
Jérémie

컴퓨터 앞에 팩토링에 대해 말하면 누구나 Lehmer 가 pocklington 알고리즘 또는 기타 무작위 알고리즘에 대해 알고 있거나 Lehmer가 실제로 체 팩터링 컴퓨터 에서 구현했는지 여부를 알고 있습니까? 두 사람은 분명히 일부 연결이 포 클링턴 - 레머의 소수성 테스트 위키 피 디아에 ACC
vzn

28

기본적으로 Monte Carlo 방법 인 를 추정 하기 위한 Buffons needle 알고리즘 은 1777 년에 출판되었습니다. Monte Carlo 방법은 미국 "Manhattan"원자 폭탄 프로젝트와 함께 1940 년대에 만들어졌으며 Ulam, Von Neumann 및 Metropolis가 공동으로 제작했습니다.π


8
실제로 이것은 내가 요청한 질문 과 관련이 있습니다. 오늘날 많은 사람들이 Buffon의 바늘로 사용하는 알고리즘을 누가 정확히 고안했는지는 아무도 모릅니다.
Jérémie September

더 정확하게 말하면, 줄무늬에 바늘을 떨어 뜨리는 명확한 Buffon needle 알고리즘과 일부 사람들이 Buffon에 대해 잘못 설명하는 것처럼 보이는 "랜덤 포인트 대 서클"알고리즘이 있습니다. 현대적이지만 불확실한 기원.
vzn


11

통계 의 가우스 정규 곡선 / 분포 는 매우 간단한 물리적 프로세스에 의해 "계산"될 수 있습니다. 가장 간단한 것 중 하나는 삼각형 격자 ( 1800 년대 의 "갈톤 상자" 라고도 함)에 핀 배열 이있는 보드입니다. 여기서 핀은 번갈아 가면서 1/2 평방 거리로 오프셋됩니다. 같은 위치에서 공을 반복해서 떨어 뜨리면 공은 무작위로 왼쪽 또는 오른쪽으로 확률 0.5로 변위됩니다. 하단 위치에 기록 된 누적 분포는 가우스 곡선 / 정규를 산출합니다.


+1 통계 통계 그룹의 로고를 디자인하고 있고 Galton Box가 첫 번째 아이디어 였지만 로고에 비해 너무 복잡한 것으로 나타났기 때문에 +1입니다.
Konrad Rudolph

10

내 의견으로는, 자연 진화 는 좋고 오래된 오래된 확률 알고리즘입니다 :-)


1
프로세스에 대한 설명 은 확률 론적 이지만 훨씬 더 최근에 +1 입니다. ;-)
Konrad Rudolph

7
"알고리즘"은 해결하려는 문제가 있음을 나타냅니다. 그러나 그렇지 않습니다. 생존하기에 더 나은 동물을 만드는 것은 "시도"조차되지 않습니다. 환경에 적합한 동물을 만드는 것은 단지 부산물입니다 (멸종과 대량 멸종 사건이 명백 해짐에 따라 항상 달성되는 것은 아닙니다). 이와 관련하여 진화는 더 이상 중력보다 알고리즘이 아닙니다. 이런 종류의 일이 일어납니다.
Niel de Beaudrap

MDB가 종료되었습니다! 진화는 진화론 적 적합성 을 선택 하는 유전자 알고리즘 이며 과학은 여전히 ​​이것의 모든 의미, 즉 연구의 활발한 영역을 따라 잡고있다. CS에서 GA의 놀라운 성공은 실제로 생물학적 진화 이론의 현실에 대한 강력한 수학적 / 과학적 증거이다. 그러나 몇 가지 주요 측면에서 다른 "알고리즘"과는 분명히 다릅니다.
vzn

2
@vzn : "유전 알고리즘"은 무엇보다도 특정 목적을 위해 피트니스 기능을 선택합니다. 우리 는 진화를 도구로 사용하여 그 경우에 무언가를합니다. 그러나 이것이 생물학적 진화가 무언가를하는 알고리즘이라는 것을 의미하지는 않습니다. 중력 비유를 다시 사용하면 폭포를 사용하여 전기를 생성하기 때문에 모든 폭포가 알고리즘이라는 의미가 있습니까?
Niel de Beaudrap

4
@vzn : 나는 단지 "알고리즘"이 잘 정의 된 성공 확률 매개 변수를 수반한다고 주장하지만, 그것을 수행하는 에이전트가 있어야한다는 것은 말할 것도 없다 . "진화"를 수행 할 수있는 유일한 '에이전트'는 전체 생태계 일 것입니다. 생태계가 달성하기 위해 "시도"하고 있다고 무엇을 말해야합니까? 나는 당신이 자연을 의인화 하는 것이라고 쉽게 말하고 싶습니다 . 나는 단지 "알고리즘을 적용하는 것"이 ​​인간에 의해 적용되거나 전혀 적용되지 않은 목표 지향적 의도를 요구한다고 요구한다. 어떤 의미에서 목표가없는 프로세스는 "알고리즘"을 나타낼 수 있습니까?
Niel de Beaudrap

6

'원시'문화에서 무작위 알고리즘에 관한 논문이있다 .

사냥 장소를 결정하기 위해 oracles (예 : 닭뼈, 돌)를 사용하는 것은 무작위 알고리즘으로 볼 수 있습니다. 사냥터를 무작위로 배정하면 게임 적응과 과도한 사냥을 막을 수 있다고 주장 할 수 있습니다.


0

아인슈타인 1905 "기적"논문 중 하나는 무작위 보행 의 전형적인 물리적 예인 브라운 운동 에 관한 것으로 입자 / 분자 추정 / 계산을위한 공식 (즉, 물리적 프로세스가 "컴퓨터"인 경우 기본적으로 알고리즘)을 산출합니다. 다른 알려진 물리적 상수 및 시간에 따른 (무작위) 입자 변위의 관찰 / 측정이 주어진 직경. 이 논문은 또한 원자 물질 이론에 대한 초기 이론적 / 실험적 / 기초적 근거로 사용되었다.


4
진화와 마찬가지로, 움직임은 임의적 일 수 있고 임의의 보행으로 모델링 될 수 있지만, 이것은 어떤 알고리즘을 나타 냅니까? 일부 알고리즘은 임의의 보행을 사용하지만 모든 임의의 보행이 알고리즘을 나타내는 것은 아닙니다 (영어로 된 모든 단어 문자열이 영어로 된 단어로 구성되어 있기 때문에 영어로 된 단어 문자열 이상이 산문을 나타냄).
Niel de Beaudrap

-4

nini

이 기계는 또한 배비지 디퍼런셜 엔진 과 유사합니다 (~ 1830 초). Babbage 또는 Lovelace가 확률 알고리즘과 유사한 것을 상상했을 수도 있습니다. 기계는 확실히 확률 론적 알고리즘을 구현하고 현대 이론을 빌리고 과거에 그것을 겹쳐 놓는 데 사용될 수있다 .

[1] 레머 팩토링 머신

[2] 배비지 엔진


Lehmer Mod N 및 팩토링 머신


1
다수에 대한 확률 적 답변을 계산 한 의미를 설명 할 수 있습니까? 빠른 검색으로 온라인에서 해당 참조를 찾을 수없는 것 같습니다.
Niel de Beaudrap

내가 이해 한 바에 따르면, [다른 목적으로] 에라토스테네스의 체와 비슷한 작은 테스트 수의 작은 요소를 찾기 위해 사용되었습니다. 많은 수가 통과 된 경우 "복합적이지 않음"또는 "아마도 소수"또는 "프라임 후보"입니다. 불행히도 인터넷은 역사적 참고 문헌과 출처 [위키 백과도]가 좋지 않아서 책이 더 좋습니다. 의 하단에 자세한 내용 이 페이지 , "레머가 된 문제의 유형 을 시도 박사 마이크 윌리엄스, CA의 컴퓨터 역사 박물관의 머리 큐레이터에 의해 해결하기 위해"
vzn

1
기계는 확률 론적 알고리즘을 구현하는데 확실히 사용될 수있다 . 할 수없는 다른 기계와 달리?
Jeffε

2
당시의 용어는 "확률 적 알고리즘"은 아마도 어떤 경우에이 방법을 사용 하였다 언급하지 않았을 수 있지만, 당신이있는 경우 [표창장은 필요로했다] - 증거 "아마도 소수"단순히 확률에 대한 공식 성명이며,하지 않는 것이 휴리스틱 설명을 인용하십시오. 그렇지 않으면 추측을 중단하십시오.
Jeffε

n1n2n3nxx

-6

다음은 무작위 알고리즘과 관련된 개념의 초기 및 심지어 고대 / 선사 시대 시작의 사례입니다.

  • n/2

  • 기회도박 게임 은 매우 오래된 게임입니다 . 현대 이론에서 게임은 알고리즘에 직접 연결되지 않으면 강력한 유사성을 갖습니다. 도박 / 게임 주사위5 밀리 세 이상인 것으로 알려져 있습니다 .

  • 그리스인과 로마인들은 또한 가장 짧은 빨대를 그리는 사람이 잃어버린 빨대그리는 개념을 가지고있었습니다 . 주사위와 비슷하지만 단일 무작위 선택을하는 가장 간단한 알고리즘입니다.

  • 전체 공개, 피의 역사와 연결의 색조가 있습니다. 다른 답변에서 MDB는 진화를 언급합니다 . 진화의 일부는 인간 전과 도 유사한 자연 선택 이며, 아마도 인간 도시 / 사회의 진화의 본질적인 부분이다. 어떤 의미에서 전쟁은 사회 학자와 역사가들이 여전히 정확한 원인을 주장하는 "무언가"에 대한 조잡한 준 무작위 알고리즘입니다. 도난 또는 약탈? 자원 할당? 영토? 정치적 파워? 노예? 로마인들도 데시 메이션 (decimation) 이라고하는 끔찍한 관행을 가지고있었습니다.(현대 단어는 실제로 고대 어원에서 어원학에서 파생되었습니다!), 반란이나 비겁에 대한 형벌로, 무작위로 선택된 10 번째 병사마다 남은 병사들이 처형했습니다. 그것은 잊혀지고 atavistic 연습처럼 보일지 모르지만, 현대 러시아 룰렛 과 비슷한 것으로 보입니다 . 자살을위한 "현대적인"무작위 준 유사 게임.


1
그것은 내가 요구하는 것이 아닙니다. 나는 그들이 당신이 묘사하는 방식으로 복합 숫자의 상대 주파수에 대해 추론했는지 묻고 있습니다.
Niel de Beaudrap

1
나는 모호한 일반성에 관심이 없다고 생각하며, 우리가 "알고리즘"이 무엇인지에 근본적으로 동의하지 않는 것이 분명해 보인다. 나는 단지 "현상"이상에 관심이 있습니다. 그렇지 않으면, 우리는 빅뱅 이후 모든 양자 역학적 사건을 "무작위 알고리즘"의 예로 인용 할 수 있으며, 이는 전체 주제를 사소하게 만듭니다.
Niel de Beaudrap

1
"부드러운 질문"은 무한히 유연한 경계를 가진 질문을 의미하지 않습니다. "역사적 개요"는 역사적 개정주의와 동일하지 않습니다.
Niel de Beaudrap

2
진화에 대해 나에게 당신의 '힌트'도, 내가 싫어하는 질문에 시간을 낭비하거나 당신이 저의 이전 질문을 회피 한 것에 대한 저의 캐스팅도 존중했습니다. 사실, 그리스인들이 아마도 당신이 말하는 것에 대해 알고 있었지만 그것에 대해 글을 쓰지 않았다고 추측하는 것은 정확히 "역사적 개정주의"가 언급 할 수있는 것 중 하나입니다. (아마도 아르키메데스는 십진 표기법을 발명했지만 기록을 남기려고하지 않았다. 결국 모래 Reckoner는 장소 표기법에 매우 가깝고 그리스인은 10 진법을 사용했다. 그러나 우리는이 아이디어를 진지하게 받아 들여야한다. ?)
Niel de Beaudrap

1
나는 그것이 결정적이며, 그 자체가 확률 그 자체에 관해 이야기하는 그리스인에 대한 기록이 없다는 사실을 제외하고는, 심지어 그것을 멀리 가져 오지 않는다는 것에 동의합니다. 그러나 실제 기록이 있다면 실제로 지적 할 수 있어야합니다. 그렇지 않으면 역사가 아닌 추측입니다.
Niel de Beaudrap

-7

JS는 수 이론을 언급합니다. Fermat는 1600 년대까지 거슬러 올라가고 Solovay-Strassen 및 Miller-Rabin과 같은보다 현대적인 원시성 테스트의 선구자 역할을하는 확률 알고리즘 인 Fermat 원시성 테스트 로 평가됩니다 . [Fermat가 그것에 대해 알고있는 것과 의사 유사 (Pseudoprimes)의 구조에 대해 훨씬 더 완벽한 현대 지식과 정확히 일치시키기 위해 수학과 숫자 이론을 전문으로하는 역사가가 필요합니다.]


2
Fermat가 무작위로 선택한 정수를 프라임이 아닌 것으로 필터링하는 방법으로 프라임을 인용 할 수 있습니까? (프라임이 가진 흥미로운 속성이 아닌)? 아니면 그렇게 제안하는 초기 저자를 인용 할 수 있습니까?
Niel de Beaudrap

명시된 바와 같이 정확한 세부 사항은 전문 역사가에게 맡기는 것이 좋습니다. 그러나 참고 사항 [부록; 페르마가 파스칼과 함께 확률 이론 창시 코인으로 인정 받았다는 간단한 역사적 사실은 1600 년대 중반에 일련의 문자로 기초 를 쌓았다는 사실을 언급 했어야 합니다.
vzn

2
다른 사람이 보여줄 수 있다고 생각하는 것에 근거하여 답변을 제안하는 것은 적절하지 않습니다. 다시 말하지만, 그것은 추측입니다.
Niel de Beaudrap

3
@vzn : Fermat이 Fermat의 Little Theorem이 우수한 우선 순위 테스트임을 깨달았다면, 5 번째 Fermat 수가 소수아니라고 계산했을 것 입니다. 이는 오일러가 페르마의 사망 후 60 년 이상을 고려할 때까지 이루어지지 않았습니다.
피터 쇼어

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