October 3, 2008 – 10:29 am
Λοιπόν, οι φίλοι μας οι δημιουργιστές λένε ότι από το τυχαίο δεν μπορεί να παραχθεί τάξη αν το ανακατώνουμε με το τυχαίο. Κάποια μάλιστα δημιουργίστρια με εγκάλεσε λέγοντάς μου ότι το παραμύθι της -ότι, δηλαδή, ένας μεγάλος μαγικός μουσάτος μαλάκας με έναν χίπη γιό και ένα κατοικίδιο περιστεράκι έχωσε τα χέρια του στη λάσπη κι έφτιαξε αντί για λασπόπιτες τον Αδάμ- είναι πιο σωστό, λογικό και έξυπνο απο την άποψη των σύγχρονων βιολόγων ότι ο άνθρωπος εξελίχτηκε, επειδή όταν ανταλάσσουμε τυχαία στοιχεία το αποτέλεσμα θα είναι πάλι τυχαίο…
Ας κάνουμε λοιπόν ένα πείραμα:
Τα γράμματα της αγγλικής αλφαβήτου είναι 26.
Οι ενδεκαψήφιες λέξεις που μπορεί να βγάλουν είναι 26^11=3.670.344.486.987.776 δηλαδή πάνω απο τριάμισι τετράκις εκατομμύρια, ήτοι πεντακόσιες χιλιάδες φορές παραπάνω απο τους ανθρώπους που κυκλοφορούν στη γη αυτή τη στιγμη.
Απο αυτές η λέξη creationism είναι μία - και μόνο μία. Η πιθανότητα λοιπόν να πάρουμε μια τυχαία λέξη έντεκα ψηφίων, και να μας προκύψει η λέξη creationism είναι 1 προς τριάμισι τετράκις εκατομμύρια - σίγουρα πιο μικρή από το να κερδίσουμε το λότο.
Αν πάρουμε εκατό τέτοιες λέξεις, η πιθανότητα να μας προκύψει η λέξη creationism είναι σαφώς καλύτερη - αλλά όχι και πολύ.
Ας δοκιμάσουμε λοιπόν τι μας λέει αυτός ο βλάκας ο Δαρβίνος που δεν φτάνει ούτε μιαν αρχιδότριχα απο τη σοφία και την ευφυϊα του Μωυσή και που είναι ένας διανοητικός και πνευματικός νάνος μπροστά στον Γρηγόριο Παλαμά και τους Νηπτικούς…
Ας πάρουμε εκατό τυχαίες λέξεις των έντεκα γραμμάτων.
Ας διαλέξουμε τις είκοσι που είναι πιο κοντά στη λέξη creationism, και άρα καλύτερα προσαρμοσμένες, που λεει ο βλάκας ο Δαρβίνος. Θα το υπολογίσουμε εντελώς μπακάλικα: θα υπολογίσουμε την απόσταση του κάθε γράμματός τους απο το αντίστοιχο και θα κάνουμε τη σούμα.
Μας θέλει και σεξουαλική αναπαραγωγή; Θα το κάνουμε κι αυτό. Αυτές τις είκοσι λέξεις θα τις κάνουμε δέκα ζευγάρια και απο κάθε ζευγάρι θα βγάλουμε δέκα παιδιά, διαλέγοντας τυχαία γράμματα είτε από το ένα, είτε απο το άλλο ζευγάρι. Και επειδή ο Δαρβίνος ήταν και βλάκας, μια φορά στις πεντακόσιες, τυχαία, θα διαλέγουμε αντί για το σωστό γράμμα, ένα τυχαίο.
Και θ’ανακυκλώσουμε, μια… δυο… τρεις… χίλιες φορές…
Χίλιες γενιές - δηλαδή εκατό χιλιάδες λέξεις τυχαίες, πόσες είναι οι πιθανότητες οι νόμοι του βλάκα του Δαρβίνου να μας γεννήσουνε τη λέξη creationism έστω και μια φορα; 0.00000000003 -τόσο μου είπε το calculator. Άντε να φύγουν ένα δυό μηδενικά από το δεκαδικό αν διαφέρει σε ένα γράμμα - και πάλι περισσότερες πιθανότητες έχει να κάτσει το λόττο.
Εδώ παρακάτω είναι το πρόγραμμα σε python που χρησιμοποίησα για την εξομοίωση της παραπάνω σκέψης. Δοκιμάστε το και δείτε: 
[_______________________cut_from_here______________________________________]
import random
#create organisms list - initialize world
organisms=[]
fitnesslist=[]
parents=[]
target="creationism"
genelen=len(target)
allletters=’abcdefghijklmnopqrstuvwxyz’
#create totally random generation zero
for j in range(1,101):
a='’
for i in range(0,genelen): a=a+allletters[random.randint(0,25)]
organisms.append(a)
print "Generation Zero Created!"
print organisms
#evodevo begins
for generation in range(0,1000):
#calculate fitness of organisms and sort them
for i in organisms:
distance=0
for j in range(0,genelen):
distance+= abs(allletters.index(i[j])-allletters.index(target[j]))
fitnesslist.append((distance,i))
fitnesslist.sort()
del organisms[:]
#pick the 20 fittest
for j in range(0,20): parents.append(fitnesslist[j][1])
del fitnesslist[:]
#pair the organisms
while len(parents)>1:
pair1=parents.pop()
pair2=parents.pop()
#let each pair have ten descendants, season with 0.2% mutations per gene/letter
for k in range(0,10):
child='’
for l in range(0,genelen):
letter='’
tester=random.randint(0,500)
if tester<250:
letter=pair1[l]
elif tester<500:
letter=pair2[l]
else : letter=allletters[random.randint(0,25)]
child=child+letter
organisms.append(child)
#make the list the new organisms list and clean up your shit
if (generation in (1,5,10,50,100,200,500,1000)): print organisms
[_______________________cut_to_here________________________________________]
(το παρόν θα γινόταν ταινιάκι, τα αποτελέσματα του πειράματος τα έχω σε avi, ελπίζω προσεχώς… Δε δίνω spoiler, δείτε μόνοι/ες/α σας…)
Posted in Computing Crafts, Python, Ανορθολογισμός |
1 Comment »