Hazır Derin Tarih yazı serisine başlamışken, bilim tarihi perspektifinden "dünyayı değiştiren teoriler"e girişeyim dedim. Aklıma gelen üç teori var: Evrim Teorisi, Görelilik Teorisi ve Bilgi Teorisi...
Bu üç teori, yalnızca kendi alanlarını değil, bütün bilimsel disiplinleri etkilemiş, direkt olarak yaşamımıza etkisini çok çeşitli mecralarda gözlemleyebileceğimiz teoriler. Örneğin Evrim Teorisi sayesinde tedavi olabiliyoruz, Görelilik Teorisi sayesinde varoluşu daha iyi anlıyor ve bu kavrayış keskinleşmesiyle bütün alanlarda teknolojimizi daha hızlı ilerletiyor, Enformasyon Teorisi sayesinde bugün bilişim adına -bu satırları yazdığım bilgisayar ve size ulaştıran internet dahil- bildiğimiz her şeyi korkunç bir gelişme hızıyla yaratıyoruz.
Fakat ilginç bir durum var. Diğer iki teorinin "babası",Darwin ve Einstein çok iyi bilinirken, Enformasyon Teorisi'nin dâhi kuramcısı Claude Shannon bilinmiyor. Hem bugünkü bütün teknolojik seviyemizde bir şekilde pay sahibi olarak hayatımızı kolaylaştıran şeylerin doğrudan ya da dolaylı müsebbibi olmuş o güzel insanı anmak, hem de oldukça önemli bir konu olduğunu düşündüğüm bu teoriye dair biraz merak uyandırmak için bu yazıyı yazma kararı aldım.
Her ne kadar açıklayıcı olmaya çalışacaksam da, okuyucunun bazı temel meseleleri bildiğini varsayacağım (bilgisayar dünyasının 1 ve 0lar üzerine bina edildiği örneğin). Bu alanda ileri seviyede matematik bilenler için en iyi kaynak sanırım Robert McEliece imzalı The Theory of Information and Coding'dir, benim için biraz ağır gelmişti.
Herhalde ilk olarak Shannon'a dair kısa bir bilgi vermem lazım gelir. Kendisi matematikçidir, fakat çok farklı alanlara eğilmiş, elektronik, mekanik ve diğer fizik dalları ile matematik arasında uygulamaya yönelik ciddi yaklaşımlar içeren muhtelif kuramlar, tezler öne sürmüş bir bilim adamıydı. Zaten iki lisans birden bitirmişti: Elektronik Mühendisliği ve Matematik. Telekomünikasyon sistemlerinde Boole cebrini uygulama fikri ile yıldızı parlamıştı. Okuyucuyu sıkacak terminolojiye girmek istemiyorum; bir yarım Biyomühendis olarak ben de pek anlamıyorum zaten. Ancak söylemek gerekir ki, Almanların Enigma sıçraması ve savaş endüstrisi nedeniyle büyük çaplı mühendisliklerde bir ulusal birikim elde etmeleri gibi, Shannon'u da parlatan II. Dünya Savaşı'nın ihtiyaçları olmuştu. İletişim sistemlerinin gelişmesi ve elektronikleşmesi, kripto teknolojileri, dijital dünyanın temellerinin atılması bu büyük ve gösterişli bilim adamının kuramını geliştirmesi için gerekli şartları sağlamıştı.
Türkçe'de "bilgi" sözcüğünü malumat ile eş anlamlı kullanıyoruz. Bir terim anlam olduğunu göstermesi için Enformasyon demeyi tercih ediyorum. Öyleyse nedir Enformasyon Teorisi?
Aklımızda tutacağımız terimler, entropi, kaynak kodlama, kanal kodlama, gürültü ve kanal kapasitesi. Shannon'un master tezi yazılmış en iyi tezdir derler, temellerini attığı teori sırf zevk için, halihazırda insanoğluna bahşettiği ufku şöyle bir akıldan geçirmek, uyarlanabileceği, şablonlaşabileceği alanları hayal etmek ve bundan hastalıklı bir haz almak için tekrar tekrar baştan sona okunabilecek bir teoridir.
Düşünün ki, bir telgrafımız var ve biz Shannon'un kuramından haberdar değiliz. Bizim için "bilgi", filozofların "nasıl biliriz" vs. diye üzerine tartıştığı ama bilimsel bir şekilde gözlemlemeye tabi tutulabilir, matematiksel modellemesi oluşturulmamış bir şey. Savaş var diyelim: telgraf yolladığımızda düşman hatları kestiyse bunun mesajımızın karşıya ulaşmasına engel olacağını biliyoruz. Fakat mesajımızı ulaştıran bakır tellerin iletkenliğinin vs. de bunun üzerinde etkisi olduğunu düşünsek bile, tam olarak bu iki durum arasındaki sibernetik aynılığın farkında değiliz.
İşte burada Shannon'un bu çok tatlı teorisindeki, öncelikle, bilgi "formül"ü devreye giriyor. Eğer bilgiyi "bit" olarak ifade edeceksek, yani 1'ler ve 0'lar; "olay"ın kaç "bit değerinde" olacağını olasılık kavramı sayesinde hesaplamak mümkün: logaritma 2 tabanında 1 bölü olasılık değeri. Yani, madeni para fırlatıyoruz diyelim (bu örnek de sanırım Information Theory for Dummies başlıklı her metinde yer almak zorunda), yazı gelme olasılığı 1/2 yani 0.5'tir. Yerine koyarsak, log2(1/05)= log2(2)=1, yani 1 bit "değerinde", bir bit kapsayan bir bilgidir bu. Sözel düşünelim: bit ne demekti? Bir ya da sıfır demekti, ele aldığımız olay da, en fazla iki durumu olabilecek bir olaydı. "Olduğu" anda da, bir değer kazandı, bu değer de ikili sistemde tek bir "sembol" ile ifade edilebildiğinden, değeri 1 bit oldu.
Buna bilginin entropisi diyoruz: ihtimallerin toplamının oluşturduğu evren, onun entropisini oluşturuyor. Quantum gibi düşünün, "ölçüldüğü" anda ise, bir "enformatik değer"e kavuşuyor.
Yukarıdaki örneği taş kağıt makas üzerinden verelim. İki kişi oynasın. Birinin taş ya da makas yapma ihtimali, diğerini etkilemediği için bunlar bağımsızdır, şartlı ya da birleşik entropi yok. Her bir olayın olasılığı 1/3, bir taş ve bir makas geldi ise, 1/3*1/3, yani 1/9, yani 0.11111111. Bit değeri ne olur? log2(1/0.111111)=log2(9), o da 3,16 bit. Buna "self-information" diyoruz tabii, bir olayın kendisinde haiz olduğu bütün bilgi. Bir de, diyelim ki bir makinaya, "taş makası yener" vs. gibi durumları da tanıtacağız, bunları da hesaplar, bütün bir taş kağıt makas oyununun, "Ali taş yaptı, Ayşe makas yaptı, Ali Ayşe'yi yendi" cümlesinin hem matematiksel bir modellemesini, hem de bilgisayarın anlayacağı bir dile tercümesini yapmış oluruz, buna da kısaca "kodlama" diyoruz.
Tabii "olay"lar bu kadar basit değil, çok daha karmaşık "şey"leri tanımlıyoruz artık. Nasıl oluyor? Shannon bunun için "iletişim"e bir matematiksel modelden yaklaşım geliştiriyor, diyor ki;
Sözel ifadesi: Bir bilgi "kaynağı"ndan alınan bir bilgi "kodlanır", bir "verici" vasıtasıyla bir "gönderilen ileti"ye dönüştürülür, bu ileti bir "gürültü"ye maruz kalır, bu maruz kalışın sonunda elimizde "alınan ileti" olur, bu "alıcı"da "kod çözümü"ne uğrar ve hedefe ulaşır. bunu bir radyo sinyali ya da ağzınızdan çıkan bir söze uyarlayabilirsiniz.
Pekala kaynak kodlama nedir?
Biz bir "şey"i, bilgisel pakete dönüştüreceksek, onu her zaman olduğundan az yer kaplayacak bir pakete dönüştürürüz. Çok yüzeysel bir örnek ama, benim vesikalık fotoğrafım benim suratım değildir, onun indirgenmiş, göstergebilimsel bir paketidir. Öyleyse bu "kodlama", bilgiyi "sıkıştırma" işidir: bu kayıplı ya da kayıpsız olabilir.
Nasıl kayıpsız olabilir? Örneğin ben bir "kod çözücü"ye, bir yüzeyi tarif ediyorsam, ve bu yüzey 9*9 81 kareden oluşup, sol üst köşesinde 3*3 9 kare yeşil, geri kalanı kırmızıysa, x,y ikiliğinde x satırı, y sütunu gösterecekse ve nümerik değerler soldan sağa, yukarıdan aşağıya artacaksa, şu bir kodlama yoludur: 1,1 yeşil, 1,2 yeşil, 1,3 yeşil, 1,4 kırmızı, 1,5 kırmızı... Tek tek bütün karelerin rengini tanımlarım.
Bunun yerine "1,1'den 1,3'e kadar yeşil, 1,3'ten 1,9'a kadar kırmızı..." şeklinde tarif edersem, bilgi sıkışmış olur, gerçekte kapladığı yerden daha az yer kaplayacak biçimde kodlanmıştır ve kod çözümü olduğunda, hiçbir veri kaybı yaşamayız. (Peki bu bilgi gündelik hayatımızda ne işe yarayacak? En basitinden zip/rar dosyaları, en karmaşıklarını ben anlamıyorum bile tarif edemem, kısaca şu an teknoloji adına ne varsa buna borçluyuz.)
Kayıplı olan? Az önceki örneğimizde yeşil ya da kırmızı önemli değil de, sadece 3*3lük bir alanın farklı bir renkte olduğu bilgisi yeterli olacak ise, böyle kodlarız, karşıda da böyle çözülür: Artık renk bilgisi kaybolmuştur, ama yüzeyde rengi farklı olan bir bölge olduğu bilgisi aktarılmıştır. Bu da bize yerden kazanma şansı verir.
Bu iki kodlama yöntemi aslında "doğada" karşımıza çıkar: beynimiz, sinirlerimiz, duyularımız böyle çalışır. Örneğin gözlerimizde kayıplı kodlama yapan ve sadece formları gören ile kayıpsız kodlama yaparak renkleri algılayan iki tür özelleşmiş yapı bulunur, bunlar birleştiği zaman ortaya net bir görüntü çıkar.
Bir de kanal kapasitesi var: İleti nerede aktarılıyorsa, o "kanal"ın doğası ya da araçların işlevleri gereği aşılamayacak bir kapasite durumu sözkonusudur. Bizim derdimiz, bu kanalı da "kodlayarak", bu kapasiteyi en verimli şekilde kullanmaktır: buna ulaştığımızda, basitçe yeni kanal açarız. Yani bir kablo daha bağlarız, bir anten daha takarız vs.
Kanal kodlama? Kanalda "gürültü" var dedik, bu gürültü şimdilik "iletişimi menfi etkileyebilecek her şey" demek. Tellerin iletkenliği, rüzgar, bir biçimden diğerine dönüşürken oluşan kayıplar vs vs vs.... Şimdi bu gürültü içerisinde karşıya iletinin ulaşıp ulaşmadığını bilmek, hele ki uzun konuşacaksak önemlidir.
İlk yöntem, telsizcilerin yaptığı gibi "tamam" diyerek bitirmek, "kod adı"nı kullanarak başlamaktır. Diyelim ki manyak bir tebliğciyim ve Bakara Suresi'ni karşıya mors alfabesiyle yollayacağım. (Kod içinde kod var yani. Surenin bilgisi, "dil" ile kodlanıyor. Sonra o dil kodlama dizgesi, mors kod dizgesine dönüştürülüyor.) Çok uzun sürecektir, o yüzden her ayetin sonuna karşının da bildiği bir sinyal eklerim, diyelim ki ..__.. olsun. Karşı da aynını söyleyerek "dinliyorum, az evvelki ayet geldi, devam" diyecek. 21. ayetten sonra, ..__.. mesajını gönderdim ama gelmedi, 20.de gelmişti oysa. Öyleyse 21. ayeti tekrar yollamalıyım, zira gitmemiş.
Bir diğer yöntem de, kanalın içine hataları onaran kodlar koymak. Ya da bağlı kodlamalar kullanmak, bu sayede bir kodlama şablonunda oluşacak hatayı, diğer şablonun tespit etmesini sağlayarak hatayı en aza indirmek.
Şimdi daha iyi anlamak için bir örnek verelim. Bir zigot döllenmeden önce, anne ve babada, 92 kromozomumuz var elimizde, klasik olasılık teorisiyle hesaplayamayacağım zira bu kromozomların nasıl ayrılıp hangi gametleri oluşturup nasıl birleşeceğini belirleyen kurallar çok düz değil ve ben matematikçi değilim, maalesef. Fakat 92 kromozomun 46 anne, 46 baba olarak bölündüğü, her birinden 23'er seçilerek (46lık bir havuzdan seçilen 23 adet babadan, aynı şekilde anneden, bunun hesabı basit aslında, ama birleşmeleri vs. o kadar düz değil, tamamının entropisini o yüzden hesaplamadım.) daha sonra birleşeceği bir düzeneğin entropisi var elimizde. Ve yumurta döllendiği anda, artık elimizde 46 kromozomluk bir "olay" var, ve bunun bitler olarak tarif edebileceğimiz, oldukça büyük bir "enformatik değer"i elimizde: yeşil gözlü olabilirdi, kız olabilirdi, beyaz tenli olabilirdi ama esmer, kahverengi gözlü ve erkek olmaya programlı bir döllenmiş yumurtamız var. İçindeki dna, ileride büyüyecek, koca adam olacak bebeğin enformatik değerini taşıyor.
Bu hücre bölünecek ve embriyo gelişecek: dna'lar kopyalanmalı. Dna, esmer, kahverengi gözlü ve erkek olmasını "kodlamıştı" örneğin, nelerle? İkili sistemle değil, "sembol"ler olarak a, s, t, g yani "adenin, sitozin, timim, guanin" bazlarını kullanarak. 1,0 bilgisayar diliyse, a,s,t,g biyolojik kodlama "sembolleri"dir, biyolojik dilin sözcükleridir diyebiliriz. Ama dedik, bunlar kopyalanacak, yani "iletişim" gerçekleşecek: RNAlar örneğin iletişim sağlayan genetik kodlardır, hangi proteinin sentezleneceğini anlatır. DNAlar da bir nevi iletişim işlevi üstlenirler, atadan döle geçen bir bilgi aktarımı. Ve hem RNA hem DNA'larda, bazı enzimler, proteinler çalışır: Görevleri hataları düzeltmektir! Böylece genetik sıkıntıların oluşma ihtimalini en aza indirirler (fakat bütünüyle yok edemezler). Ayrıca, DNA ve RNA'ların belli bölgelerinde örneğin bilmem kaç tane Adenin peş peşe dizilir, belli bir bölgenin başladığına ya da dna zincirinin baş kısmı olduğuna işaret eden gruplardır bunlar. Yani DNA ve RNA'da hem kaynak kodlama vardır, hem kanal kodlama. DNA ve RNA denen zincirler, birer kodlamadan ibarettir, "biyolojik insan"ı kodlar. O zigottan bildiğimiz, gerçekten esmer, kahverengi gözlü ve erkek bir adam çıktığına göre, kayıpsız sıkıştırma tekniği kullanılmıştır. Bu kod paketlerinin kopyalanırken ve iletilirken bozulmaması için, proteinler ve enzimler görevlidir, bu da kanal kodlamadır. Fakat bu süreçler gelişirken, bebek rahimdeyken anne sigara içmiştir, bebek mankafa olması gerekmezken mankafa olmuştur, bu da gürültüdür.
Tabiattaki her olay, bir nevi "iletişimsel olay" olduğundan, bu kuramı esasen her meseleye uyarlayabiliriz, ki öyle de yapıyoruz. Umarım bu kısa yazı, Shannon ve onun muhteşem kuramına dair biraz olsun merak uyandırmıştır.
M. Bahadırhan Dinçaslan
This email address is being protected from spambots. You need JavaScript enabled to view it.
Yorumlar