Questo potrebbe essere un po 'aperto, ma ho sentito una spiegazione di questo talk su come GP può essere usato per correggere bug, e mi chiedo: in che cosa differisce dal teorema della scimmia infinita?
Questo potrebbe essere un po 'aperto, ma ho sentito una spiegazione di questo talk su come GP può essere usato per correggere bug, e mi chiedo: in che cosa differisce dal teorema della scimmia infinita?
GP si basa su "evoluzione", mentre il Teorema della Scimmia Infinita è solo casuale. In GP, hai uno o più indicatori di fitness che vengono utilizzati per valutare una generazione di possibili soluzioni da "allevare" per creare una nuova generazione. Ognuno, più che probabile, ottiene una soluzione migliore e migliore. L'IMT ha più a che fare con un numero sufficiente di candidati che alla fine si verificheranno tutte le combinazioni.
La cosa sulle scimmie è che la maggior parte di loro sono terribili scrittori, motivo per cui avremmo bisogno di un numero infinito di loro. Le tue scimmie infinite produrranno davvero delle grandi opere letterarie (tutte in realtà), ma produrranno anche un sacco di schifezze (sia letterali che figurative). Speriamo che l'utilizzo di un algoritmo genetico ci consenta di produrre alcune grandi opere letterarie, mantenendo al minimo la schifezza.
Per prima cosa prendiamo un (relativamente) grande numero di scimmie distribuite tra vari tratti (forse il colore dei capelli, la lunghezza della coda o quanto spesso tirano la cacca contro di voi). Poi li mettiamo tutti in una gabbia in modo che possano riprodursi. Alla fine si riprodurranno così tanto che ci sono più progenie di quanto originariamente avevi. Queste nuove scimmie sono ciascuna una combinazione casuale di scimmie delle generazioni precedenti. Esporremo anche le scimmie a radiazioni da leggere a moderate per aggiungere un po 'più di casualità per una buona misura.
Ora che abbiamo una nuova generazione di scimmie è giunto il momento di metterli alla prova. Dare a ciascuno di loro carta e penna e dire loro di scrivere una storia. Una volta che hanno finito di leggere le loro storie e mantenere le scimmie che hanno prodotto le storie "migliori" e vendere il resto al circo. Continua questo processo di allevamento e potatura per diversi milioni di anni e dovresti ritrovarti con un gruppo di super scimmie in grado di sfornare costantemente i classici della letteratura senza tutte le schifezze prodotte dalle tue scimmie infinite.
C'è molta casualità qui (dipende da quante radiazioni hai usato) ma selezionando solo le migliori scimmie per continuare ad ogni generazione la casualità si spera converga sulla soluzione che stai cercando senza dover affrontare una quantità infinita di scimmie. È vero che una quantità infinita di scimmie ti darebbe la risposta che desideri, ma poi avresti bisogno di una quantità infinita di tempo per guadare la loro infinita quantità di merda.
Il teorema della scimmia infinita si basa sulla vastità di un numero infinito di cose. Un numero infinito di scimmie che colpiscono a caso le tastiere genereranno istantaneamente non solo Shakespeare ma ogni opera mai scritta e ogni opera mai scritta un numero infinito di volte. Compreso ciò che le scimmie hanno appena digitato. (In che modo un set si contiene da te? È infinito).
La programmazione genetica richiede un gran numero di lavoratori (molto meno di infinito) e seleziona i migliori candidati in base all'idoneità della loro produzione. Questi lavoratori sono quindi mutati e hanno permesso di eseguire di nuovo i sopravvissuti della prossima generazione selezionati in base all'idoneità.
È interessante notare che esiste un simulatore IMT che utilizza la programmazione genetica per ottenere razze migliori e migliori di scimmie ogni generazione. Dopo aver corso per 10k generazioni, è stato in grado di produrre le prime 18 righe di Hamlet da quello che ricordavo.
Un altro modo di guardarlo è in termini di probabilità. Diciamo che abbiamo uno spazio X di configurazioni e una funzione per valutare quanto siano buone queste configurazioni, f. Per trovare buone soluzioni, elementi in X che hanno un alto valore f, dobbiamo trovare un modo per campionare X. Due strategie per campionare lo spazio sono Infinite Monkey (IM) e Genetic Programming (GP).
La differenza sta nel modo in cui X è campionato. Nella strategia di messaggistica istantanea, il campionamento è completamente uniforme. In Genetic Programming, una serie iniziale di punti viene presa in modo uniforme, ma poi le varie colline e valli di fitness (secondo f) vengono esplorate da lì.
Leggi altre domande sui tag genetic-algorithms