SlideShare a Scribd company logo
LZ77
(Lempel-Ziv Algoritması)
@veysiertekin
TARİHÇE
* Abraham Lempel and Jacob Ziv
tarafından 1977-78 yılları arasında
yapılan çalışmanın ürünü olduğu için
LZ77 adı verilmiştir. [1]
* Algoritmaya kod adının
verilmesindeki neden birçok
varyasyonu arasından ayırt etmek.
* Sınırsız veri akışının (yani verinin
gerçek boyutu bilinmeden) daha az
yer kaplayacak şekilde kodlanmasını
sağlar.
* Kayıpsız bir sıkıştırma algoritmasıdır.
[1] J.Ziv and A.Lempel,“Compression of individual sequences by variable rate coding,“IEEETrans. InformationTheory, 1978.
Verinin ilk defa verimli şekilde aktarımının yolunu açması, günümüz
internetinin yaygınlaşmasındaki ivmeyi beraberinde getirdi
• Günümüzde duyduğumuz/kullandığımız birçok
sıkıştırma-kodlama algoritmasının temelinde yer
almakta:
zip, bzip, gzip,WinRAR, LZMA,LZO, LZ4, 

JPEG, PNG, GIF …
1- LZ ile başlayanlar hemen hemen aynı algoritmayı farklı yöntemler kullanarak uyguluyorlar (ör: direk dönüşüm yerine
binary hale çevirip algoritmayı uygulamak yada verinin işleniş sıralamalarında değişiklik yapmak gibi)


2- Diğer algoritmalar (zip, JPEG vs) bu algoritma üzerine Huffman kodlaması gibi ek yöntemlere başvuruyorlar
Algoritma Oran Sıkıştırma Açma
memcopy 1.000 4200 MB/s 4200 MB/s
LZ4* 2.101 385 MB/s 1850 MB/s
LZO 2.06 2.108 350 MB/s 510 MB/s
QuickLZ 1.5.1.b6 2.238 320 MB/s 380 MB/s
Snappy 1.1.0 2.091 250 MB/s 960 MB/s
LZF v3.6 2.073 175 MB/s 500 MB/s
zlib 1.2.8 -1 2.730 59 MB/s 250 MB/s
LZ4* HC 2.720 22 MB/s 1830 MB/s
zlib 1.2.8 -6 3.099 18 MB/s 270 MB/s
Kaynak: https://github.com/Cyan4973/lz4
Benchmark;
*LZ4Yann Collet tarafından 2011 yılında tanıtıldı
Benchmark;
Yahoo’da Hadoop Cluster'larında kullanılan sıkıştırma algoritmalarının oranları
Lz77 / Lempel-Ziv Algorithm
Algoritma (Pseudo Code)
begin
görünümü gelen veri ile doldur
while (görünüm boş olmadığı sürece) do
begin
görünümün başındaki veriden arama tamponundaki en uzun
eşleşmeyi bul
i := arama tamponunda bulunan kaydın indeksi
j := eşleşme uzunluğu
X := eşleşen veriden hemen sonraki veri
çıktıyaAktar(i,j,X)
arama tamponunun başlangıç indeksini eşleşen veriden
sonrasına taşı
end
end
Örnek
Arama önbelleği Gelen veri
Satır
121110 9 8 7 6 5 4 3 2 1 0 1 2 3 4 5 6 7 8 9 … Çıktı
1 a a b b c a b c b b (0,0,a)
2 a a b b c a b c b b c (1,1,b)
3 a a b b c a b c b b c a c (1,1,c)
4 a a b b c a b c b b c a c b c (4,2,c)
5 a a b b c a b c b b c a c b c c a ∅ (6,4,c)
6 a a b b c a b c b b c a c b c c a ∅ (4,2,c)
7 b c a b c b b c a c b c c a ∅ (5,1,null)

More Related Content

PPT
Ses tanima
PPT
Ses tanima
PPTX
Yzm 2116 - Bölüm 2 (Algoritma Analizi)
PPTX
Sunu algo02
PPTX
PPTX
Bloklamalı Akış Tipi Çizelgeleme Problemlerinde Toplam Akış Süresini Minimize...
PDF
Jflap İle Otomata Teorisi
PPTX
Algoritmalar
Ses tanima
Ses tanima
Yzm 2116 - Bölüm 2 (Algoritma Analizi)
Sunu algo02
Bloklamalı Akış Tipi Çizelgeleme Problemlerinde Toplam Akış Süresini Minimize...
Jflap İle Otomata Teorisi
Algoritmalar

Similar to Lz77 / Lempel-Ziv Algorithm (20)

PPTX
Esnek Atölye Tipi Çizelgeleme Problemleri için Bir Melez Harmoni Arama Algori...
PDF
Membrane Algoritması
DOC
Algoritma
DOCX
Yöneylem yasakli arama
PDF
Scalability performance on_php
PDF
optical character recognition(matlab)with feature extraction
PPTX
Hyperparameters in Convolutional Neural Networks.pptx
PDF
Algoritma kurmak
PDF
Büyük veri teknolojilerine giriş v1l
PPTX
ÖNCEL AKADEMİ: ÖZEL KONULAR
PDF
Görüntü i̇şlemede makine öğrenme teknikleri
PDF
Veri işleme üzerine, Hakan Sarıbıyık
PPTX
Türkiye Bilgi ve Belge Yönetimi Bölümleri Lisansüstü Tez Arşivi
PDF
Fann tool kılavuzu
PDF
PHP Sunusu - 3
PDF
Tedari̇k Zi̇nci̇ri̇ Opti̇mi̇zayonu
PPTX
Benzetim modelleme örnekleri - Arena - Examples arena simulation program
DOCX
Uygulama trafik levhası algılama
ODP
Özgür Yazılımlarla Görüntü İşleme
PDF
makine öğrenmesi sınıflandırma(öğrenmeli öğrenme) yöntemlerinin weka ortamınd...
Esnek Atölye Tipi Çizelgeleme Problemleri için Bir Melez Harmoni Arama Algori...
Membrane Algoritması
Algoritma
Yöneylem yasakli arama
Scalability performance on_php
optical character recognition(matlab)with feature extraction
Hyperparameters in Convolutional Neural Networks.pptx
Algoritma kurmak
Büyük veri teknolojilerine giriş v1l
ÖNCEL AKADEMİ: ÖZEL KONULAR
Görüntü i̇şlemede makine öğrenme teknikleri
Veri işleme üzerine, Hakan Sarıbıyık
Türkiye Bilgi ve Belge Yönetimi Bölümleri Lisansüstü Tez Arşivi
Fann tool kılavuzu
PHP Sunusu - 3
Tedari̇k Zi̇nci̇ri̇ Opti̇mi̇zayonu
Benzetim modelleme örnekleri - Arena - Examples arena simulation program
Uygulama trafik levhası algılama
Özgür Yazılımlarla Görüntü İşleme
makine öğrenmesi sınıflandırma(öğrenmeli öğrenme) yöntemlerinin weka ortamınd...
Ad

More from Veysi Ertekin (7)

DOC
Knight's Tour
DOC
BruteForce ve Horspool Algoritmalarının Karşılaştırılmalı Analizi
DOC
PPT
DOCX
Siralama algoritmalari ileri algoritma analizi
PPT
Kablosuz Sensör Ağlarda Konumlandırma - Locatization in WSNs
DOC
Kablosuz sensör Ağlarda Konumlandırma (Locatization in WSNs)
Knight's Tour
BruteForce ve Horspool Algoritmalarının Karşılaştırılmalı Analizi
Siralama algoritmalari ileri algoritma analizi
Kablosuz Sensör Ağlarda Konumlandırma - Locatization in WSNs
Kablosuz sensör Ağlarda Konumlandırma (Locatization in WSNs)
Ad

Lz77 / Lempel-Ziv Algorithm

  • 2. TARİHÇE * Abraham Lempel and Jacob Ziv tarafından 1977-78 yılları arasında yapılan çalışmanın ürünü olduğu için LZ77 adı verilmiştir. [1] * Algoritmaya kod adının verilmesindeki neden birçok varyasyonu arasından ayırt etmek. * Sınırsız veri akışının (yani verinin gerçek boyutu bilinmeden) daha az yer kaplayacak şekilde kodlanmasını sağlar. * Kayıpsız bir sıkıştırma algoritmasıdır. [1] J.Ziv and A.Lempel,“Compression of individual sequences by variable rate coding,“IEEETrans. InformationTheory, 1978.
  • 3. Verinin ilk defa verimli şekilde aktarımının yolunu açması, günümüz internetinin yaygınlaşmasındaki ivmeyi beraberinde getirdi
  • 4. • Günümüzde duyduğumuz/kullandığımız birçok sıkıştırma-kodlama algoritmasının temelinde yer almakta: zip, bzip, gzip,WinRAR, LZMA,LZO, LZ4, 
 JPEG, PNG, GIF … 1- LZ ile başlayanlar hemen hemen aynı algoritmayı farklı yöntemler kullanarak uyguluyorlar (ör: direk dönüşüm yerine binary hale çevirip algoritmayı uygulamak yada verinin işleniş sıralamalarında değişiklik yapmak gibi) 
 2- Diğer algoritmalar (zip, JPEG vs) bu algoritma üzerine Huffman kodlaması gibi ek yöntemlere başvuruyorlar
  • 5. Algoritma Oran Sıkıştırma Açma memcopy 1.000 4200 MB/s 4200 MB/s LZ4* 2.101 385 MB/s 1850 MB/s LZO 2.06 2.108 350 MB/s 510 MB/s QuickLZ 1.5.1.b6 2.238 320 MB/s 380 MB/s Snappy 1.1.0 2.091 250 MB/s 960 MB/s LZF v3.6 2.073 175 MB/s 500 MB/s zlib 1.2.8 -1 2.730 59 MB/s 250 MB/s LZ4* HC 2.720 22 MB/s 1830 MB/s zlib 1.2.8 -6 3.099 18 MB/s 270 MB/s Kaynak: https://github.com/Cyan4973/lz4 Benchmark; *LZ4Yann Collet tarafından 2011 yılında tanıtıldı
  • 7. Yahoo’da Hadoop Cluster'larında kullanılan sıkıştırma algoritmalarının oranları
  • 9. Algoritma (Pseudo Code) begin görünümü gelen veri ile doldur while (görünüm boş olmadığı sürece) do begin görünümün başındaki veriden arama tamponundaki en uzun eşleşmeyi bul i := arama tamponunda bulunan kaydın indeksi j := eşleşme uzunluğu X := eşleşen veriden hemen sonraki veri çıktıyaAktar(i,j,X) arama tamponunun başlangıç indeksini eşleşen veriden sonrasına taşı end end
  • 10. Örnek Arama önbelleği Gelen veri Satır 121110 9 8 7 6 5 4 3 2 1 0 1 2 3 4 5 6 7 8 9 … Çıktı 1 a a b b c a b c b b (0,0,a) 2 a a b b c a b c b b c (1,1,b) 3 a a b b c a b c b b c a c (1,1,c) 4 a a b b c a b c b b c a c b c (4,2,c) 5 a a b b c a b c b b c a c b c c a ∅ (6,4,c) 6 a a b b c a b c b b c a c b c c a ∅ (4,2,c) 7 b c a b c b b c a c b c c a ∅ (5,1,null)