Τεχνολογίες των Αναπαραστάσεων Cellular Automata on Architectural Design Βασιλική Μαρία Πλαβού
2
ΠΕΡΙΕΧΟΜΕΝΑ
3
Πρόλογος
4
Ιστορικά από το αντικείμενο στη διαδικασία
7
Ανάλυση η έννοια της ανάδυσης
9 11
Ορισμός κυτταρικά αυτόματα game of life
13 17 20 23 29
Aνάδυση και κυτταρικά αυτόματα αναδυόμενα patterns στο game of life σχέση της ανάδυσης με τα κυτταρικά αυτόματα από το game of life στο Turing machine τάξεις των κανόνων των κυτταρικών αυτομάτων universal Turing machine the Turing Dimension: μία φιλοσοφική ερμηνεία του computaion
34 36 38 40
Παραδείγματα computational basketry synesthesia Cellular Automat-an Hacienda
42
Συμπεράσματα
43
Βιβλιογραφία
3
κυτταρικά αυτόματα
ΠΡΟΛΟΓΟΣ
Η εργασία εξετάζει την εισαγωγή και τη χρήση συγκεκριμένων αλγοριθμικών ακολουθιών- των κυτταρικών αυτομάτων- στον αρχιτεκτονικό σχεδιασμό. Στη σύντομη ιστορική αναδρομή παρουσιάζεται το πλαίσιο, το οποίο διαμόρφωσε τις κατάλληλες συνθήκες για τη μετατόπιση προς έναν παραμετρικό σχεδιασμό. Σήμερα, ολοένα και περισσότερο μιλούμε για τα φαινόμενα ανάδυσης και τις διαδικασίες από κάτω-προς τα πάνω, τόσο στο πλαίσιο μιας αντίληψης του κόσμου, όσο και στο πλαίσιο του σύγχρονου αλγοριθμικού σχεδιασμού. Στο πεδίο των φαινομένων ανάδυσης ανήκουν και τα κυτταρικά αυτόματα. Η φύση, οι εφαρμογές, οι ποιότητες αυτού του μαθηματικού μοντέλου αναλύονται και επανατροφοδοτούν τη σύγχρονη αρχιτεκτονική σκέψη. Τέλος, παρουσιάζεται μία σειρά παραδειγμάτων διαφορετικής κλίμακας, που χρησιμοποιούν τα κυτταρικά αυτόματα ως βασικό κομμάτι του προβληματισμού και της σχεδιαστικής διαδικασίας.
4
κυτταρικά αυτόματα
ΙΣΤΟΡΙΚΑ
από το αντικείμενο στη διαδικασία
Η εισαγωγή αλγοριθμικών προσεγγίσεων στον αρχιτεκτονικό σχεδιασμό, συμπεριλαμβανομένων των κυτταρικών αυτομάτων, αποτελεί ένα τεκμήριο μετατόπισης του ενδιαφέροντος από το αρχιτεκτονικό αντικείμενο με τους παραδοσιακούς τρόπους σύλληψης και αναπαράστασης αυτού προς μία νέα εκδοχή πρακτικής, βίωσης και αναπαράστασης του χώρου. Σε αυτή τη νέα εκδοχή τα σύγχρονα ψηφιακά μέσα αποτελούν τα βασικά εργαλεία επεξεργασίας της. Οι βάσεις για κάτι τέτοιο έχουν ήδη τεθεί από τη δεκαετία του ’80 με την εκτεταμένη χρήση των διαγραμμάτων. Η εποχή σαφώς επηρεασμένη από τις θεωρήσεις του Deleuze παρουσιάζει πλήθος τέτοιων αρχιτεκτονικών τεκμηρίων. Για τον τελευταίο, το διάγραμμα αποτελεί τη βασική γεωμετρική μορφή των μελών ενός συνόλου και του τρόπου με τον οποίο αλληλοσχετίζονται. Τα διαγράμματα αυτά, ή διαφορετικά “οι αφηρημένες μηχανές”, είναι κρίσιμα εργαλεία γνώσης, διάγνωσης, ανάλυσης και μπορούν να επιφέρουν πλήθος μετασχηματισμών. Το διάγραμμα δεν είναι ρεαλιστικό, αλλά πλάθει ένα νέο τύπο πραγματικότητας. Στη συνέχεια το κίνημα της Αποδόμησης συνέχισε και εξέλιξε τη διαγραμματική πρακτική. Η διαφορά, που αναδεικνύεται σε εξέχουσας σημασίας έννοια, αποτελεί το εφαλτήριο για την πράξη της δημιουργίας του χώρου μέσα από την κατάτμηση και τη συνάντηση των διακριτών ενοτήτων. Η διαγραμματική πρακτική γίνεται όλο και πιο δημοφιλής, καθώς το ενδιαφέρον συγκεντρώνεται στη διαδικασία παραγωγής του τελικού αντικειμένου και όχι μόνο στο ίδιο. Παράλληλα, η εξέλιξη των σχεδιαστικών μέσων και των ψηφιακών εργαλείων βοηθούν στην άσκηση της διαγραμματικής πρακτικής. Τα διαγράμματα πλέον - μέσα από τη διαδικασία ταξινόμησης της πληροφορίας- ανταποκρίνονται σε ένα δυναμικό πεδίο απαιτήσεων και δράσεων, που χαρτογραφούν και μορφοποιούν το εκάστοτε “πρόβλημα”. Στη δεκαετία του ’90 η διείσδυση της ψηφιακής τεχνολογίας στο σχεδιασμό λαμβάνει το ρόλο της γενεσιουργού δύναμης της μορφής, και όχι απλά ενός εξελιγμένου μέσου αναπαράστασης. Η ανατροπή εντοπίζεται στη μετατόπιση από την αποδημητική λογική των διαφορών στη ρέουσα λογική του Deleuze1. Κατά αυτόν τον τρόπο, η πραγματικότητα συγκροτείται με μία μη γραμμική ακολουθία αιτίας και αιτιατού. Το νέο ροϊκό και συνεκτικό μοντέλο, με έμβλημα την πτύχωση, περιγράφει μία τοπολογική αντίληψη της μορφής. Ο αρχιτέκτονας βρίσκεται σε θέση να αντιμετωπίσει τις απροσδιοριστίες της διαδικασίας σύλληψης του αντικειμένου. Έτσι, στήνει ένα σύστημα παραγωγής μορφών, που έχει τη δυνατότητα παρακολούθησης και ελέγχου της συμπεριφοράς,
5
κυτταρικά αυτόματα
μέσα στο χρόνο και σε σχέση με τις μεταβαλλόμενες παραμέτρους. Η αναπαράσταση εδώ παρουσιάζει ένα πλήθος μετασχηματισμών που αναδεικνύουν της δυνατότητες και τις δυνητικότητες ενός αντικειμένου, ενσωματώνοντας το μέγιστο της ποιοτικής πληροφορίας. Σήμερα, τα σύγχρονα λογισμικά τρισδιάστατου ψηφιακού σχεδιασμού παρέχουν περισσότερες δυνατότητες στο χρήστη μέσω της χρήσης γλώσσας του προγραμματισμού και της παραμετροποίησης των ρυθμίσεών τους. Ο χρήστης πλέον μπορεί να εισαγάγει αλγοριθμικές ακολουθίες, οι οποίες με τη σειρά τους επιτρέπουν την παραμόρφωση των αντικειμένων. Η εκτεταμένη χρήση των γλωσσών προγραμματισμού επιτρέπει στο σχεδιαστή την παραγωγή ενός αποτελέσματος μέσα από μία πλήρως ελεγχόμενη διαδικασία τεσσάρων διαστάσεων, που αναγάγεται σε βασικό αντικείμενο επεξεργασίας.
1. Gilles Deleuze| Felix Guattari, Mille Plateaux, Paris, Minuit,a980, σελ.177
6
2. Steven Johnson, Emergence: The Connected Lives of Ants, Brains, Cities, and Software, New York, Scribner, σελ.12
3. Bottom-up και top-down είναι στρατηγικές επεξεργασίας και ιεράρχησης της πληροφορίας στις ανθρωπιστικές και επιστημονικές θεωρήσεις. Το bottom-up αναφέρεται σε συνθετικές διαδικασίες κυρίως. Στην bottom-up προσέγγιση κανείς εξετάζει το input (μοναδιαία στοιχεία) του περιβάλλοντος με μεγάλη λεπτομέρεια, και στη συνέχεια οργανώνει αυτά σε μεγαλύτερα σύνολα, ώστε τελικά να παράξουν ένα άρτιο μοντέλο αντίληψης. Από το μέρος στο όλο, από το απλό στο πολύπλοκο.
7
κυτταρικά αυτόματα
ΑΝΑΛΥΣΗ η έννοια της ανάδυσης
Στα μέσα του 19ου αιώνα, ο όρος emergnce εισαγάγεται στο πεδίο των επιστημονικών θεωρήσεων. Με αφετηρία το παράδειγμα της σύστασης του νερού (όπου αντιλαμβανόμαστε πλέον τη διαφορά της φυσικής και της χημείας), ανακαλύπτεται μία νέα τάξη φαινομένων που δεν ακολουθούν μία αιτιακή -άρα προβλέψιμη- συνέχεια. Το φαινόμενο της ανάδυσης είναι απρόβλεπτο και παρουσιάζει μία πολύπλοκη συμμετρία ως προς τα χαρακτηριστικά του. Ιδιότητες, δυνατότητες και τάσεις δε λειτουργούν ανεξάρτητα, ούτε παραμένουν ακέραιες, αλλά σχηματίζουν ένα σύστημα όπου όλα τα επίπεδα πληροφορίας συνυπάρχουν, συσσωρεύονται, αλληλοεπηρεάζονται και διαδρούν. Ο όρος χρησιμοποιείται ευρέως για την περιγραφή μιας ανώτερης τάξης πολυπλοκότητας που προκύπτει από το χάος, στο οποίο νέες και συνεκτικές δομές συγχωνεύονται μέσω των αλληλεπιδράσεων των ποικίλων ενοτήτων του συστήματος2. Το φαινόμενο της ανάδυσης συμβαίνει όταν αυτές οι αλληλεπιδράσεις διαταράσσονται προκαλώντας το σύστημα να διαφοροποιηθεί και να μετασχηματισθεί σε κάτι νέο. Αναφέρεται σε bottom-up3 διαδικασίες και αυτο-οργανωτικά συστήματα.
8
4. Manuel DeLanda, Philosophy and Simulation, The Emergance of Synthetic Reason, New York, Continuum, σελ.23
9
κυτταρικά αυτόματα
ΟΡΙΣΜΟΣ κυτταρικά αυτόματα
Τα κυτταρικά αυτόματα είναι διακριτά μοντέλα. Το κυτταρικό αυτόματο αποτελείται από έναν κάνναβο. Κάθε κύτταρο/ κελί του οποίου μπορεί να έχει μία από τις δύο καταστάσεις, γεμάτο ή άδειο- 1 ή 0 αντίστοιχα και μία συγκεκριμένη σειρά κανόνων που καθορίζουν τον τρόπο με τον οποίο αλλάζει η κατάσταση του κυττάρου σε σχέση με το χρόνο. Τα κύτταρα μπορούν να είναι τριγωνικά, ορθογωνικά, εξαγωνικά ή οποιουδήποτε σχήματος αρκεί να περιγράφουν τον κάνναβο και να συνδέονται μεταξύ τους με πλευρική ή γωνιακή επαφή4. Μετά την εφαρμογή των κανόνων σε κάθε κύτταρο του κανάβου παράγεται μία νέα γενεά (“κυττάρων”). Οι κανόνες εφαρμόζονται σε σχέση με τα γειτονικά κύτταρα κάθε κυττάρου. Έτσι η κατάσταση κάθε κυττάρου στη γενεά ν ορίζεται από την κατάσταση των γειτονικών του κυττάρων κατά τη γενεά ν-1.
10
5. Manuel DeLanda, Philosophy and Simulation, The Emergance of Synthetic Reason, New York, Continuum, σελ.23
Στιγμιότυπο από game of life σε μεγάλο κάνναβο (1024*768) σε προσομοίωση στο Processing (καρέ από το επισυναπτόμενο video)
11
κυτταρικά αυτόματα
ΟΡΙΣΜΟΣ game of life
Το πιο γνωστό παράδειγμα κυτταρικών αυτομάτων είναι το Game of Life του John Conway, ένα μοντέλο που προσπαθεί να προσομοιώσει την πραγματική ζωή των κυττάρων. Τα κύτταρα που καλύπτουν τον κάναβο είναι ορθογωνικού σχήματος, έχουν προκαθορισμένους κανόνες για τη “ζωή” τους και το καθένα μπορεί να έχει μόνο μία κατάσταση, “ενεργή” ή “ανενεργή” (όπως τα κύτταρα στη φύση είναι αντίστοιχα “ζωντανά” ή “νεκρά”)5. Το Game of Life δεν είναι ένα σύνηθες “παιχνίδι” στον υπολογιστή, καθώς δεν απαιτεί τη συνεχή διάδραση του χρήστη με τον υπολογιστή. Αρχικά, ο χρήστης απλά ορίζει την κατάσταση στην οποία βρίσκεται ένα κύτταρο (“ζωντανό” ή “νεκρό”) και στη συνέχεια παρακολουθεί παθητικά πως τα κύτταρα επηρεάζουν και επηρεάζονται από τα γειτονικά τους κύτταρα. Οι κανόνες που διέπουν το Game of Life είναι σαφείς και πάρα πολύ απλοί. Εάν ένα ζωντανό κύτταρο έχει έναν ή περισσότερους από τρεις γείτονες ζωντανούς, τότε αυτό γίνεται νεκρό. Εάν σε μία δεδομένη στιγμή ένα κύτταρο είναι ζωντανό και έχει δύο “γείτονες” που είναι ζωντανοί, τότε θα παραμείνει στην ίδια κατάσταση που βρισκόταν (για την επόμενη γενεά). Εάν το κύτταρο είναι νεκρό και τρεις από τους γείτονές του είναι ζωντανοί, τότε αυτό επανέρχεται σε κατάσταση ζωής. Οι κανόνες εφαρμόζονται σε ολόκληρο τον πληθυσμό ταυτόχρονα και για όσες γενεές επιθυμούμε να διαρκέσει η προσομοίωση. Μία από τις πιο σημαντικές ιδιότητες των κυτταρικών αυτομάτων είναι ότι πρόκειται για μία αυτο-αναφορική διαδικασία κατά την οποία το αποτέλεσμα (output) της κάθε γενεάς χρησιμοποιείται ως εισαγωγή (input) στην επόμενη. Μία ακόμη ιδιότητα είναι το γεγονός ότι με μία σειρά σαφώς προκαθορισμένων κανόνων (και άρα μη αναδυόμενων), μπορούμε να παρακολουθήσουμε τα patterns που προκύπτουν από την ανάδραση των κυττάρων. Τα patterns αυτά αποτελούν πολύπλοκες δομές με αναδυόμενες τάσεις και δυνατότητες.
12
_game of life
_glider
_block
13
κυτταρικά αυτόματα
ΑΝΑΔΥΣΗ ΚΑΙ ΑΥΤΟΜΑΤΑ
ΚΥΤΤΑΡΙΚΑ
αναδυόμενα patterns στο game of life
Εάν επιτρέψουμε σε ένα Game of Life να “τρέξει”, θα παρατηρήσουμε πως το σύστημα παρουσιάζει δύο τάσεις. Από τη μία, η τάση του να παραμένει σε μία σταθερή κατάσταση και από την άλλη, η τάση του να ταλαντεύεται μεταξύ καταστάσεων. Το Game of Life αποτελεί μια τέταρτη τάξη των CA στην ταξινόμηση που κάνει ο Wolfram. To Game of Life αποτελεί ένα πλούσιο ψηφιακό περιβάλλον, κατά το οποίο σταθερές δομές και άλλες πολυπλοκότερες που έχουν την τάση να ανακυκλώνουν μια σειρά σχηματισμών, “έρχονται σε ζωή”. Όλα αυτά τα πιθανά patterns ταξινομούνται σε ένα “γενεαλογικό” αρχείο. Μία από τις γνωστότερες σταθερές δομές είναι αυτή του block, ένα pattern που αποτελείται από τέσσερα γειτονικά κύτταρα ταυτόχρονα “ζωντανά”. Τα διαρκή και σταθερά patterns ονομάζονται still lifes. Στην δεύτερη κατηγορία, οι δομές ταλατεύονται μεταξύ δύο συνδυασμών ξανά και ξανά. Η κατηγορία αυτή συγκροτείται από μία σειρά δομών που ονομάζονται oscillators. Ο σχηματισμός blinker είναι ο πιο απλός oscillator και αποτελείται από τρία γειτονικά κύτταρα στη σειρά. Το blinker παρουσιάζει την τάση να σχηματίζει μία σειρά κατά τη γενεά ν, και στήλη κατά τη γενεά ν+1. Ενώ το blinker αλλάζει μεταξύ δύο φάσεων (μπρος και πίσω), υπάρχουν άλλα πολυπλοκότερα oscillators τα οποία υποβάλλονται σε μία σειρά αλλαγών πριν επιστρέψουν στην αρχική τους κατάσταση και επαναλαμβάνουν την ακολουθία ξανά. Στην τρίτη αυτή κατηγορία ανήκει το spaceship, που παρουσιάζει την τάση της μετατόπισης στην ήδη υπάρχουσα ρυθμική συμπεριφορά. Το πιο απλό της κατηγορίας αποτελείται από πέντε ζωντανά κύτταρα τοποθετημένα σε σχήμα V που ανακυκλώνουν τέσσερις φάσεις, η τελευταία των οποίων είναι σαν την αρχική αλλά μετατοπισμένη κατά ένα κύτταρο διαγώνια. Έτσι, το pattern σαρώνει και γλιστρά σε όλη την οθόνη, οπότε αναφερόμαστε σε αυτό ως glider. Τα still lifes, oscillators, spaceships αποτελούν τα πιο ξεκάθαρα
14
_spaceship
6. Manuel DeLanda, Philosophy and Simulation, The Emergance of Synthetic Reason, New York, Continuum, σελ.25
_blinker
15
κυτταρικά αυτόματα
αναδυόμενα patterns των αυτομάτων. Όσο ο αριθμός των patterns που διαδρούν αυξάνεται, δημιουργούνται περισσότερα colliding events, και υπάρχει έτσι μεγαλύτερη πιθανότητα για τη δημιουργία ενδιαφέροντων patterns. Για παράδειγμα, το glidder gun είναι ένα oscillating pattern που αποτελείται από 13 glider (σε μία πιο πολύπλοκη εκδοχή του ίδιου του glidder), παράγοντας ένα συνεχές ρεύμα από gliders. Αντίστοιχοι μηχανισμοί συναντώνται στα still lifes- τα οποία παρουσιάζουν τη δυνατότητα της αναδόμησης, όταν συναντώνται με ένα διαφορετικό pattern που έχει την τάση να τα καταστρέφει. Η γνώση τέτοιων τάσεων μπορεί να χρησιμοποιηθεί για την κατασκευή μηχανοποιημένων patterns. Η έναρξη ενός Lifesession με έναν τυχαίο πληθυσμό κυττάρων επιτρέπει την αυθόρμητη ανάδυση των απλούστερων σχηματισμών, όπως blocks, blinkers, gliders. Η αυθόρμητη ανάδυση εξηγείται από το γεγονός ότι οι απλούστερες δομές, αποτελούμενες από λιγότερα κύτταρα, παρουσιάζουν μεγαλύτερη πιθανότητα να “συμβούν”. Οι πιθανότητες για τη δημιουργία ενός μεγάλου pattern αυξάνονται, καθώς αυξάνονται οι συχνότητες των ακολουθιών που μπορούν να προκαλέσουν μία νέα “σύγκρουση” από patterns που έχουν ήδη προηγηθεί. Τα περισσότερα από τα μεγάλα και πολύπλοκα patterns πρέπει να “κατασκευασθούν”. Το προαναφερθέν glider gun είναι ένα κλασικό παράδειγμα engineered pattern. Βασίστηκε στην ιδέα του shuttle, ενός απλού τριγωνικού pattern με μικρή διάρκεια ζωής, που μετατοπίζεται όπως το spaceship, αλλά περιοδικά αλλάζει κατεύθυνση. Η μικρή διάρκεια ζωής του οφείλεται στο γεγονός ότι κατά κάποιον τρόπο, ο ίδιος τρόπος ανάπτυξής του στρέφεται και εναντίον του εαυτού του, καταστρέφοντας την ίδια τη δομή. Σε μία ανάδραση του pattern αυτού με σταθερά blocks σε στρατηγική θέση που μπορεί να αναστείλει την “καταστροφή” του shuttle, το pattern μπορεί να σταθεροποιηθεί. Όταν δύο shuttle σταθεροποιηθούν και τεθούν σε σύγκρουση μεταξύ τους, τότε μπορούν να παράγουν ένα glider gun ανά τριάντα γενεές. Τα engineered patterns6 επιτρέπουν να διαγνώσουμε αν τα αναδυόμενα patterns μιας κλίμακας μπορούν αποτελέσουν συστατικά κομμάτια μεγαλύτερων patterns με τις δικές τους ιδιότητες ανάδυσης. Κάτι τέτοιο είναι πολύ σημαντικό για την κατασκευή ενός αυτομάτου με πολύ μεγαλύτερη υπολογιστική δυνατότητα.
16
Λογισμικά Προσομοίωσης
Για την εισαγωγή των κυτταρικών αυτομάτων στον αρχιτεκτονικό σχεδιασμό, χρησιμοποιούνται αρκετά προγράμματα. Οι πιο γνωστές εφαρμογές είναι: Processing (με την εφαρμογή και τη “μορφοποίηση” του κώδικα | οι εφαρμογές του Processing απευθύνονται σε δισδιάστατο και τρισδιάστατο χώρο) Rhino (ένα κατ’εξοχήν ψηφιακό μέσο αναπαράστασης, που με το plug in του Grasshoper, μας δίνει τη δυνατότητα της επέμβασης στο αντικέιμενο με ψευδοκώδικα) Blender (λογισμικό που επιτρέπει την προσομοίωση των κυτταρικών αυτομάτων, καθώς και άλλων αυτο-οργανωτικών συστημάτων, που αποτέλεσαν ερευνητικά πεδία στον αρχιτεκτονικό προβληματισμό) Maya (η χρήση της προσομοίωσης των κυτταρικών αυτομάτων απαιτεί τη γνώση κώδικα Mel) 3d studio max (κι εδώ είναι απαραίτητη η γνώση κάποιου κώδικα)
_αρχή
17
κυτταρικά αυτόματα
ΑΝΑΔΥΣΗ ΚΑΙ ΑΥΤΟΜΑΤΑ
ΚΥΤΤΑΡΙΚΑ
σχέση της ανάδυσης με τα κυτταρικά αυτόματα
Τα κυτταρικά αυτόματα αποτελούν χαρακτηριστικό πεδίο έρευνας για τη μελέτη των φαινομένων ανάδυσης. Το πρόβλημα της ανάδυσης έχει να κάνει με την παρουσία μίας ανώτερης τάξης χαρακτηριστικών και ιδιοτήτων σε ένα σύστημα, που από τη μία πλευρά έχουν τις ρίζες τους σε βασικές και απλές ιδιότητες του συστήματος, και από την άλλη πλευρά, δεν είναι δυνατή η πρόβλεψη της τελικής κατάστασης του συστήματος Οι μελετητές των κυτταρικών αυτομάτων αναγνωρίζουν ότι τα συστημικά χαρακτηριστικά των κυτταρικών αυτομάτων δεν μπορούν να είναι προβλέψιμα, παρόλο που τα κυτταρικά αυτόματα μοιάζουν να είναι ένα απλό και ελεγχόμενο περιβάλλον. Ο Wolfram υποστηρίζει πως ακόμα κι αν οι βασικοί κανόνες ενός συστήματος είναι απλοί, ακόμα κι αν οι αρχικές συνθήκες είναι πολύ απλές, η συμπεριφορά του συστήματος αποδεικνύει πως μπορεί να είναι εξαιρετικά πολύπλοκη. Τα κυτταρικά αυτόματα απαντούν σε επιστημολογικά και οντολογικά ερωτήματα, όπως πως αναγνωρίζει κανείς την ανάδυση, ποια είναι η οντολογική κατάσταση των υψηλότερου επιπέδου χαρακτηριστικών και ιδιοτήτων; Το ζήτημα του εντοπισμού της ανάδυσης συνδέεται με εννοιολογικά ζητήματα του προσδιορισμού του τι είναι ένα αναδυόμενο χαρακτηριστικό. Μόνο όταν καταλάβουμε τι είναι αυτό που ψάχνουμε, μπορούμε να εξετάσουμε την χωροχρονική εξέλιξη ενός συστήματος και να αναγνωρίσουμε τα patterns του. Το βασικό χαρακτηριστικό των κυτταρικών αυτομάτων που ελκύει τους μελετητές τους είναι κυρίως οι υπολογιστικές τους δυνατότητες. Ας ξεκινήσουμε με ένα παράδειγμα που ανήκει στην κατηγορία των προβλημάτων ταξινόμησης. Θέλουμε να σχεδιάσουμε ένα μονοδιάστατο αυτόματο που απαντά στο ερώτημα “Υπάρχουν περισσότερα μαύρα ή λευκά κύτταρα σε μία συγκεκριμένη στιγμή t0”. Ξεκινώντας από μία αρχική συνθήκη όπου υπερτερούν σε αριθμό τα λευκά κύτταρα, τότε μετά από έναν αριθμό βημάτων, όλα τα κύτταρα γίνονται λευκά. Ενώ το ζητούμενο θα ήταν απλό για μια σειριακή υπολογιστική συσκευή, δεν είναι το ίδιο για τα κυτταρικά αυτόματα, καθώς ανέσυρε αυτό το ζήτημα της ανάδυσης. Εδώ τα κύτταρα λειτουργούν με κανόνες εντοπιότητας- δεν υπάρχει ούτε ένα κύτταρο που μπορεί να κάνει το μέτρημα. Το ιδανικό αυτόματο θα
18
_ φ17083
_ φ17083
boundaries particles
7. Berto Francesco | Tagliabue Jacopo, The Stanford Encyclopedia of Philosophy, California, Cellular Automata
19
κυτταρικά αυτόματα
έβρισκε έναν τρόπο να συσσωρεύσει την πληροφορία από διαφορετικά κομμάτια του δικτύου για να δώσει την τελική απάντηση- κάποιου είδους αναδυόμενος υπολογισμός χρειάζεται για να επιλύσει αυτό το ζήτημα της ταξινόμησης της πυκνότητας. Εφόσον τα κυτταρικά αυτόματα λειτουργούν αποτελεσματικότερα με μεγάλες γειτονιές, χρησιμοποιείται κάποιο είδος γενετικού αλγορίθμου, που επιτρέπει την απάντηση σε αυτό το πρόβλημα. Η απεικόνιση αφορά τον κανόνα φ17083. το κυτταρικό αυτόματα που εφαρμόζει τον παραπάνω κανόνα ξεκινά με μία αρχική συνθήκη όπου τα λευκά υπερτερούν. τη στιγμή t250, οι γκρίζες περιοχές υποχωρούν και όλα τα κύτταρα γίνονται λευκά. Η ταξινόμηση που έγινε είναι σωστή. Μία αναλυτικότερη περιγραφή του τι συμβαίνει θα έδειχνε τις λευκές, μαύρες και γκρίζες περιοχές να επεκτείνονται, να μετακινούνται και μέσω αυτών των ενεργειών η πληροφορία να μεταδίδεται σε όλο το δίκτυο. Αυτή η επιτέλεση του αναδυόμενου υπολογισμού στα κυτταρικά αυτόματα, της διαλογής από το αρχικό διάγραμμα, εξηγείται από τους Mitchell and Crutchfield με τα domains- των δυναμικά ομογενών χωρικών περιοχών. Όταν το όριο ενός domain δε μετατίθεται στο πέρασμα του χρόνου, τότε το domain μετατρέπεται σε particle7. Τα ενσωματωμένα particles είναι ένας πρωταρχικός μηχανισμός που φέρει πληροφορία σε μακρά χρονικά διαστήματα. Λογικές πράξεις των σημάτων εκτελούνται κατά τη διάδραση των particles. Η συλλογή των domains, των domain walls, των particles και των διαδράσεων των particles για ένα κυτταρικό αυτόματα αναπαριστούν τη βασική πληροφορία επεξεργασίας των στοιχείων που ενσωματώνεται στη συμπεριφορά του κυτταρικού αυτομάτου- στον εγγενή υπολογισμό του κυτταρικού αυτομάτου. Τέλος, όσο αφορά τις αναδυόμενες υπολογιστικές ιδιότητες των κυτταρικών αυτομάτων, ο εντοπισμός και η ταξινόμηση των patterns είναι η ίδια μια αλγοριθμική διαδικασία, και τα αναδυόμενα patterns είναι σημαντικά μόνο εντός του συστήματος (και σε σχέση με αυτό μόνο).
20
κυτταρικά αυτόματα
Παρατηρούμε πώς τα κυτταρικά αυτόματα αποτελούν ένα είδος υπολογιστικής μηχανής, η οποία μαζί με τα προαναφερθέντα particles, αποκτά ένα είδος μνήμης. από το game of life στο Turing machine
Το Turing machine είναι ένα αυτόματο, όπου συναντούμε τη μέγιστη δυνατότητα των υπολογιστικών δυνατοτήτων. Αυτό οφείλεται στο γεγονός ότι υπάρχει η δυνατότητα πρόσβασης στη μνήμη. Ο βαθμός πρόσβασης, από το 0 ως την απεριόριστη μνήμη, γεφυρώνεται από αυτόματα που στέκονται σε μία σχέση μέρους και όλου. Για να κατασκευάσουμε ένα Turing machine χρειαζόμαστε, αφενός μια πεπερασμένη συνθήκη αυτόματου ως βασικό component του “εγκεφάλου” που τελεί τις διαδικασίες ανάγνωσης-εγγραφής, αφετέρου ένα μέσο να δομηθεί από αναδυόμενα patterns αυτόματων συνθηκών (όπως gliders, glider guns). Υπάρχουν δύο τρόποι να προσεγγίσουμε ένα Turing machine, που μοιράζονται ένα κοινό χαρακτηριστικό- ότι οι υπολογιστικές μηχανές μπορούν να συσταθούν από βασικούς ψηφιακούς κύκλους (logical gates)8.Για παράδειγμα, μία AND gate έχει δυο inputs και ένα output: εάν η τιμή των δυο inputs είναι ο αριθμός “1”, τότε το output θα είναι επίσης “1”. Κάθε άλλος συνδυασμός μας δίνει ως αποτέλεσμα “0”. Μία NOT gate παίρνει ένα μοναδικό input και εξαγάγει ως αποτέλεσμα το αντίθετο. Εάν το input είναι “1”, τότε εξαγάγει “0” και αντίστροφα. Η χρήση τέτοιων απλών ακολουθιών ως components μεγαλύτερων μπορούν να λειτουργήσουν ως απλές εκδοχές μνήμης και μπορούν να δημιουργηθούν από αναδυόμενα patterns. Για παράδειγμα, μία AND gate μπορεί να δημιουργηθεί από ένα glider gun και ένα eater. Τα inputs της είναι δυο επιπρόσθετα ρεύματα gliders, που παράγονται κάπου αλλού και είναι ήδη κωδικοποιημένα με την πληροφορία. Η παρουσία του glider στο ρεύμα αναπαριστάται με το “1” και η απουσία του με το “0”. Αυτά τα ρεύματα inputs (με την προϋπόθεση ότι έχουν για input το “1”) έχουν ένα glider στην ίδια θέση. Το πρώτο input θα συγκρουσθεί και θα περιορίσει το glider από το πρώτο κύριο ρεύμα δημιουργώντας μία “τρύπα” μέσω της οποίας το αντίστοιχο glider με το δεύτερο input μπορεί να περάσει. Όλοι οι υπόλοιποι συνδυασμοί δεν επιτρέπουν την είσοδο. Έτσι, η πρώτη προσέγγιση ολοκληρώνεται με μία assembly (με έναν συνδυασμό), που λειτουργεί ως AND gate- τα input gliders που καταφέρνουν να διαπεράσουν το κύριο ρεύμα σχηματίζουν αυτό το output. Η δεύτερη προσέγγιση για τη δημιουργία του Turing machine προσπαθεί να βρει επιλύσεις σε περισσότερες λεπτομέρειες. Ένα Turing machine
21
κυτταρικά αυτόματα
μπορεί να υπάρχει σε τρεις διαφορετικές συνθήκες και να χρησιμοποιεί τρία σύμβολα για να γράφει στην ταινία μνήμης. Αυτή η εφαρμογή είναι πιο εύκολο να εξηγηθεί ξεκινώντας από την κορυφή του αυτομάτου και προχωρώντας προς τα κάτω. Τα μεγαλύτερα σε κλίμακα components που πρέπει να χτιστούν είναι μία πεπερασμένης ακολουθίας μηχανή, που ελέγχει τον “εγκέφαλο” ανάγνωσης/ εγγραφής στην ταινία μνήμης και ένα μοναδικό εντοπιστή που συνδέει τα δυο. Κάθε ένα από τα τρία βασικά components μπορεί να συναρμολογηθεί από απλούστερα: μία μηχανή πεπερασμένης ακολουθίας μπορεί να στηθεί από εννέα κύτταρα μνήμης, μία ταινία με δυο στοίβες, ένα μοναδικό εντοπιστή που μπορεί να δημιουργηθεί από συγκρουόμενα ρεύματα glider και από μονάδες που διπλασιάζουν κάθε ρεύμα, στέλνοντας αντίγραφα στις στοίβες και στη μηχανή πεπερασμένης συνθήκης. Κάθε ένα από αυτά τα υπό- components μπορούν με τη σειρά τους να δημιουργηθούν από ακόμη απλούστερα. Ένα κύτταρο μνήμης, για παράδειγμα, μπορεί να δημιουργηθεί από ένα glider gun και ένα ειδικό τύπο shuttle (“queen bee”), που δρα ως ανακλαστής για τα gliders και είναι προσβάσιμο από δύο ρεύματα spaceships, το καθένα δημιουργημένο από δικό του gun. Όταν όλα αυτά τα components συναρμολογηθούν, τότε δημιουργούν ένα Turing machine που μπορεί να φέρει εις πέρας υπολογισμούς.
8. Manuel DeLanda, Philosophy and Simulation, The Emergance of Synthetic Reason, New York, Continuum, σελ.26
22
9. Ahylo lab, Apomechanes, Nonlinear computational design strategies, Athens, asprimera*, σελ.41
23
κυτταρικά αυτόματα
Παρατηρούμε πώς τα κυτταρικά αυτόματα αποτελούν ένα είδος υπολογιστικής μηχανής, η οποία μαζί με τα προαναφερθέντα particles, αποκτά ένα είδος μνήμης. τάξεις των κανόνων των κυτταρικών αυτομάτων
Για να κατανοήσουμε καλύτερα τις συνθήκες κάτω από τις οποίες μπορεί να αναδυθεί αυθόρμητα ένα Turing machine, οφείλουμε να καθορίσουμε πρώτα τις μοναδικότητες αυτές που δομούν το χώρο όλων των πιθανών κανόνων. Έτσι, χρειαζόμαστε δύο χώρους, ο πρώτος είναι αυτός των πιθανών κανόνων και ο δεύτερος είναι ο χώρος των δυνατών τρόπων στοίβαξης ενός χώρου. Το μέγεθος αυτού του χώρου μπορεί να υπολογιστεί βάσει δύο παραμέτρων: τον αριθμό των καταστάσεων στις οποίες μπορεί να βρεθεί ένα κύτταρο σε σχέση με τον αριθμό των γειτόνων με τους οποίους διαδρά. Ο συσχετισμός αυτός μας δίνει το συνδυασμό των δυνατών καταστάσεων στις οποίες κάθε γείτονας μπορεί να περιέλθει. Επιπρόσθετα, κάθε δυνατός συνδυασμός καταστάσεων σε μία γειτονιά καθορίζει την κατάσταση στην οποία μπορεί να βρεθεί την επόμενη στιγμή. Εφόσον το μόνο που κάνει ο κανόνας είναι να καθορίζει τη μετάβαση από τη μία κατάσταση στην επόμενη, ο συνολικός αριθμός των δυνατών κανόνων είναι ο αριθμός των καταστάσεων σε σχέση με τον αριθμό των δυνατών συνδυασμών των καταστάσεων για μια γειτονιά. έτσι σε ένα μονοδιάστατο κυτταρικό αυτόματο θα συναντήσουμε το σύνολο των 256 κανόνων, ενώ σε ένα δισδιάστατο, όπως το game of life, ο αριθμός αυξάνεται ραγδαία αγγίζοντας το 10 154. Ο Steven Wolfram, προβαίνει σε μία ταξινόμηση των κανόνων των κυτταρικών αυτομάτων, ανάλογα με τα αποτελέσματα της εξέλιξης του συστήματος από μία άτακτη αρχική κατάσταση. Η ταξινόμηση αυτή έγινε μετά από έρευνα σε μονοδιάστατα κυτταρικά αυτόματα, ωστόσο μπορεί να γενικευθεί σε όλα τα συστήματα κανόνων υπο-component και μεταcomponent. Οι τέσσερις τάξεις συσχετίστηκαν με τα τέσσερα limiting patterns που έχουν ανακαλυφθεί. Η πρώτη τάξη οδηγεί σε μία ομογενή κατάσταση. Η δεύτερη τάξη οδηγεί σε ένα σύνολο διαχωρισμένων, απλών, σταθερών ή περιοδικών δομών. Η τρίτη τάξη σε ένα χαοτικό pattern. Η τέταρτη τάξη σε μία σειρά πολύπλοκων, ενίοτε μακρόβιων, εντόπιων δομών9. Το πολύπλοκο της παρούσας συνθήκης εντοπίζεται στο γεγονός ότι έχουμε να κάνουμε με ένα συνεχή τοπολογικό χώρο με μία σαφώς καθορισμένη χωρική συνδεσιμότητα των πιθανών κανόνων. Στην
25
κυτταρικά αυτόματα
ταξινόμηση αυτή όλοι οι κανόνες παρατίθενται απλά ο ένας δίπλα στον άλλο χωρίς να δημιουργούν γειτονιές ή άλλους χωρικούς συνδυασμούς. Η διερεύνηση της κατανομής των μοναδικοτήτων ξεκινά με την υπόθεση μίας σειράς κανόνων. Μία στρατηγική εμπλέκει τη διάταξη κανόνων με τέτοιο τρόπο, ώστε αυτά τα οποία ανήκουν στην ίδια τάξη να καταλήγουν να είναι γείτονες. Μία τέτοια διαδικασία ξεκινά καθορίζοντας ως αφετηρία τα δυο άκρα, τους πιο ομογενείς και τους πιο ετερογενείς κανόνες, και μετά αναδομεί ολόκληρο το χώρο ξεκινώντας από ένα πλήρως ομογενές άκρο και σταδιακά αυξάνει το βαθμό της ετερογένειας μέχρι να φτάσει στο άλλο άκρο. Η έρευνα πάνω στην παρουσία και τη διανομή των μοναδικοτήτων μας δίνει το mechanism-independent component της εξήγησης για την τάση των φυσικών patterns που αναδύονται εξαιτίας της διάδρασης των κανόνων. Ενώ τα gliders είναι μια προϋπόθεση για την ανάδυση του Turing machine, το τελευταίο χρειάζεται μία ολόκληρη ποικιλία από αναδυόμενα patterns για να υπηρετήσουν ως υπο- components αυτού. αυτά τα components δεν αναδύονται αυθόρμητα, αλλά ανήκουν στην κατηγορία των engineered patterns.
_κανόνες μονοδιάστατου κυτταρικού αυτομάτου οδηγούν σε σταθερά patterns
28
10. Απόσπασμα από το δοκίμιο The Turing Dimension του Karl S. Chu http://www.archilab.org/public/2000/catalog/xkavya/ xkavyaen.htm
29
κυτταρικά αυτόματα
Το universal Turing machine χτίστηκε με τέτοιο τρόπο, ώστε να μπορέσει να αποτελέσει ένα μηχανισμό κατανόησης και προσομοίωσης του κόσμου. universal Turing machine
Τα Turing machine χτίζονται για να φέρουν εις πέρας ένα συγκεκριμένους υπολογισμούς, οι οποίοι είναι αποθηκευμένοι ως πρόγραμμα στις ταινίες τους. Ένα universal Turing machine έχει τη δυνατότητα να προσομοιώσει οποιοδήποτε ειδικού σκοπού Turing machine, η ταινία μνήμης του οποίου περιέχει μεταξύ άλλων μια συμβολική περιγραφή του αυτομάτου που πρέπει να προσομοιώσει.
the Turing Dimension: μία φιλοσοφική ερμηνεία του computaion10 Ο Karl Chu αφορμώμενος από τη φύση και τη μελέτη του universal Turing machine, στο κείμενό του Turing dimension, προσπαθεί να βρει μία αναλογία του κατ’ αυθαιρεσία οριοθετημένου σύμπαντος, ώστε να θεσπίζει την αρχιτεκτονική ως μία αυθαιρετικά υπολογίσιμη παράγωγο της διαλεκτικής διαδικασίας δημιουργίας του σύμπαντος. Ο Alan Turing ξεκίνησε την έρευνα για μια αφηρημένη μηχανή που θα μπορούσε να προκαλέσει έναν ολόκληρο κόσμο ορίζοντας ένα νέο επίπεδο εμμένειας για τη λειτουργία της εφαρμογής. Αυτό το επίπεδο είναι ο εικονικός χώρος πάνω στον οποίο διαγραμματικές ροές και κατασκευές αρχειοθετούνται από την τεχνητή ζωή των αυτο-οργανωτικών συστημάτων, από τον επαναπροσδιορισμό του περιεχομένου που προβάλλεται σε αυτό το επίπεδο εμμένειας ως πληροφορία προέλευσης. Στην πιο συγκεκριμένη του δομή, το universal Turing machine δεν είναι απλά μία ακόμη συσκευή στην ιστορία των τεχνικών εφευρέσεων, είναι μια υπολογιστική μονάδα που επαναπροσδιορίζει το επίπεδο εμμένειας ως θέαμα νέων φυσικών κανόνων που με τη σειρά τους επανατροφοδοτούν την πολιτισμική πραγματικότητα της ανθρωπότητας - που έχει βασιστεί σε μία άλλου είδους τάξη φυσικών κανόνων. Το universal Turing machine αποτελεί ένα γενεσιουργό μηχανισμό, που μπορεί να παρέχει σειρά διαφορετικών, ακόμα και συγκρουόμενων αποτελεσμάτων, με το να δείχνει ότι αυτά τα αποτελέσματα είναι συνδεδεμένα μεταξύ τους σε ένα αόρατο ιστό παραγώγων μέσα από την ανάγνωση του Turing dimension- μία γραμμική ακολουθία των
30
κυττάρων που λειτουργεί ως ένα κανάλι μέσω του οποίου η πληροφορία επεξεργάζεται για να δώσει μορφή σε μία ψηφιακή επεξεργασία του universal Turing machine. Το universal Turing machine είναι μια αφηρημένη μηχανή που αποτελείται από μία γραμμική ταινία, που είναι εσκεμμένα απεριόριστη και είναι χωρισμένη σε κύτταρα, από μία συσκευή που ονομάζεται εγκέφαλος και ευθύνεται για την ανάγνωση και την επανεγγραφή των δυαδικών ψηφίων που καταχωρούνται σε κάθε κύτταρο σύμφωνα ε τους κανόνες του προγράμματος. Η ταινία εξυπηρετεί ως ένα δοχείο τόσο για την αποθήκευση, όσο και για την επεξεργασία της δυαδικής πληροφορίας. Η συσκευή ακολουθεί ένα συγκεκριμένο σετ κανόνων: γράψε το σύμβολο 1 στο κύτταρο που παρατηρείς [1] διέγραψε οποιοδήποτε σύμβολο που εμφανίζεται στο κύτταρο που παρατηρείς [0] μετακινήσου ένα κύτταρο δεξιά από το κύτταρο που παρατηρείς [R] μετακινήσου ένα κύτταρο αριστερά από το κύτταρο που παρατηρείς [L] Η έννοια της καθολικότητας αναδύεται από το γεγονός ότι κάθε universal Turing machine μπορεί να υπολογίσει οτιδήποτε με όρους εσωτερικών αρχών που συνεχώς τροποποιεί την εσωτερική του κατάσταση για να φτάσει σε μία πιο συνεκτική εκδοχή του μοντέλου ή της αντίληψης του κόσμου. Με άλλα λόγια, το universal Turing machine είναι ένα λογικό υποσύνολο που μπορεί να υπολογίσει το πιθανό περιεχόμενο ενός μεγαλύτερου συνόλου, που είναι το ίδιο το σύμπαν. Συνεπώς, είναι ικανό να αλλάξει το περιεχόμενο του σύμπαντος υπολογίζοντας περαιτέρω την αριθμητική ουσία τους σύμπαντος και την τοποθέτησή του στο επίπεδο εμμένειας ως λεπτομέρειες μιας διαφορετικής ύπαρξης. Το universal Turing machine είναι μια μηχανική ιδέα ενός αέναου υπολογιστικού συστήματος ή μια αφηρημένη εξελικτική μηχανή, που επεξεργάζεται πληροφορίες μέσω διαδοχικών επαναλήψεων των bits , που εγγράφονται στη γραμμική ταινία. Έχει τη δυνατότητα να αυτοοργανώνεται και να μετατρέπει τις εσωτερικές συνθήκες σε όλες τις δυνατές καταστάσεις μίας μονάδας χωρίς τέλος. Με άλλα λόγια το universal Turing machine είναι ένας πρωτόγονος πρόδρομος βιο-μηχανικών (biomechanics) ειδών με τη φιλοδοξία της ενσωμάτωσης μίας τεχνητής ζωής και ευφυίας. Ενώ το universal Turing machine είναι ο πιο γενικός τύπος ενός υπολογιστικού συστήματος, η εσωτερική του αρχή μπορεί να φιλοξενήσει μια γενικευμένη μορφή ενός γενετικού αλγορίθμου που θα μπορούσε να εξελιχθεί μέσω αυτο-τροποποίησης και βελτιστοποίησης των διαιρέσεών του. Το universal Turing machine είναι ένα μονοδιάστατο κυτταρικό αυτόματο που αυτο-οργανώνεται και τροποποιείται από την αδιάκοπη επανεγγραφή των ψηφίων που συστήνουν την ταινία του Turing Dimension. Είναι ένα μονοδιάστατο σύμπαν μοναδικών συνθηκών που παράγονται από τον συνεχώς εξελισσόμενο κώδικα της μηχανής. Η διαδικασία του σκαναρίσματος και της επανεγγραφής των στοιχείων στην ταινία του turing machine, το πέρασμα μεταξύ διαφορετικών ακολουθιών και η δυνατότητα ανασύνταξης της πληροφορίας για την ανάκτηση μίας καλώς ορισμένης συνθήκης της μονάδας, καθιστά το universal turing machine μία αφηρημένη βιολογική μηχανή φτιαγμένη για να διατηρείται έναντι των ταλαντώσεων και της σύγχυσης που συντελείται στη συνθετική λογική των universal Turing machines.
31
Το universal Turing Surface είναι ένα ενεργό κυτταρικό αυτόματα που περνάει και φιλτράρει το σύμπαν των πιθανών γεγονότων σε εικονικά γεγονότα, επικονιάσεις και μοναδικότητες. Κάθε επίπεδο εμμένειας αποτελεί τομή για το συνδυαστικό χώρο ενός πιθανού κόσμου. Είναι μια πεπερασμένη ενσάρκωση ενός πιθανού απείρου που περιορίζεται αυστηρά από γραμμικές επαναλήψεις του universal Turing machine. To universal Turing machine είναι μια διαγραμματική μηχανή που τυλίγει και ξετυλίγει το universal Turing surface σε πολλαπλές αρχιτεκτονικές. Η φιλοδοξία του universal Turing machine είναι να αποκαλύψει μία αλγοριθμική ακολουθία που θα επιτρέψει την αναγωγή της turing Surface σε Surface of the One-All. Είναι δηλαδή η μίμηση μίας επίσημη αναπαράστασης του σύμπαντος ως ενός θαλάμου με προκαθορισμένη αρμονία των εκάστοτε μονάδων του, που δημιουργούν μία πληρότητα. Η εσωτερική αρχή και η εσωτερική πολυπλοκότητα που περιέχονται σε κάθε υπολογιστική μονάδα αποτελείται από μία σειρά συναρτήσεων, που οποιαδήποτε προσπάθεια συμπύκνωσής τους σε ένα συγκεκριμένο αποτέλεσμα δεν είναι δυνατή. Άρα δεν μπορούμε να οδηγηθούμε σε ένα συγκεκριμένο pattern, αναπαράστασης του σύμπαντος, καθώς αυτό παραμένει ατέρμονο.
το turind Dimension είναι ένα πιθανό άπειρο διανθισμένο με διαλείμματα και διακοπές από τη λογική και τα όρια της υπολογιστικής ικανότητας. Τίποτα δε συμβολίζει την ανάδυση της τεχνητότητας των αυτοοργανωτικών συστημάτων σαφέστερα και πιο ρητά από την ανάδυση του universal turing surface που διατυπώνει μία εικονική χαρτογραφία ενός δυνατού κόσμου μεταξύ απείρων δυνατών κόσμων. Η αρχιτεκτονική εμπλέκεται στις πτυχώσεις αυτής της χαρτογραφίας, μεταξύ everywhere και nowhere. Το universal Turing surface είναι εκείνη η χωρική τοπολογία, είναι η άδεια στιγμή, η απουσία της στιγμής που μπορεί να επιτρέψει τη διείσδυση σε ένα προφητικό κόσμο. Το universal Turing surface είναι το νέο επίπεδο εμμένειας, που πάνω απ ’όλα είναι μια ενορχήστρωση του κόσμου, μία οντολογική οργανολογία που έχει διαμορφωθεί από μία αυτοποίηση: ένα αυτο- αναπαραχθές όργανο ενός αυτο-συντιθέμενου συστήματος πληροφοριών μέσα σε ένα δημιουργικό χώρο.
code “””
if k!=self.z-1 :
design team: Ehsaan “Adobix_255” Mesghali | Reza “Hi-Rez” Zia
if self.pts[i][j][k+1] and self.vals[i][j][k+1]>thres: listOfBool[5] = False
ENCODED MATTER, 2011 Instructor: Ezio Blasetti
#########
code developed in python for rhinoceros beta 5.0
################################################## self.addMeshBox(self.pts[i][j][k], listOfBool)
“””
self.id = rs.AddMesh(self.vtxs,self.fvtxs)
arrFaceVertices.append([0,3,2,1]) arrFaceVertices.append([0,1,5,4]) arrFaceVertices.append([1,2,6,5]) arrFaceVertices.append([2,3,7,6]) arrFaceVertices.append([3,0,4,7]) arrFaceVertices.append([4,5,6,7])
return rs.AddMesh (arrVertices, arrFaceVertices)
import rhinoscriptsyntax as rs import random
def addMeshBox(self, pt, listOfBool):
import math
class voxels():
rs.EnableRedraw(False)
arrMaxCorner = [pt[0]+0.5,pt[1]+0.5,pt[2]+0.5]
self.vtxs.append([arrMinCorner[0], arrMinCorner[1], arrMinCorner[2]]) #0 -8
def __init__(self, INTX, INTY, INTZ, VALUES): self.x = INTX self.y = INTY
def DeleteObjects2dArray(arrObjects):
arrMinCorner = [pt[0]-0.5,pt[1]-0.5,pt[2]-0.5]
self.vtxs.append([arrMaxCorner[0], arrMinCorner[1], arrMinCorner[2]]) #1 -7 self.vtxs.append([arrMaxCorner[0], arrMaxCorner[1], arrMinCorner[2]]) #2 -6
for i in range(len(arrObjects)):
for j in range(len(arrObjects[i])):
rs.DeleteObject(arrObjects(i ,j)) rs.EnableRedraw(True)
self.z = INTZ
self.vtxs.append([arrMinCorner[0], arrMaxCorner[1], arrMinCorner[2]]) #3 -5
def update(arrMeshes, arrValues):
self.pts = []
self.vtxs.append([arrMinCorner[0], arrMinCorner[1], arrMaxCorner[2]]) #4 -4
self.vals = [] self.vtxs = []
self.vtxs.append([arrMaxCorner[0], arrMinCorner[1], arrMaxCorner[2]]) #5 -3
self.fvtxs = []
self.vtxs.append([arrMaxCorner[0], arrMaxCorner[1], arrMaxCorner[2]]) #6 -2
self.makePts(VALUES)
self.vtxs.append([arrMinCorner[0], arrMaxCorner[1], arrMaxCorner[2]]) #7 -1
def makePts(self, VALUES):
e = len(self.vtxs)
for i in range(self.x):
rs.EnableRedraw(False) for i in range(len(arrValues)) :
for j in range(len(arrValues[i])):
colorObject(arrMeshes[i][j], arrValues[i][j]) #rs.GetString(“continue”) rs.EnableRedraw(True)
return arrMeshes
if listOfBool[0] : self.fvtxs.append([e-8,e-5,e-6,e-7])
ptRows = []
#arrFaceVertices.append([0,3,2,1])
def render(arrValues, z, strStack):
valRows = []
if listOfBool[1] : self.fvtxs.append([e-8,e-7,e-3,e-4])
rs.EnableRedraw(False)
for j in range(self.y):
#arrFaceVertices.append([0,1,5,4])
arrMeshes = []
ptCols = []
if listOfBool[2] : self.fvtxs.append([e-7,e-6,e-2,e-3])
for j in range(len(arrValues)):
valCols = []
#arrFaceVertices.append([1,2,6,5])
arrRow = []
for k in range(self.z):
if listOfBool[3] : self.fvtxs.append([e-6,e-5,e-1,e-2])
for i in range(len(arrValues[j])):
ptCols.append([i,j,k])
#arrFaceVertices.append([2,3,7,6])
valCols.append(VALUES[k][i][j])
if listOfBool[4] : self.fvtxs.append([e-5,e-8,e-4,e-1])
arrPoints = [[i-0.5,j-0.5,0],[i+0.5,j-0.5,0],[i+0.5,j+0.5,0],[i-0.5,j+0.5,0]]
ptRows.append(ptCols)
#arrFaceVertices.append([3,0,4,7])
valRows.append(valCols)
if listOfBool[5] : self.fvtxs.append([e-4,e-3,e-2,e-1])
self.pts.append(ptRows)
#arrFaceVertices.append([4,5,6,7])
self.vals.append(valRows)
#return rs.AddMesh (arrVertices, arrFaceVertices)
def voxelize(self, thres): for i in range(len(self.vals)): row = self.vals[i] for j in range(len(row)): col = row[j] for k in range(len(col)): val = col[k] ########################################## ################# if val>thres:
1]>thres:
if arrValues[i] [j] > .6 : arrRow.append(addMeshBox([(i-0.5),(j-0.5),z-0.5], [(i+0.5),(j+0.5),z+0.5]))
rs.ObjectColor(strObject, lngColor)
#colorObject(arrMeshes[i][j], arrValues[i][j])
#intMaterialIndex = rs.AddMaterialToObject (strObject)
arrMeshes.append(arrRow)
#rs.MaterialColor(intMaterialIndex, lngColor)
rs.EnableRedraw(True)
return arrMeshes
def addMeshQuad(arrPoints):
def sumNeighbors(arrValues, i, j, blnSelf):
arrFaceVertices = []
iplus1 = i+1
iminus1 = i-1
if i == 0 : iminus1 = len(arrValues)-1
def addMeshBox(arrMinCorner, arrMaxCorner):
if i == len(arrValues)-1 : iplus1 = 0
jplus1 = j+1
arrVertices.append([arrMinCorner[0], arrMinCorner[1], arrMinCorner[2]]) #0
jminus1 = j-1
arrVertices.append([arrMaxCorner[0], arrMinCorner[1], arrMinCorner[2]]) #1
if j == 0 : jminus1 = len(arrValues[i])-1
if j == len(arrValues[i])-1 : jplus1 = 0
arrVertices.append([arrMaxCorner[0], arrMaxCorner[1], arrMinCorner[2]]) #2
dblSum = 0
arrVertices.append([arrMinCorner[0], arrMaxCorner[1], arrMinCorner[2]]) #3
dblSum = dblSum + arrValues[iminus1][jminus1]
dblSum = dblSum + arrValues[i
arrVertices.append([arrMinCorner[0], arrMinCorner[1], arrMaxCorner[2]]) #4
dblSum = dblSum + arrValues[iplus1 ][jminus1]
arrVertices.append([arrMaxCorner[0], arrMinCorner[1], arrMaxCorner[2]]) #5
dblSum = dblSum + arrValues[iminus1][j
if blnSelf : dblSum = dblSum + arrValues[i][j]
arrVertices.append([arrMaxCorner[0], arrMaxCorner[1], arrMaxCorner[2]]) #6
dblSum = dblSum + arrValues[iplus1 ][j
arrVertices.append([arrMinCorner[0], arrMaxCorner[1], arrMaxCorner[2]]) #7
dblSum = dblSum + arrValues[iminus1][jplus1 ]
dblSum = dblSum + arrValues[i
dblSum = dblSum + arrValues[iplus1 ][jplus1 ]
return rs.AddMesh (arrPoints, arrFaceVertices)
if self.pts[i][j][k-1] and self.vals[i][j][k-
if self.pts[i][j-1][k] and self.vals[i][j-1]
if i!=self.x-1: if self.pts[i+1][j][k] and self.vals[i+1][j] listOfBool[2] = False if j!=self.y-1 : if self.pts[i][j+1][k] and self.vals[i][j+1] listOfBool[3] = False if i!=0 : [k]>thres:
else :
if k!=0 :
listOfBool[1] = False
[k]>thres:
if dblValue>1 : dblValue = 1
lngColor = (255-dblValue*255,255-dblValue*255,255dblValue*255)
colorObject(arrRow[j], arrValues[i][j])
arrFaceVertices.append([0,1,2,3])
if j!=0 :
[k]>thres:
arrRow. append(addMeshQuad(arrPoints))
listOfBool = [True,True,True,True,True,True]
listOfBool[0] = False
[k]>thres:
def colorObject(strObject, dblValue):
if strStack == “no” :
if self.pts[i-1][j][k] and self.vals[i-1][j] listOfBool[4] = False
arrVertices = []
arrFaceVertices = []
][jminus1]
]
]
][jplus1 ]
ΠΑΡΑΔΕΙΓΜΑΤΑ
return dblSum
else:
def applyGOLCrvs(arrValues, curGen, crvs):
“””
arrNewValues = []
k1 = 40
k1 = 7
#########################################
k1 =7
g = 0.1
#elif arrValues[i][j] == 0 :
k1)+g)
# arrRow.append((dblSum/
##############################
for i in range(len(arrValues)):
if arrValues[i][j] >= 1 : arrRow.append(0)
else :
arrRow = []
for j in range(len(arrValues[i])):
arrRow. append((dblSum/k1)+g)
minDist = 50000000
arrNewValues.append(arrRow)
for crv in crvs:
t = rs.CurveClosestPoint(crv, [i,j,curGen]) closestPt = rs.EvaluateCurve(crv, t)
return arrNewValues
def randomizeArray(intLength,intWidth):
arr = []
testDist = rs.Distance(closestPt, [i,j,curGen])
for j in range(intWidth):
if testDist dblSum = sumNeighbors(arrValues, i, j, False)
arri = []
for i in range(intLength):
“”” if dist<3:
k1 = 7
g = 0.1
#print k
else:
k1 = 40
“”” if minDist>0:
k1 = 6.5+(20/minDist)
rnd = random.random() arri.append(rnd) arr.append(arri)
return arr
def Main():
intLength = rs.GetInteger(“how many in x”,100)
intWidth = rs.GetInteger(“how many in y”,100)
intGen
= rs.GetInteger(“how many generations”,100)
strStack = rs.GetString (“should I stack the generations”, “yes”, [“yes”, “no”])
else :
crvs = rs.GetObjects(“select the crvs”,4)
thres = rs.GetReal(“type the threshold to voxelize”,0.7)
k1 = 7
if arrValues[i][j] >= 1 :
allValues = []
arrRow.append(0)
arrValues = randomizeArray(intLength,intWidth) for i in range(100):
#elif arrValues[i][j] == 0 :
k1)+g)
# arrRow.append((dblSum/
else : arrRow. append((dblSum/k1)+g)
arrValues = applyGOL(arrValues)
allValues.append(arrValues)
#arrMeshes = render(arrValues,-1, strStack)
for i in range(intGen-1):
arrNewValues.append(arrRow)
allValues.append(arrValues)
return arrNewValues
arrValues = applyGOLCrvs(arrValues, i, crvs)
“”” def applyGOL(arrValues):
update(arrMeshes, arrValues)
arrNewValues = []
if strStack == “no” :
#########################################
else :
k1 =7
render(arrValues,i, strStack)
g = 0.1
“””
##############################
myVoxels.voxelize(thres)
for i in range(len(arrValues)):
arrRow = []
for j in range(len(arrValues[i])):
myVoxels = voxels(intLength,intWidth,intGen, allValues)
#Call DeleteObjects2dArray(arrMeshes)
dblSum = sumNeighbors(arrValues, i, j, False) “”” if dist<3:
k1 = 7
g = 0.1
#print k
κώδικας που χρησιμοποιήθκε στο τρίτο παράδειγμα
34
S
εφαρμοσμένα παραδείγματα
Στο παράδειγμα μικρής κλίμακας που ακολουθεί, η ομάδα μελέτης χρησιμοποιεί τα κυτταρικά αυτόματα, ως μία ερμηνευτική μηχανή που προσομοιώνει συστήματα πλέξης. Με την έννοια ερμηνευτική εννοούμε την ανάγνωση του κανόνα της πλέξης, τη μετάφρασή του σε κώδικα και τέλος την ανασύνταξή του σε εντολές που παράγουν σειρά πειραματικών αρχιτεκτονικών αντικειμένων.
Aranda/Lasch - computational basketry Το πλέξιμο είναι η σύνθεση δύο διαφορετικών συστημάτων που ¨κλειδώνουν¨μεταξύ τους ώστε να αποδώσουν μία αυτοφερή μορφή. Παραδοσιακά αναφέρεται ως warp ή weft pattern, κανένα όμως από τα δύο δε θα μπορούσε να φέρει τον εαυτό του μόνο του, αλλά μαζί τα δύο συστήματα γίνονται πάρα πολύ δυνατά. Το πιο εντυπωσιακό σε μία πλεκτή κατασκευή είναι ότι είναι πολύ πιο δύσκολο το “ξέμπλεγμα” και η επαναφορά στην αρχική κατάσταση παρά το πλέξιμό της από την αρχή. Οδηγίες: Ξεκινήστε σχεδιάζοντας μια συνημιτονοειδή καμπύλη: μία γραμμή που ακολουθεί έναν κύκλο με ένα σταθερό ρυθμό και απλώνεται με το πέρασμα του χρόνου [Τα στοιχεία της εξίσωσης είναι η κλίμακα, η συχνότητα και το πλάτος. Αυτοί οι μαθηματικοί όροι υποκαθιστούν τις παραδοσιακές διαδικασίες πλέξης όπως μετάφραση, στρίψιμο και ανάκλαση. Έτσι, κάθε ένα από αυτό το σετ χαρακτηριστικών μπορεί να παράγει μία ατελείωτη ποικιλία μορφών που μπορούν να εντοπισθούν σε απλούς κανόνες.] “Στρίψτε” την καμπύλη προσθέτοντας έναν νέο όρο- μία μαθηματική συνάρτηση όπως cos()- που επιταχύνει και επιβραδύνει τη γραμμή καθώς εξελίσσεται γύρω από τον κύκλο. [Η πρόσθεση μίας συνάρτησης cos() στη διάσταση x της εξίσωσης επηρεάζει την οριζόντια επέκταση των σημείων που συνιστούν την καμπύλη. Η μεταβλητή x πιέζει ή τραβά αυτά τα σημεία κατά το χρόνο μέχρι η καμπύλη να αρχίζει να ξανακαμπυλώνει προς τον εαυτό της.] Προσθέστε περισσότερες συναρτήσεις για να φτιάξετε, επαναλήψεις, επικαλύψεις και άλλα μορφώματα. [Προσθέτωντας μία παράμετρο στο z, δίνεται μία τρισδιάστατη άποψη στην καμπύλη.] Διπλασιάστε την καμπύλη κατά τον άξονα x για μία πυκνότερη δομή. [Ακόμη και στις παραδοσιακές τεχνικές, χρησιμοποιείται αυτή η εκδοχή της συμμετρίας, καθώς παρέχει συγκεκριμένα σημεία επικάλυψης που βοηθούν να δομηθεί η πλέξη.]
Η πλέξη είναι μία δυαδική διαδικασία. Πάνω/κάτω και warp/weft είναι δυαδικά, είναι αποκλειστικές συνθήκες που δομούν μία πλέξη λίγο πολύ όπως τα 1/0 και on/off δομούν ένα ψηφιακό αρχείο. Το αρχικό σύνολο των πειραματισμών απασχολεί ένα πρόγραμμα βασισμένο στα κυτταρικά αυτόματα για την παραγωγή μίας πλέξης με ένα σχήμα που καθορίζεται από τη διανομή των σημείων και των κόμβων. Ο αλγόριθμος των κυτταρικών αυτομάτων παράγει ένα σετ κανόνων που βασίζεται σε δυαδικές αξίες που δομούν τη διαδικασία λήψης-απόφασης για κάθε κόμβο στο pattern. Οι διαδικασίες των κυτταρικών αυτομάτων μπορούν να παράγουν απίστευτα περίπλοκες πλέξεις επειδή ο αλγόριθμος αυτόματα επανατροφοδοτείται με πληροφορίες για να πάρει την επόμενη απόφαση. Αυτό επιτρέπει στην πλέξη να προσαρμόζεται και να αλλάζει καθώς ταξιδεύει πάνω στην επιφάνεια.
35
36
M
εφαρμοσμένα παραδείγματα
Στο παράδειγμα μεσσαίας κλίμακας που ακολουθεί, η ομάδα μελέτης χρησιμοποιεί τα κυτταρικά αυτόματα για την ανάδυση διαφορετικών patterns. Τα patterns των γενεών έρχονται εδώ να προσομοιώσουν κατά κάποιον τρόπο ένα concept, αυτό της συναισθησίας. Οι δυναμικές των patterns, οι διαφορετικές πυκνότητες σημειώνουν την ένταση αυτής της λειτουργίας. Ταυτόχρονα ξεκινά μία δεύτερη έρευνα σε επίπεδο γεωμετρίας, που “χτίζει” μία παχυά επιφάνεια- με ιδιότητες που ταυτόχρονα αποκρύπτουν παλαιότερες γενεές, αλλά και φέρουν στην επιφάνεια τη νεότερη γενεά. Το αντικείμενο θα παρουσίαζε πολύ μεγαλύτερο ενδιαφέρον αν ήταν animated, όπως στις τρισδιάστατες απεικονίσεις, καθώς έτσι κανείς θα μπορούσε να παρατηρήσει τις μεταβολές της επιφάνειας σύμφωνα με τη γενεαλογία του κώδικα.
G.Gkiatas/ A.Pistofidou/ C. Varna - synesthesia
Το παράδειγμα προσπαθεί να προσομοιώσει και να μορφοποιήσει μία εκδοχή του φαινομένου της συναισθησίας- δηλαδή της νευρολογικής ανάμιξης των αισθήσεων. ένας άνθρωπος χαρακτηρίζεται από τη συναισθησία όταν “ακούει” τα χρώμτα, “βλέπει” τις οσμές ή “μυρίζει” τους ήχους. Στο παράδειγμα προσομοιώνεται το τριμερές των αισθήσεων -ακοή, όραση, οσμή- και η διαδικασία της νευρολογικής τους ανάμιξης λόγω της συναισθησίας.
Χρησιμοποιείται ένα κυτταρικό αυτόματο δύο διαστάσεων το οποίο παράγει διαφορετικά patterns στο πέρασμα του χρόνου και τρεις διαφορετικές δομικές μονάδες. Το πείραμα ξεκινά με την παρατήρηση των patterns που προκύπτουν από το κυτταρικό αυτόματο. Αυτό τρέχει για αρκετές γενεές μέχρι να βρεθεί ένα pattern με την επιθυμητή πυκνότητα. Στη συνέχεια αναζητάται μία τρισδιάστατη γεωμετρία η οποία θα κάνει ορατό το δισδιάστατο κώδικα του κυτταρικού αυτομάτου στον τρισδιάστατο χώρο. Τα δύο επίπεδα πληροφορίας, το pattern και οι τρισδιάστες γεωμετρίες, ενημερώνουν μία σειρά διαφορετικών συνεχόμενων επιφανειών. Το τελικό αντικείμενο απομονώνει ένα στιγμιότυπο της διαδικασίας και κατασκευάζεται με επάλληλες layers ενός υλικού.
37
38
L
εφαρμοσμένα παραδείγματα
Στο παράδειγμα μεγάλης κλίμακας που ακολουθεί, η ομάδα μελέτης χρησιμοποιεί τα κυτταρικά αυτόματα στο διάνυσμα του χρόνου, ώστε να δομήσει έναν πυκνό χώρο με πολύ συγκεκριμένες προδιαγραφές. Αυτό το συνεκτικό σύνολο κυττάρων, με τη δυνατότητα της αυτο-οργάνωσης και ανασύνταξης, “απορροφά” τα inputs του περιβάλλοντος και προσαρμόζει το εσωτερικό του στο βέλτιστο των προδιαγραφών για ένα βιώσιμο, συνεχή, κατοικήσιμο χώρο.
Ehsaan “Adobix_255” Mesghali | Reza “Hi-Rez” Zia - Cellular Automatan
Το project Cellular Automat-an στοχεύει στη σύνθεση ενός τρισδιάστατου όγκου μέσα από μία διαδικασίας στοίβαξης και διαχείρισης ενός δυσδιάστατου κυτταρικού αυτομάτου. Κάθε κύτταρο του συστήματος τείνει να φτάσει σε μία ουδέτερη ή εντελώς διαταραγμένη κατάσταση, και ενεργοποιεί μέσα στο ίδιο το σύστημα τη δημιουργία αναδυόμενων patterns και αναδυόμενων τάσεων. Αυτά διαταρράσουν το σύστημα μέχρι να το οδηγήσουν σε μία κατάσταση ισορροπίας. Ο βαθμός του πόσο γρήγορα αυτές οι ποιότητες επηρεάζουν το σύστημα και αλληλοεπηρεάζονται ταυτόχρονα, αποδίδεται σε μία γενεά patterns που ορίζονται από μία προκαθορισμένη παράμετρο k (με τιμές από το 1 έως το 8). Αυτό απορρέει από το γεγονός ότι κάθε pixel μπορεί να έχει και να επηρεάζει έως 8 επιπλέον γείτονες τριγύρω του. Σε κάθε γενεά στοίβαξης, η τάση ενός κυττάρου να είναι ενεργό ή ανενεργό καθορίζεται από την τιμή που έχει στην παράμετρο k. Για παράδειγμα, όταν η τιμή του k είναι 6, αυτό σημαίνει ότι το συγκεκριμένο pixel που περιστοιχίζεται από 6 επηρεασμένα/ μολυσμένα pixels και 2 “υγειή”, τότε στην επόμενη γενεά θα μολυνθεί κι αυτό. Αυτές οι “τοπικές” διαπραγματεύσεις επηρεάζουν τα αυτο-οργανωτικά patterns σε όλη τους την έκταση. Οι χειρονομίες της ομάδας μελέτης, εισαγάγουν δυνάμεις (που δρουν σε μία καμπύλη τροχιά) που τέμνουν τον όγκο των στοιβαγμένων pixel- στα σημεία αυτά η διαφορά προκαλείται λόγω της αλλαγής της τιμής της παραμέτρου k και γενικά μέσω αυτών των αλλαγών επαναπροσδιορίζεται εκ νέου η έννοια της γειτονιάς σε όλη την έκταση του όγκου. Οι καμπύλες που τέμνουν τον όγκο των κυττάρων και επηρεάζουν την παράμετρο k , έχουν ένα προκαθορισμένο όριο, που αυτό με τη σειρά του υπαγορεύει το βαθμό στον οποίο τα κύτταρα επηρεάζονται. Κάθε “μεταβαλλόμενο” όριο παρουσιάζει ένα μεγαλύτερο βαθμό επιρροής ανά γενεά παρέχοντας περισσότερη ή λιγότερη συνδεσιμότητα (μεταξύ των κυττάρων) κατά μήκος της καμπύλης τροχιάς.
39
40
XL
εφαρμοσμένα παραδείγματα
Στο παράδειγμα μεγάλης κλίμακας που ακολουθεί, η ομάδα μελέτης χρησιμοποιεί τα κυτταρικά αυτόματα ως ένα στρατηγικό εργαλείο χαρτογράφησης τάσεων σε μία δεδομένη περιοχή. Η δυνατότητα της συνεχούς επαναπληροφόρησης του χάρτη και η πιθανότητα πρόβλεψης της εξέλιξης παρέχουν σημαντικές πληροφορίες για τη “βιώσιμη” διαχείρηση των επεμβάσεων. Το pattern στη συνέχεια εμπλουτίζει και “μνημονεύεται” στην επιδερμίδα στρατηγικών επεμβάσεων. Ahylo lab - Hacienda Το έργο Hacienda είναι μία εν εξελίξει έρευνα στρατηγικών επέμβασης μικτής χρήσης σε μία αγροτική περιοχή. Οι ιδιαιτερότητες της τοπογραφίας, η ποικιλομορφία των χρήσεων και οι τοπικοί κανόνες της αγοράς ακινήτων είναι μόνο μερικές από τις υπάρχουσες ανταγωνιστικές δυνάμεις στον ορισμό του σχεδιαστικού προβλήματος. Αυτό το πολύπλοκο σύμπλεγμα χωρικών και εφήμερων δυνάμεων συγκομιδείται χάρη στις ιδιομορφίες των στιγμιαίων ισορροπιών που το χαρακτηρίζουν. Πρωταρχικός στόχος της ομάδας μελέτης ήταν ο ορισμός ενός συγκρατημένου σχεδιαστικού συστήματος ικανού να επαναξιολογεί διαρκώς νέα δεδομένα. Μία σειρά από μηχανισμούς ανατροφοδότησης μεταξύ των παρόντων/ μελλοντικών δεδομένων και του υπάρχοντος πεδίου δυνάμεων επιτρέπει το διαρκή σχηματισμό του συστήματος αυτού καθ’αυτού. Είναι μία πλατφόρμα αυτο-οργάνωσης χωρικών συγκρούσεων η οποία επιδιώκει να υπογραμμίσει τον προκύπτοντα υλικό χαρακτήρα της σε πολεοδομική και αρχιτεκτονική κλίμακα. Η ομάδα μελέτης μετατοπίστηκε από την έννοια του master-plan στη λογική του master-algorithm: τα αντικρουόμενα δυναμικά πεδία αναλύονται και κωδικοποιούνται σε ένα προσαρμοζόμενο σύστημα τοπικών διαπραγματεύσεων ικανό να παύσει, να επαναξιολογήσει και να επανεκκινήσει τη σχεδιαστική εξέλιξη της περιοχής όσες φορές χρειαστεί, χωρίς να χάσει τη συνοχή του. Ο αλγόριθμος έχει βελτιστοποιηθεί ώστε να επιτρέψει την ανάδυση διαφορετικών μετα-μοτίβων (ποιοτήτων συμπεριφοράς) μέσα από τις εγγενείς τάσεις των διαπραγματεύσεων με την πάροδο του χρόνου. Το γενεσιουργό σύστημα, το οποίο έχει αναπτυχθεί για το σχεδιασμό των κτιριακών όγκων, σχεδιάστηκε ως ένα εξελικτικό σύστημα ικανό για ειδογένεση. Η έμφαση στην αρχιτεκτονική κλίμακα της επέμβασης βρίσκεται στη μετατόπιση από την τυπολογική ταξινόμηση των κτιριακών όγκων σε μια διαφορετική είδους συνοχή του πεδίου, η οποία επιτρέπει αποτελέσματα τοπολογικά αδιευκρίνιστα. Καθώς όλοι οι κτιριακοί όγκοι μοιράζονται τις ίδιες αλγοριθμικές αρχές, η λογική της υποδιαίρεσης του χώρου παράγει (αποφέρει) έντονα διαφοροποιημένα αποτελέσματα ως προς τη μορφολογία, λειτουργία και κατασκευή τους. Η τεχνική αυτή έχει εφαρμοστεί σε αρκετές κλίμακες, και χορογραφεί τον πληθυσμό της εισαγάγοντας λογικές υποδιαίρεσης και συνάθροισης προς μεγαλύτερης κλίμακας κτιριακές μονάδες και γειτονιές. Η σχεδιαστική πρόταση είναι αποτέλεσμα αυτής της διαδικασίας διαρκούς ώσμωσης, η οποί οδηγεί το πεδίο σε στιγμιαία χωρική ισορροπία.
41
42
κυτταρικά αυτόματα
ΣΥΜΠΕΡΑΣΜΑΤΑ
Μέσα από όλη αυτή την πορεία καταλαβαίνει κανείς, πως η μελέτη των κυτταρικών αυτομάτων, αποτέλεσε ένα σημαντικό πεδίο έμπνευσης που ερέθιζε τον αρχιτεκτονικό σχεδιασμό. Ακόμα κι αν η χρήση τους ως αλγόριθμους θεωρείται κάπως ξεπερασμένη, λόγω της εξέλιξης νέων μοντέλων, όπως τα multi- agents, τα κυτταρικά αυτόματα παρείχαν ένα μεγάλο πεδίο πειραματισμού. Όπως και στο κείμενο του Karl Chu, συμπεραίνουμε ότι τα κυτταρικά αυτόματα ήταν περισσότερο ένα στοχαστικό εργαλείο, το οποίο λόγω της φύσης της προσομοίωσης του κόσμου, άλλαξε τον τρόπο με τον οποίο αντιμετωπίζουμε την αρχιτεκτονική και προώθησε νέες ιδέες που δεν είναι δυναμικές, που είναι συνεχώς μεταβαλλόμενες και προσαρμόζονται με το περιβάλλον, που δε μιλούν με βεβαιότητα και όρους αδράνειας για το αρχιτεκτονικό αντικείμενο. Για την ακρίβεια, η ιδέα των κυτταρικών αυτομάτων, πυροδοτεί μία σειρά σεναρίων για μια συλλογική ευφυία που επιτυγχάνεται μέσω δικτύων. Αντίστοιχα, όπως παρουσιάζεται και μέσα από τα παραδείγμτα, δεν μπορεί να αρνηθεί κανείς την αλγοριθμική τους φύση, που επιτρέπει στους αρχιτέκτονες να έχουν μία διαφορετική γραμμή παραγωγής σε σχέση με το ερευνητικό τους πεδίο. Έτσι, εδώ η παραδοσιακή τεχνική κατασκευής καλαθιών, μεταφράζεται σε έναν αλγόριθμο, παραμετροποιείται και ο ίδιος ο κώδικας αποτλεί το συνδετικό κρίκο, από την ανάλυση στο σχεδιασμό στο τρισδιάστατο αντικέιμενο. Η χρήση των κυτταρικών αυτομάτων παρείχαν και παρέχουν ακόμη ένα επίπεδο ελέγχου της διαδικασίας και παραμόρφωσης του αντικειμένου, σε projects που αναζητούν γενεαλογίες αντικειμένων με μία αυτοοργανωτική τάση. Όπως και οι περισσότρες αλγοριθμικές ακολουθίες, υποσχόταν μία συλλογή και ταξινόμηση input πληροφορίας, το οποίο θα μπορούσε να παρέχει συγκεκριμένες “προβλέψεις” για το μέλλον. Ωστόσο, το πιο σημαντικό ίσως χαρακτηριστικό τους, είναι ότι αποτέλεσαν μία στρατηγική για έναν σχεδιασμό του απρόβλεπτου (κυρίως στα παραδείγματα μεγάλης κλίμακας), εγκολπώνοντας τις πραγματικές διαστάσεις της χωής, όπως τις τοπικές διαπραγματεύσεις, συγκρούσεις, εντάσεις, αντιφάσεις σα δομικά εργαλεία της αστικής κατασκευής. Παρέχεται έτσι ένα ευέλικτο πλαίσιο για το μέλλον της πόλης και της αρχιτεκτονικής.
43
κυτταρικά αυτόματα
ΒΙΒΛΙΟΓΡΑΦΙΑ 1. Steven Johnson, Emergence: The Connected Lives of Ants, Brains, Cities, and Software, New York, Scribner 2. Manuel DeLanda, Philosophy and Simulation, The Emergance of Synthetic Reason, New York, Continuum 3. Berto Francesco | Tagliabue Jacopo, The Stanford Encyclopedia of Philosophy, California, Cellular Automata 4. Ahylo lab, Apomechanes, Nonlinear computational design strategies, Athens, asprimera* 5. Aranda/Lasch, Tooling, New York, Princeton Architectural Press 6. Stephen Wolfram, nature | international weekly journal of science, No 5985
www. 1. http://www.archilab.org/public/2000/catalog/xkavya/xkavyaen.htm 2. http://code.algorithmicdesign.net/Cellular-Automa-tan 3. http://object-e.net/tools/