Şimdi Ara

Histogram Based, Real Time Lossless Data Compression Algorithm λ∈[(ArgMax⇔>∀xω1) (5. sayfa)

Daha Fazla
Bu Konudaki Kullanıcılar: Daha Az
2 Misafir - 2 Masaüstü
5 sn
150
Cevap
11
Favori
13.092
Tıklama
Daha Fazla
İstatistik
  • Konu İstatistikleri Yükleniyor
0 oy
Öne Çıkar
Sayfa: önceki 34567
Sayfaya Git
Git
sonraki
Giriş
Mesaj
  • quote:

    Orijinalden alıntı: Tuğkan-0153

    Aşureye döndü konu :)
    quote:

    Siz evinizde camış gibi yatıp bir şeyler yapanları eleştirin. Nasıl olsa dilin kemiği yok!

    aşurenin tuzu eksik kalmış onu da sen kat.

    @SEO19 dua et problemleri yazanlar var.
  • Arkadaşlar (bu arada ayhanarican ve SEO19 'nun aynı kişi olma ihtimali de var cunku aynı anda yazıyorlar ve ayhanarican sadece bu konuya yazıyor)

    sanırım aynı şeyi 3x tekrar edeceğim: Sürekli bu sıkıştırma yöntemini anlatıyorsunuz da insanların onları dinleyecek vakti yok. Onu anlatmaya harcadığınız vakti, onu yapmaya harcasaydınız alfa sürüm çıkarırdınız insanlar ürününüzü denerdi. Kapalı kaynak ise Windows veya Unix binary yayınlayın denerim. Açık kaynak ise sadece kodları yayınlayın ben Windows veya Unix için build dosyasını sizin için yazıp Windows veya Unix binarylerini çıkarırım ve denerim ve +/- şeyleri size iletirim.

    Yani ben diyorum ki, vaktimizi kaliteli faaliyetlere harcayalım. Siz diyorsunuz "kıskandı" "bayrak yarışı" vs.

    < Bu ileti mini sürüm kullanılarak atıldı >
  • quote:

    Orijinalden alıntı: Guest-4D62BFE91

    quote:

    Siz evinizde camış gibi yatıp bir şeyler yapanları eleştirin. Nasıl olsa dilin kemiği yok!

    aşurenin tuzu eksik kalmış onu da sen kat.

    @SEO19 dua et problemleri yazanlar var.

    Alıntıları Göster
    Bir şeyin yapılamayacağı ile ilgili tek dayanağınız, bugüne kadar Türkiye'den birilerinin tüm dünya genelinde kullanılan, bir probleme çözüm getiren, bir ürününün olmayışıdır. Bunu başarmak isteyenleri de tıpkı Pavlov'un maymunları gibi aşağıya çekmek istiyorsunuz. Falan falan denedi, bir şeyler yaptı olmadı, eee? Sen de yapma! Hepinizin ortak noktası bu! Pavlov'un maymunlarından bir farkınız olsun. Yapılamayacağını söylemek yerine; "Daha başarılı olmak için neler yapılabilir?" ya da en çok hata nerede yapılıyor? Kendinizi daha bilgili ve konuya hakim göstermek istiyorsanız, daha yapıcı ve bilgi içerikli yardımı dokunacak yorumlar paylaşın. Kormogolov karmaşasından hiç bahsettemek olmazdı ancak zeki ve motivasyon dolu bir insan için bunun gibi (termodinamik kanunları, entropi, kormogolov karmaşası) bir şeyin yapılabilmesininin fiziksel sınırlarını ortaya döktüğünü sanan çok bilmişlerin kanıtlanmamış tezlerine aldırmadan başarılı ürünler ortaya çıkarma potansiyeli taşıyanlara daha başka söyleyebileceğiniz bir şeyler olmalıdır.



    < Bu mesaj bu kişi tarafından değiştirildi ayhanarican -- 3 Ocak 2020; 20:32:10 >




  • Ya hep bu konuyu görüyorum. Kardeşim 7 yıldır şu konuyu burda tartışacağına c(alt),c++(alt orta) seviyeli bu işleri yapabileceğin bir dilleri öğrenip 7 yılda bu dediklerini yapabilirdin. Peki neden öğrenipte yapmadın hala burada tartışıyorsun ? Karşı gelenlere yeniden cevap yazma tenezzülünde bulunuyorsun ki senin yapman gereken şey oturup üretmek. Zaten karşı gelenlere verdiğin cevaplar aynı sayılır. Algoritmadan bahsedip imkansız değil devler bunun peşinde diyorsun e o zaman üret şunu artık buralarda olur olmaz tartışacağına algoritmayı geliştirirken ki sorunlarını yaz da öyle cevaplayalım, tartışalım.
  • Tamam o halde ben bit haritalarını saklamak için çok hızlı çalışan ve bit mapping kullanan kendi BitArray sınıfımı yazdım. Mesela siz de bu sınıftan türeyen ve BitStack isimli bir sınıf yazın. Böylece WriteNBit(byte byte, byte bitCount) ve ReadNBit(byte byt, byte bitCount) methodlarını içersin ve bit yığınına istediğimiz türde verileri sıkıştırıp saklayabilelim. Bu iki metodu short, ushort, int, uint, long, ulong türleri için override edin. Böylece tüm integer türlerinin istenilen bitlerini bit yığınında saklayabileceğimiz bir sınıfımız olur.

    public class MyBitArray : IDisposable
    {
    byte[] bytes;
    public MyBitArray(long limit, bool defaultValue = false)
    {
    long byteCount = (limit & 7) == 0 ? limit >> 3 : (limit >> 3) + 1;
    this.bytes = new byte[byteCount];
    for (long i = 0; i < byteCount; i++)
    {
    bytes[i] = (defaultValue == true ? (byte)0xFF : (byte)0x00);
    }
    this.limit = limit;
    }

    public MyBitArray(long limit, byte[] bytes)
    {
    this.limit = limit;
    this.bytes = bytes;
    }

    public bool this[long index]
    {
    get
    {
    return getValue(index);
    }
    set
    {
    setValue(index, value);
    }
    }

    bool getValue(long index)
    {
    if (index < 8)
    {
    return getBit(bytes[0], (byte)index);
    }

    long byteIndex = (index & 7) == 0 ? ((index >> 3) - 1) : index >> 3;
    byte bitIndex = (byte)(index & 7);
    return getBit(bytes[byteIndex], bitIndex);
    }
    void setValue(long index, bool value)
    {
    if (index < 8)
    {
    bytes[0] = setBit(bytes[0], (byte)index, value);
    return;
    }

    long byteIndex = (index & 7) == 0 ? (index >> 3) - 1 : index >> 3;
    byte bitIndex = (byte)(index & 7);

    bool old = getBit(bytes[byteIndex], bitIndex);

    bytes[byteIndex] = setBit(bytes[byteIndex], bitIndex, value);
    }

    bool getBit(byte byt, byte index)
    {
    return ((byt & (1 << index)) >> index) == 1;
    }

    byte setBit(byte byt, byte index, bool value)
    {
    return (byte)((byt & ~(1 << index)) + (value ? 1 << index : 0));
    }

    public void Dispose()
    {
    GC.Collect(2, GCCollectionMode.Optimized);
    }

    private long limit;
    public long Limit { get { return limit; } }
    public byte[] Bytes { get { return this.bytes; } }
    }



    < Bu mesaj bu kişi tarafından değiştirildi ayhanarican -- 3 Ocak 2020; 20:57:7 >




  • ayhanarican A kullanıcısına yanıt
    Donald Knuth'un bir sözü var bilir misin: Kodlar bilgisayarda çalıştırması için değil, insanlar tarafından anlaşılması için vardır, diye. Yukarda bir kod vermişsin de tek satır comment yok, değişken isimlerinden amaç anlaşılabilirlik yok.

    Yok; bahsettiğiniz şeyi üretip binary haline getirmediniz, tasarım, algoritma, kod olarak tartışaım diyorsunuz o bakımdan yani.

    < Bu ileti mini sürüm kullanılarak atıldı >
  • quote:

    Orijinalden alıntı: Tuğkan-0153

    Donald Knuth'un bir sözü var bilir misin: Kodlar bilgisayarda çalıştırması için değil, insanlar tarafından anlaşılması için vardır, diye. Yukarda bir kod vermişsin de tek satır comment yok, değişken isimlerinden amaç anlaşılabilirlik yok.

    Yok; bahsettiğiniz şeyi üretip binary haline getirmediniz, tasarım, algoritma, kod olarak tartışaım diyorsunuz o bakımdan yani.
    Hepi topu kullandığım 5 değişken var. bytes, byteCount, bitCount, limit, index.

    Bunların ne olduğunu değişken isimlerinden anlayamıyorsan bence programlama öğren, o zaman anlamaya başlayacaksın.
  • Sen açıklama satırları olan kodları okumayı seviyorsan ben sana bol bol kod göndereyim.
    https://github.com/ayhanarican/apiogenesis
    https://github.com/ayhanarican sayfasından diğerlerine de bakabilirsin.
  • Amatör adam gördüm ama böylesi nadir çıkar.

    Öncelikle 10 bin satır 1 içeren veri toplam 30 bin byte eder(her yeni satır için "\n" 2 byte yer tutar) ve bu içerik net olarak biliniyor ve RLE ile toplamda 3 byte+boyut (14 bit) eder. 14 biti 2 byte alırsak toplam 5 byte ile ifade edilir ve sorunsuz çözülür. Yani 5/30000 =0,0001666. Alkışa gerek yok!

    Şimdi gösterdiğin text dosyanı ve o yaptığın exe yi yolla bakalım ne olacak. Nasıl bir text miş nereye kadar sıkıştırılabiliyormuş görelim. Sen kendin kaşındın. Yolladın yolladın. Yollamazsan vay haline!



    < Bu mesaj bu kişi tarafından değiştirildi Stack -- 3 Ocak 2020; 23:9:46 >
    < Bu ileti mobil sürüm kullanılarak atıldı >
  • quote:

    Orijinalden alıntı: Stack

    Amatör adam gördüm ama böylesi nadir çıkar.

    Öncelikle 10 bin satır 1 içeren veri toplam 30 bin byte eder(her yeni satır için "\n" 2 byte yer tutar) ve bu içerik net olarak biliniyor ve RLE ile toplamda 3 byte+boyut (14 bit) eder. 14 biti 2 byte alırsak toplam 5 byte ile ifade edilir ve sorunsuz çözülür. Yani 5/30000 =0,0001666. Alkışa gerek yok!

    Şimdi gösterdiğin text dosyanı ve o yaptığın exe yi yolla bakalım ne olacak. Nasıl bir text miş nereye kadar sıkıştırılabiliyormuş görelim. Sen kendin kaşındın. Yolladın yolladın. Yollamazsan vay haline!
    Aslına bakarsan bu veri yer bile kaplamaz. İçeriği ve deseni bilenen bir veriyi üretecek algoritmayı hazırlarsın. İlla bir şeyin boyutu olacaksa bunu üreten kodun binary'si saklanır olur biter.

    Örneğin ardışık asalları saklamak isterseniz yine aynı durum geçerlidir. Stackoverflow'da bununla ilgili bir paylaşımım olmuştu.

    İlk olarak her sayı için bir bit ayırırsınız ve asal olanları 1 diğerlerini 0 olarak sıralarsınız. Bu 2 ^ 32 sayısına kadar 512 MB yer kaplar.

    Sonra düşünürsünüz 2'den büyük bütün asallar tek sayıdır. O halde çift sayılara karşılık gelen bitleri saklamaya gerek yok dersiniz ve veri boyutu 256 MB'ta düşer.

    Sonra bir şey daha keşfedersiniz. 3'ten büyük bütün asal sayılar 6k - 1 ve 6k + 1 olarak ifade edilebilir. Sonra mod 6 için yeni bit diziliminizi oluşturursunuz ve 171 MB' a düşer.

    Sonra mod 30 ve daha niclerini kullanarak veriyi kısaltırsınız ancak asal sayıları saklamak yerine onu oluşturan algoritma daha az yer kaplayacaktır. :)

    Örneğin bu kod limit sayısına kadar olan asal sayıları size verir. Hem de çok hızlı bir şekilde. ü


    /*
    The Sieve Algorithm
    http://en.wikipedia.org/wiki/Sieve_of_Eratosthenes
    */
    numbers = new MyBitArray(limit, true);
    for (long i = 2; i < limit; i++)
    if (numbers[i])
    for (long j = i * 2; j < limit; j += i)
    numbers[j] = false;



    < Bu mesaj bu kişi tarafından değiştirildi ayhanarican -- 3 Ocak 2020; 23:29:34 >




  • ayhanarican A kullanıcısına yanıt
    Peter Norvig ismini daha önce hiç duydun mu? Bence duymadın veya duysan bile onun programlarına hiç bakmadın. Norvig programlarında her zaman birçok commentkullanır ve kendisi Google Yazılım Şefi olur. Şimdi ufak bi soru: Sence ben her program dosyasına birçok comment koyan Norvig'i mi kaale alırım yoksa hiç comment koymayıp "değişken isimlerinden anlayamıyorsan bence programlama öğren" diyen seni mi :)
    quote:


    Sen açıklama satırları olan kodları okumayı seviyorsan ben sana bol bol kod göndereyim.
    https://github.com/ayhanarican/apiogenesis
    https://github.com/ayhanarican sayfasından diğerlerine de bakabilirsin.

    "açıklama satırları olan kodları okumak istiyorum" gibi birşey dedim mi? Yine de kod bakmak istesem aşağıda örnek alıntı gördüğünüz UnRAR'ı okurum... Fakat yanlış anlama olmasın: RAR belki 100 milyonlarca kez indirilip kullanıldığı için değil, Alexander L. Roshal nerdeyse her bir operasyon için comment koyma zahmetine katlandığı yani diger programcıları düşündüğü için okurum...

    Histogram Based, Real Time Lossless Data Compression Algorithm λ∈[(ArgMax⇔>∀xω1)


    Bu arada SEO19 ile aynı kişi olma ihtimaliniz daha da güçlendi cunku SEO19 da tanımadığı bilmediği kişilere "Programlama Bilmiyorsun Öğren" tarzında ukalalık yapıyordu, sen de yaptın. Okey belki aynı kişi değilsiniz fakat karakterleriniz oldukça aynı :)



    < Bu mesaj bu kişi tarafından değiştirildi Tuğkan-0153 -- 4 Ocak 2020; 0:36:39 >
    < Bu ileti mini sürüm kullanılarak atıldı >




  • quote:

    Orijinalden alıntı: ayhanarican

    Siz sıkıştırma oranını çok yanlış anlamışsınız. Bu oran compressedSize / orginalSize olarak hesaplanır.

    Bahsettiğiniz dosya için %00.01 demeniz gerekirdi. Hadi yapın ve paylaşın.

    1[#10#13]
    1[#10#13]
    1[#10#13]
    .
    .
    .
    1[#10#13]
    1[#10#13]
    1[#10#13]
    [#0]

    Text doyası 10 bin satır 1 içersin ve siz bir sıkıştırma algoritması yapıp %00.01 oranında sıkıştırın ben de alkış tutayım.

    Alıntıları Göster
    Konuyu dağıttırmam !!!

    Burada dediğin şekilde önce adam gibi yapana alkış tutacaksın. Sonra bu işlerden hiç anlamadığını itiraf edeceksin!!!




  • quote:

    Orijinalden alıntı: ayhanarican

    Bakın son yaptığım algoritmada text dosyalarında %85 oranında sonuç elde ediyorum.




    Bir konuda çalışma yapan arkadaşlara çok iyi motivasyon kaynağısınız, tebrik ederim. Türkiye'de bu yüzden kimse bir şey yapmak, başarmak istemiyor. Başarmak daha kötü, çünkü başardıkça daha olumsuz eleştiriliyorsunuz.

    Siz evinizde camış gibi yatıp bir şeyler yapanları eleştirin. Nasıl olsa dilin kemiği yok!
    Konuyu dağıttırmam !!!
    Sana buradaki text dosyasını ve .exe yi yolla deneyelim dedim. Ya yollar cevabını alırsın ya da ...... dümdüz artık.




  • Kalabalık yapma, konuyu dağıtma SEO19 çık aradan yoksa sana da .......... dümdüz !
    Konuyu dağıttırmam!!! Önce sorduklarımın cevabı verilecek.
  • ayhanarican A kullanıcısına yanıt
    hacı ne içiyon sen anlamadım bir de türklüğü falan karıştırmışsın.

    Başarının onda biri yetenek, geri kalanı çalışmaktan gelir. -Einstein

    bunun ırkla ülkeyle ilgisi yok. konuya müdahil olmamın sebebi sonsuz sıkıştırma hayaliniz. attığım mesaj bunun mümkün olmadığını kanıtlıyor siz bu mesaja edepsiz aşüfte sen ne bilirsin gibi cevaplar yazdınız, ben bildiğimi iddia etmiyorum bu işlerle profesyonel anlamda da ilgili değilim ama sonsuz sıkıştırma mümkün değil bunu kanıtıyla yazdım. yıllar önce aynı yanılgıya ben de düştüm diğer yandan programlama dili öğrenmeye çalışıyordum işin mantığını yeterince öğrendiğimde bunun mümkün olmadığını gördüm. bütün sıkıştırma yöntemleri istatistiksel verilere göre çalışır her şartta sıkıştırma mümkün değil.
  • "Şimdi gösterdiğin text dosyanı ve o yaptığın exe yi yolla bakalım ne olacak. Nasıl bir text miş nereye kadar sıkıştırılabiliyormuş görelim. Sen kendin kaşındın. Yolladın yolladın. Yollamazsan vay haline!"

    Boşuna uğraşmayın o dosyayı benden daha iyi sıkıştıramazsınız. Ben daha iyi bir yöntem biliyorum. Buyurun önce siz deneyin.
    https://filebin.net/9i5685xc34lcntt6/psps.rar?t=lunnltwn

  • Bu hazırlanmış olan özel txt dosyası yine asal sayılarla ilgili. Çok belirgin aslında. Dolayısı ile asal sayı gibi görünmüyorlar ama temsili olarak aslında yine asal sayılar. Hem yine karekök +- mevzusu ile hem de farklı bir şekilde de (değere en yakın üst/alt 2 asal sayıyla da ilişkiler mevcut ) çalışıyor. Dolayısı ile veri çok sade bir hale geliyor. Yaptığım denemede elde edilen sade sonucu paq8 ile sıkıştırdım. Sonuç ortada. Eğer elimizde yeterli asal sayı listesi varsa istediğimiz şekilde ve bir mantığa göre kendimize özel değerler üretip sıkıştırıp hava atabilir ama sonrasında yine komik durumlara düşebiliriz

    Ancak normal zeka sahibi insanların da kolayca anlayabileceği şekilde izah edersek ki anlayamayanlar var Bu normal hayatta bir boka yaramaz!!! Aynen geçenki 10000 satırlık 1 verisi gibi özel olarak hazırlanan bu şekildeki verilerde söker. Gerisi zaten boş.

    İddia sahibi olarak sen şu .exe dosyanı bir yollarsan gerekli cevabı alacaksın. Bekliyoruz heyecanla. Yollamazsan çok ağır konuşacağım artık demiştim. Ceza da yesek önemli değil artık.Histogram Based, Real Time Lossless Data Compression Algorithm λ∈[(ArgMax⇔>∀xω1)Histogram Based, Real Time Lossless Data Compression Algorithm λ∈[(ArgMax⇔>∀xω1)




  • sirke gitsem bu kadar eglenmezdim. muthis konu. cok garip adamlar var su forumda ya.
  • quote:

    Orijinalden alıntı: Guest-E41040413

    sirke gitsem bu kadar eglenmezdim. muthis konu. cok garip adamlar var su forumda ya.
    bende arada eğlenmek için giriyorum, 8 senedir aynı terane :D
  • Evet arkadaşlar ben de eğleniyorum

    Adamın biri (SEO19) ortaya bir laf atıyor. Öteki de (ayhaharican) bu saçmalığa çanak tutup delil getirmeye çalışıyor. Biz de aklı yarımları kafalamasınlar diye uğraşıyoruz. Adam kendine özel veriyle sıkıştırma yapıyor. Ne güzel. Herkes kendine özel veri üretsin oradan yürüsün! Genele hitap eden çalışmalar değil bunlar. Birilerini kafalamaya çalışmaktan öte değil!

    Buradaki örnek .txt nin çok ama çok daha karmaşığını, çok daha büyüğünü çok daha küçük boyutlara getirebiliriz ama bu bir anlam ifade etmez. Çünkü veriyi belli şekilde oluşturuyor sonrasında belli şekilde çözümlüyoruz. Üretilen çözüm sadece ve sadece bu üretilen veriye uygun çalışır ve genellenemez. Bir boka da yaramaz. Ha yarayabilir; eğer işten anlamayan birilerini kandırmak, sahtekarlık yapmak, geçici olarak işi götürmek gibi bir düşünce varsa eğer...

    EddyCue ve Wepawet: Sizlerden biraz daha ciddi olmanızı beklerdim ama maalesef. Oturduğunuz yerden yıllardır yellenmeyi tercih ediyor bir şeye de yaramıyorsunuz. Madem ilginiz, bilginiz yok atlamayın konuya.

    SEO19 gerçekten zaman kaybısın. Konuyla hiç ilgin yok aslında. Sadece üfürüyorsun. Biraz kenara çekil. Şu .exe gelsin, bekliyoruz, 50 kere dedik adama.




  • 
Sayfa: önceki 34567
Sayfaya Git
Git
sonraki
- x
Bildirim
mesajınız kopyalandı (ctrl+v) yapıştırmak istediğiniz yere yapıştırabilirsiniz.