Jump to content

vai kaadam ir vaidziigs 6bit binaarais kods skaitlim 65? ;)


diegs
 Share

Recommended Posts

Es tagad vairs iisti neatceros, kursh no visiem man prasiija skaitlja 65 seshbitu binaaro kodu? shobriid jau varu nodot atklaatiibaa sho 1 un 0 6bit kombinaaciju - bet tikai kombinaaciju, ar piebildi, ka tai NEatbilst neviens binaarais kods 64 simbolu skalaa. Resp., 64 dazhaadu simbolu 6bit kodi katrs ir absoluuti unikaals. Piemeeram, @ (dec. 64 jeb peec kaartas 65) simbola bin kods ir 01000000, kas "noiisinaats" kljuust par 010000, savukaart, naakamais simbols ir A ar bin kodu 01000001, kas, "noiisinaats", ir 010001 utt. Var redzeet (protams, ja zin visas detaljas, un es taas tieshaam arii zinu!), ka sisteema ir max optimizeeta liidz smiekliigumam vienkaarsha. Paldies bubu un citiem par visaadaam interesantaam idejaam, kas man deva iespeeju manu algoritmu veel vairaak vienkaarshot, taadeelj ceru, ka jau nedeeljas beigaas vareeshu uztaisiit sheit pamatiiku kipishu, ka JEBKURU failu VAR saspiest (optimizeet) liidz 6 bitiem + piemeeram, 24 biti... taatad liidz 4 baitiem (tas ir tikasi piemeers, jo man shkjiet, ka optimaali buutu 6 biti + 1 kilobits). :D:D:D Un kas pats galvenais - shaadi saspiestu failu ar noteikt darbiibu seciibu un noteiktu skaitu iteraaciju VAR dabuut atpakalj.

 

Seezhu un programmeju, jo uz papiira viss straadaa.

 

Vislielaakais paldies Vilx- par idejaam! Muusdienaas idejas pamatiigi maksaa...

Labots - diegs
Link to comment
Share on other sites

Guest ADEX

Nevis skaitļa 65 bināro kodu es prasīju, bet gam sešdesmit piecu dažādu skaitļu bināros kodus, saspiestus ar šo algoritmu.

Link to comment
Share on other sites

Armand,varētu atkārtot :mrgreen: man kā reiz belomors ir atvilknē

Link to comment
Share on other sites

piemeera, 24 biti... taatad liidz 4 baitiem

Tas ir kā jāsaprot? 24 bitus saspiedīsi uz 4 baitiem? Respektīvi 24 bitus uz 32 saspiedīsi? -33% kompersiju dabūsi.. Dati paliek lielāki. Šim gan tev ticu - tas ir pavisam reāli.

 

Tad es saprotu, ka tu joprojām ar mani negribi derēt (uz jebko pēc tavas izvēles), ka tu nevari un nevarēsi saspiest 8->6 bitus?

Labots - bubu
Link to comment
Share on other sites

Dieg, tu taču esi konkrēts lol's ne?

 

Tu vari muldēt un muldēt, bet tev vienkārši nepielec elementāra matemātika, kuru uz pirkstiem var gandrīz jebkuram paskaidrot.

Link to comment
Share on other sites

aaaaa, skaidrs. tad nu, luuk, lieliem burtiem un skaljaak saku, ka NEESMU APGALVOJIS, KA MAN IR 256 DAZHAADI SIMBOLI KATRS AR ATSHKJIRIIGU BINAARO KODU, TOMEER SISTEEMA IZVEIDOTA TAA, KA TAA STRAADAA.

 

es tieshaam ne par vienu nenjirgaajos un nezobojos. taapat, es nevienu neuzskatu par stulbu vai kaukaadu tumsoni. esmu triis gadus nostraadaajis pie sava algoritma... un man, goda vaards, nenaak ne praataa tagad aakstiities.

Link to comment
Share on other sites

Guest ADEX

jo man shkjiet, ka optimaali buutu 6 biti + 1 kilobits

Un to Tu sauc par kompresiju? :shock:

Link to comment
Share on other sites

saku, ka NEESMU APGALVOJIS, KA MAN IR 256 DAZHAADI SIMBOLI KATRS AR ATSHKJIRIIGU BINAARO KODU,

Bet vai tu esi apgalvojis, ka, ja tev iedotu patvaļīgus 8 bitus, tad tu mums iedotu atpakļ 6 bitus, no kuriem viennozīmīgi var dabūt atpakaļ tos sākotnējos 8 bitus? Vairākkārt šito tu teici - vismaz, kad tev prasīja, tad teici, ka jā - tā tu varot. Tā ir, vai nav? Un ja nav - tad ko īsti tu tur esi izveidojis?

Labots - bubu
Link to comment
Share on other sites

Dieg, tu taču esi konkrēts lol's ne?

 

Atvainojos par spamu, bet kaut kā ciest nevaru, ka cilvēki ar saīsinājumiem saprot ko citu, ko patiesībā tie nozīmē.

www.google.lv
define:lol
enter

Link to comment
Share on other sites

Tas ir kā jāsaprot? 24 bitus saspiedīsi uz 4 baitiem? Respektīvi 24 bitus uz 32 saspiedīsi? -33% kompersiju dabūsi.. Dati paliek lielāki. Šim gan tev ticu - tas ir pavisam reāli.

 

Tad es saprotu, ka tu joprojām ar mani negribi derēt (uz jebko pēc tavas izvēles), ka tu nevari un nevarēsi saspiest 8->6 bitus?

 

Eh, vells! Shito es nemaz nebiju ieveerojis. Jaaaaaaaaaaaaaaaaaa, nevaru apgalvot, ka varu saspiest JEBKO, jo peec mana algoritma faili mazaaki par 1 kilobitu (piemeeram) nav spiezhami. Jaa, nebiju pamaniijis sho pretrunu jo ar mazaakiem failiem par paaris kilobaitiem neesmu veel darbojies.

 

Saproti, bubu, failu VAR saspiest liidz 6bit, bet lai to dabuutu korekti atpakalj ir jaabuut atveeleetai vietai, kas satur info, kaa shis fails tiek dabuuts valjaa - vairaak par par dazhiem miljardiem darbiibu (preciizaak, darbiibu skaitu) tur nebuus jaaglabaa, man shkjiet.

Link to comment
Share on other sites

Guest ADEX

Manuprāt - diegs ir izveidojis kaut kādu algoritmu, ka noīsina katram baitam 2 bitus un informāciju par šiem noīsinātajiem bitiem ieraksta citā failā. Kamēr viņš eksperimentē uz papīra ar 3, 4, ... 10 baitiem, viss izskatās skaisti - papildfails ir maziņš, un viņam kļūdaini šķiet, ka arī kompresējot vairākus megabaitus, šis papildfails neizaugs lielāks par vienu kilobitu. Man vismaz tā izskatās.

Link to comment
Share on other sites

Ak, redzkā. Tu 1024 tātad vari saspiest uz 1024*75% = 768 bitiem? Lai arī tas viens kilobits ir pamatīgi vairāk nekā 8 biti un ar acīmredzamu pretrunu (uzrakstot konkrēti visus skaitļus) tev to nevarēšu pierādīt, taču esmu 100% pārliecināts, ka es spēju atrast divus dažādas 1024 bitu virknītes, no kurām tavs algoritms iegūtu vienus un tos pašus 768 bitus. Tu taču saproti, kāpēc tā nedrīkstētu notikt, vai ne?

 

Jeb tu joprojām paliec pie sava, un apgalvo, ka nevarēs dabūt, ka tavs algoritms jebkuriem diviem dažādiem X un Y (1024 bitu garumā) dos divus dažādus Z un W (768 bitu garus)? Būs tavs softs pieejams, tad es tev nodemonstrēšu, ka tev ar dažādiem X un Y var iegūt vienu un to pašu Z. Respektīvi - nav zināms par ko Z ir jāatkompresē - par X vai par Y.

Labots - bubu
Link to comment
Share on other sites

MarcisB

hehe, nee - es ljoti labi zinu, kas ir Kbits un kas ir Kbaits. ja neko gudraaku par teemu nav iespeejams pateikt, tad labaak vajag pakluseet.

 

ADEX

manupraat ;) tu pamatiigi kljuudies, jo man nekaads PAPILDFAILS vai liidziigas fignjas NE-TIEK veidotas. taas nav nemaz vajadziigas!

Labots - diegs
Link to comment
Share on other sites

jo peec mana algoritma faili mazaaki par 1 kilobitu (piemeeram) nav spiezhami. Jaa, nebiju pamaniijis sho pretrunu jo ar mazaakiem failiem par paaris kilobaitiem neesmu veel darbojies.

Neliecina par to ka zini...

Link to comment
Share on other sites

Ak, redzkā. Tu 1024 tātad vari saspiest uz 1024*75% = 768 bitiem? Lai arī tas viens kilobits ir pamatīgi vairāk nekā 8 biti un ar acīmredzamu pretrunu (uzrakstot konkrēti visus skaitļus) tev to nevarēšu pierādīt, taču esmu 100% pārliecināts, ka es spēju atrast divus dažādas 1024 bitu virknītes, no kurām tavs algoritms iegūtu vienus un tos pašus 768 bitus. Tu taču saproti, kāpēc tā nedrīkstētu notikt, vai ne?

 

Jeb tu joprojām paliec pie sava, un apgalvo, ka nevarēs dabūt, ka tavs algoritms jebkuriem diviem dažādiem X un Y (1024 bitu garumā) dos divus dažādus Z un W (768 bitu garus)? Būs tavs softs pieejams, tad es tev nodemonstrēšu, ka tev ar dažādiem X un Y var iegūt vienu un to pašu Z. Respektīvi - nav zināms par ko Z ir jāatkompresē - par X vai par Y.

 

Lasi, luudzu, uzmaniigaak! Es teicu, ka VARU JEBKURU FAILU SASPIEST LIIDZ 6 BITIEM. BET - papildus 1Kb ir nepiecieshams, kur ierakstiit iteraaciju skaitu, ar kaadu shie 6bit ir dabuunami atpakalj "origjinaalizskataa". :p

 

Neliecina par to ka zini...

 

nu un ko tu piepisies? aizej un nodragaa meenesi, ja tev spiezh! :p :P :p

 

ES NEPAARTEICOS!!! Runa IR par VIENU KILOBITU!

Labots - diegs
Link to comment
Share on other sites

 

Lasi, luudzu, uzmaniigaak! Es teicu, ka VARU JEBKURU FAILU SAPIST LIIDZ 6 BITIEM. BET - papildus 1Kb ir nepiecieshams, kur ierakstiit iteraaciju skaitu, ar kaadu shie 6bit ir dabuunami atpakalj "origjinaalizskataa". :p

 

 

lūk tas jau ir tuvāk īstenībai..

Link to comment
Share on other sites

Tātad - es tev iedodu 2048 bitus, un tu man atpakaļ sakompresētus 1024+6 = 1030 bitus. (un otrādi - sakompresēti 1030 => atkompresēti 2048). Tagad pareizi sapratu?

Labots - bubu
Link to comment
Share on other sites

Tātad - es tev iedodu 2048 bitus, un tu man atpakaļ sakompresētus 1024+6 = 1030 bitus. (un otrādi - sakompresēti 1030 => atkompresēti 2048). Tagad pareizi sapratu?

 

piemeera peec - jaa, mans algoritms to var izdariit.

Link to comment
Share on other sites

Tādā gadījumā es joprojām palieku pie sava - ka es spēšu atrast divas dažādas 2048 bitu virknītes X un Y, kuras tavs algoritms sakompresēs uz vienu un to pašu 1030 bitu virknīti (Z). Un rezultātā, ja tev tiktu iedoti šie 1030 biti - tu nezinātu, kurš no oriģinālajiem X un Y bija tikts kompresēts uz Z (informācija ir pazudusi - lossy algoritms). Tātad - gaidu softu, lai atspēkotu tavu algoritmu (pretī tev došu konkrētus X, Y un Z, ja jau matemātisku pierādījumu tu nepieņem...) Vai arī gaidu tava algoritma pierādījumu, lai es (un pārējā pasaule) smagi aplauztos.

Labots - bubu
Link to comment
Share on other sites

Guest ADEX

bet lai to dabuutu korekti atpakalj ir jaabuut atveeleetai vietai, kas satur info, kaa shis fails tiek dabuuts valjaa

Un kas tad ir šitas, ja ne papildfails?

Link to comment
Share on other sites

No entropijas neizbēgsi, grozies kā gribi. Šodien dzirdēju labu salīdzinājumu - tas ir kā ieliet pusotru litru piena puslitra glāzītē. :D

 

Enīvei, tagad jau es esmu pavisam apmulsis par to, ko Tavs algoritms īsti dara. Varbūt vari lēnām un uzmanīgi vēlreiz izstāstīt, kā priekš pilnīga cirvja, kas no IT neko nejēdz? Citādi, mētājoties ar smalkiem terminiem, neko saprast nevar. :p

Link to comment
Share on other sites

Un kas tad ir šitas, ja ne papildfails?
Viņš droši vien domā, ka to visu var ielikt vienā failā. Lietas būtību jau tas nemaina. Cik noprotu, tagad Tavs algoritms galā ģenerē 2 lietas - kompresētos datus, un papildinfu par dekompresēšanu. Mānīgā vieta šeit ir tāda, ka, lai algoritms korekti strādātu, papildinfas daudzumam ir jābūt mainīgam. Un, ļaunākajā gadījumā, šī papildinfa būs gana liela, lai sasniegtu oriģinālo datu daudzumu.

 

Starp citu - vēl viena ideja - Tu esi domājis par to, kas tavam alogritmam ir ļaunākais gadījums? T.i. kādi ir tie dati, pie kuriem izvadā ir vislielākais dautu daudzums? Un cik liels šis datu daudzums ir?

Link to comment
Share on other sites

mani 2i centi jautrajaa threadaa

 

teorijaa jau ir iespeejams njemt PI(vai kaadu citu virkni kas neatkaartojaas un ir bezgaliiga?) pie dziesmas un samekleet tajaa virknee vietu kura atbilst vajadziigajam failam un kompresiju realizeet kaa saglabaatu offsetu virknee. attieciigi fails sakompreseetaa veidaa aiznjemtu djika maz - tikai infa par virkni un offsetu tajaa. teorijaa vajadzeetu pat straadaat. praktiski protams kopreseeshana/atkompreseeshana prasiitu maniakaali daudz resursus/laika. maybe te kaukaada taada fignja tiek izmantota (papildus infa ar operaaciju pierakstu) jo citaadi tas neliimeejaas logjiski kopaa.

Link to comment
Share on other sites

Guest ADEX

Diegs, pamēģini sazipot kādu failu ar max kompresiju, un tad iebaro arhīvu savam algoritmam. Un paskaties, kas sanāks. ;-)

Link to comment
Share on other sites

vdl - Problēma ir tāda, ka šis offsets var būt ahūni liels. Tik liels, ka tā pierakstīšanai var vajadzēt skaitli, kurš ir lielāks nekā paši kompresējamie dati. Plus, tā uzmeklēšana arī būtu ellīga.

 

Jā, par ļaunākajiem gadījumiem runājot (bērni - vienmēr, VIENMĒR notestējiet savas programmas uz visiem ļaunākajiem gadījumiem, ko varat izdomāt!): Parasti visiem algoritmiem rodas problēmas atkārtoti saspiest to, ko viņi nupat jau ir saspieduši. Paskaties, kas notiek, ja Tu tā mēģini izdarīt.

Link to comment
Share on other sites

kompresiju realizeet kaa saglabaatu offsetu virknee.

Vai tik, lai saglabāto to offsetu nevajadzēs tipkat vai daudz ticamāk, ka daudz vairāk bitus nekā oriģinālajā failā :)

 

Parasti visiem algoritmiem rodas problēmas atkārtoti saspiest to, ko viņi nupat jau ir saspieduši. Paskaties, kas notiek, ja Tu tā mēģini izdarīt.

Un arī spiežot randomā ģenerētus skaitļus (baitus) - tādi pēc būtības lielākā vai mazākā mērā jau ir saspiesti dati: xvid/mp3/jpeg/zip.

Labots - bubu
Link to comment
Share on other sites

Raksts #17, pēdējā autora rindkopa jau daudz par ko liecina ...

 

principā, es piekrītu tolx (raksts #18)

Labots - Birdy
Link to comment
Share on other sites

vdl - Problēma ir tāda, ka šis offsets var būt ahūni liels. Tik liels, ka tā pierakstīšanai var vajadzēt skaitli, kurš ir lielāks nekā paši kompresējamie dati. Plus, tā uzmeklēšana arī būtu ellīga.

nu kompresijas/dekompresijas resursu prasiigumu es jau mineeju

a pierakstiit skaitli var dazhaados veidos kas neaiznjem tik daudz vietas

piem. 10^294123+4^324+43 (btw arii sava veida kompresija :D)

Link to comment
Share on other sites

vdl, rezultātā Tu tāpat esi nonācis pie tā, kur šobrīd ir visas bezzudumu kompresijas metodes - atrast lieko/atkārtojošos informāciju, un to izmest. Ja arī šis skaitlis (offsets) būs pamatīgi ķēpīgs, kā tad Tu to optimizēsi? Piemēram, skaitlis, kurš izveidojas ņemot kopā viena MP3 faila visus bitus?

Link to comment
Share on other sites

:D :D :D /me biki iereec. tas ir stulbi, protams, bet, t.s., papildfails ir tikai cipars, kursh atspoguljo darbiibu skaitu, ar kaadu fails ir optimizeets, un sho ciparu ieraksta tajos nolaadeetajos papildbitos.

 

jaa, starp citu, kaadu max skaitli tad var ierakstiit 1024 bitos? :shock:

Link to comment
Share on other sites

Moš to offsetu vajag meklēt vēlreiz skaitlī PI, pēc tam atkal un atkal, tā kādas desmit reizes. Pēc tam vēl pāris reizītes pameklēt skaitlī E, un tad jau būs sakompresējies līdz dažiem decimālajiem cipariem :)

Link to comment
Share on other sites

diegs - Afigenna lielu. Paklau - vai Tu gadījumā nedomā izmantot to manu "superkompresijas" metodi, ko es Tev ieteicu? Ja tā, tad arī ar 32 bitiem papildinformācijas pietiks, lai Tu saspiestu visu Googles datubāzi līdz vienam bitam. :p

Labots - Vilx-
Link to comment
Share on other sites

jaa, starp citu, kaadu max skaitli tad var ierakstiit 1024 bitos? :shock:

2^1024 ?

jociigi sagaidiit taadu jautaajumu no cilveeka kas izgudrojis revolucionaaru kompresijas algoritmu

 

vilx

nu taga tu man prasi lietas kuras atrisinot es buutu tas kursh prezenteetu uuber kompresoru nevis diegs

Labots - vdl
Link to comment
Share on other sites

Guest ADEX

t.s., papildfails ir tikai cipars, kursh atspoguljo darbiibu skaitu, ar kaadu fails ir optimizeets, un sho ciparu ieraksta tajos nolaadeetajos papildbitos.

Šie nolādētie papildbiti būs vajadzīgi katram baitam. Vai arī to būs tik daudz, ka nekāda kompresija neizdosies.

 

Ja Tev izdodas šādi saspiest dažus baitus, tas vēl neļauj apgalvot, ka tā būs vienmēr. Tie ir tikai speciālgadījumi, kad šāda kompresija ir iespējama.

Link to comment
Share on other sites

Nu johaidī - es jau no paša sākuma teicu - ko jūs te piesipaties tiem kilobaitiem. Uzstādījums bija - var sapiest JEBKURU failu. Lūdzu, saspied man 265 dažādas virknes, katru par 25%, lai beigās neviena no jaunajām virknēm nebūtu vienāda ar kādu no esošajām:

 

00000000 0x00

00000001 0x01

00000010 0x02

...

00111110 0x3E

00111111 0x3F

01000000 0x40

...

11111101 0xFD

11111110 0xFE

11111111 0xFF

Link to comment
Share on other sites

Izveido kontu, vai pieraksties esošajā, lai komentētu

Jums ir jābūt šī foruma biedram, lai varētu komentēt tēmas

Izveidot jaunu kontu

Piereģistrējies un izveido jaunu kontu, tas būs viegli!

Reģistrēt jaunu kontu

Pierakstīties

Jums jau ir konts? Pierakstieties tajā šeit!

Pierakstīties tagad!
 Share

×
×
  • Izveidot jaunu...