Edit: Eu escolhi a resposta com a pontuação mais alta até 06 de dezembro de 2012.
Esta é uma pergunta suave.
O conceito de algoritmos (determinísticos) remonta a BC. E os algoritmos probabilísticos?
Em esta entrada wiki , o algoritmo de Rabin para o problema mais próximo par de geometria computacional foi dado como o primeiro algoritmo randomizado (Ano ???). Lipton introduziu o algoritmo de Rabin como o início da era moderna de algoritmos aleatórios aqui , mas não como o primeiro. Também conheço muitos algoritmos para autômatos finitos probabilísticos (um modelo computacional muito simples) descobertos durante a década de 1960.
Você conhece algum algoritmo (ou método) probabilístico / randomizado antes dos anos 1960?
ou
Qual descoberta pode ser vista como o primeiro algoritmo probabilístico / randomizado?
fonte
Respostas:
Isso é discutido um pouco no meu artigo com HC Williams, "Factoring Inteiros Before Computers"
Em um artigo de 1917, HC Pocklington discutiu um algoritmo para encontrar o sqrt (a), módulo p, que dependia da escolha aleatória de elementos para obter um não-resíduo de uma determinada forma. Nele, ele disse: "Temos que fazer isso [encontrar o não-resíduo] por julgamento, usando a Lei da Reciprocidade Quadrática, que é um defeito no método. Mas, como para cada valor de u, metade dos valores de t são adequados, não deve haver dificuldade em encontrar um ".
Portanto, essa é uma das primeiras menções explícitas a um algoritmo aleatório.
fonte
O algoritmo de agulha de Buffons para estimar , basicamente um método de Monte Carlo , data da publicação em 1777. observe que os métodos de Monte Carlo datam da década de 1940 com o projeto de bomba atômica "Manhattan" dos EUA e foram co-ventilados por Ulam, Von Neumann e Metropolis.π
fonte
O algoritmo Metropolis-Hastings foi publicado em 1953 e remonta ao projeto de Manhattan, muito antes de Rabin. Como muitos dos métodos aleatórios iniciais dados em outras respostas, é um algoritmo de Monte Carlo.
É possível que a afirmação na página da Wikipedia seja uma forma ilegível de que Rabin's foi o primeiro algoritmo de Las Vegas ?
fonte
A curva / distribuição normal gaussiana de estatísticas pode ser "computada" por muitos processos físicos muito simples. Uma das mais simples é uma placa com uma matriz de pinos em uma grade triangular (também conhecida como "caixa de Galton" datada de 1800), na qual os pinos são deslocados em meia distância quadrada em linhas alternadas. Soltando bolas repetidamente da mesma posição, as bolas deslocam-se aleatoriamente para a esquerda ou direita com probabilidade 0,5. A distribuição cumulativa registrada nas posições inferiores produz a curva gaussiana / normal.
fonte
Na minha opinião, a evolução natural é um algoritmo probabilístico bom e bastante antigo :-)
fonte
Há um artigo sobre algoritmos aleatórios em culturas 'primitivas' .
O uso de oráculos (por exemplo, ossos de galinha, pedras) para decidir onde caçar pode ser visto como um algoritmo aleatório. Pode-se argumentar que a randomização dos locais de caça impede a adaptação e a caça excessiva.
fonte
um dos artigos de "milagre" de Einsteins 1905 estava em movimento browniano , um exemplo físico clássico de uma caminhada aleatória e produz uma fórmula (isto é, basicamente um algoritmo, se o processo físico é o "computador") para estimar / calcular partículas (molécula) diâmetro dado outras constantes físicas conhecidas e observação / medição do deslocamento (aleatório) de partículas ao longo do tempo. este artigo também serviu como evidência teórica / experimental / fundamental para a teoria atômica da matéria.
fonte
a máquina também possui alguma semelhança com o mecanismo diferencial Babbage (~ 1830s). não é inteiramente inconcebível que Babbage ou Lovelace possam ter imaginado algo semelhante aos algoritmos probabilísticos. as máquinas podem certamente ser usadas para implementar algoritmos probabilísticos, emprestando a teoria moderna e superpondo-a ao passado.
[1] Máquina de fatoração Lehmer
[2] motor Babbage
Lehmer mod n & máquina de factoring
fonte
Aqui estão alguns casos do início e até da antiguidade / pré-história de conceitos relacionados a algoritmos aleatórios.
jogos de azar e jogos de azar são muito antigos. da teoria moderna, os jogos têm fortes semelhanças, senão conexões diretas com algoritmos. sabe-se que os dados de jogo / jogo têm pelo menos cinco milênios .
os gregos e romanos também tinham o conceito de desenhar canudos onde a pessoa que desenhava o menor canudo perdia. semelhante aos dados, em certo sentido, é o algoritmo mais simples possível para fazer uma única escolha aleatória.
divulgação completa, há um toque de história sangrenta e conexão. em outra resposta, o MDB menciona evolução . parte da evolução é a seleção natural, que também tem paralelos com a guerra humana - aparentemente uma parte intrínseca da evolução das cidades / sociedades humanas. de certo modo, uma guerra é um algoritmo semi-aleatório bruto para "algo" que sociólogos e historiadores ainda discutem sobre causas exatas. roubo / pilhagem? Alocando recursos? território? poder político? escravos? (etc.) os romanos também tinham uma prática horrenda chamada dizimação(a palavra moderna na verdade deriva em etimologia da antiga!), na qual, como castigo por motim ou covardia, todo décimo soldado selecionado aleatoriamente era executado pelos soldados restantes. pode parecer uma prática esquecida e atávica, mas parece ter alguma paralela à roleta russa moderna , um quase-jogo aleatório "moderno" para o suicídio.
fonte
JS menciona a teoria dos números. Fermat é creditado com o teste de primalidade de Fermat , um algoritmo probabilístico que data de 1600 e serve como precursor de testes de primalidade mais modernos, como Solovay-Strassen e Miller-Rabin. [seria necessário um historiador especializado em matemática e teoria dos números para tentar identificar exatamente o que Fermat sabia sobre ele versus o conhecimento moderno, que é muito mais completo sobre a estrutura de seus pseudo-tempos (falsos positivos) etc.]
fonte