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

Kompresija random-like podataka 2

[es] :: Art of Programming :: Kompresija random-like podataka 2

Strane: 1 2

[ Pregleda: 4927 | Odgovora: 30 ]

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

MajorFatal
Milija Jakic
Valjevo

Član broj: 36595
Poruke: 81
212.62.51.*



Profil

icon Re: Kompresija random-like podataka 223.07.2006. u 11:26
(Upozorenje za one koji su odmah skrolovali na zadnji post u temi: premotaj tri posta unazad tu pocinje odgovor)
Citat:
yooyo: Evo primera... 1025. Binarno (nekompresovano) ovaj broj ce racunar smestiti u 16 bita iako moze da se zapise u 10 bita. Da vidimo tvoj nacin zapisa:
neka su:
brojevi 0..9 su zapisani na regularan nacin
+ .. 1100
- .. 1101
* .. 1110
/ .. 1111
^ .. 1011
1025 = 4^5 + 1 sto bi bilo zapisano na tvoj nacin:
4 -> 0100
^ -> 1011
5 -> 0101
+ -> 1100
1 -> 0001
sve u svemu... 20 bitova. Mozda te nisam dobro shvatio pa bi bilo lepo da ti zapises ovaj broj na najbolji i najkraci moguci nacin.

Dobro si me shvatio ali broj 1025 je jos uvek isuvise mali da bi zapisivanje faktorima bio racinalan nacin zapisivanja za njega. Probaj sa listingom broja 2^8000 sa prve strane rasprave "beskonacna kompresija..." (bkkr) gde je listing jednog decimalnog broja zauzeo celu jednu a4 stranu oko 2500 cifara. Ako svaka cifra zauzima po 4 bita to je 10000 bita na disku (na nacin na koji si ti odredio 16 bita za broj 1025), ako ga prevedes u binarni brojni sistem zauzece 8000 bita (na nacin na koji se 1025 m moze smestiti u 10 bita kod tebe) a faktor koji ga opisuje tj. iz kojeg se da izracunati tacna vrednost broja 2^8000 zauzima 48 bita iliti 6 Byta (po 1 Byte za svaku oznaku). I da imas gresku u racunu 1025 se ne moze smestiti u 10 bita vec najmanje u 11 (2^10 = 1024).
Citat:
yooyo: Broj 1025 je jednostavan jer ima samo dva upaljena bita (prvi i poslednji). Sa povecanjem broja upaljenih bitova izraz se komplikuje i trebace vise mesta da se zapise

Dva upaljena bita su prvi i jedanaesti. Povecajmo broj upaljenih bita na maksimum tako sto cemo ih upaliti sve da bi smo proverili da li se izraz zaista komplikuje i da li ce trebati vise mesta da se zapise. Rezultat: faktor 2^11 koji opisuje br. 2048 koji odgovara situaciji svih jedanaest bita upaljeni ;) A faktor 2^11 je kraci za zapisivanje od faktora 4^5 + 1. Ma znam sta si hteo da kazes komplikuju se ovi izmedju "optimalnih" pozicija koje se daju opisati samo jednim faktorom 2^n, 2^(n-1) itd ali kad udjemo u zonu malo vecih brojeva u pomoc nam priskace to sto cemo moci da koristimo i faktore sa osnovicom razlicitom od 2 (3,4,5...) te takodje sto cemo moci da stavimo i neki mnozilac ispred s tim u vezi mozda sam ilustrujuci kako Mf treba da izgleda (M faktorski) trebao umesto a^b + c^d - itd... trebao da napisem a*(b^c) + d*(e^f) - itd...
Citat:
yooyo: Lepota zapisa broja u nekom sistemu (binarni, decimalni, hexadecimalni, ...) je sto se unapred zna osnova sistema, a pozicija cifre i njena vrednost ucestvuju u jednostavnom izrazu (vrednost*osnova^pozicija + vrednost*osnova^pozicija + ...), tako da nema potrebe da se pisu matematicke operacije.

Lepota zapisa broja faktorima je sto se sa veoma kratkim za zapisivanje faktorima mogu predstaviti veoma velike brojcane vrednosti. Leta gospodnjeg MMVI.
Citat:
peka: Bez uvrede, ali sa ovakvim idejama neces daleko dogurati na tom polju.

Ne vredjam se, ali ni bez ovakvih ideja necu daleko dogurati na ovom ili nekom drugom polju tako da mi dodje na isto.
E sad analiza mesta dge sam pogresio. Znaci kompresija je bila u redu (sa podrazumevanom vrednoscu da ne treba praviti brojac) a prilikom opisa procesa dekompresije sam napisao sledece:
Citat: Dekompresija bi se vrsila na sledeci nacin: iz kompresovanog fajla bi procitali n I napravili brojac duzine n. Zatim bi procitali m, pustili brojac u rad I zaustavili kod m-tog fajla po redu. Stanje na brojacu u tom trenutku bi bio nas originalni fajl.
Samo po sebi nije netacno ali zaista imam brojac viska a sve sto je viska treba ukloniti. Znaci iz M faktorski (Mf) racuna se M decimalno (Md) a Md se prevodi u M binarno (Mb) bez pravljenja brojaca. Mb kada se "izracuna" reprezentuje originalni fajl u slucaju da mu se duzina poklapa sa N a ako je krace nadopunjuje se nulama na pocetku niza bita kojim je predstavljen do duzine N. Kad malo bolje razmislim mozda nisam slucajno prezentovao dekompresiju na ovaj nacin pravljenjem brojaca duzine N i pustanjem u rad istog ne moze se promasiti kad tad ce natrcati na originalni fajl jer su iste duzine i to originalni fajl "ceo u kompletu" a ovim postupkom Prevodjenjem iz Md u Mb dobija se samo deo fajla od pojave prve jedinice do kraja fajla tako da se mora nadopunjavati nulama, na onaj prvi nacin bilo je ociglednije da se originalni fajl da rekunstruisati na osnovu opskurnih informacija iz kompresovanog fajla.
Sledi potpuna redefinicija postupka kompresije i dekompresije fajlova iz razloga skracivanja postupka i uklanjanja dvosmislenosti koje su nastale pominjanjem i koriscenjem brojaca u postupcima kompresije i dekompresije:
Dakle celokupni binarni sadrzaj fajla se tretira kao jedan veliki binarni broj (Mb) te se veoma lako taj broj prevodi u broj u decimalnom brojnom sistemu (Md) koji se zatim faktorizuje na optimalan nacin te se dobija zapis Mf. Za sve fajlove za koje zapis Nd|Mf zauzima manje mesta nego originalni fajl (dge je Nd broj koji predstavlja duzinu originalnog fajla u bitima) dobija se kompresija, za ostale ekspanzija ili bez promene velicine. Dekompresija se vrsi tako sto se iz izraza Mf izracuna decimalna vrednost Md koja se zatim prevodi u broj u binarnom brojnom sistemu Mb koji se zatim u slucaju da je kraci od vrednosti koju oznacava Nd nadopunjuje na pocetku nulama do vrednosti koju oznacava Nd. Right?
Granicna duzina originalnog fajla ispod koje ne bi trebalo ni razmisljati o postojanju kompresije je na 56 bita. Naime vec na toj duzimi nekoliko fajlova se da kompresovati po ovom sistemu. Zapis 56|2^0 zauzima manje mesta (48 bita) nego originalni fajl koji sa da rekonstruisati iz njega. Izmedju 56|2^0 i 56|9^9 ima oko 50-tak slicnih fajlova. Jos uvek nisu neke ekstra random like strukture ali to je zato sto jos uvek sebi nismo priustili duzinu fajla koja bi nam omogucila stavljanje bilo kakvog mnozioca ispred faktora. Right?

23.07.2006. u 11:26 

dragancesu
subotica

Član broj: 38340
Poruke: 1436
*.eunet.yu.

Sajt: www.buvljak.rs


Profil

icon Re: Kompresija random-like podataka 224.07.2006. u 17:08
Koliko se pise o ovome mogao si da naucis programiranje i pokazes svetu kako to radi (i da li uopste radi)


Pomozite Micro$oftu u borbi protiv piraterije, poklonite prijatelju Linux
24.07.2006. u 17:08 

MajorFatal
Milija Jakic
Valjevo

Član broj: 36595
Poruke: 81
*.wayxcable.com.



Profil

icon Re: Kompresija random-like podataka 224.07.2006. u 18:48
Pa ucim, ucim al sporo ide sacuvaj boze.
24.07.2006. u 18:48 

tosa

Član broj: 1811
Poruke: 1272
*.ubisoft.com.cn.



Profil

icon Re: Kompresija random-like podataka 226.07.2006. u 06:26
Bolje ti je da uzmeš matematiku u šake, da jesi, ne bi ni postojala ova tema.

Soylent green: over 6 billion served!
26.07.2006. u 06:26 

MajorFatal
Milija Jakic
Valjevo

Član broj: 36595
Poruke: 81
*.041net.co.yu.



Profil

icon Re: Kompresija random-like podataka 226.07.2006. u 15:22
Moze biti nego meni matematika ide srednje zalosno da dzabe ne uzimam?
26.07.2006. u 15:22 

DarkMan
Darko Matesic

Član broj: 20445
Poruke: 528
..mtsns-ns.customer.sbb.co.yu.



Profil

icon Re: Kompresija random-like podataka 226.07.2006. u 18:22
Citat:
MajorFatal: Da bi postojala kompresija m bi moralo biti izrazeno (I zapisano) kao a^b +x tj. a^b + c^d – e^f + .. +x^y + z tj. zbirom koeficijenata (faktora) I drugih brojeva osim 2, na najoptimalniji (najkraci) nacin. Tacna vrednost tog izraza bi se izracunavala tek prilikom dekompresije.


Sama faktorizacija broja i njegova predstava u kompresovanom fajlu bi trebalo da predstavlja srž tvog algoritma a ne ovo što si ti dao. Tvoj ceo algoritam je nalaženje broja m a hoćeš da ti neko drugi smisli alogritam za faktorizaciju. Ako uporedimo kompleksnost ovog šti si ti dao je 1% konačnog algoritma.
26.07.2006. u 18:22 

NikolaVeber
NikolaVeber
neradnik na porodiljskom bolovanju
Karlsruhe

Član broj: 5115
Poruke: 1253
*.rz.uni-karlsruhe.de.

Jabber: nikolaveber@jabber.org
ICQ: 121532865


Profil

icon Re: Kompresija random-like podataka 226.07.2006. u 18:39
http://en.wikipedia.org/wiki/Integer_factorization


Pop Servis "Paradise Tours"
Java User Group Karlsruhe
IT Dan - Srbija

Officer, I saw the driver who hit me - his name was Johnny Walker.
26.07.2006. u 18:39 

MajorFatal
Milija Jakic
Valjevo

Član broj: 36595
Poruke: 81
*.b92.net.



Profil

icon Re: Kompresija random-like podataka 229.07.2006. u 11:28
Hvala za link. Ama nisam znao da je ova faktorizacija tako za***ana. Javicu se kad/ako isprocesiram pristigle informacije.
29.07.2006. u 11:28 

bkaradzic
Branimir Karadžić
EA/Pandemic
Los Angeles, CA

Član broj: 14953
Poruke: 1558
*.hsd1.ca.comcast.net.

Sajt: pandemicstudios.com/conqu..


Profil

icon Re: Kompresija random-like podataka 214.08.2006. u 04:40
Citat:
50'000€ Prize for Compressing Human Knowledge

If you can compress the first 100MB of Wikipedia better than your predecessors, you(r compressor) likely has to be smart(er). The intention of this prize is to encourage development of intelligent compressors/programs.

http://prize.hutter1.net/
14.08.2006. u 04:40 

thePOET
Danilo Vidovic
BGD

Član broj: 37493
Poruke: 40
*.dial.b92.net.

ICQ: 214994756
Sajt: thepoet.mojhost.org/blog


Profil

icon Re: Kompresija random-like podataka 213.09.2006. u 16:17
Hm...samo da kazem da ovo sto covek hoce nije faktorizacija.

Faktorizacija bi bilo nesto tipa:
120/2=60
60/2=30
30/2=15
15/3=5
5/5=1

120=2^3 * 3 * 5

a ovde se trazilo to isto sa sabiranjem, tipa:

11^2 + (-1)^1

toliko....





I woke up this morning and found myself dead.
13.09.2006. u 16:17 

MajorFatal
Milija Jakic
Valjevo

Član broj: 36595
Poruke: 81
212.62.51.*



Profil

icon Re: Kompresija random-like podataka 214.09.2006. u 20:18
Hvala. Jos kada bi bilo brze za izracunavanje... npr 16 meseci za broj od 200 cifara ;)
14.09.2006. u 20:18 

[es] :: Art of Programming :: Kompresija random-like podataka 2

Strane: 1 2

[ Pregleda: 4927 | Odgovora: 30 ]

Postavi temu Odgovori

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