Domanda:
Qual è il primo esempio di utilizzo di un algoritmo per risolvere i problemi?
forest
2019-02-23 13:58:20 UTC
view on stackexchange narkive permalink

Leggendo una descrizione su Usenet di un concorso del NIST per la selezione di un cifrario standard, ho letto:

Considera che i metodi attualmente conosciuti per la fattorizzazione utilizzano la randomizzazione : Costruisci un numero sufficiente di casi a caso e alla fine puoi incollarli insieme in una serie di fattori. Questa nozione di algoritmo è molto nuova - nella migliore delle ipotesi, ha 40-50 anni , anche se in termini di pratica effettiva, forse non ha più di 25 anni. La matematica in passato si è occupata di dimostrazioni, che possono essere costruttive o non costruttive. Storicamente sono state fornite prove costruttive come algoritmi deterministici.

Enfasi mia. So per certo che il concetto è molto più antico di così, poiché ci sono numerosi algoritmi che prendono il nome da persone dell'antichità classica. Questo mi fa chiedere quanti anni abbia realmente il concetto di algoritmo. Wikipedia dice semplicemente che esiste da secoli e cita il Setaccio di Eratostene come primo esempio. Qui definisco l'algoritmo come una serie inequivocabile di passaggi e procedure per risolvere un problema specifico, in particolare un problema matematico. Tieni presente che non sto chiedendo informazioni sulla terminologia , ma sulla prima istanza nota di un algoritmo ben definito.

Il [metodo babilonese per calcolare le radici quadrate] (https://en.wikipedia.org/wiki/Methods_of_computing_square_roots#Babylonian_method) risale al 60 d.C., ma mi aspetto che alcune cose siano ancora più vecchie
@JohnDvorak L '[algoritmo euclideo] (https://en.wikipedia.org/wiki/Euclidean_algorithm) è stato descritto nel 300 a.C.
Gli egiziani sembrano aver capito l'algoritmo di moltiplicazione tra il 1700 e il 2000 a.C. fa. https://en.wikipedia.org/wiki/Timeline_of_algorithms
Il concetto di algoritmo è antico quanto la matematica stessa. La matematica antica babilonese consisteva principalmente di algoritmi. Questo era ancora prima della scoperta delle prove.
Se non lo limiti alla matematica, gli algoritmi sono vecchi come la vita. L'algoritmo per l'acqua potabile (avvicinarsi alla piscina, aprire la bocca, applicare l'aspirazione, deglutire) per esempio. Potresti voler utilizzare una definizione più rigorosa di _algoritmo_.
Penso che la citazione "questa nozione di algoritmo" si riferisca a un algoritmo che utilizza la randomizzazione come menzionato poco prima. Questo è ciò che al massimo ha 40-50 anni. Non algoritmi in generale.
@terdon Se qualcuno ha scritto istruzioni passo passo esplicite e deterministiche per risolvere il problema dell'acqua potabile in modo tale che una persona che non sa bere l'acqua possa seguirlo e riuscire a bere, lo considererei un legittimo (anche se sciocco ) istanza di un algoritmo.
@terdon: "* L'algoritmo per l'acqua potabile *" --- Stavo pensando (prima di leggere il tuo commento simile) a cose come indicazioni (ovviamente fornite verbalmente molto tempo fa) per viaggiare da un luogo a un altro di diversi giorni di viaggio dove è necessario evitare pericolosi punti di abbeveraggio dei predatori e dimore conosciute di nemici umani, e avere luoghi in cui si trovano ruscelli e cespugli di bacche (cioè fonti di acqua e cibo), ecc.
Sono d'accordo con il campo che afferma che qualsiasi serie definita di passaggi si qualifica come un algoritmo. Quindi, almeno fin dall'agricoltura (semi di piante, campi d'acqua, cibo per il raccolto), c'erano algoritmi.
@CarlWitthoft Sono mai stati definiti formalmente in una serie di passaggi inequivocabili in modo tale che una persona senza alcuna conoscenza di quali semi, acqua o raccolta possa eseguirla in modo identico a un agricoltore? Dare semplicemente istruzioni non è sufficiente per garantire l'uso del termine _algoritmo_.
Sarei pronto a scommettere che qualcuno senza alcuna conoscenza del nostro uso di simboli scritti e di altri metodi moderni per trasmettere "passi inequivocabili" non lo farebbe nemmeno approssimativamente a un agricoltore. Penso che un problema significativo sia porre una domanda del genere in un modo che non è molto prevenuto rispetto ai tempi recenti. Letture utili: [* Vizi storiografici I. Attribuzione logica *] (https://doi.org/10.1016/0315-0860 (75) 90144-5) e [* Vizi storiografici II. Priority chasing *] (https://doi.org/10.1016/0315-0860 (75) 90072-5) (specialmente "II"), entrambi del 1975 di Kenneth O. May.
Ricordo la piccola [storia di Carl Friedrich Gauss che calcola somme enormi] (https://betterexplained.com/articles/techniques-for-adding-the-numbers-1-to-100/) da un trucco / algoritmo intelligente e suppongo che il il primo tipo di algoritmo era relativo all'addizione, poiché tutti gli altri tipi di operazioni matematiche possono essere basate sull'addizione. E la matematica è iniziata con il conteggio e sappiamo che anche alcuni animali possono contare, quindi gli umani sono gli unici che sviluppano e applicano algoritmi matematici alla mia conoscenza. (Forse interessante chiedere su biology.se, ma sarei sorpreso se le strategie di problem solving applicate da sma
Una risposta:
Gerald Edgar
2019-02-24 04:41:56 UTC
view on stackexchange narkive permalink

Sicuramente il Rhind Papyrus (intorno al 1500 a.C.) contiene molti algoritmi. A quel tempo, queste cose venivano presentate in questo modo: esporre un problema specifico, quindi mostrare come risolverlo. Dopo diversi di questi problemi / soluzioni, l'algoritmo dovrebbe essere chiaro e lo studente può risolvere problemi simili allo stesso modo.

Questo sembra contenere solo esempi di problemi matematici e delle loro soluzioni. Potrebbe aver permesso alle persone di inventare algoritmi, ma non ne vedo esplicitamente menzionato.


Questa domanda e risposta è stata tradotta automaticamente dalla lingua inglese. Il contenuto originale è disponibile su stackexchange, che ringraziamo per la licenza cc by-sa 4.0 con cui è distribuito.
Loading...