PINAR ÇALIŞIR ADEM

Conway’in Yaşam Oyunu (Processing kodu, [Url-1])

Bu kısa yazı, Hücresel Özdevinim yönteminin en bilinen örneklerinden biri olan Conway’in Yaşam Oyunu’nu tanıtıp, kendi kendini örgütleyen yapısı ve beliren davranışlarını açıklamaya çalışmaktadır.

Satranç oyunu hepimizin bildiği bir masa oyunudur. Oyunda belirli başlangıç durumları olan 32 adet taş, taşların hareket yönünü ve hareketin sınırlarını belirleyen 8×8 birimlik bir uzay ve her taşın başlangıç durumuna göre bu uzay içinde nasıl var olması ve hareket etmesi gerektiği ile ilgili belirli bir kural vardır. Oyundaki en önemli ve korunması gereken taş Şah’tır, ve rakipler kuralları takip ederek oyun boyunca karşı tarafın şahını mat etmeye yönelik hamleler yaparlar. Oyun süresince, bu kısıtlanmış uzay içerisinde, çok farklı hamleler ve tahmin edilmesi güç kurgular ortaya çıkabilir. Amerika satranç birliğine göre, satrançta ilk 10 hamlede oynanabilecek 169,518,829,100,544,000,000,000,000,000 farklı seçenek vardır (Url-2).

Satranç oynarken oyun kurallarının taşların olası hareketlerini kısıtlaması gibi, John H. Holland (1929-2015)’ın Kısıtlanmış Üretken Prosedürler’inde (Constrained Generation Procedures) de belirli mekanizmalar arasında izin verilen etkileşimler, ortaya çıkacak olasılıkları kısıtlamakta ve mekanizmaların parçalarının hareketlerine sınır getirmektedir. Buna rağmen, bu prosedüre sahip sistemlerde dinamik ve beliren davranışların ortaya çıkması engellenemez. Bu sınırlar ve kısıtlara rağmen çok sayıda farklı ve ön görülmesi zor davranışın belirmesine neden olan üretken prosedür nedir?

Kısıtlanmış Üretken Prosedürler, belirli mekanizmalara sahiptir. Mekanizma kavramı, bir oyundaki kurallar ya da bir fizik sistemindeki kanunlara benzetilebilir. Her sistem belirli parçalardan oluşur. Mekanizmaların çalışması için sistemin parçalarına ait durumların tanımlanması ve parçalar arasında bir etkileşim ya da bilgi akışı olması gereklidir. Mekanizmalar girdiyi ya da bilgiyi alarak onu işler ve yeni bir çıktı ya da bilgi oluşturur. Yani mekanizmalar sistemin kurallarıdır. Birden çok mekanizma bir ilişkiler ağı oluşturacak şekilde tanımlandığında Kısıtlanmış Üretken Prosedürler ortaya çıkmış olur. Sistemi oluşturan farklı mekanizmalar arasında etkileşimin olması, o sistemin karmaşık ve organize davranışlar üretmesine neden olmaktadır (Holland, 1998). Kısıtlanmış üretken prosedülerin çalışma sistemini daha iyi anlamak için Hücresel Özdevinim yöntemi yardımcı olabilir.

Hücresel Özdevinim yöntemi fikri dijital hesaplamanın başlangıcına kadar uzanmaktadır. Hücresel Özdevinim, Jon von Neumann (1903-1957)’ın bir elemanın kendi kopyalarından geniş yelpazede makinalar üretebileceği fiziksel bir uzayın matematiksel tanımını yapmaya çalışması ile ortaya çıkmıştır. Bu evrende belirli bir geometri ya da eleman, yerel ölçekte var olduğu fiziksel uzayın her noktasında aynı anda etki eden kurallarla karmaşık örüntüler üretebilmektedir (Holland, 1998).

Hücresel Özdevinim, Stanislaw Ulam (1909-1984)’ın katkılarıyla basit görsel bir yöntemle ifade edilebilmiştir. Ulam, 1950’lerde basit Hücresel Özdevinimin, global düzenin yerel eylemlerden üretilebildiği, 2 veya 3 boyutlu uzayda matematiksel desenler ortaya çıkaran kurallar dizisi halinde tanımlanmasını sağlamıştır (Batty, 2005). Böylece basit bir Hücresel Özdevinim’in üretken prosedürü ortaya çıkmıştır. Bu prosedürde bir grid üzerinde belirli başlangıç durumlarına sahip hücreler (sistemin parçaları), kendi komşuluk birimleri içerisinde tanımlanan mekanizmalara (geçiş kurallarına) bağlı olarak, ardışık bir zaman diliminde, dinamik davranışlar sergilemektedir. Mekanizmalar Hücresel Özdevinim uzayında/ızgarasında her bir hücreye eş zamanlı olarak etki etmektedir.

1970 yılında Cambridge’de bir matematikçi olan John H. Conway (1937-2020), Hücresel Özdevinim’in temel kavramlarını simüle eden bir model olan Yaşam Oyunu’nu önerdiğinde ortaya çıkan, von Neumann ve Ulam’ın düşünce çizgisiyle paraleldir. Günümüzde bu oyun, mümkün olan en basit şekilde üremeye ve yok olmaya dayalı bir “yaşamı” modelleyerek böylesine bir basitlikten ortaya çıkan karmaşıklık türlerinin sayısız yolla araştırıldığı ana örnek haline gelmiştir (Batty, 2005).

Yaşam Oyunu için ortogonal bir ızgaraya, bu ızgara üzerinde ikili başlangıç durumlarına (canlı/ölü, açık/kapalı, 1/0, siyah/beyaz vb.) sahip hücrelere, hücrelerin ardışık zaman dilimindeki durumunu yerel bir komşuluk birimine (Moore komşuluğu) göre belirleyecek geçiş kurallarına ihtiyaç duyulmaktadır. Yaşam oyununun geçiş kuralları aşağıdaki gibidir (Şekil 1):

Ölüm: {t} anında canlı hücrenin ikiden az ya da üçten fazla canlı komşusu varsa, {t+1}’de o hücre yalnızlıktan ya da aşırı nüfustan ölür.
Hayatta Kalma: {t} anında canlı hücrenin iki ya da üç canlı komşusu varsa, {t+1}’de o hücre hayatta kalır.
Doğum: {t} anında ölü hücrenin tam olarak üç canlı komşusu varsa, {t+1}’de o hücre canlı hale gelir yani doğar.

Şekil 1: Yaşam Oyunu’nun 4 geçiş kuralı.

Tüm bu malzemeler bir araya geldiğinde Yaşam Oyunu oynanmak üzere hazırdır. Bu noktada değinilmesi gereken önemli bir bilgi, bu oyunun aslında “oyuncusuz” bir oyun olmasıdır. Modelin başlangıç durumunu belirleyen ve oyunu başlatan oyuncu prosedüre, durdurma, yeni başlangıç konfigürasyonunu belirleme ve yeniden başlatma dışında müdahale edemez. Yaşam Oyunu, Wolfram (2002)’ın taksonomisine göre 4. kategoride bir Hücresel Özdevinim olarak kabul edilir. Yani, Yaşam Oyunu istikrar ve kaos arasındaki sınırda, yerel bölgelerde toplaşan yapılarla, basit bir ortam ve çok basit bir başlangıç konfigürasyonundan başlayarak periyodik yapılar, kararlı bloklar ve karmaşık hareketli modeller ortaya çıkarabilir (Url-3). Yaşam Oyunu’nda periyodik olarak gözlemlenebilen ve birbiriyle etkileşimleri sonucu var ya da yok olan temel yapılar mevcuttur. Model akışkan ve hareketli gibi gözükse de aslında tüm hücrelerin hareketsiz olduğu unutulmamalıdır. Oyun süresince hücreler belirli süreçlerde bir araya gelerek benzer kalıp şekiller oluşturur ve zaman ilerledikçe bu kalıp şekiller ölüp tekrar doğabilir. Örneğin planör (glider) denilen kalıp şekil, simülasyon ekranında sürekli hareket ederek dolaşırken, yiyici (eater) bu kalıpları (sanki) yiyerek içine katar ve yok eder. Oyun boyunca bir çok kalıp şekil doğar büyür, evrilir ve yok olur. Herhangi bir kişinin Yaşam Oyunu’nun nasıl sona ereceği ya da uzun vadede nasıl davranacağı ile ilgili tahmin yapması oldukça zordur. Hücreler, her biri doğrudan makro ölçekte neler olduğuna bağlı olmayan tek tek hücrelerin bir koleksiyonu olarak doğar, yaşar, hareket eder, diğer hücre yapılarını yer ve ölür (Url-3). Sistem kendi kendini organize eder, ve başlangıç durumu değiştikçe farklı yaşam ortamları yaratılır. Rastgele başlangıç koşullarından başlayan tipik bir Yaşam Oyunu evriminin bazı başlangıç konfigürasyonları, birkaç zaman adımından sonra bile statik veya basit periyodik yapılara dönüşebilir. Diğer konfigürasyonlar, periyodik olmayan, gelişimi tahmin edilemeyen karmaşık ortamlar üretebilir (Url-3). Bir şekilde etkileşime giren çok sayıda parçadan oluşan bir sistem ortaya çıkması Yaşam Oyunu’nun karmaşık sistem özellikleri sergilemesine neden olmaktadır. Bu tür sistemlerde bütün, metafizik anlamda değil, pragmatik anlamda parçaların toplamından daha fazlasıdır (Batty, 2005).

Fiziksel düzeyde hareketin olmadığı, sadece canlı ve ölü olan piksellerin, yani hücrelerin, sabit uzaysal konumlarıyla tanımlandığı bu oyunda, planör (glider) ya da yiyici (eater)’nin yaptığı eylemde bir amacı var mıdır? Bu yapılar sadece rasyonel bir şekilde kendine işlenen kuralı uygulamakta ve öngörülmesi zor davranış ve yapılar meydana getirmektedir (Dennett, 2004). Bu var oluş, düşünsel anlamda kendi yaşam oyunumuzda bilinç ve özgür irade gibi konulara farklı bir gözle bakmamızı da sağlayabilir (Dennett, 2004). Belirli bir Yaşam Oyunu sürecinde gelecek adımları hesaplamak görece daha kolayken bu sistemi tersine çevirmek ve sistemin ilksel durumunu tahmin etmek oldukça zordur (Url-4). Yani Yaşam Oyunu için birçok farklı geçmiş şimdiki duruma yol açabilirken, oyunun geleceği mevcut durum tarafından sabitlenmiştir. Bu açıdan bakıldığında bizim yaşam oyunumuzda olduğu gibi geçmişin “sabit” ve geleceğin “açık” olduğu standart görüşümüzün tam tersi bir yaşam ortaya çıkmaktadır (Dennett, 2004).

Sonuç olarak, Yaşam Oyunu hem tasarım süreci hem de var oluşu ile, mevcut yargılarımızı sorgulamaya yol açan, oldukça karmaşık yapıların oldukça basit kurgular sonucu meydana geldiği, beliren davranışlar sergileyen ve kendi kendini örgütleyen, kısıtlanmış üretken bir prosedürdür. Bu sistemin beliren davranışının doğasını, kurallarının oldukça basit ve yerel düzeyde tanımlanmış olması, ardışık bir zaman diliminde oyun kurallarının eş zamanlı olarak tüm hücrelere tekrar tekrar etki etmesi ve hücreler arasında bilgi alışverişinin olması oluşturmaktadır. Böylece bu kısıtlanmış fakat etkileşime dayalı üretken prosedür, tüm oyun uzayındaki bağımsız gibi görünen aktivitelerin toplamından çok daha fazlasını içerir ve karmaşık, öngörülmesi zor yapılar ortaya çıkarır.

Kaynaklar

Batty, M. (2005). Cities and Complexity: Understanding Cities with Cellular Automata, Agent-Based Models, and Fractals. The MIT Press: Cambridge, Massachusetts, London, England.

Dennett, D. C. (2003). Freedom Evolves. Viking Penguin.

Holland, J. H. (1998). Constrained Generating Procedures. İçinde: (edit.) Menges, A. ve Ahlquist, S. (2011). AD Reader: Computational Design Thinking. Wiley, ss.131-141.

Wolfram, S. (2002). A New Kind of Science. Champaign, IL: Wolfram Media.

[Url-1]: https://processing.org/examples/gameoflife.html

[Url-2]: https://www.gokyaysatrancvakfi.org.tr/kutuphane/satrancla-ilgili-ilginc-bilgiler

[Url-3]: https://plato.stanford.edu/entries/cellular-automata/#LifeUnivTuriMach

[Url-4]: https://medium.com/@ptyshevs/rgol-ga-1cafc67db6c7

Bir Cevap Yazın

Aşağıya bilgilerinizi girin veya oturum açmak için bir simgeye tıklayın:

WordPress.com Logosu

WordPress.com hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap /  Değiştir )

Google fotoğrafı

Google hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap /  Değiştir )

Twitter resmi

Twitter hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap /  Değiştir )

Facebook fotoğrafı

Facebook hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap /  Değiştir )

Connecting to %s