Імовірнісні (рандомізовані) алгоритми до появи «сучасної» інформатики


27

Редагувати: Я вибираю відповідь з найбільшою кількістю балів до 06 грудня 2012 року.

Це м'яке питання.

Поняття (детермінованих) алгоритмів датується до н. А як щодо ймовірнісних алгоритмів?

У цьому вікі-записі алгоритм Рабіна для найближчої пари в обчислювальній геометрії був заданий як перший рандомізований алгоритм (рік ???). Ліптон представив алгоритм Рабіна як початок сучасної епохи випадкових алгоритмів тут , але не як перший. Я також знаю багато алгоритмів імовірнісних кінцевих автоматів (дуже проста обчислювальна модель), виявлена ​​протягом 1960-х років.

Чи знаєте ви якісь імовірнісні / рандомізовані алгоритми (або метод) ще до 1960-х років?

або

Яку знахідку можна розглядати як перший імовірнісний / рандомізований алгоритм?


25
Вікова ідея скуштувати ложку киплячого супу, щоб перевірити, чи правильно він смак, - це, по суті, випадковий відбір проб, вірогідний алгоритм із доказами гарантій.
arnab

3
Алгоритм Рабіна був опублікований у 1976 році, задовго після того, як «сучасна» інформатика була добре утверджена.
Jeffε

Чи не могли б ви уточнити, чи є якісь критерії, які ви хотіли б застосувати до "алгоритмів", щоб уточнити, чи вважаєте ви, що, наприклад, природні явища, що передували людству мільярдами років, являють собою "алгоритми", як це запропоновано в деяких відповідях внизу?
Ніль де Бодорап

@NieldeBeaudrap: На мою думку були деякі математично чітко визначені алгоритми. (Але особисто мені дуже подобається відповідь Арнаба :))
Abuzer Yakaryilmaz

Відповіді:


33

Це трохи обговорюється в моєму документі з HC Williams "Факторинг цілих чисел перед комп'ютерами"

У статті 1917 р. HC Pocklington обговорив алгоритм пошуку sqrt (a), модуля p, який залежав від випадкового вибору елементів, щоб отримати нерезистентність певної форми. У цьому він сказав: "Ми повинні це зробити [знайти нерецидив] шляхом випробування, використовуючи Закон квадратичної взаємності, що є дефектом методу. Але що стосується кожного значення u половини значень t підходять, не повинно бути жодних труднощів у пошуку ".

Отже, це одне з перших явних згадок про рандомізований алгоритм.


3
Це дійсно приємна довідка. З тих пір алгоритм Поклінгтона був дерандонізований? Дотично, я люблю твою роботу - як в КС, так і поза нею - зокрема твій алгоритм гіпотези Баше (в папері важко було знайти копію, хоча!), А також твої громадянські свободи. Ви дивилися "Містер Смерть Еррола Морріса"
Росс Снайдер

цікаво. це нагадує рандомізоване тестування на первинність
Сашо Ніколов

3
І алгоритм Лас-Вегаса теж! Приємна довідка.
Девід Еппштейн

Дуже приємна довідка.
Jérémie

Якщо говорити про факторинг перед комп'ютерами, хтось знає, що Лемер знав про алгоритм поклінгтона, чи будь-які інші рандомізовані алгоритми, чи Лемер реально коли-небудь реалізував його на своєму сито-факторинговому комп'ютері ? вони, мабуть, мають певний зв’язок із тестом на первісність Поклінгтона-Лемера відповідно до wikipedia
vzn

28

Алгоритм головоломки Buffons для оцінки , в основному методу Монте-Карло , датується в публікації в 1777 році.π


8
Насправді це пов'язано з питанням, яке я задав . Ніхто точно не знає, хто розробив алгоритм, який сьогодні вважають голкою Буфона.
Jérémie

сказано точніше - існує чіткий алгоритм голки Баффона, який передбачає викидання голки на смуги, і, очевидно, набагато інший алгоритм «випадкова точка проти кола», як ви згадуєте в тому питанні, яке, здається, деякі люди неправильно відносять до Буфона, з різними, більше сучасне, але невизначене походження.
vzn

19

Алгоритм « Метрополіс-Гастінгс» був опублікований у 1953 році і датується проектом Манхеттена, задовго до Рабіна. Як і багато ранніх рандомізованих методів, наведених в інших відповідях, це алгоритм Монте-Карло.

Чи можливо, що претензія на сторінці Вікіпедії - це потворна форма твердження, що Рабін був першим алгоритмом Лас-Вегаса ?


11

Gaussian нормальне криве / розподіл статистики може бути «обчислено» багатьма дуже простими фізичними процесами. Один з найпростіших - це дошка з шпильковим масивом у трикутній сітці (також відома як "коробка Галтона", що датується 1800-х роках), де штирі зміщуються на 1/2 квадратної відстані на змінних рядах. Опускаючи кульки багаторазово з одного положення, кулі випадковим чином зміщуються вліво або вправо з вірогідністю 0,5. Кумулятивний розподіл, записаний у нижній позиції, дає криву Гаусса / норма.


+1 лише тому, що я зараз розробляю логотип для нашої дослідницької групи зі статистики, і Galton Box була нашою першою ідеєю (але виявляється занадто складною для логотипу).
Конрад Рудольф

10

На мою думку, природна еволюція - це добрий і досить старий імовірнісний алгоритм :-)


1
+1, хоча опис процесу як вірогідного нам набагато пізніший. ;-)
Конрад Рудольф

7
"Алгоритм" говорить про те, що існує проблема, яку намагаються вирішити; але це не так. Це навіть не "намагання" зробити тварин, які краще виживають; створення тварин, пристосованих до його навколишнього середовища, є лише побічним продуктом (який не завжди досягається, оскільки очевидні події вимирання та масового вимирання). У цьому відношенні еволюція - це не більше алгоритм, ніж сила тяжіння; саме ця річ відбувається.
Niel de Beaudrap

MDB мертвий на! еволюція - генетичний алгоритм, який вибирає для еволюційної придатності, і наука все ще наздоганяє всі наслідки цього .... тобто його активного напряму досліджень. на це не вказувалося багато чи широко оцінюваного, але феноменальний успіх GAs у КС насправді є сильним математичним / науковим доказом реальності теорії біологічної еволюції. однак визнати, що це, безумовно, відрізняється від інших "алгоритмів" деякими ключовими способами.
vzn

2
@vzn: "генетичний алгоритм", перш за все, вибирає для функції фітнесу, яку ми нав'язуємо для певної мети. Ми використовуємо еволюцію як інструмент, щоб зробити щось у цьому випадку. Але це не означає, що біологічна еволюція - це алгоритм робити щось. Знову використовуючи аналогію гравітації, чи є сенс, в якому всі водоспади є алгоритмами, просто тому, що ми іноді використовуємо водоспади для отримання електроенергії?
Ніль де Бодорап

4
@vzn: Я просто стверджую, що "алгоритм" повинен тягнути за собою чітко визначені параметри ймовірності успіху, не кажучи вже про те, що повинен бути агент, який його виконує . Єдиним "агентом", про який можна було б сказати, здійснював "еволюцію", була б ціла екосистема. Що нам сказати, що екосистема "намагається" досягти? Я б з готовністю сказав, що ви антропоморфізуюча природа. Я вимагаю лише, щоб "застосування алгоритму" тягнуло за собою деяку кількість цілеспрямованої інтенціональності, застосованої людиною чи ні. У якому сенсі процес без мети може представляти «алгоритм»?
Ніль де Бодорап

6

Є стаття про рандомізовані алгоритми в «примітивних» культурах .

Використання оракул (наприклад, курячі кістки, камені) для вирішення місця полювання можна розглядати як рандомізований алгоритм. Можна стверджувати, що рандомізація мисливських угідь перешкоджає пристосуванню дичини та перегулюванню.


0

один із «чудотворних» паперів Ейнштейна 1905 року був на броунівському русі , класичний фізичний приклад випадкової прогулянки і дає формулу (тобто, в основному, алгоритм, якщо фізичний процес є «комп’ютером») для оцінки / обчислення частинки (молекули) діаметр з урахуванням інших відомих фізичних констант і спостереження / вимірювання (випадкового) переміщення частинок у часі. ця стаття також послужила ранніми теоретичними / експериментальними / основоположними доказами для атомної теорії речовини.


4
Знову, як і з еволюцією: хоча рух може бути випадковим і може моделюватися випадковим ходом, який алгоритм це представляє? Хоча деякі алгоритми використовують випадкові прогулянки, це не означає, що всі випадкові прогулянки представляють алгоритми (більше, ніж будь-який рядок слів англійською мовою, представляє прозу лише тому, що вся англійська проза складається зі слів англійською мовою).
Niel de Beaudrap

-4

nini

машина також має деяку схожість з диференціальним двигуном Беббіджа (~ 1830-ті). не зовсім немислимо, що Беббідж або Ловелас, можливо, передбачали щось подібне до ймовірнісних алгоритмів. машина (и), безумовно, може бути використана для реалізації ймовірнісних алгоритмів, запозичення сучасної теорії та накладання її на минуле.

[1] Фактор факторизації Лемера

[2] Двигун беббіджа


Lehmer mod n & факторинг-машина


1
Чи можете ви описати сенс, у якому він обчислював імовірнісні відповіді для великої кількості? Швидкий пошук не здається, я не можу знайти жодних посилань на це в Інтернеті.
Ніль де Бодорап

наскільки я розумію, він був використаний [серед інших цілей] для пошуку менших факторів великих тестових чисел, схожих на сито ерастостена. якщо пройшла велика кількість, це "ймовірно, не складений" або "можливо прем'єр", або "головний кандидат". на жаль, Інтернет не дуже гарний з історичними довідками та джерелами [навіть вікіпедія], книги краще. Докладніше внизу цієї сторінки , "типи проблем, які Лемер намагався вирішити", доктор Майк Вілліямс, головний куратор музею комп'ютерної історії Каліфорнії,
вз

1
машина (и), безумовно, може бути використана для реалізації імовірнісних алгоритмів - Так? На відміну від інших машин, які не можуть?
Jeffε

2
хоча термінологія в той час, можливо, не посилалася на "ймовірнісні алгоритми", вона, можливо, використовувалася таким чином у деяких випадках - [потрібна цитата] Якщо у вас є докази того, що "можливо просто", це формальне твердження про ймовірність, а не просто евристичний опис, будь ласка, цитуйте його. В іншому випадку, будь ласка, припиніть спекулювати.
Jeffε

n1n2n3nxx

-6

ось декілька випадків раннього і навіть давнього / доісторичного початку понять, пов'язаних з рандомізованими алгоритмами.

  • n/2

  • ігри на випадок та азартні ігри дуже давні. Із сучасної теорії ігри мають велику схожість, якщо не пряме з'єднання з алгоритмами. Ігральні / ігрові кістки, як відомо, мають вік не менше п'яти тисячоліть .

  • греки та римляни також мали концепцію малювання соломки, де людина, яка малює найкоротшу соломку, втратила. подібний до кістки, його в певному сенсі найпростіший можливий алгоритм зробити єдиний випадковий вибір.

  • повне розкриття, є відтінок кривавої історії та зв’язку. в іншій відповіді MDB згадує еволюцію . частина еволюції - це природний відбір, який також має паралель із людською війною - очевидно, невід'ємною частиною еволюції людських міст / суспільств. у певному розумінні війна - це сирий напів випадковий алгоритм "чогось", про який соціологи та історики досі сперечаються з приводу точних причин. крадіжка / грабіж? виділення ресурсів? територія? політична влада? раби? (тощо) римляни також мали жорстоку практику, яку називали децимацією(сучасне слово насправді в етимології походить від давнього!), в якому в якості покарання за заколот чи боягузтво кожного 10-го солдата, вибраного навмання, страчували солдати, що залишилися. це може здатися забутою і атавістичною практикою, але, схоже, є якась паралель сучасній російській рулеті , "сучасній" рандомізованій квазі-грі для самогубства.


1
Про це я не прошу; Я запитую про те, чи міркували вони про відносну частоту складених чисел у спосіб, який ви описуєте.
Niel de Beaudrap

1
Боюся, мене не цікавлять розпливчасті загальні риси, і мені здається цілком очевидним, що ми принципово не погоджуємося в тому, що таке "алгоритм". Мене цікавлять більше, ніж просто "явища". В іншому випадку ми можемо також навести всі квантові механічні події після Великого вибуху як приклади "рандомізованих алгоритмів", що робить весь предмет тривіальним.
Ніль де Бодорап

1
"м'яке запитання" не означає питання з нескінченно гнучкими межами; "історичний огляд" - це не те саме, що історичний ревізіонізм.
Ніль де Бодорап

2
Твій «натяк» на мене про еволюцію, ні те, що ти вважаєш себе марним на те, що мені не подобається, ні твоє ухилення від мого попереднього питання, не поважали. Насправді, ваша думка про те, що греки, напевно, знали про що ви говорите, але не намагалися писати про це - це саме одне з речей, на яке може посилатися "історичний ревізіонізм". (Можливо, Архімед винайшов десяткові позначення, але не намагався робити жоден запис; зрештою, Пісочний Реконер досить близько розмістити позначення, і греки використовували базову систему, схожу на 10. Але чи варто сприймати цю ідею серйозно ? Ні)
Ніль де Бодорап

1
Я погоджуюся, що це мислимо і що це навіть не дуже надумано - окрім, звичайно, від того, що у нас, здається, немає записів про греки, які самі по собі говорять про ймовірність. Але якщо є фактичний запис про це, ви повинні мати можливість фактично вказати на це. Інакше це спекуляція, а не історія.
Ніль де Бодорап

-7

JS згадує теорію чисел. Ферма приписують тест перманентності Ферма , імовірнісний алгоритм, який відноситься до 1600-х років і служить попередником більш сучасних тестів на первинність, таких як Соловай-Страссен та Міллер-Рабін. [знадобиться історик, який спеціалізується на теорії математики та чисел, щоб спробувати точно визначити те, що Фермат знав про це, порівняно з сучасними знаннями, які набагато повніше про структуру його псевдокрими (помилкові позитиви) тощо]


2
Чи можете ви навести Ферма як тест, який використовував його тест як спосіб фільтрації випадково вибраних цілих чисел як непрості (на відміну від просто цікавої властивості, яку мають прайси)? Чи, можливо, цитуйте раннього автора, який пропонує це зробити?
Niel de Beaudrap

як зазначено, точні деталі краще залишити професійному історику. проте зверніть увагу [додаток; слід було б згадати про це] простий історичний факт, що Ферма зараховують до основоположного співавтора теорії ймовірностей разом із паскалем, закладаючи основу в серії листів у середині 1600-х років.
vzn

2
не дуже доцільно пропонувати відповіді, грунтуючись на тому, що ви вважаєте, що хтось інший може виявити. Знову ж таки, це спекуляція.
Ніль де Бодорап

3
@vzn: Якби Ферма зрозумів, що Маленька теорема Ферма - хороший тест на первинність, він би порахував, що число 5-го Ферма не є простим . Це не було зроблено, поки Ейлер не розглядав це питання через 60 років після смерті Ферма.
Пітер Шор

2
@vzn: [цитування потрібне]
Jeffε
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.