Yazan : Demet Gezer Huffman algoritması, bir veri kümesinde daha çok rastlanan sembolü daha düşük uzunluktaki kodla, daha az rastlanan sembolleri daha yüksek uzunluktaki kodlarla temsil etme mantığı üzerine kurulmuştur. Bir örnekten yola çıkacak olursak : Bilgisayar sistemlerinde her bir karakter 1 byte yani 8 bit uzunluğunda yer kaplar. Yani 10 karakterden oluşan bir dosya […]
Category: Veri Sıkıştırma (Data Compression)
Elias Kodlaması (Elias Code)
Yazan : Şadi Evren ŞEKER Veri sıkıştırmada veya verinin ikilik tabanda gösterilmesinde kullanılan bir algoritmadır. Basit bir çevirim fonksiyonu olarak da düşünülebilir. Bu yazı kapsamında birkça farklı elias kodu (elias code) şekli anlatılacaktır. Elias-Υ Kod (Elias – Υ Code): Elias upsilon kodlaması olarak okunur. İki formül bu kodlama için gereklidir. kd = taban(log2 k) kr = […]
Tekil Kodlama (Unary Coding)
Yazan : Şadi Evren ŞEKER Verilerin tekil karşılıkla kodlanmasıdır. Buna göre her verinin kendisine ait bir basamakta karşılığı bulunur. Basitçe k değerindeki bir sayının kodlanması için k adet 1 ve sonuna bir adet 0 konulur. Örneğin aşağıda bazı sayıların tekil kodlama (unary coding) karşılıkları verilmiştir: 1 –> 10 2 –> 110 3 –> 1110 11 […]
SimHash (Benzerlik Özeti)
Yazan : Şadi Evren ŞEKER Bilgisayar bilimlerinde, özellikle metin işlemenin yoğun olduğu, arama motoru gibi uygulamalarda dosyaların veya web sitelerinin birbirine olan benzerliğini bulmak için kullanılan bir algoritmadır. Algoritmaya alternatif olarak klasik hash fonksiyonları kullanılabilir. Yani, örneğin iki sayfasnın ayrı ayrı hash değerleri alınıp bu değerleri karşılaştırmak mümkündür. Ancak simhash algoritması, bu yönteme göre daha […]
Eşlik Kontrol Matrisi (Parity Check Matrix)
Yazan : Şadi Evren ŞEKER Hata kontrolü için kullanılan yöntemlerden birisidir. Veri güvenliği, veri iletimi veya veri sıkıştırma gibi alanlarda kullanılır. Genelde H sembolü ile gösterilir. Basitçe sistemde kullanılan üreteç matristen (generating matrix) çıkarılabilir. Bir eşlik kontrol matrisinin yapısı aşağıda verilmiştir: G = [I|P] şeklinde bir üreteç matris olmak üzere H = [PT|I] şeklinde bir […]
Kod Kelimesi
Yazan : Şadi Evren ŞEKER Haberleşmede kullanılan bir terimdir. Bir kod kelimesi (code word), belirli bir teşrifatın (protocol, protokol) anlamlı en küçük parçasıdır. Her kod kendi başına tek bir anlam ifade eder ve bu anlam yeganedir (unique). Aynı yaklaşım programlama dilleri için de geçerlidir. Her programlama dilinde bulunan her kelime tek bir anlam ifade eder. […]
Çift Özetleme (Double Hashing)
Yazan : Şadi Evren ŞEKER Bilgisayar bilimlerinde kullanılan özetleme fonksiyonları, genellikle büyük bir verinin daha küçük bir hale getirilmesine yarar. Bu anlamda özetleme fonksiyonları veri doğrulama (data verification) , veri bütünlüğü (data integrity), veri güvenliği (security) ve şifreleme (encryption) gibi pek çok alanda kullanılırlar. Özetleme fonksiyonlarının bir problemi, büyük bir veriyi özetledikten sonra, çakışma olması […]
İkinci Dereceden Sondalama (Quadratic Probing)
Yazan : Şadi Evren ŞEKER Özellikle özetleme fonksiyonlarının (hashing functions) bilgileri sınıflandırması sırasında kullanılan formülün ikinci dereceden olması durumudur. Özetleme fonksiyonlarında, sık kullanılan doğrusal sondalama (linear probing) yönteminin tersine, bir bilgiyi tasnif ederken, ardışık olarak veriler üzerinde hareket etmez, bunun yerine her defasında baktığı uzaklığı ikinci dereceden bir denklem ile arttırır. Konuyu anlamaya öncelikle doğrusal […]
LZW Sıkıştırma algoritması
Yazan : Şadi Evren ŞEKER Bilgisayar bilimlerinde kullanılan kayıpsız sıkıştırma (lossless compression) algoritmalarından birisidir. İsmini, algoritmayı 1978 yılında bulan Lempel Ziv ve Welch isimli kişilerin baş harflerinden almıştır. Algoritma, sıkıştırılacak metin içerisinde harf harf ilerleyerek, mümkün olan en fazla harfi içeren kelimeyi sözlüğe eklemeye çalışmakta ve bu sırada da sözlükteki karşılığı ile metni değiştirmektedir. Böylelikle […]
DFA Metin Arama Algoritması (DFA Text Search)
Yazan : Şadi Evren ŞEKER 1. Otomatın İnşası 2. Algoritmanın arama aşaması 3. Algoritmanın çalışması 4. Algoritmanın kodlanması Bilgisayar bilimlerinde, bir metnin içerisinde farklı bir metnin veya bir kelimenin aranması sırasında kullanılan algoritmalardan birisidir. Algoritma, aranan kelime için bir otomat (automaton) oluşturur ve hedef metin içerisinde bu otomata göre arama işlemi yapar. Oluşturulana otomatın DFA […]