Ctrl+Z Evreni Bozar mı? Bir Hatayı Silmenin Görünmeyen Bedeli

Bir zaman makineniz olduğunu ve geçmişte yaptığınız küçük bir hatayı düzeltmek istediğinizi düşünün. Yanlış kişiye gönderilen mesajı siliyor, kaçırdığınız trene yetişiyor ya da kötü bir kararı hiç verilmemiş hâle getiriyorsunuz. İlk bakışta hayatın klavyesinde Ctrl+Z tuşuna basmış gibisinizdir. Fakat evren bir metin editörü değildir. Geçmişteki hata ortadan kalktığında, o hatanın ürettiği sonuçlar, ilişkiler ve yeni kararlar da açıklamasız kalabilir.

Silinen olay, kalan sonuçlar

Yazılım sistemlerinde buna benzeyen sorunlarla sürekli karşılaşırız. Bir veritabanındaki kaydı silmek basit görünür; ancak başka tablolar o kayda bağlıysa sistem itiraz eder. Siparişi silersiniz ama fatura hâlâ oradadır. Kullanıcıyı kaldırırsınız ama yazdığı yorumlar sahipsiz kalır. Bu durum referans bütünlüğü sorunudur: Bir neden yok edildiğinde, ona bağlı sonuçların ne olacağı belirlenmelidir.

Zaman yolculuğu paradoksları da kozmik ölçekte aynı soruyu sorar. Geçmişe gidip zaman makinesini yapmanıza yol açan olayı engellerseniz, geriye gitme nedeniniz ortadan kalkar. Fakat geri gitmediyseniz olayı kim engellemiştir? Ünlü büyükbaba paradoksunun özü budur: Sistem, kendi geçmişini geçersiz kılan bir işlem üretmiştir. Bir programcı bunu görse muhtemelen evrene “döngüsel bağımlılık” hatası verirdi.

Daha incelikli sorun ise kelebek etkisidir. Kaos teorisinde başlangıç koşullarındaki çok küçük farklılıklar, zaman içinde dev sonuçlara dönüşebilir. Geçmişte geciktirdiğiniz bir otobüs, iki insanın karşılaşmasını önleyebilir; onların kuramayacağı ilişki, doğmayacak çocuklar ve alınmayacak kararlar yaratabilir. Küçük düzeltme, tarihin arka planında çalışan milyonlarca işlemi sessizce yeniden hesaplatır. Evrenin işlemci fanı muhtemelen tam burada hızlanır.

Geri alma aslında silme değildir

Sağlam yazılım sistemleri geçmişi çoğu zaman gerçekten silmez. Bunun yerine önceki işlemi dengeleyen yeni bir işlem ekler. Banka transferi hatalıysa kayıt yok edilmez; ters yönde başka bir transfer oluşturulur. Böylece denetim izi korunur ve sistem, “Bu para neden burada?” sorusuna cevap verebilir. Olay kaynaklı mimarilerde de mevcut durum, geçmiş olayların toplamından oluşur. Bir olayı çekip almak, hikâyenin ortasından fiil silmeye benzer: Cümleler kalır ama anlam çöker.

Bu yaklaşım zaman yolculuğuna uygulandığında ilginç bir ilke ortaya çıkar: Geçmişi yok etmek yerine etkisini telafi etmek daha tutarlıdır. Söylenmiş kırıcı bir sözü söylenmemiş yapamazsınız; fakat özür, açıklama ve davranış değişikliğiyle yeni bir nedensellik zinciri kurabilirsiniz. Teknik sistemlerde buna telafi işlemi denir. İnsan hayatında ise sorumluluk adını alır.

Tek zaman çizgisi mi, yeni bir dal mı?

Bilimkurgu çatışmayı çözmek için genellikle iki model kullanır. İlkinde tek bir zaman çizgisi vardır ve yapılan değişiklik bütün geleceği yeniden yazar. Bu model paradokslara açıktır. İkincisinde her müdahale yeni bir dal oluşturur. Eski gelecek silinmez; yalnızca başka bir sürüm başlatılır. Bu, yazılımdaki sürüm kontrolüne benzer: Geçmiş kaybolmaz, yeni bir dalda farklı kararlar denenir. Ne var ki yolcu kendi hatasını gerçekten düzeltmiş olmaz; yalnızca hatanın yaşanmadığı başka bir dünyaya geçmiş olur.

Asıl ders şudur: Bir hata, meydana geldiği anda çevresindeki sistemin parçasına dönüşür. Onu silmek yalnızca tek bir olayı değil, o olayla anlam kazanan bağlantıları da hedef alır. İster veritabanı ister zaman çizgisi ister insan hafızası olsun, geçmiş bir dosya değil, ilişkiler ağıdır. Bu yüzden en güvenli “geri alma” yöntemi unutmak veya yok etmek değil; izi koruyarak yeni ve daha iyi bir sonuç üretmektir. Belki de olgunluk, geçmişi yeniden yazma gücü değil, onun üzerine çelişkisiz bir gelecek kurma becerisidir.