Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Kompresija random-like podataka

[es] :: Art of Programming :: Kompresija random-like podataka
(TOP topic, by Gojko Vujovic)
Strane: < .. 1 2 3 4 5

[ Pregleda: 9815 | Odgovora: 91 ]

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

srki
Srdjan Mitrovic
Auckland, N.Z.

Član broj: 2237
Poruke: 3643
*.navman.com.



Profil

icon Re: Kompresija random-like podataka24.01.2006. u 23:21
Citat:
MajorFatal: U tvom postu od 14.01.2006. Druga recenica, zadnje tri reci.

Nisi lepo razumeo recenicu. Treba da se shvati "..u fajlu predstavlja broj n". Mada nije sada to bitno.

Citat:
Pa ako ih ti upises valjda ti najbolje znas koji su.

Ali ne zna onaj ko treba da otpakuje fajl.
Citat:
Imas fajl. Podatak n o duzini tog fajla upises u kompresovani fajl kao prvi podatak I odvojis nekakvim separatorom od drugog podatka (m) I to je cela mudrost ja stvarno ne znam sta tu ima toliko komplikovano.

Pa napisi mi tacno kako to da uradim. Koji bajt (ili niz bajtova) zelis da ti predstavlja separator?
24.01.2006. u 23:21 

bojan_bozovic
Sir Lancelot

Član broj: 29028
Poruke: 2345
*.pat-pool.le.sbb.co.yu.



Profil

icon Re: Kompresija random-like podataka25.01.2006. u 06:49
Zato sto 2^n vrednosti razlicitih moras bas da prikazes sa 2^n vrednosti - spil karata ne mozes predstaviti sa 51 kartom. Ako imas 3 sedmice u hercu zaredom, mozes da stavis jedno papirce sa trojkom u spil ispred prve sedmice i dve uklonis (manje karata=kompresija). Isto je 101%. Nego, s obzirom da su dobri algoritmi za kompresiju znatno slozeniji (npr LZ) sto ti ne probas da nadjes neke algoritme za kompresiju pa da ih implementiras? Vec te to zanima vidim.

Ako imas mnogo vremena za gubljenje, uzmi sve vrednosti duzine n (tj 2^n njih, sve razlicite) pa probaj da kompresujes tvojom metodom npr vec 2^3 ili 2^4 ce da bude dosta - ne ide. Ne ide ni jednom metodom BTW. Ako nemas redundantnost - recimo niz koji se pionavlja, nema kompresije.

[Ovu poruku je menjao bojan_bozovic dana 25.01.2006. u 08:04 GMT+1]
25.01.2006. u 06:49 

formeye
Ivan Čukić
KDE developer, Free Software Network Serbia
BGD

Član broj: 5188
Poruke: 387
..njuel-bg.customer.sbb.co.yu.

Sajt: ivan.fomentgroup.org


Profil

icon Re: Kompresija random-like podataka25.01.2006. u 11:30
Citat:
Eeeeheej! Stoj! Pa ni ja tvoje: 2^(n-1) + 2^(n-2) +… nisam protumacio pogresno tj. da spajas nizove tih duzina pa bi dobio visestruko duzi niz od 2^n – 1 nego ispravno tj. da sabiras brojeve kombinacija koje su nizovi tih duzina u stanju da tvore.

Ne spajas nizove.
Pre svega, u postu kad napisem niz, mislim na konacan niz:
Ajde da pokusam sto preciznije mogu da kazem postavku zadatka i problem.
Kompresija je funkcija f koja preslikava skup nizova W na sebe samog koja mora biti bijekcija.
Znaci, nikakvog spajanja, povezivanja nizova nema. Svakom nizu iz domena moras da dodelis tacno jedan (i nijedan vise) niz iz kodomena. Obelezimo sa W_n skup nizova takvih da je njihova duzina n, a sa M_n skup nizova cija je duzina manja ili jednaka n.
Unija kad n ide od 0 do beskonacno skupova W_n je W.

Dokaz koji si imao prilike da procitas je dokaz da ne postoji bijekcija koja slika W_n na uniju skupova W_0, W_1, ..., W_n-1 = M_n-1. Sto znaci da mora postojati bar jedan niz A_n iz W_n takav da f(A_n) ne pripada M_n-1. Sto dalje znaci da je za to A_n, f(A_n) duzine vece ili jednake od n. Tu je kraj.

Citat:
Lepo sto sebe nazivate lavovima, moja ocena bi ipak pre bila da su u pitanju babe koje samo traze izgovor da ne rade svoj posao. Ja pocinjem I da sumnjam da ste vi u stanju ovo da isprogramirate.

Izvini, ali moj posao NIJE implementacija algoritama za koje je dokazano da ne rade ono sto bi trebalo. Posalji ideju u Politiku, mozda objave clanak da je neko "nas" uspeo da napravi kompresiju random podataka kao sto su objavljivali da je neka baba smislila postupak za trisekciju ugla!

Citat:
Da ja pustim vas da se vratite onome sto najbolje znate da radite: resavanje skolskih zadataka I prezvakavanje programa koji su u 1000 varijanti vec isprogramirani

A mi tebe da pustimo da se vratis svom poslu - da trosis samo svoje, a ne i nase vreme, na besmislice koje ti, zahvaljujuci nedovoljnom poznavanju materije, deluju pametno.

Do sada si odrzavao komunikaciju na nekom nivou i trudio sam se da ti objasnim gde nisi u pravu. Posle ovog posta, gde se trudis da uvredis ljude koji zele da ti pomognu, slobodno od mene ne ocekuj vise nikakvu pomoc.

To sto zelis je dokazano da je nemoguce i kraj.

Over and out.

@yooyo
:)
While you were hanging yourself on someone else's words
Dying to believe in what you heard
I was staring straight into the shining sun
25.01.2006. u 11:30 

ntojzan
Sandor II Tojzan
5digistar Inc.
Kobe city

Član broj: 36657
Poruke: 166
*.bbtec.net.

Sajt: www.5digistar.co.jp


Profil

icon Re: Kompresija random-like podataka25.01.2006. u 11:52
@MajorFatal:

Da bi kompresovao random-like podatke, moras prvo definisati sta su to random-like podaci. Potom moras ustanoviti koliki je procenat tih random-like podataka u odnosu na ukupan broj podataka da bi ustanovio da li je uopste moguce napisati program koji ce moci da smanji random-like podatke a poveca ostale. Tek posto je taj uslov zadovoljen, mozes krenuti u izradu bilo kakvog algoritma. Inace uslov za to jeste da manje od 50% ukupnih kombinacija cine random-like podaci.

Inace razlika izmedju random-like i random podataka jeste sto random podaci podrazumevaju SVE moguce kombinacije, dok se pod random-like obicno podrazumevaju kombinacije koje se ne mogu kompresovati statistickim metodama.

Ako se budes malo vise posvetio izucavanju teme, shvatices da preko 99% kombinacija cine upravo random-like podaci, znaci svi pokusaji da se ti podaci kompresuju su unapred osudjeni na propast. Uopste nije bitno koji je algoritam u pitanju.
25.01.2006. u 11:52 

Nedeljko
Nedeljko Stefanovic

Član broj: 314
Poruke: 2948
*.dynamic.sbb.rs.



Profil

icon Re: Kompresija random-like podataka30.10.2008. u 11:13
Imam ja 100% korektan algoritam za kompresiju bilo kakvog niza bajtova sa sledecim osobinama:

1. Radi u konacnom vremenu za ma kakve fajlove bilo koje duzine.
2. Kada se fajl zapakuja, pa otpakuje, dobija se fajl identican polaznom.

Sta mislite, kako je to moguce.
30.10.2008. u 11:13 

mmix
Miljan Mitrovic
Software Architect
Pancevo, Srbija

SuperModerator
Član broj: 17944
Poruke: 2408
*.eunet.yu.



Profil

icon Re: Kompresija random-like podataka30.10.2008. u 11:24
Hmmm, sa 0% stepenom kompresije
▪ The quicker a phone is answered in sales, the slower it's answered in customer services - Brownridge's Law
▪ Democracy is a device that ensures we shall be governed no better than we deserve - George Bernard Shaw
▪ To err is human--and to blame it on a computer is even more so - Robert Orben
30.10.2008. u 11:24 

Shadowed
.NET developer

SuperModerator
Član broj: 649
Poruke: 9023
*.static.sbb.rs.

Sajt: www.diskusije.net


Profil

icon Re: Kompresija random-like podataka30.10.2008. u 11:31
Tako sto je stepen kompresije manji ili jednak nuli? :)
30.10.2008. u 11:31 

vlaiv
Vladimir Vlaisavljevic
Novi Sad

Moderator
Član broj: 15993
Poruke: 320
212.200.249.*



Profil

icon Re: Kompresija random-like podataka30.10.2008. u 11:32
Uh, pa taj sa 0% kompresije je jednostavan.

Mislim da je Nedeljko u opstem slucaju mislio na negativan procenat.
30.10.2008. u 11:32 

Nedeljko
Nedeljko Stefanovic

Član broj: 314
Poruke: 2948
*.dynamic.sbb.rs.



Profil

icon Re: Kompresija random-like podataka30.10.2008. u 13:41
Svidja mi se kako razmisljate.

Da, nigde nisam rekao da komprimovani fajl mora biti kraci od originalnog. To je to.
30.10.2008. u 13:41 

misk0
.: Lugano :. _.: CH :.

SuperModerator
Član broj: 634
Poruke: 2441
*.adsl.ticino.com.

ICQ: 46802502


Profil

icon Re: Kompresija random-like podataka31.10.2008. u 08:26
Nigdje nije receno da je voda mokra pa je to podrazumjevano... ako se kaze 'kompresovan' onda se smatra 'sazet, smanjen, umanjen' ili kako hoces. Uostalom, svi arhiveri vracaju fajl u byte identican koliko znam, tako da.... what's the point?

:: Nemoj se svadjati sa budalom, ljudi cesto nece primjetiti razliku ::
31.10.2008. u 08:26 

Nedeljko
Nedeljko Stefanovic

Član broj: 314
Poruke: 2948
*.dynamic.sbb.rs.



Profil

icon Re: Kompresija random-like podataka31.10.2008. u 12:42
Da, svi arhiveri vracaju fajl identican pocetnom, s tim da arhiva moze biti duza od polaznog fajla. Generisi (pseudo)slucajan niz vrednosti u opsegu 0-255 i upisi ih binarno u neki fajl, pa ga komprimuj cime god hoces i dobices arhivu koja je duza od samog fajla koji si komprimovao.
31.10.2008. u 12:42 

Nedeljko
Nedeljko Stefanovic

Član broj: 314
Poruke: 2948
*.dynamic.sbb.rs.



Profil

icon Re: Kompresija random-like podataka31.10.2008. u 13:00
Evo, pomocu programa

Code:

#include <fstream>
#include <cstdlib>

using namespace std;

int main() {
    const int bytes = 100000;
    ofstream out("random.bin");
    
    for (int i=0; i<bytes; ++i) {
    unsigned char value = rand();
    
    out.put(value);
    }
    
    return 0;
}


generisao sam fajl random.bin duzine 100,000 bajtova. Kada sam ga komprimovao bzip2 kompresorom, dobio sam fajl vece duzine za 807 bajtova. Naravno, rezultati ce zavisiti od generatora pseudoslucajnih brojeva, pocetnog seed-a i izabrane kompresije i njenih parametara.
Prikačeni fajlovi
31.10.2008. u 13:00 

[es] :: Art of Programming :: Kompresija random-like podataka
(TOP topic, by Gojko Vujovic)
Strane: < .. 1 2 3 4 5

[ Pregleda: 9815 | Odgovora: 91 ]

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.