Devre Tahtasından Kod Satırına

Genç Selda'ya Bir Not: Rastgelelik, En Tutarlı Doğruluktur

Sevgili Genç Selda, o gözlüğün ardından bilgisayar ekranına bakarken duyduğun çaresizlik hissini biliyorum. O anda sanki her şeyin bir sebebi olması gerektiği yanılgısına düşüyorsun. Her girdi, her çıktı, kusursuz bir nedensellik zincirinin parçası olmalı. "Neden bu veri böyle geldi?", diye soruyorsun, sanki doğanın bile bir hata payı varmış gibi.

Şunu bilmeni istiyorum: O günlerindeki o sabırsız aceleciliğin, aslında en büyük potansiyelini doğuracaktı.

Şimdi bu satırları yazarken, o günlerin yarattığı her küçük aksaklığın, çözülmesi gereken bir muamma değil, sadece farklı bir matematiksel modelin çıktısı olduğunu görüyorum. Özellikle de ilk mikrodenetleyicileriyle uğraştığın o dönemi… Arduino kartına bağlı olan sensörden gelen gürültülü sinyaller, okuduğun teorik değerlerle uyuşmuyordu. Sen buna "gürültü" diyordun, potansiyel bir hataymış gibi.

Gürültü mü, Bilgi mi? Ayrım Noktası

Bizler, yazılım geliştiriciler olarak her zaman temiz bir girdi bekleriz. Giriş değişkenlerimiz kontrollü, çıktımız öngörülebilir olmalı. Fakat fiziksel dünyadan gelen veriyi alıyorsun. Ve fiziksel dünya, mükemmel bir idealize edilmiş matematik denklemi değil; kaosun, termodinamik olayların ve elektronik bileşenlerin mikroskobik kaçaklarının birleşimi.

O gün taktığın piezo sensör, kusursuzca titreşim bilgisini vermiyordu. Birkaç direnç değeriyle kazandığın potansiyel enerji, bazen aşırı yükleniyor; bazı günler ise tamamen sessiz kalıyordu. Ve sen, bu sessizlikleri veya o beklenmedik sıçramaları birer başarısızlık olarak kodluyordun.

Yanlış olan buydu: Bu varyasyonu ortadan kaldırmaya çalışmak yerine, onu kabul etmeyi öğrenmen gerekiyordu.

Rastgeleliği Filtrelemek Yerine Onu Besle

İşte bu noktada, rastgelelik kavramı teknik bir sorundan çıkıp felsefi bir araca dönüşüyor. Eğer amacın sistemin öngörülebilirliğini kanıtlamaksa, tabii ki gürültüyü filtreleyip ortalamayı alırsın. Ama eğer amacın ise gerçek bir sistemi modellemek, o zaman rastgelelik senin en değerli girdin haline gelir.

Hatırlıyorum da, ilk önce basit bir olasılık dağılımını simüle etmeye çalışırken ne kadar zorlandığını. Bitmeyen döngüler, beklenmedik while(true) durumları... Sanki karşına bir düşman varmış gibi direnç gösteriyordun.

Fakat anlayınca, bu süreç bir mücadele olmaktan çıkıp bir dansa dönüştü. O "rastgele sayı üreteci" (RNG), aslında sisteminin sınırlarını zorlayan canlı bir parçasıydı. Senin yazdığın kod, o kaotik girdiye uygulanan disiplinli bir kural setiydi. Kontrol sende değildi; kontrol, kuralı belirlemedeydi.

Şimdiye kadarki tüm bu küçük aksaklıklar, tasarladığımız sistemin gerçek dünyaya olan köprüsünü kuran o en ince katmanlar. Bir sonraki projede mikrodenetleyicininize taktığınız o en son sensör, kusursuz bir sinyal yerine, size evrenin sürekli değişimini fısıldayacak. Ve bunu kodunla değil, matematiğin kabul ettiğin bir parçasıyla yöneteceksin.

Acele etme. Her "hata", çözülmeyi bekleyen yeni bir parametredir.