Hamburg --:-- EN DE TR E-posta
← Tüm yazılar

Evren zar mı atıyor, yoksa sayıyor mu?

100 yazı-turayla başlayan bir akşam sohbeti: rastgelelik, bir Excel tablosu ve kuantum fiziğinin hâlâ açık bir sorusu.

Bir akşam Claude'a basit bir şey sordum: Python'da 100 kere yazı-tura atan bir kod yaz, bakalım kaç tura, kaç yazı geliyor. Kod beş satırdı, sonuç 43 tura, 57 yazı. Atış sayısını 10.000'e çıkardım: 5010 tura, 4990 yazı.

İlk tepkim hayranlıktı: yazılımcılar ne güzel bir rastgelelik mekanizması yapmış, sonuç %50'ye bu kadar yakın. Sonra soru değişti. Sonra bir daha değişti. Sonunda kendimi kuantum fiziğinin temel tartışmalarından birinin ortasında buldum. Bu yazı o sohbetin kaydı; içindeki bütün kodları birlikte çalıştırdık, tablolar gerçek çıktılar.


1. Denge yazılımın değil, matematiğin eseri

Kod şu:

import random

sonuclar = [random.choice(["Tura", "Yazı"]) for _ in range(100)]
print("Tura:", sonuclar.count("Tura"))
print("Yazı:", sonuclar.count("Yazı"))

Burada hiçbir yerde "dengeyi koru" diyen bir satır yok. Her atış bir öncekinden habersiz, bağımsız bir 50/50 seçim. Toplamın yine de %50'ye yaklaşmasının adı büyük sayılar yasası.

İşin incelikli kısmı şu: sapma aslında küçülmüyor, büyüyor. n atışta beklenen sapma kabaca √n/2 kadar. Toplam daha hızlı büyüdüğü için sapma yüzde olarak eriyor:

      Atış      Tura   Fark (adet)   Fark (%)    √n/2
------------------------------------------------------
        10         5             0      %0,00       2
       100        46             4      %4,00       5
     1.000       489            11      %1,10      16
    10.000     5.017            17      %0,17      50
   100.000    50.120           120      %0,12     158
 1.000.000   499.410           590      %0,06     500

Adet olarak fark 4'ten 590'a çıkıyor; yüzde olarak %4'ten %0,06'ya iniyor. Sapma √n ile, toplam n ile büyüyor; oranları 1/√n, o da sıfıra gidiyor.

Bu gözle bakınca benim 10.000 atışlık sonucum hiç şaşırtıcı değil: beklenen sapma 50 civarı, benimki 10. Asıl 5000/5000 çıksaydı şüphelenmem gerekirdi.

2. Yazılımcıların asıl başarısı

Matematik "her atış bağımsız ve eşit olasılıklı olursa" diye başlıyor. O şartı sağlamak ise zor iş.

Python'un random modülü Mersenne Twister (MT19937) kullanıyor. Tamamen deterministik bir algoritma: aynı başlangıç değeriyle (seed) her seferinde aynı diziyi üretir. Ama dizi ancak 2¹⁹⁹³⁷−1 adımda bir kendini tekrar ediyor. Karşılaştırma için: evrendeki atom sayısı 2²⁶⁶ civarında. Üstelik ardışık 623 sayıya kadar bütün kombinasyonlar eşit sıklıkta çıkıyor. Zor olan da bu: her sayının eşit çıkması kolay, hiçbir gizli örüntü olmaması zor.

Bir de sessiz bir tuzak var. Rastgele bir sayıyı liste uzunluğuna göre mod almak (sayı % 3) masum görünür ama bozuktur: 0–255 arası bir sayının 3'e göre modunu alırsanız ilk eleman 86, diğerleri 85'er kez gelir. Python bunun yerine "yeterince bit üret, aralık dışına düşerse at, yeniden üret" yöntemini (reddetme örneklemesi) kullanıyor. Doğru sonuç için bilerek fazladan iş yapıyor.

Küçük bir not: bu istatistiksel kalite, güvenlik anlamına gelmiyor. Mersenne Twister'ın 624 ardışık çıktısını gören biri iç durumu hesaplayıp sonraki bütün sayıları tahmin edebilir. Şifre ve anahtar üretiminde secrets modülü kullanılmalı.

3. Asıl soru: rastgelelik gerçek mi?

Buraya kadarki kısım bilgisayarla ilgiliydi. Sonra aklıma başka bir şey takıldı.

Kuantum mekaniğinde bir parçacık, ölçülene kadar iki durumda birden "bekliyor" gibi davranıyor; ölçünce biri gerçekleşiyor, diğeri kayboluyor. Ya bu gerçek bir rastgelelik değilse? Ya evren en küçük zaman ölçeğinde düzenli bir şekilde 0101010101... diye gidiyorsa ve biz bu diziye kaba aralıklarla baktığımız için rastgele bir şey görüyorsak?

Bu sezginin arkasında gerçek bir mekanizma var: aliasing (örtüşme). Filmlerde araba tekerleğinin geriye dönüyormuş gibi görünmesi bundan. Hızlı bir düzeni yavaş örneklerseniz sahte bir görüntü elde edersiniz. Ölçek farkı da hayali değil: Planck zamanı yaklaşık 5,4×10⁻⁴⁴ saniye, bugüne kadar ölçülmüş en kısa süre ise 247 zeptosaniye (2,47×10⁻¹⁹ saniye). Arada 10²⁴'ten fazla kat var. Altta bir şeyler olup bitmesi için bol bol yer var.

Ama 0101 tam da işe yaramayan türden bir düzen. Bu diziyi farklı aralıklarla örnekledim:

adım    1: 01010101010101010101...   1 oranı = %50
adım    2: 00000000000000000000...   1 oranı = %0
adım    3: 01010101010101010101...   1 oranı = %50
adım    7: 01010101010101010101...   1 oranı = %50
adım 1024: 00000000000000000000...   1 oranı = %0

Periyodik bir kaynağı sabit aralıklarla örneklerseniz rastgelelik elde etmezsiniz, başka bir periyodik şey elde edersiniz: adım çiftse hep aynı sonuç, tekse düzenli bir salınım. Evren gerçekten böyle çalışsaydı, bunu ilk deneyde fark ederdik.

Oysa kaynağın periyodik olması gerekmiyor, deterministik olması yetiyor. Şu kuralın içinde hiç rastgelelik yok:

x = 0.30000000001
for _ in range(100_000):
    x = 4 * x * (1 - x)          # lojistik harita
    bit = 1 if x > 0.5 else 0

Çıktı 11100010100110011001... diye gidiyor ve 1'lerin oranı %49,82. Sekiz karakterlik bir formül, yazı-turadan istatistiksel olarak ayırt edilemeyen bir dizi üretiyor. Başlangıç değerini trilyonda bir oynattığımda (0,300000000011) iki dizi 38. bitte ayrılıyor ve bir daha hiç buluşmuyor. Kural aynı, gelecek bambaşka.

Buradan çıkan ders: deterministik olmak ile öngörülebilir olmak aynı şey değil. Düzen, kaotik olabilir.

4. Excel tablosu: sütunlar zaman olsaydı

Fikri daha net anlatmak için bir tablo yaptım:

Sütun (zaman) →   A  B  C  D  E  F  G  H  I  J  K  L  ...
Yazı-tura         0  1  0  1  0  1  0  1  0  1  0  1  ...
Zar               1  2  3  4  5  6  1  2  3  4  5  6  ...
Üç yüzlü          1  2  3  1  2  3  1  2  3  1  2  3  ...

Sütunlar zaman. Evren, en küçük zaman ölçeğinde bir sayaç gibi çalışıyor ve zarın altı yüzünü sırayla, hiç şaşmadan tarıyor. İstatistik baştan garanti: her yüz tam 1/6, çünkü sayaç hepsinin üstünden eşit sıklıkta geçiyor. Zar attığımızda olan tek şey, dönen sayacın hangi sütununa denk geldiğimiz. "Şans" dediğimiz şey olayın değil, bizim zaman içindeki konumumuzun bir özelliği.

Buna "odometre evreni" diyelim. Fikrin saygın bir soyağacı var: Ludwig Boltzmann'ın 1870'lerdeki ergodik hipotezi hemen hemen bunu söyler. Bir sistem yeterince uzun sürede bütün olası durumlarından geçerse, zaman ortalaması ile olasılık ortalaması eşit olur. İstatistiksel mekaniğin bütün binası bu varsayımın üstünde durur.

5. Odometre evreni parmak izi bırakır

Fikir güzel, ama tam da bu yüzden test edilebilir.

Sayaç, sonuçları kendi kendine dengeler. Fazla 6 gösterdiyse, kaçınılmaz olarak diğer yüzlere uğrayıp açığı kapatır. Sapma bir tavana çarpar ve orada kalır. Gerçek zarın ise hafızası yoktur, açık kapatmaz; sapma serbestçe dolaşır ve √n ile büyür.

İkisini karşılaştırdım. Odometre evreninde zar 1'den 6'ya sırayla dönüyor ve biz ona, sayaçla ortak ritmi olmayan sabit aralıklarla (altın oran) bakıyoruz. Karşısında sıradan bir rastgele zar var. Tabloda "6 gelme sayısı"nın beklenen n/6 değerinden sapması gösteriliyor:

          n   Odometre   Rastgele   Beklenen σ
----------------------------------------------
        100        0,7        3,3            4
      1.000        0,3        4,3           12
     10.000        0,7       89,3           37
    100.000        0,3       86,3          118
  1.000.000        0,7      123,3          373

Odometre evreninde sapma bir milyon atıştan sonra bile 1'in altında kalıyor. Rastgele zarda yüzlere çıkıyor. (10.000 satırındaki 89 biraz şanssız bir sapma, yaklaşık 2,4σ. Rastgele sütunu her çalıştırmada değişir; önemli olan büyüme eğilimi.)

İki dünyada da her yüz 1/6'ya yakınsıyor, ama farklı şekilde. Odometre evreni gerçek evrenden "fazla düzgün" olurdu. Bu ölçülebilir bir fark, ve kuantum rastgele sayı üreteçleri standart testlerde √n davranışını gösteriyor. En azından erişebildiğimiz katmanda evren açığını kapatmıyor.

6. Kurtarma yolu ve bedeli

Modeli kurtarmanın bir yolu var: "biz sayaca rastgele anlarda denk geliyoruz" derseniz, dağılım yine normalleşir ve √n geri gelir.

Ama bu cümleyi kurduğunuz anda rastgeleliği yok etmemiş, yerini değiştirmiş olursunuz. Zarın sonucu artık deterministik, ama "hangi sütuna denk geldiğimiz" rastgele. Peki ölçüm anımızı ne belirliyor?

  • Ölçüm anı da deterministikse, hangi sütuna denk geleceğiniz de baştan yazılı demektir. Zarı atmayı siz seçmediniz; sayaç sizi o sütunda atarken buldu. Buna süperdeterminizm deniyor. Mantıken kusursuz, ama bedeli ağır: deneyi yapanın seçimi de ölçtüğü şeyle aynı dizinin parçasıysa, "bağımsız deney" kavramı anlamını yitiriyor.
  • Ölçüm anı rastgeleyse, başladığınız yere döndünüz. Rastgelelik hâlâ evrende; sadece zarın yüzünden saatin üstüne taşındı.

Bunu bilgi kuramıyla da söyleyebiliriz. Sonuç, örnekleme anının deterministik bir fonksiyonuysa, sonucun belirsizliği (entropisi) örnekleme anının belirsizliğinden büyük olamaz: H(sonuç) ≤ H(an). Sayaç modeli rastgelelik bütçesini hiç düşürmüyor; faturayı başka bir kaleme yazıyor.

Belki de rastgelelik evrende bir nesne değil; açıklama zincirini nereye iterseniz itin, bir yerde dibe vurduğu noktanın adı.

7. Literatüre baktık: fikrin sahipleri var

Buradan bir makale çıkar mı diye literatüre baktık. Kısa cevap: çıkmaz, çünkü fikrin her katmanı daha önce düşünülmüş. Ama kimlerin düşündüğü ilginç.

Felsefi tez. Nobel ödüllü fizikçi Gerard 't Hooft, The Cellular Automaton Interpretation of Quantum Mechanics (2016) kitabında tam olarak bunu savunuyor: kuantum mekaniğinin altında, Planck ölçeğinde çalışan deterministik bir hücresel otomat olabilir.

İstatistiksel test. Kavulich, Van Deren ve Schlosshauer (Physics Letters A, 2021), Avustralya Ulusal Üniversitesi'nin (ANU) kuantum rastgele sayı üretecinden aldıkları, her biri 1,68 milyar bitlik 100 diziyi algoritmik rastgelelik testlerinden geçirdi. İkinci bir kuantum üretecinden gelen 64.000 bitlik dizileri aynı uzunluğa ulaştırmak için döngüye soktular ve bu döngüsel dizileri, testlerin tekrarı yakalayıp yakalamadığını görmek için de kullandılar. Kuantum üreteçlerle klasik sözde rastgele üreteçler arasında istatistiksel olarak anlamlı bir fark bulamadılar.

"Sapma tavana çarpar" imzasının literatürde standart adları da var: Hurst üsteli H < 0,5 (anti-kalıcılık, yani geri dönme eğilimi) ve düşük uyumsuzluklu diziler (low-discrepancy sequences). İkincisinin standart rastgelelik testlerinden kaldığı ders kitabı bilgisi. Yani odometre evreninin basit hâli, mevcut testlerle zaten eleniyor.

Kurtarılmış hâli. En şaşırtıcı kısım burada. "Gizli değişken zaman içinde değişiyor, yeterince hızlı ölçersen yakalarsın" fikri, Sabine Hossenfelder ile Tim Palmer'ın Rethinking Superdeterminism (2020) makalesinde önerdikleri deneyin ta kendisi. Önerileri kabaca şöyle: mümkün olduğunca aynı hazırlanmış durumlar, mümkün olduğunca küçük ve soğuk cihazlar, ve mümkün olduğunca küçük zaman aralıkları.

Mümkün olduğunca küçük zaman aralıkları: Excel tablosundaki sütunlar. Bu deney henüz ikna edici biçimde yapılmadı; ama masa başında değil, laboratuvarda yapılabilecek bir iş.

Bir ayrıntı: 2022 Nobel Fizik Ödülü'ne konu olan Bell testleri (Aspect, Clauser, Zeilinger) yerel gizli değişken modellerini eliyor, ama süperdeterminizmi ayıramıyor. Hossenfelder bunu açıkça söylüyor: Bell tipi testler süperdeterminizmi kuantum mekaniğinden hiçbir zaman ayırt edemeyecek. Onun önerdiği yol, küçük ve soğuk sistemlerde Born kuralından sapma aramak.

8. Kapanış: kader yazılı olsa bile

Diyelim 't Hooft haklı ve evren gerçekten deterministik bir otomat. Bir şey değişir mi?

Stephen Wolfram'ın hesaplamalı indirgenemezlik dediği bir kavram var: bazı deterministik sistemlerin geleceğini öğrenmenin, onları adım adım çalıştırmaktan daha kısa bir yolu yoktur. Evren kendisinin en hızlı simülasyonu, ve biz onun içindeyiz. Kader tamamen yazılı olsa bile, içeriden bakan hiç kimse onu önceden okuyamaz.

Belki asıl soru şu: "gerçekten rastgele" ile "deterministik ama ilkesel olarak erişilemez" arasındaki farkı hiçbir deney ayırt edemiyorsa, bu fark bir şey ifade eder mi?

Excel tablosunun bir özelliği daha var: bütün sütunlar aynı anda sayfada duruyor. Geçmiş sütunlar silinmiyor, gelecek sütunlar beklemiyor. Felsefede buna blok evren deniyor ve Einstein'ın görelilik kuramından doğal olarak çıkıyor. Einstein, yakın dostu Michele Besso öldüğünde ailesine yazdığı mektupta geçmiş, şimdi ve gelecek arasındaki ayrımın inatçı bir yanılsamadan ibaret olduğunu söyler.

Bir yazı-tura kodundan buraya geldik. Evren zar mı atıyor, yoksa sayıyor mu? Bilmiyoruz. Ama sorunun hangi deneyle sınanabileceğini artık biliyoruz, ve bu da az şey değil.


Kaynaklar

  • Gerard 't Hooft, The Cellular Automaton Interpretation of Quantum Mechanics, Springer (2016). arXiv:1405.1548
  • J. T. Kavulich, B. P. Van Deren, M. Schlosshauer, "Searching for evidence of algorithmic randomness and incomputability in the output of quantum random number generators", Physics Letters A 388, 127032 (2021). arXiv:2101.01238
  • S. Hossenfelder, T. N. Palmer, "Rethinking Superdeterminism", Frontiers in Physics (2020). arXiv:1912.06462
  • S. Hossenfelder, "Superdeterminism: A Guide for the Perplexed" (2020). arXiv:2010.01324
  • S. Grundmann ve ark., "Zeptosecond birth time delay in molecular photoionization", Science 370, 339 (2020).
  • Low-discrepancy sequence, Wikipedia
  • Python random modülü belgeleri

Ek: odometre deneyinin kodu

import random

random.seed(42)
ALFA = (5 ** 0.5 - 1) / 2   # altın oran: sayaçla ortak ritmi olmayan bir örnekleme hızı

for n in [100, 1_000, 10_000, 100_000, 1_000_000]:
    # Odometre evreni: zar 1..6'yı sırayla tarıyor, biz sabit ama uyumsuz aralıklarla bakıyoruz
    odo_alti = sum(1 for i in range(n) if int(((i * ALFA) % 1) * 6) + 1 == 6)
    # Gerçek zar
    rnd_alti = sum(1 for _ in range(n) if random.randint(1, 6) == 6)
    beklenen = n / 6
    sigma = (n * (1 / 6) * (5 / 6)) ** 0.5
    print(n, round(abs(odo_alti - beklenen), 1), round(abs(rnd_alti - beklenen), 1), round(sigma))

Bu yazı, Claude ile yaptığım bir sohbetten doğdu. Kodları ve tabloları sohbet sırasında birlikte çalıştırdık.