- Bu kitap, kodlama teorisinin temel kavramlarını ve modern gelişmelerini kapsamlı biçimde derler
- Hata düzeltme kodlarının temel ilkelerini, çeşitli kod yapılarını ve sınırlarını, ayrıca gerçek dünyadaki uygulama alanlarını ele alır
- Shannon teorisi ve Hamming kodları başta olmak üzere Reed-Solomon gibi pratikte yaygın kullanılan kodları ayrıntılı biçimde açıklar
- Hashing, grup testi, biyometrik bilgi koruma gibi modern BT sistemlerindeki uygulama örneklerini de sistematik olarak sunar
- Ekler, alıştırmalar ve kaynakça dahil edilerek hem öğrenciler hem de uygulayıcılar için etkili bir başvuru kitabı olarak yapılandırılmıştır
Önsöz
- Bu kitap, Venkatesan Guruswami, Atri Rudra ve Madhu Sudan'ın kodlama teorisi ders notlarına dayanır
- University of Washington, CMU, University at Buffalo SUNY, Harvard ve MIT gibi kurumlarda verilen derslerin içeriği temel alınmıştır
- NSF CAREER grant CCF-0844796 tarafından desteklenmiştir
- Yazarların görüşleri ve sonuçları, NSF'nin resmî tutumunu temsil etmez
- Creative Commons Attribution-NonCommercial-NoDerivs 3.0 Unported License ile kullanılabilir
İçindekiler Özeti
Bölüm 1: Temel Sorular
- Kodlama teorisinin amacı, temel tanımlar ve kodlar
- Hata düzeltme ve kod mesafesi kavramı, Hamming kodları ve sınırlar
- Kod ailelerinin sınıflandırılması ile alıştırmalar ve kaynakça
Kısım I: Temeller
- Lineer kodlar, sonlu cisimler, vektör uzayı gibi matematiksel yapıların tanıtımı
- Hamming kodlarının verimli çözümü ve dual kodların açıklanması
- Alıştırmalar ve kaynakça içerir
Bölüm 3: Olasılık ve q-ary Entropi Fonksiyonu
- Olasılık kuramının temelleri, olasılıksal yöntem ve q-ary entropi fonksiyonunun anlaşılması
- İlgili alıştırmalar ve kaynakça sunulur
Kısım II: Kombinatorik
- Hamming, Gilbert-Varshamov, Singleton, Plotkin gibi kod sınırları ve limitlerin açıklanması
- Reed-Solomon kodları, polinomlar ve sonlu cisim uygulamaları
- Shannon'un gürültü modeli ve bilgi iletiminin sınırları, Hamming ile karşılaştırma
- Liste çözme, Johnson Bound, liste çözme kapasitesi gibi genişletmeler
- Elias-Bassalygo, lineer programlama sınırları gibi yeni limit yaklaşımları
Kısım III: Çeşitli Kod Yapıları
- Polinom tabanlı kodlar ve ikili alan uygulamaları, genel kod yapıları
- Kod birleştirme (concatenation), Zyablov Bound, gelişmiş birleştirme teknikleri ve özet
- Expander grafikleri ve Expander kodları, mesafe güçlendirme ve uygulama örnekleri
Kısım IV: Algoritmalar
- Reed-Solomon, Reed-Muller ve birleştirilmiş kodlar için verimli çözme yöntemleri
- BSCp kanal kapasitesine ulaşma yöntemleri ile iç/dış kod yapıları
- Polar kodlar, Polarization ilkesi ve encoder/decoder uygulaması, liste çözme yetenekleri
- Doğrusal zamanlı kodlama ve yerel onarım yapılabilen kodların açıklanması
Kısım V: Uygulamalar
- Hashing kuramı ve çakışma önleme, neredeyse evrensel hash fonksiyonları, veri sahipliği kanıtı
- Biyometrik kimlik doğrulamada (parmak izi) koruma için Fuzzy Vault kavramı
- Grup testinin (Group Testing) formelleştirilmesi, sınırlar ve veri akışı algoritmalarındaki uygulamalar
- Kodlama problemlerinin karmaşıklığı: en yakın codeword problemi, ön işleme tabanlı çözme, yaklaşıklama, minimum mesafe problemi vb.
- Hesaplama karmaşıklığını destekleyen konular olarak iletişim karmaşıklığı, rastgeleleştirme, Pseudorandomness, Hardcore Predicates, ortalama zorluktaki problemler vb. ele alınır
Ekler
- Sembol tablosu, yararlı eşitsizlikler ve eşitlikler, asimptotik gösterim, algoritmalar ve karmaşıklık için temel arka plan
- Cebirsel algoritmalar, sonlu cisimler ve polinom işlemlerine giriş
- Bilgi teorisinin ana kavramları: entropi, koşullu entropi, karşılıklı bilgi vb. derlenir
Özellikler ve Kullanım Değeri
- Modern telekomünikasyon, veri depolama, kriptografik sistemler gibi alanlarda kritik öneme sahip hata düzeltme algoritmaları için kuramsal arka planı ve pratik uygulama yöntemlerini kapsamlı biçimde sunar
- Temel kavramlardan güncel eğilimlere ve gerçek uygulamalara kadar düzenlenmiş içeriğiyle yeni geliştiricilere, araştırmacılara ve BT profesyonellerine geniş kapsamlı bilgi aktarır
- Her bölümde alıştırmalar ve kaynakça bulunması, öğrenme ve öz yönlendirmeli çalışma açısından avantaj sağlar
- Creative Commons lisansı kapsamında akademik ve ticari olmayan amaçlarla serbestçe kullanılabilir
1 yorum
Hacker News görüşü
Claude Shannon'ın "The Mathematical Theory of Communication" eserinin, derin bir matematik altyapısı olmadan da herkesin okuyabileceği kadar anlaşılır anlatılmış, bilgi teorisinin temel metni olduğunu vurgulamak isterim bağlantı
Kayıpsız sıkıştırma alanı üretken yapay zeka ile yakından ilişkili olduğu için biraz daha içerik eklenirse ilginç olabilir. Kayıpsız sıkıştırma ile makine öğrenmesi arasındaki bağlantıyı iyi tanıtan bir doktora tezini önermek isterim bağlantı
Yakın zamanda hazırlanmış iyi bir kaynak olarak <i>Information Theory: From Coding to Learning</i> adlı bir ders kitabı var. Çevrimiçi PDF sürümü de mevcut, bakmak faydalı olabilir bağlantı
"Coding"in burada ne anlama geldiğini soranlara yanıt olarak, buradaki coding, bilginin bir gösterimden başka bir gösterime dönüştürüldüğü encoding/decoding işlemlerini ifade eder. Bu tür sistemlere code denir ve bilgi aktarımı sırasında girişime, bozulmaya veya dinlenmeye karşı dayanıklı olacak şekilde tasarlanırlar. Yani coding, veri sıkıştırma, şifreleme, hata tespiti ve düzeltme, veri iletimi ve depolama gibi birçok alanda kullanılır bağlantı
CS alanında ücretsiz e-kitap paylaşma havası varken, Jeff E.'nin Algorithms kitabını da güçlü biçimde tavsiye etmek isterim. Algoritma öğrenen ya da bilgisini tazelemek isteyen herkes için mutlaka okunması gereken bir kitaptır bağlantı
Bu kitabın birkaç bölümünü okudum ve gerçekten çok memnunum. Önümüzdeki birkaç hafta, belki birkaç ay boyunca yavaş yavaş okumayı planlıyorum
Bilgi teorisi ve kodlama teorisini daha derinlemesine çalışmak istiyorsanız, şu kaynakları da önermek isterim. Error correcting code için "W. Wesley Peterson ve E. J. Weldon, Jr.'ın Error-Correcting Codes"; soyut cebir, özellikle cisim teorisi, içinse "Oscar Zariski ve Pierre Samuel'in Commutative Algebra" faydalı olabilir
Başlangıç seviyesindekilere önermek isteyeceğim birkaç kitap şunlar:
Biri ne zaman "bu zorunlu" dese, bölümde ilgili konuyu sadece hafifçe tatmış biri olarak benim için bu her zaman biraz ürkütücü bir an oluyor
Bu dersteki 'zorunlu' ifadesi, tüm bilgisayar mühendisliği öğrencilerinin mutlaka bilmesi gereken bir içerikten çok, kodlama teorisinin özünü taşıdığı anlamına geliyor. Kitabın ortak yazarlarından biri bizim okulda bu dersi bizzat veriyor ve bu ders matematiksel içeriği ezici derecede yoğun olan ileri seviye bir seçmeli ders. Dört yıllık bilgisayar bilimi programında çoğunlukla son sınıftaki çok az sayıda öğrenci alıyor; çevremde bu dersi alan arkadaşlarımın hepsi matematiksel ispatları seven kişilerdi. Dersi de sevdiler
Üzerinde "zorunlu" ya da "giriş" yazıyorsa, sizi oldukça yoğun bir ders kitabının beklediğinin habercisidir