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

Jeri sam nasvojio challenge?

[es] :: Advocacy :: Jeri sam nasvojio challenge?

Strane: 1 2 3

[ Pregleda: 5656 | Odgovora: 46 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

djoka_l
Beograd

Član broj: 56075
Poruke: 3453

Jabber: djoka_l


+1462 Profil

icon Re: Jeri sam nasvojio challenge?26.11.2020. u 00:46 - pre 41 meseci
https://en.wikipedia.org/wiki/Diehard_tests

Ukratko, da bi testirao da li je neki niz bitova slučajan, nije dovoljan jedan test (tipa broj jedinica prema broju nula), nego baterija testova.
Može i ovako da se kaže - zamisli bilo kakav "razuman" algoritam koji na osnovu prvih k bitova (bajtova, multibajtova) prognozira koji će biti sledeći blok podataka. Ako algoritam za pogađanje ima veći broj pogodaka nego što bi se statistički očekivalo da je niz zaista slučajan, onda se smatra da niz nije slučajan.

Recimo, zamisli da treba da utvrdiš da li je fajl koji ima 100 nula na početku za kojim sledi 100 jedinica slučajan (distribucija nula i jedinica je 50-50).
Algoritam za pogađanje je sledeći: ako je prethodno učitan podatak 0, predvidi da je sledeći 0, inače predvidi da je 1.
Nakon prve učitane nule, algoritam tvrdi da je sledeći bit 0. Pogodiće 99 puta do prve jedinice. Posle prve jedinice pogodiće još 99 puta da je sledeći bit 1.
Dakle, fajl od 200 binarnih brojeva će biti ispravno pogođen 198 puta. Očekivano je da pogodi 50 puta. Dakle, statistički gledano, algoritam koji je generisao takav fajl ne daje dobru sekvencu slučajnih podataka.
 
Odgovor na temu

djoka_l
Beograd

Član broj: 56075
Poruke: 3453

Jabber: djoka_l


+1462 Profil

icon Re: Jeri sam nasvojio challenge?26.11.2020. u 01:12 - pre 41 meseci
Uzgred, radio sam jednu vežbu na kursu iz kriptografije.

Algoritam koji generiše slučajne 28-bitne sekvence, daje rezultat koji zavisi od seed-a i 4 parametra. Algoritam je inače modifikovani linearni kongruentni generator, samo što originalni linearni kongruenti generator radi sa dva parametra i ulaz seed (dakle, 3 parametra). Nažalost, mnoge implementacije rnd algoritma baš koriste linearni kongruentni generator.

Dat je niz slučajnih brojeva koji je izlaz iz generatora. Algoritam je poznat, ali ne i parametri sa kojima radi (svi parametri su 28-bitni). Cilj je pronaći posle kog člana niza moj algoritam može da pogodi sledeći član (sledeći 28-bitni "slučajan" broj).
Brute force metodom, dobije se da je prvih 11 članova niza dovoljno da se pogode svi ostali.
 
Odgovor na temu

Branimir Maksimovic

Član broj: 64947
Poruke: 5534
p2-115.p59.bvcom.net.



+1064 Profil

icon Re: Jeri sam nasvojio challenge?26.11.2020. u 07:47 - pre 41 meseci
Citat:
MajorFatal:
Citat:
Branimir Maksimovic:
E da njegovo resenje moze da se izvede zato sto je duzina poznata. Dakle skines prvo n bitova pa zapamtis u drugi fajl. Ali tako imas n fajlova ;)


Nisam razumeo ovo "Ali tako imaš n fajlova"?



Pa lepo skines sa jednog fajla pa snimis. Skines sa drugog fajla pa snimis i tako sve dok ne ostane u originalnom fajlu samo jedan niz bitova ;)

edit:
a ne moras i duzinu sekvence da pamtis ;)
To sam prevideo.

 
Odgovor na temu

Branimir Maksimovic

Član broj: 64947
Poruke: 5534
p2-115.p59.bvcom.net.



+1064 Profil

icon Re: Jeri sam nasvojio challenge?26.11.2020. u 08:28 - pre 41 meseci
Citat:
djoka_l:
Uzgred, radio sam jednu vežbu na kursu iz kriptografije.

Algoritam koji generiše slučajne 28-bitne sekvence, daje rezultat koji zavisi od seed-a i 4 parametra. Algoritam je inače modifikovani linearni kongruentni generator, samo što originalni linearni kongruenti generator radi sa dva parametra i ulaz seed (dakle, 3 parametra). Nažalost, mnoge implementacije rnd algoritma baš koriste linearni kongruentni generator.

Dat je niz slučajnih brojeva koji je izlaz iz generatora. Algoritam je poznat, ali ne i parametri sa kojima radi (svi parametri su 28-bitni). Cilj je pronaći posle kog člana niza moj algoritam može da pogodi sledeći član (sledeći 28-bitni "slučajan" broj).
Brute force metodom, dobije se da je prvih 11 članova niza dovoljno da se pogode svi ostali.


U svakom slucaju ako je koristen prng mozes da kompresujes ako pogodis formulu i ulazne parametre ;)
Ali u ovom slucaju to nije(valjda).
 
Odgovor na temu

djoka_l
Beograd

Član broj: 56075
Poruke: 3453

Jabber: djoka_l


+1462 Profil

icon Re: Jeri sam nasvojio challenge?26.11.2020. u 11:10 - pre 41 meseci
Ma jsano, samo sam hteo da pokažem Majoru kako problem "slučajnosti" nije baš tako jednostavan. On je na jednoj drugoj temi pretpostavio da je dovoljno da proveri koliko ima jedinica i nula u nekom fajlu, pa ako je blizu 50-50, to mu je signal da je fajl sa slučajno generisanim brojevima.

A i onaj primer koji sam naveo, bio je namerno tako napravljen da bude moguća upotreba brute force metode. RND generator je mogao da se razbije za menje od 1 minuta na običnom PC-u. Da je u postavci bilo da su generisani brojevi 32-bitni ili 64-bitni, već bi bilo teže. Osim toga, od 5 parametara, uopšte ni ne treba da se pogodi svih 5. Posle prve iteracije, seed za novu iteraciju je prethodno generisan slučajni broj, pa sekvenca može da se pogodi i samo pogađanjem 4 parametra, a da se seed za prvu itearciju potpuno ignoriše.
 
Odgovor na temu

MajorFatal
Milija Jakic
opravljam oluke, 1337LAB
Bg

Član broj: 36595
Poruke: 1332
87.116.162.*



+559 Profil

icon Re: Jeri sam nasvojio challenge?26.11.2020. u 21:07 - pre 41 meseci
Citat:
djoka_l:
https://en.wikipedia.org/wiki/Diehard_tests

Ukratko, da bi testirao da li je neki niz bitova slučajan, nije dovoljan jedan test (tipa broj jedinica prema broju nula), nego baterija testova.


Hvala za link. Da li ima šansi da se malo dogovorimo oko rečnika koji se koristi u ovoj temi? Na primer da ne stavljamo znak jednakosti između random/slučajno i visokog nivoa entropije? Zato što ako neki fajl ima visok nivo entropije on je ujedno i u svakom slučaju random, sa nekom kao slučajnom distribucijom nula i jedinica, plus još neki zahtevi iz statistike. Međutim ako je neki fajl random, slučajan, slučajno dobijen ne mora da ima visok nivo entropije.

Zapravo od random generatora se i traži da ponekad izbace malo uniformniji niz, tj da tretira sve moguće kodne reči od kojih gradi random fajl sa podjednakom verovatnoćom. Kad ne bi izbacivao i takve nizove gospoda što čvakaju veća - manja na poker aparatima bi posle nekog vremena skapirala da nikad ne izlazi 10 puta za redom veća pa bi svoje tipovanje prilagodili tome i napravili bar malo pobedničkiju taktiku.

Još ilustrativnije, recimo da neko ispiše sve moguće fajlove dužine n bita na papiriće i stavi ih u šešir, a onda iz šešira, ne gledajući, izvuče jedan papirić sa kombinacijom. Po postupku dobijanja ovakva kombinacija je apsolutno slučajna/random, a da li će imati i visok nivo entropije zavisi koji je papirić izvukao. Iako mu je mnogo veća verovatnoća da će izvući kombinaciju koja je sa visokim nivoom entropije jer takvih ima mnogo više, ipak postoji mogućnost i da izvuče kombinaciju sa mnogo manjim nivoom entropije. A za takvu kombinaciju koja bi bila apsolutno random/slučajna po nastanku, gornji testovi bi utvrdili da "nije random".

Drugim rečima, testovi koje si naveo proveravaju samo da li je niz bita sa visokim nivoom entropije, koji su doduše i random u tom nekom užem smislu reči, ali ne i da li su random u nekom širem smislu reči.

Ovo pišem jer je i autor challeng-a uradio isto, traži kompresor koji će kompresovati "any" bilo koji fajl dužine 415,241 bajta, ali će proveravati samo na fajlovima koji su permutacije fajla koji već ima, tj. na fajlovima za koje pouzdano zna da će imati visok nivo entropije.

Citat:
Može i ovako da se kaže - zamisli bilo kakav "razuman" algoritam koji na osnovu prvih k bitova (bajtova, multibajtova) prognozira koji će biti sledeći blok podataka. Ako algoritam za pogađanje ima veći broj pogodaka nego što bi se statistički očekivalo da je niz zaista slučajan, onda se smatra da niz nije slučajan.


Ok.

Citat:
Recimo, zamisli da treba da utvrdiš da li je fajl koji ima 100 nula na početku za kojim sledi 100 jedinica slučajan (distribucija nula i jedinica je 50-50).
Algoritam za pogađanje je sledeći: ako je prethodno učitan podatak 0, predvidi da je sledeći 0, inače predvidi da je 1.
Nakon prve učitane nule, algoritam tvrdi da je sledeći bit 0. Pogodiće 99 puta do prve jedinice. Posle prve jedinice pogodiće još 99 puta da je sledeći bit 1.
Dakle, fajl od 200 binarnih brojeva će biti ispravno pogođen 198 puta. Očekivano je da pogodi 50 puta.


Dakle tema je takva da zahteva neki nivo koncentracije, u poslednjoj rečenici nije očekivano da pogodi nasumice 50 puta, nego 100 puta, pola od 200 koliko je dugačak fajl. Takođe bitovi fajla su pogođeni 198 puta od 199, jer si propustio da pogađaš prvu nulu, i pogađao tek od druge .. zašto je tako daješ objašnjenje u sledećem postu gde seed pratiš tek od drugog, kad seed za sledeću 28-bitnu sekvencu postaje prethodno izgenerisana takva sekvenca, bio si pod utiskom posla pa ti se oprašta greška :)

Citat:
Dakle, statistički gledano, algoritam koji je generisao takav fajl ne daje dobru sekvencu slučajnih podataka.


Statistički i bilo kako drugačije gledano, ako bi zahtevao od nekog random generatora da ti s vremena na vreme, ili na zahtev, izbaci random sekvencu dužine 200 bita, bilo bi u redu de jednom u 2^200 (sa verovatnoćom 1/2^200) puta izbaci i baš takvu, i smatrao bi da je super random u odnosu na druge koje je izbacivao. Sa druge strane ako bi to bio algoritam od koga se zahteva da izbacuje nizove bita dužine 200 sa visokim nivoom entropije, onda algoritam koji bi izbacio takav fajl definitivno ne bi bio dobar, tj. ne bi radio ono za šta je zadužen.

Nemoj da pricas?
 
Odgovor na temu

MajorFatal
Milija Jakic
opravljam oluke, 1337LAB
Bg

Član broj: 36595
Poruke: 1332
87.116.162.*



+559 Profil

icon Re: Jeri sam nasvojio challenge?26.11.2020. u 21:54 - pre 41 meseci
Citat:
djoka_l:
Uzgred, radio sam jednu vežbu na kursu iz kriptografije.

Algoritam koji generiše slučajne 28-bitne sekvence, daje rezultat koji zavisi od seed-a i 4 parametra. Algoritam je inače modifikovani linearni kongruentni generator, samo što originalni linearni kongruenti generator radi sa dva parametra i ulaz seed (dakle, 3 parametra). Nažalost, mnoge implementacije rnd algoritma baš koriste linearni kongruentni generator.

Dat je niz slučajnih brojeva koji je izlaz iz generatora. Algoritam je poznat, ali ne i parametri sa kojima radi (svi parametri su 28-bitni). Cilj je pronaći posle kog člana niza moj algoritam može da pogodi sledeći član (sledeći 28-bitni "slučajan" broj).
Brute force metodom, dobije se da je prvih 11 članova niza dovoljno da se pogode svi ostali.


Pa eto sve si već i sam rekao, nit je to više za tebe algoritam slučajnih brojeva, nit je broj koji generiše slučajan, niti je generisani broj random i nekomresabilan.. ali hajde kad već skrećem pažnju drugima, da i ja malo vežbam preciznost u izražavanju, jer su ovde stvari svaki čas relativne...

Algoritam je savršeno random, i daje slučajne sekvence bita sve do dužine niza 310 bita napravljenog od sekvenci od po 28 bita, jer takvima ne bi mogao ništa, pa ni da ih kompresuješ.

Počev od dužine niza 340 bita pa naviše, ti bi mogao da kažeš: Vaš algoritam nije dobar random algoritam, i nizovi bita preko 340 bita nisu dovoljno random, i bilo koji takav niz kompresovaću bez problema tako što ću sačuvati prvih 11 članova u kompresovani fajl, a ostatak ću bez problema dekompresovati do pune dužine niza ma koliko to bilo ..

Citat:
Branimir Maksimovic:
Pa lepo skines sa jednog fajla pa snimis. Skines sa drugog fajla pa snimis i tako sve dok ne ostane u originalnom fajlu samo jedan niz bitova ;)

edit:
a ne moras i duzinu sekvence da pamtis ;)
To sam prevideo.


Pa ti si gori od mene, ovo ni ja ne bih izjavio :) Šalim se, povuče te, misliš da neka logika kad se primeni, a bude uspešna, da može više puta da se primeni, a najčešće nije tako.

Nemoj da pricas?
 
Odgovor na temu

Ivan Dimkovic

Administrator
Član broj: 13
Poruke: 16687
...kabel-badenwuerttemberg.de.



+7173 Profil

icon Re: Jeri sam nasvojio challenge?26.11.2020. u 22:12 - pre 41 meseci
Citat:
djoka_l
RND generator je mogao da se razbije za menje od 1 minuta na običnom PC-u


Mislis PRND ili PRNG? Tj. u ovom slucaju ako ga razbijas za <1min to je vise PRD generator :-)

Da citiram izvesnog von Neumann-a:

Citat:
Anyone who attempts to generate random numbers by deterministic means is, of course, living in a state of sin.


:-)
DigiCortex (ex. SpikeFun) - Cortical Neural Network Simulator:
http://www.digicortex.net/node/1 Videos: http://www.digicortex.net/node/17 Gallery: http://www.digicortex.net/node/25
PowerMonkey - Redyce CPU Power Waste and gain performance! - https://github.com/psyq321/PowerMonkey
 
Odgovor na temu

MajorFatal
Milija Jakic
opravljam oluke, 1337LAB
Bg

Član broj: 36595
Poruke: 1332
87.116.162.*



+559 Profil

icon Re: Jeri sam nasvojio challenge?26.11.2020. u 22:19 - pre 41 meseci
Citat:
djoka_l:
Ma jasno, samo sam hteo da pokažem Majoru kako problem "slučajnosti" nije baš tako jednostavan. On je na jednoj drugoj temi pretpostavio da je dovoljno da proveri koliko ima jedinica i nula u nekom fajlu, pa ako je blizu 50-50, to mu je signal da je fajl sa slučajno generisanim brojevima.


Da te ne maltretiram da tražim da citiraš, znam da ne možeš da citiraš, ne zato što ne bi našao temu, nego zato što nisam to rekao, čak ni ništa slično. Verovatno smo pričali o osobinama random fajla, onog sa visokom entropijom, takav bi morao da zadovolji i taj uslov da ima nula i jedinica 50%/50% približno, jer bi svaka ozbiljnija neravnoteža u tom odnosu dovela do toga da neko može da kompresuje fajl i običnim "statističkim" metodama, jer bi i kodnih reči koji se sastoje od one vrste bita koje ima više u fajlu, takođe bilo više...

Ali ono što bi me zanimalo je na primer šta dalje, ako odlučim da pregledam fajl sa visokim nivoom entropije dalje sa dužim kodnim rečima od jedan, šta bi se dalje dešavalo, i koji fajl bi bio etropius maximus, na primer ako ga pregledam upotrebljavajući kodnu reč dužine dva, tj u potrazi za nizovima 00, 01, 10, 11 njih bi moralo da bude po 25% otprilike, zbog istog gore navedenog, pa onda kodna reč dužine tri, njih bi moralo svake da bude po 1/8 (%), četiri 1/16 (%) itd ...

Ali ni to tako ne može večno, ako u bilo kom trenutku, na dužini neke kodne reči kojom pregledam dođe do ozbiljnije neravnoteže
-> statističke metode, ... takođe postupak ne može da traje dok se kodna reč ne izjednači sa dužinom celog samog fajla koji se pregleda ... pre toga mora da dođe do situacije da na nekoj dužini kodne reči n postoje u fajlu sve kodne reči te dužine, plus da se neke ponavljaju, ali ne sve (osim kad je fajl dužine x * 2^n tad mogu sve da se ponavljaju podjednako), možda mogu saznanje o dužini takve kodne reči zbog neravnoteže koja nastaje - neke se ponavljaju a neke ne - da iskoristim za kompresiju, ili u sledećem pregledanju uz pomoć kodne reči dužine n + 1 tu će se desiti da ne postoje sve kodne reči te dužine u fajlu, a opet sa druge strane neke se ponavljaju ... ? Itd ...

Citat:
A i onaj primer koji sam naveo, bio je namerno tako napravljen da bude moguća upotreba brute force metode. RND generator je mogao da se razbije za menje od 1 minuta na običnom PC-u. Da je u postavci bilo da su generisani brojevi 32-bitni ili 64-bitni, već bi bilo teže.


32, 64, 128 nebitno, ako postoji princip, već će se naći brut forsičniji komp da ga primeni ...

Citat:
Osim toga, od 5 parametara, uopšte ni ne treba da se pogodi svih 5. Posle prve iteracije, seed za novu iteraciju je prethodno generisan slučajni broj, pa sekvenca može da se pogodi i samo pogađanjem 4 parametra, a da se seed za prvu itearciju potpuno ignoriše.


Ništa lepše nego kad za seed imaš slučajni broj, a ne tamo da moraš da tražiš neki bezveze :)

Nemoj da pricas?
 
Odgovor na temu

MajorFatal
Milija Jakic
opravljam oluke, 1337LAB
Bg

Član broj: 36595
Poruke: 1332
87.116.183.*



+559 Profil

icon Re: Jeri sam nasvojio challenge?26.11.2020. u 22:37 - pre 41 meseci
Citat:
Ivan Dimkovic:
Da citiram izvesnog von Neumann-a:


Da citiram ja tebe, i poželim dobrodošlicu na temu gospodinu koji je svojevremeno obećao "dve :) gajbe piva" svakome ko random fajl skrati makar i za bit, je l tako bilo? Pa me zaebo da pomislim da je i ovde to uslov, međutim ovde se traži bar za bajt, a ne bit. Oli sam skratio za makar i bit, a u nekim slučajevima i više "any file"? Ako jesam, makar i samo na papiru, ajde da platiš pivo pre nego što maznem 100e sa konkursa, i pre nego što ruiniraš temu svojim čudnim izvorima i rezonovanjima .. Da li treba da citiram?

Citat:
Citat:
Anyone who attempts to generate random numbers by deterministic means is, of course, living in a state of sin.


:-)


Ovde na forumu je bio i gospodin koji kad mu zatreba "stvarno" random fajl ili niz, otvači žicu pa skuplja statički elektricitet iz atmosfere, ali ne menja ništa po pitanju random fajla i kompresibilnosti, na nekom dužem random fajlu moguća je kompresija, niz mora da počne da se ponavlja na neki način, ili da bude konstruisan na neki način, u oba slučaja moguća je kompresija, na primer statički elektricitet iz atmosfere ne može dugo da drži ni stanje nula, ni stanje jedan ... a morao bi bar nekad, ako je "stvarno" random ... itd ...

Nemoj da pricas?
 
Odgovor na temu

mjanjic
Šikagou

Član broj: 187539
Poruke: 2700



+699 Profil

icon Re: Jeri sam nasvojio challenge?27.11.2020. u 06:02 - pre 41 meseci
https://jackkrupansky.medium.c...ue-random-numbers-237d89f8a7f2
https://insidehpc.com/2020/09/...antum-random-number-generator/
Blessed are those who can laugh at themselves, for they shall never cease to be amused.
 
Odgovor na temu

MajorFatal
Milija Jakic
opravljam oluke, 1337LAB
Bg

Član broj: 36595
Poruke: 1332
87.116.181.*



+559 Profil

icon Re: Jeri sam nasvojio challenge?27.11.2020. u 23:11 - pre 41 meseci
^ Hvala za tekstove iz novina, zanimljivi su
Nemoj da pricas?
 
Odgovor na temu

djoka_l
Beograd

Član broj: 56075
Poruke: 3453

Jabber: djoka_l


+1462 Profil

icon Re: Jeri sam nasvojio challenge?28.11.2020. u 01:51 - pre 41 meseci
Citat:
Da te ne maltretiram da tražim da citiraš, znam da ne možeš da citiraš, ne zato što ne bi našao temu, nego zato što nisam to rekao, čak ni ništa slično. Verovatno smo pričali o osobinama random fajla, onog sa visokom entropijom, takav bi morao da zadovolji i taj uslov da ima nula i jedinica 50%/50% približno, jer bi svaka ozbiljnija neravnoteža u tom odnosu dovela do toga da neko može da kompresuje fajl i običnim "statističkim" metodama, jer bi i kodnih reči koji se sastoje od one vrste bita koje ima više u fajlu, takođe bilo više...


https://www.elitesecurity.org/t470644-0#3405214
Samo ti mene maltretiraj...
 
Odgovor na temu

MajorFatal
Milija Jakic
opravljam oluke, 1337LAB
Bg

Član broj: 36595
Poruke: 1332
87.116.162.*



+559 Profil

icon Re: Jeri sam nasvojio challenge?28.11.2020. u 21:42 - pre 41 meseci
Citat:
djoka_l:
Ma jasno, samo sam hteo da pokažem Majoru kako problem "slučajnosti" nije baš tako jednostavan. On je na jednoj drugoj temi pretpostavio da je dovoljno da proveri koliko ima jedinica i nula u nekom fajlu, pa ako je blizu 50-50, to mu je signal da je fajl sa slučajno generisanim brojevima.


Citat:
MajorFatal:
Da te ne maltretiram da tražim da citiraš, znam da ne možeš da citiraš, ne zato što ne bi našao temu, nego zato što nisam to rekao, čak ni ništa slično. Verovatno smo pričali o osobinama random fajla, onog sa visokom entropijom, takav bi morao da zadovolji i taj uslov da ima nula i jedinica 50%/50% približno, jer bi svaka ozbiljnija neravnoteža u tom odnosu dovela do toga da neko može da kompresuje fajl i običnim "statističkim" metodama, jer bi i kodnih reči koji se sastoje od one vrste bita koje ima više u fajlu, takođe bilo više...


Citat:


Dobro, pošto nisi mogao da citiraš, linkovao si, na temu gde pitam kako nivo entropije oblikuje teorijski minimum veličine do kog neki fajl može biti kompresovan, nije mi odgovoreno, ali sam dobio nekoliko različitih načina shvatanja, i računanja enropije.

Konkretnije linkovao si na svoju poruku gde ničim izazavan u temu o entropiji, uvodiš veoma nisko entropičnu meteorološku stanicu u pustinji (peščanoj i osunčanoj pretpostavlja se, pošto postoje i kamene, i snežne, i ...) koja neprestano ponavlja da je vreme lepo.

Ilustracija fajla, u mnogo kraćem obliku, sa nulama na početku i jedinicama na kraju stvarno postoji, ali ne da bih ja pogrešno zaključio da ako ima 50/50 nula i jedinica, da je sa slučajno generisanim brojevima.

Nego baš naprotiv, da formula za računanje entropije koja mi je ponuđena, daje isti rezultat za takav prilično nisko entropičan fajl, (a što si i ti pokazao svojim algoritmom za pogađanje, koji u takvom sličnom fajlu pogodi 198 od 199 bita), i drugi koji mnogo više po rasporedu nula i jedinica liči na random fajl, (a gde bi tvoj zamišljeni algoritam za pogađanje omanuo, i dao rezultat oko 100 pogodaka od 200), a u oba slučaja daje rezultat H = 1, kao da su oba sa maksimumom entropije, pa samim tim nekompresabilni.

Ali zašto ja sad prepričavam i objašnjavam nešto što već znaš, e to je tek misterija. I redundansa.



Nemoj da pricas?
 
Odgovor na temu

Ivan Dimkovic

Administrator
Član broj: 13
Poruke: 16687
46.183.103.*



+7173 Profil

icon Re: Jeri sam nasvojio challenge?28.11.2020. u 23:15 - pre 41 meseci
Citat:
MajorFatal
Da citiram ja tebe, i poželim dobrodošlicu na temu gospodinu koji je svojevremeno obećao "dve :) gajbe piva" svakome ko random fajl skrati makar i za bit, je l tako bilo? Pa me zaebo da pomislim da je i ovde to uslov, međutim ovde se traži bar za bajt, a ne bit. Oli sam skratio za makar i bit, a u nekim slučajevima i više "any file"? Ako jesam, makar i samo na papiru, ajde da platiš pivo pre nego što maznem 100e sa konkursa,


Imas od mene te dve gajbe piva kad me put nanese u BG. Mladji i gluplji "ja" sam lose definisao problem i, naravno, u skladu sa sopstvenom gluposcu to potpuno ignorisao.

Malo vise informisani i mozda malo manje gluplji "ja" bih problem danas definisao na rigorozniji nacin ali to nema nikakve veze sa citatom - tako da moj post-hoc lament ne menja tvoju zaslugu piva.

Citat:

i pre nego što ruiniraš temu svojim čudnim izvorima i rezonovanjima .. Da li treba da citiram?


U bre, sto tako ozbiljno. Nemam nikakav interes u ovoj prici, tako da bez brige, tema nece biti ruinirana sa mojim porukama.

Von Neumann-ov citat je samo zbog nazivanja nekog runtime PRNG-a "RNG-om". Nadam se da taj citat nema nikakav uticaj na tvoju borbu sa kompresovanjem nizova, kakva god da je priroda iste i metod do koga si dosao.
DigiCortex (ex. SpikeFun) - Cortical Neural Network Simulator:
http://www.digicortex.net/node/1 Videos: http://www.digicortex.net/node/17 Gallery: http://www.digicortex.net/node/25
PowerMonkey - Redyce CPU Power Waste and gain performance! - https://github.com/psyq321/PowerMonkey
 
Odgovor na temu

MajorFatal
Milija Jakic
opravljam oluke, 1337LAB
Bg

Član broj: 36595
Poruke: 1332
87.116.162.*



+559 Profil

icon Re: Jeri sam nasvojio challenge?29.11.2020. u 00:17 - pre 41 meseci
Citat:
Ivan Dimkovic: Imas od mene te dve gajbe piva kad me put nanese u BG. Mladji i gluplji "ja" sam lose definisao problem i, naravno, u skladu sa sopstvenom gluposcu to potpuno ignorisao.

Malo vise informisani i mozda malo manje gluplji "ja" bih problem danas definisao na rigorozniji nacin ali to nema nikakve veze sa citatom - tako da moj post-hoc lament ne menja tvoju zaslugu piva.


Da te oslobodim obaveze :)

Citat:
Ivan Dimkovic:
E a ako nekom uspe da kompresuje proizvoljnu random sekvencu - od mene dobija 20 gajbi piva kojeg zeli ;-)))))


https://www.elitesecurity.org/t151770-0#997617

Nisi rekao "bar za bit", ili nisi u ovoj replici, ili je neko drugi, ili najverovatnije ja pogrešno upamtio, mrzi me sad da tražim.. mada ako smatraš da je proizvoljna "any" bilo koja random sekvenca kompresovna, dođeš mi 20 gajbi piva, kao što lepo piše, i to sam pogrešno upamtio, link je tu za proveru :)

Citat:
Ivan Dimkovic: U bre, sto tako ozbiljno. Nemam nikakav interes u ovoj prici, tako da bez brige, tema nece biti ruinirana sa mojim porukama.

Von Neumann-ov citat je samo zbog nazivanja nekog runtime PRNG-a "RNG-om". Nadam se da taj citat nema nikakav uticaj na tvoju borbu sa kompresovanjem nizova, kakva god da je priroda iste i metod do koga si dosao.


Ma de ozbiljno, zezam se, insistiranje na Šenonovoj Teoriji informacija da je dokaz da je kompresija fajla sa visokim nivoom entropije nemoguća, me beš dosta zakočilo, al to je moj problem, mislim da je Šenon najmanje govorio o ovome, i u ovom smislu, al ajd .. opet comp.compress linkovi su mi pomogli da vidim da ako ne da nisam lud, onda bar da nisam načisto skroz na skroz lud, jer bar ima i drugih lunatika da misle ili pokušavaju da se bave "tematikom". A i moje "ideje" su bile krš, samim tim što ne bi radile, tako da u zbiru sve ok, naravno.

Kakva priroda, i metod, meni ovo "on idle", kad sve druge poslove završim, i ne znam šta bi, onda: A kako bi kompresovali random fajl :)
Nemoj da pricas?
 
Odgovor na temu

djoka_l
Beograd

Član broj: 56075
Poruke: 3453

Jabber: djoka_l


+1462 Profil

icon Re: Jeri sam nasvojio challenge?29.11.2020. u 12:45 - pre 41 meseci
Vidiš, to što sam linkovao je samo o ilustracija koliko ne shvataš entropiju.
Onako kako je Šenon razmišljao, nije brojanje bitova nego je posmatrao sistem koji se sastoji od predajnika, kanala i prijemnika.
Ono što ga je interesovalo je, koliko se zaista podataka prenosi sa kraja na kraj i kolika je vrednost PORUKE koja je preneta (ne dela poruke nego poruke u celini).

Primer sa wikipedije na engleskom. Zamisli da kroz kanal treba da preneš vest o tome koja je dobitnička srećka na nekoj nagradnoj igri.
Štampano je milion srećki, brojevi 000000 do 999999. Ako želiš da preneseš vest da je izvučen broj 123456 treba ti, otprilike, 20 bitova informacije. Možemo da kažemo da je entropija takvog događaja 20 bitova.
Sa druge strane, vest možeš da preneseš i tako što kažeš: nije izvučen broj 000000, broj 0000001 itd. Da bi preneo takvu vest, treba ti 999999*20 bitova, ali je i dalje vrednost takve vesti 20 bitova. Jedino što je bitno je koji je broj izvučen, a ne koji nije.

Drugi primer: prenos preko serijske linije je nekada bio uobičajeno realizovan kao prenos sedam bitova + paritet (poruku od 8 bitova je uvek morala da ima paran ili neparan broj jedinica, pa bi se na prijemnoj strani moglo PRETPOSTAVITI da je poruka ispravna ako je paritet ispravan).

Dakle, poruka od 8 bitova ima entropiju od 7 bitova.

Upravo na osnovu ovih Šenonovih radova razvijeni su algoritmi za kompresiju. Iz bilo kog razloga, poruka (fajl) koji ima milion bitova u nekim slučajevima ima redundantnost. Može se predstaviti sa manje od milion bitova. Zadatak kompresionog algoritma je da otkrije redundancu i da efikasnije kodira poruku (fajl).

Sa druge strane, fajl (poruka) koji ima slučajan sadržaj, sa vrlo velikom verovatnoćom ima milion bitova entropiju. Jeste, može da se desi da fajl budu sve nule, ali verovatnoća takvog događaja je 2-1000000
Recimo, da 2900000 od svih mogućih fajlova NE MOŽEŠ da komprimuješ, a ostale možeš. Ispada, da je verovatnoća da možeš da komprimuješ BILO KOJI fajl od milion bitova 2-100000.

Sada, gomila ljudi kupuje srećke, sa idejom da će baš oni da ubodu glavnu premiju. Pa, neko hoće ali ogromna većina neće.
 
Odgovor na temu

MajorFatal
Milija Jakic
opravljam oluke, 1337LAB
Bg

Član broj: 36595
Poruke: 1332
87.116.163.*



+559 Profil

icon Re: Jeri sam nasvojio challenge?30.11.2020. u 01:38 - pre 41 meseci
Citat:
djoka_l: Vidiš, to što sam linkovao je samo o ilustracija koliko ne shvataš entropiju.


Vidim, ali ti nisi rekao da ja "o" ne shvatam entropiju, nego ovo:

Citat:
djoka_l:
Ma jasno, samo sam hteo da pokažem Majoru kako problem "slučajnosti" nije baš tako jednostavan. On je na jednoj drugoj temi pretpostavio da je dovoljno da proveri koliko ima jedinica i nula u nekom fajlu, pa ako je blizu 50-50, to mu je signal da je fajl sa slučajno generisanim brojevima.


A ja to nisam pretpostavio, i to mi nije bio signal za to što kažeš, a zvuči jezivo glupo kad bi bilo ko tako nešto pretpostavljao, pa ako tvrdiš da sam ja to pretpostavljao zvuči kao da tvrdiš da sam tupav, a to nije lepo.

A što se tiče shvatanja entropije, kad već drugi citiraju von Njumena mogu i ja, pardon, Njumena i Šenona:

"I thought of calling it "information", but the word was overly used, so I decided to call it "uncertainty". [...] Von Neumann told me, "You should call it entropy, for two reasons. In the first place your uncertainty function has been used in statistical mechanics under that name, so it already has a name. In the second place, and more important, nobody knows what entropy really is, so in a debate you will always have the advantage."

Citat:
Onako kako je Šenon razmišljao, nije brojanje bitova nego je posmatrao sistem koji se sastoji od predajnika, kanala i prijemnika.


Upravo, uglavnom o prenosu signala, nešto malo je pričao i o kompresiji.

Citat:
Ono što ga je interesovalo je, koliko se zaista podataka prenosi sa kraja na kraj i kolika je vrednost PORUKE koja je preneta (ne dela poruke nego poruke u celini).


Pa sad, ja bih rekao da je svašta nešto njega zanimalo, pogotovo što je u kasnijem periodu života uglavnom pravio igračke za decu. Da ga nisu zanimali i delovi poruke ne bi pisao o Joint entropy.

Citat:
Primer sa wikipedije na engleskom. Zamisli da kroz kanal treba da preneš vest o tome koja je dobitnička srećka na nekoj nagradnoj igri.
Štampano je milion srećki, brojevi 000000 do 999999. Ako želiš da preneseš vest da je izvučen broj 123456 treba ti, otprilike, 20 bitova informacije.


Treba od 1 do 19 bitova informacije, jer je 2^1 + 2^2 + 2^3 + .. + 2^19 = 2^20 - 2 = 1048574 pa uvođenjem različite dužine poruka bez problema saopštavamo koja je dobitna srećka sa manje od 20 bita.

Citat:
Možemo da kažemo da je entropija takvog događaja 20 bitova.


Ne možemo, to bi možda mogli da kažemo ako bi neko i predajnu i prijemnu stranu ograničio na poruke uvek iste dužine, u tom slučaju događaj bi možda mogao da ima entropiju definisanu u Šanon stilu 20 bitova, a poruka najmanje 20 bitova informacija.

Citat:
Sa druge strane, vest možeš da preneseš i tako što kažeš: nije izvučen broj 000000, broj 0000001 itd. Da bi preneo takvu vest, treba ti 999999*20 bitova, ali je i dalje vrednost takve vesti 20 bitova. Jedino što je bitno je koji je broj izvučen, a ne koji nije.


A možeš i: nije izvučen broj 000000, broj 1007040, broj 12586473, broj .. i tako bi ti trebalo 999999*20 bitova + beskonačno*x(/=20) bitova i da nikad ne preneseš poruku, pa bi vrednost takvih vesti bila 0. Ti, Šenon i wikipedija vazda zaboravite da kažete šta ste naučili prijemnu i predajnu stranu, i čime ste ih ograničili, pre nego što se odlučite za loše kodovanje da bi ilustrovali .. ne koliko je neko drugo dobro .. nego kolika je entropija poruke. U ovom slučaju rekli ste i prijemnoj i predajnoj strani da mogu da barataju samo izjavama izvučen je/nije izvučen i strogo 20 bita za broj srećke.
Ali bar imaš lep primer kompresovanja podataka koji imaju ceo spektar vrednosti od 000000 do 999999, poruka da nije izvučen nijedan od tih preostalih brojeva, veoma je lepo kompresovana vešću da je izvučena srećka 123456.

Citat:
Drugi primer: prenos preko serijske linije je nekada bio uobičajeno realizovan kao prenos sedam bitova + paritet (poruku od 8 bitova je uvek morala da ima paran ili neparan broj jedinica, pa bi se na prijemnoj strani moglo PRETPOSTAVITI da je poruka ispravna ako je paritet ispravan).

Dakle, poruka od 8 bitova ima entropiju od 7 bitova.


Ne nego 7 bita informacija, korisnog sadržaja, i jedan kontrolni bit, a da najčešće nemaju ni 7 bita entropije, ni korisnog sadržaja dokazali su već Lampel i Ziv.

Citat:
Upravo na osnovu ovih Šenonovih radova razvijeni su algoritmi za kompresiju. Iz bilo kog razloga, poruka (fajl) koji ima milion bitova u nekim slučajevima ima redundantnost. Može se predstaviti sa manje od milion bitova. Zadatak kompresionog algoritma je da otkrije redundancu i da efikasnije kodira poruku (fajl).


Nisu na osnovu Šenonovih radova, nego Lampel i Ziv uključili mozak i rekli: Ovde ima lufta koliko hoćeš. Zadatak kompresionog algoritma nije da otkrije redundancu, već da kompresuje poruku (fajl), a kako će to raditi zavisi od izvedbe, ti na primer kompresuješ na osnovu prvih 11 sekvenci bez otkrivanja bilo kakve redundance, za efikasnije kodiranje se slažem.

Citat:
Sa druge strane, fajl (poruka) koji ima slučajan sadržaj, sa vrlo velikom verovatnoćom ima milion bitova entropiju. Jeste, može da se desi da fajl budu sve nule, ali verovatnoća takvog događaja je 2-1000000
Recimo, da 2900000 od svih mogućih fajlova NE MOŽEŠ da komprimuješ, a ostale možeš. Ispada, da je verovatnoća da možeš da komprimuješ BILO KOJI fajl od milion bitova 2-100000.


Pa ako za kompresiju proglasiš nešto što fajl može da svuče na 10% od originalne vrednosti verovatno ne možeš ni tih 100000. Nego zašto navodiš taj primer sa fajlom koji ima sve nule? Šta kažeš za fajl koji ima 50% nula, dosta je to redundanse? :)

Citat:
Sada, gomila ljudi kupuje srećke, sa idejom da će baš oni da ubodu glavnu premiju. Pa, neko hoće ali ogromna većina neće.


Skoro pa totalni off topic al ajd, ako te čini srećnim, ili ako tako hoćeš da ilustruješ malu "verovatnoću da komprimuješ bilo koji fajl" :) Ču verovatnoću da komprimujem, il ću da komprimujem il neću.
Nemoj da pricas?
 
Odgovor na temu

djoka_l
Beograd

Član broj: 56075
Poruke: 3453

Jabber: djoka_l


+1462 Profil

icon Re: Jeri sam nasvojio challenge?30.11.2020. u 10:24 - pre 41 meseci
Citat:
Treba od 1 do 19 bitova informacije, jer je 2^1 + 2^2 + 2^3 + .. + 2^19 = 2^20 - 2 = 1048574 pa uvođenjem različite dužine poruka bez problema saopštavamo koja je dobitna srećka sa manje od 20 bita.

Zavoravio si bit 0. Treba ti 20 bitova, log(1000000)/log(2) = 19.93
Citat:
Ne nego 7 bita informacija, korisnog sadržaja, i jedan kontrolni bit, a da najčešće nemaju ni 7 bita entropije, ni korisnog sadržaja dokazali su već Lampel i Ziv.

Ma nemoj da cepidlačiš, možeš preko serijske linije da prenosiš komprimpovani fajl. Poruka od 8 bita ima entropiju 7 bita, 1 je redundansa (u opštem slučaju). 7 bita predstavlja "ishod jednog od 128 slučajnih događaja". I to je PORUKA. Nisam ulazio u to da li svaki od 128 slučajnih događaja ima istu verovatnoću pojavljivanja.
 
Odgovor na temu

MajorFatal
Milija Jakic
opravljam oluke, 1337LAB
Bg

Član broj: 36595
Poruke: 1332
87.116.163.*



+559 Profil

icon Re: Jeri sam nasvojio challenge?30.11.2020. u 22:14 - pre 41 meseci
Citat:
djoka_l: Zavoravio si bit 0. Treba ti 20 bitova, log(1000000)/log(2) = 19.93


Vidiš koliko ti smeta Šenon, nisam ja zaboravio ništa nego ti ne čitaš pažljivo, ako ti prijemnu stranu ugnjaviš i nahraniš sa informacijama tipa: sve poruke su jednako verovatne (je l izvlačiš srećku), pa prema tome za svaku treba 19.93 bita, pa prema tome stićiće poruka dužine 20 bita koja govori koja srećka je izvučena, onda je tako kako ti kažeš, treba najmanje 20 bita da bude dugačka poruka.

2^20 = 1048576, broj srećki = 1000000.

A ako samo malo drugačije nastupiš i kažeš prijemnoj strani: Informaciju o tome koja je srećka izvučena ugradiću osim u raspored bita, i u dužinu same poruke, onda ti treba od 1 do 19 bita da bude dugačka poruka, u svakom slučaju manje od 20.

2^1 + 2^2 + 2^3 + .. + 2^19 = 1048574 - dovoljno za jednoznačno kodovanje svih milion srećki.


Citat:
djoka_l: Ma nemoj da cepidlačiš, možeš preko serijske linije da prenosiš komprimpovani fajl. Poruka od 8 bita ima entropiju 7 bita, 1 je redundansa (u opštem slučaju). 7 bita predstavlja "ishod jednog od 128 slučajnih događaja". I to je PORUKA. Nisam ulazio u to da li svaki od 128 slučajnih događaja ima istu verovatnoću pojavljivanja.


Ne cepidlačim, ako ikako temu o kompresiji mogu da povežem sa Šenonom koji se više bavio prenosom informacija, bilo bi da originalni fajl izjednačim sa predajnom stranom tj. izvorom signala, kompresovani fajl sa kanalom, a dekompresor sa prijemnom stranom. Ako pošalješ poruku "run" dužine 3 bajta, svaki bajt ima 7 bita korisne informacije, a ne entropije, i jedan kontrolni bit koji nije redundansa, 7 bita korisnog sadržaja ne predstavlja "ishod jednog od 128 slučajnih događaja" nego namerni događaj ispisivanja reči "run", a kasnije ako hoćeš da cepidlačiš utvrdiš da pošto engleski alfabet ima 26 karaktera, a asci kod 128 kodova, da svaki bajt ima dosta redundanse već u prvih 7 bita, pa ga kompresuješ, tj. ispraviš kodovanje.
Nemoj da pricas?
 
Odgovor na temu

[es] :: Advocacy :: Jeri sam nasvojio challenge?

Strane: 1 2 3

[ Pregleda: 5656 | Odgovora: 46 ] > FB > Twit

Postavi temu Odgovori

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