Asal sayıları kullanarak veri sıkıştırma


22

Geçenlerde aşağıdaki ilginç yazı tökezledi rastgele veri setlerini, verilerin türüne ve biçimine bakılmaksızın her zaman% 50'den daha verimli bir şekilde sıkıştırdığını iddia .

Temel olarak, asal sayıları, her sayının kendine has bir asal ürün olduğu düşünüldüğünde, kolayca çözülmesi kolay olan 4-bayt veri topaklarının bir gösterimini oluşturmak için kullanır. Bu dizileri asallarla ilişkilendirmek için bir sözlük kullanır.

Sorum şu:

  • Yazarların önerdiği gibi bu gerçekten uygulanabilir mi? Kağıda göre, sonuçları çok verimli ve verileri daima daha küçük bir boyuta sıkıştırıyor. Sözlük boyutu muazzam olmaz mı?
  • Bu, aynı algoritmayı kullanarak sıkıştırılmış verileri tekrar tekrar sıkıştırmak için kullanılamaz mı? Açıktır ve kanıtlanmıştır, bu tür tekniklerin (sıkıştırılmış verilerin mümkün olduğu kadar tekrar sıkıştırıldığı, dosya boyutunu önemli ölçüde azalttığı) imkansız olduğu; Gerçekten de, tüm rastgele verilerin seti ile sıkıştırılmış veriler arasında hiçbir önyargı olmazdı. Öyleyse neden bu mümkün olacakmış gibi hissediyor?
  • Tekniği henüz mükemmel olmasa bile, açıkça optimize edilebilir ve güçlü bir şekilde iyileştirilebilir. Bu neden daha yaygın olarak bilinmiyor / çalışılmıyor? Eğer gerçekten bu iddialar ve deneysel sonuçlar doğruysa, bu bilgi işlem için devrim niteliğinde olamaz mı?

5
Gördüğünüz gibi, kağıt gerçekten güçlü iddialarda bulunuyor. Bu tür iddialardan her zaman çok şüpheli olun, özellikle de kağıt tek bir yerde yayınlandıysa (bilgisayarları "devrim yaratan" şaşırtıcı makaleler, iyi bilinen saygın mekanlarda görünmeli, değil mi?).
Juho,

2
kolmogorov karmaşıklığı teorisine dayanarak “her zaman rastgele verileri sıkıştırmak” imkansızdır . ve disproof, çizdiğinize benzer. Bunun, kağıdın yanlış mı yoksa orijinal kağıtta mı yanlış yorumlandığından emin değil. neden belirli bir iddianın nereden geldiğini vurgulamıyorsun?
vzn

6
“Bu, aynı algoritmayı kullanarak sıkıştırılmış verileri tekrar tekrar sıkıştırmak için kullanılamaz mı?” - Evet. Tüm rastgele verileri sıkıştırabileceğini iddia eden herhangi bir algoritma , kendi çıktısına, herhangi bir verinin 0 bite sıkıştırılması için tekrar tekrar uygulanabilir. Dolayısıyla bu iddia imkansızdır.
Jörg W Mittag

1
@ JörgWMittag Bir dosyayı tekrar tekrar az sayıda bit halinde sıkıştırmanıza izin veren bir algoritmaya sahibim, ancak bu son derece pratik değil. Ayrıca yalnızca 1 bit ile başlayan dosyalarla çalışır: Tüm dosyayı büyük bir ikili sayı olarak kabul edin, azaltın, sonra baştaki 0'ları atın. Sıkıştırmak için, artırıp gerekirse 1 değerini ekleyin.
user253751

3
Kendime not: Şimdiye kadar herhangi bir Elsevier dergisine herhangi bir makale göndermekten çekinmeyin.
500 - Dahili Sunucu Hatası

Yanıtlar:


34

her zaman rastgele veri kümelerini% 50'den daha fazla sıkıştır

Bu imkansız. Rasgele verileri sıkıştıramazsınız , yararlanmak için bazı yapılara ihtiyacınız vardır. Sıkıştırma, geri dönüşümlü olmalıdır böylece olamaz muhtemelen kompres her şey % 50 uzunluğunun çok daha az dizeleri olduğundan uzunlukta olduğundan daha n .n/2n

Makalede bazı önemli konular var:

  • İçeriği belirtilmeden 10 deneme dosyası kullanıyorlar. Veriler gerçekten rastgele mi? Nasıl üretildiler?

  • Bunlar sıkıştırma oranlarına ulaşmak için İstem en az onlar elde kendi test verileri gösterir ise,% 50 , en fazla % 50.

Bu algoritma, ondalık sayı sisteminde mevcut asal sayıları kullanan kayıpsız bir strateji tanımlar.

  • Ne? Asal sayılar, tabandan bağımsız olarak asal sayılardır.

  • Dekompresyonlu Sayı 1: Asal çarpanlara ayırma zor bir sorundur, etkin olarak nasıl yaparlar?

  • Dekompresyon ile 2. (Sayı bu kicker olduğunu birlikte çarpın asal sayılar, ancak sipariş hakkında herhangi bir bilgi kaybetmek böylece beri yapıyor:) . Tekniğini kullanarak hiçbir şekilde baskı yapmanın mümkün olduğunu sanmıyorum.25=10=52

Bu yazının çok iyi olduğunu sanmıyorum.


Anladığım kadarıyla, sözlükte aynı çokluğa sahip dizelerin sırasını depolarlar. Ancak rastgele veri kümelerinde, çokluk 1 (veya eşit çokluk) ile çok sayıda 4-baytlık dizgi olduğu göz önüne alındığında, bu muazzam bir sözlük oluşturmamalı mı?
Klangen,

@Pickle Örneklerinde, "@THE" dizisinin çokluğu 2'ye sahiptir. "" Kelimesi "nin iki yerine gitmesi gereken yerleri nasıl yeniden oluşturabileceklerini anlamıyorum .
Tom van der Zanden,

1
Ah, anlıyorum. İyi gözlem. Aslında, bu büyük bir sorundur. Bu makale dergide yer almak için nasıl kabul edildi? Daha sıkı bir meslektaş incelemesi olmamalı mıydı?
Klangen,

4
@Pickle Evet, daha titiz bir inceleme olmalı. Yine de her zaman durum böyle değildir, bazen deneyimsiz / tembel / yetersiz konferans düzenleyicileri zaman içinde hakemler bulamazlar. Rastgele oluşturulmuş anlamsız saçma içeren çok sayıda bildiri yayınlandı ve bir dergi "Beni postalama listenden çıkar" başlıklı bir makale yayınladı .
Tom van der Zanden,

Hahaha bu muhteşem. Ama aynı zamanda üzgün.
Klangen,

15

Makaleyi okumuş ve yöntemde bir zayıflık bulmuş gibi görünen Tom van der Zanden'i erteleyeceğim. Makaleyi ayrıntılı olarak okumadım, özet ve sonuçlar tablosundan gidip gelmek geniş ölçüde inanılır bir iddia gibi görünüyor.

İddia ettikleri şey, metin dosyalarında tutarlı bir% 50 sıkıştırma oranı ("tüm dosyalar" değil), not ettikleri LZW ile aynı ve (muhtemelen sıfır sıralı) Huffman kodlamasından yaklaşık% 10 daha kötü. Metin dosyalarının% 50 oranında sıkıştırılması, oldukça basit yöntemler kullanarak elde edilmesi zor değildir; birçok bilgisayar bilimi dersinde lisans ödevidir.

Makalenin yayınlanmış araştırmalar kadar iyi olmadığı konusunda hemfikir ve bunun kabul edilen hakemler tarafından iyi konuştuğunu sanmıyorum. Sonuçların çoğaltılmasını imkansız hale getiren bariz eksik detaylardan (örneğin, metin dosyalarının ne olduğu) ve sıkıştırma alanına bağlanma denemelerinin dışında, algoritmalarının ne yaptığını gerçekten anlamalarının bir anlamı yoktur.

Konferans web sitesi 1: 4 kabul oranını talep ediyor, bu da neyi reddettiğini merak ediyor.


12

Sen sor:

  • Yazarların önerdiği gibi bu gerçekten uygulanabilir mi? Kağıda göre, sonuçları çok verimli ve verileri daima daha küçük bir boyuta sıkıştırıyor. Sözlük boyutu muazzam olmaz mı?

Evet tabi ki. Elle seçilmiş örnekleri için bile ("DOĞRU KÖPEK ÜZERİNDE HIZLI GÜMÜŞ FOX JUMPS"), sıkıştırma metninin her 4 bayt alt metnini içerdiğinden (örneğin bir tekrar için eksi 4 bayt "içerdiğinden" sıkıştırma elde edemiyorlar " ") ... ve metnin" sıkıştırılmış "sürümü tüm sözlüğü ve tüm bu asal sayı saçmalığını içermelidir.

  • Bu, aynı algoritmayı kullanarak sıkıştırılmış verileri tekrarlamak için tekrar kullanılamaz mıydı? Açıktır ve kanıtlanmıştır, bu tür tekniklerin (sıkıştırılmış verilerin mümkün olduğu kadar tekrar sıkıştırıldığı, dosya boyutunu önemli ölçüde azalttığı) imkansız olduğu; Gerçekten de, tüm rastgele verilerin seti ile sıkıştırılmış veriler arasında hiçbir önyargı olmazdı. Öyleyse neden bu mümkün olacakmış gibi hissediyor?

Yine durumu iyi bir sezgisel kavrayışa sahip görünüyorsunuz. Hiçbir sıkıştırma düzeninin tüm girdiler üzerinde etkili olamayacağını sezgisel olarak fark ettiniz , çünkü eğer öyleyse, herhangi bir girişi tek bir bit halinde sıkıştırmak için tekrar tekrar uygulayabiliriz - ve sonra hiçlik!

Başka bir deyişle: .wav dosyalarınızı .mp3'e sıkıştırdıktan sonra, bunları sıkıştırıp dosya boyutunda herhangi bir gelişme elde edemezsiniz. MP3 kompresörünüz işini yaptıysa, ZIP kompresörünün yararlanabileceği bir kalıp kalmayacaktır.

(Aynısı şifreleme için de geçerlidir: Sıfır bir dosya alır ve seçilen şifreleme algoritmasına göre şifrelersem, sonuçta elde edilen dosya sıkıştırılabilir olmamalıdır , yoksa şifreleme algoritmam çıktıya "kalıp" sızdırıyor!)

  • Tekniği henüz mükemmel olmasa bile, açıkça optimize edilebilir ve güçlü bir şekilde iyileştirilebilir. Bu neden daha yaygın olarak bilinmiyor / çalışılmıyor? Eğer gerçekten bu iddialar ve deneysel sonuçlar doğruysa, bu bilgi işlem için devrim niteliğinde olmaz mı?

Bu iddialar ve deneysel sonuçlar doğru değil .

Tom van der Zanden'in daha önce belirttiği gibi, Chakraborty, Kar ve Guchait'in "sıkıştırma algoritması" yalnızca sıkıştırma oranına ulaşmadığı için değil, aynı zamanda geri dönüşümsüzdür (matematik dersinde, "mükerrer" değil) hepsi aynı görüntüye "sıkıştıran" çok sayıda metin, çünkü algoritmaları temelde çarpma ve çarpma değişmelidir.

Bu kavramları sezgisel olarak anlamanızın sizi anında doğru sonuca götürdüğünü iyi hissetmelisiniz. Ve, zamanınızı boşaltabilirseniz, konuyu hiç düşünmeden açıkça düşünerek çok fazla zaman harcayan yazarların üzücü olduğunu hissetmelisiniz .

Gönderdiğiniz URL'nin bir seviyesinin üzerinde yer alan dosya dizini , hepsi aynı şekilde "Bilgi İşlem, Bilgi, İletişim ve Uygulamalarda Gelişen Araştırmalar Uluslararası Konferansı Bildirileri" olarak kabul edilen aynı kalitede 139 "bildiri" içerir. Bu normal tipte bir sahte konferans gibi görünüyor. Bu tür konferansların amacı hileli akademisyenlerin "dergide yayınlanma" deme hakkı verirken, aynı zamanda kaba olmayan organizatörlerin de tonlarca para kazanmalarını sağlamaktır. (Sahte konferanslar hakkında daha fazla bilgi için, bu reddit iş parçacığına veya konuyla ilgili çeşitli StackExchange mesajlarına göz atın .) Her alanda Sham konferansları bulunmaktadır. Sadece içgüdülerine güvenmeyi öğren ve "konferans devam ederken" okuduğun her şeye inanma.


Bu makalenin neden saçma sapan olduğunu açıkça belirttiğiniz için teşekkür ederiz ve ilk etapta yazılmasının ve herhangi bir gözden geçirme sürecinden geçmenin mümkün olduğunu bile söyleyin.
vaab

Kısa cevabınız için teşekkürler. En azından bir tür akran tarafından gözden geçirilmek için günlük girişlerine bile güvenememeniz gerçekten üzücü . Bu, “sözde” bilimsel dergi yayınlarını okurken bile uyanık olması gerektiği gerçeğine çok fazla ışık tutuyor. Bir kişi bu tür makalelerin yalnızca "gözden geçirme" ye değil, aynı zamanda bu tür alanlarda alışılageldiği gibi asgari düzeyde bir "inceleme" ye tabi olduğunu düşünür. Umarım bu birçok insan için göz açıcı olur.
Klangen

Bugün, benzer "sonsuz sıkıştırma algoritmaları" konusunda en az iki ABD patenti olduğunu öğrendim. Bakınız gailly.net/05533051.html
Quuxplusone

5

Entropi , mümkün olan en güçlü kayıpsız sıkıştırma performansını etkili bir şekilde sınırlar. Bu nedenle, rastgele veri kümelerini her zaman% 50'den daha fazla sıkıştırabilecek bir algoritma yoktur.


8
Rasgele veri kümelerini her zaman% 0,0000001'den daha fazla sıkıştıran bir algoritma bile yoktur.
David Richerby

1

Genel olarak geri getirilebilen sıkıştırma yöntemleri, genel olarak bir kalıp bulur ve basit bir şekilde yeniden ifade eder. Bazıları çok zeki, bazıları çok basit. Bir noktada hiçbir desen yoktur. Süreç (ler), kendisine verilen en basit benzersiz kalıba yerleştirilmiş verileri “kaynatmıştır”. Bu noktadan ileriye doğru sıkıştırma girişimleri daha büyük bir veri setine neden olur veya benzersizliği azaltır. Sihirli sayı sıkıştırma düzenlerinde her zaman bir kusur veya hafif bir el veya kayıp olur. En son WinZip veya RAR'ı yaptığını iddia eden herhangi bir işleme karşı dikkatli olun.


2
sss

1
@DavidRicherby, daha sonra boş dizgeyi sıkıştırmanız SkipBerne tarafından iddia edildiği gibi daha büyük bir veri kümesi üretir. Yine de, cevabının önceki çıktıyı aynı algoritmayı kullanarak yeniden sıkıştırma konusunda atıfta bulunduğunu netleştirmesi gerektiğini düşünüyorum .
Ángel,

2
@ Ángel SkipBerne'nin iddiası, herhangi bir algoritmayla (" bu noktadan ileriye doğru herhangi bir sıkıştırma girişiminde bulunma") vurgulanamayan dizeler olduğu yönündedir, vurgum. Verdiğim nedenden dolayı bu yanlış: Her dizgede, dizgeyi sıkıştıran bir algoritma var.
David Richerby,

Ben yorumlamamın yolu SkipBerne, her sıkıştırma algoritması için karşılaştırılamayan bir dize olduğunu iddia ediyor. Hangisi doğru. Bu sıkıştırılamaz dizge elbette farklı algoritmalar için farklı olacaktır.
Jose Antonio, Monica’yı yeniden

@DavidRicherby Kantitatifleri yanlış yerleştiriyorsunuz - SkipBerne'nin (herhangi bir sıkıştırma yöntemi için sonradan bir sıkıştırma olmadığı bir nokta olduğu) yazdığını açıkça belli eder (bundan sonra herhangi bir sıkıştırma yöntemi için bir nokta vardır) sıkıştırma yok). Bu cevap aslında doğrudur, ancak daha eski ve daha iyi yazılmış cevaplara bir şey eklemez.
Gilles 'SO- kötülük yapmayı bırak'
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.