Yazan: Şadi Evren ŞEKER 1. Algoritmanın başarısı 2. Algoritmanın çalışması ve bir örnek 3. Algoritmanın kodlanması Bilgisayar bilimlerinde bir metnin içerisinde başka bir metnin aranması için kullanılan en ilkel ve dolayısıyla en düşük performanslı arama algoritmasıdır (search algorithm). Algoritma hedef metinde, aranan metni harf harf bulmaya çalışır. Bu yapısından dolayı diziler üzerinde kullanılan doğrusal arama […]
Category: Veri Sıkıştırma (Data Compression)
Base64
Yazan : Şadi Evren ŞEKER Veri güveliği konusunda kullanılan kodlama (encoding) algoritmalarından birisidir. Basitçe bir bilginin farklı semboller ile gösterilmesi işlemidir. Bu semboller alfabedeki harflerin büyük/küçük sıralanması ve sayılardan oluşur. Bir base64 sisteminin kullandığı semboller aşağıda verilmiştir: ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/ Yukarıda toplam 64 sembol bulunmaktadır. Dolayısıyla her sayıya bir karşılık gelir. Örneğin 0 sayısal değeri için A […]
Mesaj Özetleri (Message Digests)
Yazan : Şadi Evren ŞEKER Özellikle veri güvenliği ve veri bütünlüğü (data integrity) konularında kullanılan mesaj özetleri aslında birer özetleme fonksiyonudurlar (hashing functions). Buna göre büyük bir veriden nispeten daha küçük bir özet üretilir ve bu özetten orijinal veriye geri dönülemeyeceği varsayılır. Mesaj özetlerinden en meşhurları MD5 ve SHA-1 algoritmalarıdır. MD5 : Message digest (mesaj […]
Dinamik Markof Kodlaması ile Sıkıştırma (Data Compression Using Dynamic Markov Coding)
Yazan : Şadi Evren ŞEKER Not: Bu yazı Dr. Banu Diri’nin veri sıkıştırma dersi sırasında hazırladığım rapordan alıntıdır. Kendisine buradan teşekkürü bir borç bilirim. Bu yazının amacı, Dinamik Markov Coding kullanılarak sıkıştırma yöntemini incelemektir. Bu yazı, “Data Compression Using Dynamic Markov Modelling” ve G. V. CORMACK AND R. N. S. HORSPOOL tarafından yazılmış olan makalenin […]
Atomluluk (Atomicity)
Yazan: Şadi Evren ŞEKER Latince bölünemez anlamına gelen atom kökünden üretilen bu kelime, bilgisayar bilimlerinde çeşitli alanlarda bir bilginin veya bir varlığın bölünemediğini ifade eder. Örneğin programlama dillerinde bir dilin atomic (bölünemez) en küçük üyesi bu anlama gelmektedir. Mesela C dilinde her satır (statement) atomic (bölünemez) bir varlıktır. Benzer şekilde bir verinin bölünemezliğini ifade etmek […]
Huffman Kodlaması (Huffman Encoding)
Yazan : Şadi Evren ŞEKER Bilgisayar bilimlerinde veri sıkıştırmak için kullanılan bir kodlama yöntemidir. Kayıpsız (lossless) olarak veriyir sıkıştırıp tekrar açmak için kullanılır. Huffman kodlamasının en büyük avantajlarından birisi kullanılan karakterlerin frekanslarına göre bir kodlama yapması ve bu sayede sık kullanılan karakterlerin daha az, nadir kullanılan karakterlerin ise daha fazla yer kaplamasını sağlamasıdır. Şayet bütün […]
Entropi (Entropy, Dağınım, Dağıntı)
Yazan : Şadi Evren ŞEKER Bir sistemin düzensizliğini ifade eden terimdir. Örneğin entropi terimini bir yazı tura atma işleminde 1 bitlik (ikil) ve %50 ihtimallik bir değer olarak görebiliriz. Burada paranın adil olduğunu ve yazı tura işleminin dengeli bir şekilde gerçekleştiğini düşünüyoruz. Şayet para hileli ise o zaman sistemin entropisi (üretilen sayıların entropisi) %50’den daha […]
Delta Sıkıştırması (Delta Compression)
Yazan : Şadi Evren ŞEKER Oldukça basit ve hızlı olan bu sıkıştırma algoritmasına göre ardışık olarak gelen veriler arasındaki fark alınarak verilerin boyutu küçültülmüş olur. Örneğin aşağıdaki sayıları ele alalım: 183 193 233 234 230 Bu sayıları sıkıştırmak için ilk sayıyı sonuç dizisine kopyalıyoruz ve diğer elemanlar ile farkı alıyoruz: 183 10 40 1 -4 […]
Kayıplı Sıkıştırma (Lossy Compression)
Yazan : Şadi Evren ŞEKER Veri sıkıştırma sırasında kullanılan bir sınıflandırmadır. Buna göre sıkıştırma algoritmaları orjinal veriye dönülüp dönülememesine göre ikiye ayrılır. Kayıplı sıkıştırma (Lossy compression) sınıfındaki sıkıştırmalarda veriyi sıkıştırıp tekrar açtığımızda orjinal verinin bir kısmını kaybederiz. Yukardaki şekilde giren orjinal metin sıkıştırılmış ardından bu sıkıştırılmış olan metin açılmıştır (decompress). Kayıplı sıkıştırma grubundaki sıkıştırma algoritmalarında […]
Kayıpsız Sıkıştırma (Lossless Compression)
Yazan : Şadi Evren ŞEKER Veri sıkıştırma sırasında kullanılan bir sınıflandırmadır. Buna göre sıkıştırma algoritmaları orjinal veriye dönülüp dönülememesine göre ikiye ayrılır. Kayıpsız sıkıştırma (Lossless compression) sınıfındaki sıkıştırmalarda veriyi sıkıştırıp tekrar açtığımızda orjinal veriyi kayıpsız olarak elde ederiz. Yukardaki şekilde giren orjinal metin sıkıştırılmış ardından bu sıkıştırılmış olan metin açılmıştır (decompress). Kayıpsız sıkıştırma grubundaki sıkıştırma […]