poate cineva sa verifice daca functioneaza?
Last Updated: Oct 14 2016 11:07, Started by
vyctoras1985
, Oct 07 2016 12:09
·
0
#1
Posted 07 October 2016 - 12:09
ok am mai intrebat pe forum pe cineva treaba asta si mi-a spus ca nu se pricepe chiar asa bine.
as vrea cineva sa testeze daca merge si sa spuna de ce nu ar merge. ideea ar fi de un fel anume de compresie mai bun decat orice pana acum. sa zicem ca avem asa. dam la tot codul ASCII , fiecarui simbol si caracter un numar format din 3 cifre. luam apoi un joc. fiecarui caracter si simbol din jocul ala ii dam numarul ce ii corespunde din ce am zis mai sus. apoi luam un numar care ridicat la o putere sa ne dea ca rezultat un numar lung ale carui fiecare 3 cifre sa corespunda cu cifrele pe care le-am zis mai sus. in momentul dezarhivarii tot ce ar fi de facut este sa fie calculat numarul ridicat la putere iar rezultatul sa fie convertit pe calculator in biti . dezarhivarea se va face exact in ordinea in care incepe codul sursa al jocului. in felul asta este oare posibil sa faci compresia unui joc de 3 GB sa zicem in doar cativa biti? daca nu merge care este explicatia? de asemenea sa nu uit...in codul ascii inclusiv tasta space va primi un numar pentru a se realiza corect refacerea codului. evident atat numarul cat si puterea la care vor fi ridicate vor fi destul de mari dar nu cred ca ar putea lua mai mult de cativa zeci de biti. de asemenea calculatorul nu va fi nevoit sa calculeze tot numarul odata ...ci pur si simplu pe masura ce dezarhiveaza jocul va lua fiecare bit in parte. |
#2
Posted 07 October 2016 - 12:35
In viata reala este imposibil ce visezi tu !
Poate in calculul cuantic e posibil sa poti compresa 1 TB de informatie complexa intr-un singur bit. In viata reala 3 GB de informatie complexa de-abia pot fi redusi la cateva sute de MB aproape de 1 GB in compresie (700-900 MB), nu cativa zeci de MB ori cativa biti cum zici mai sus. |
#3
Posted 07 October 2016 - 12:40
teoretic se poate.
practic sunt niste probleme: -e posibil ca numarul "total" sa fie prim, sau produs de numere prime; in cazul asta nu vei avea compresie deloc (sau vei avea foarte putina) -daca ai o cantitate semnificativa de date, aflarea numarului minune si a puterii sale e posibil sa fie foarte complicata (nu cred ca-ti va conveni sa dureze 3-4 ani "compresia") sau chiar imposibila (daca discutam de 3Gb atunci e posibil sa discutam si de zeci sau sute de ani) -dezarhivarea ar dura destul de mult si ar necesita resurse destul de mari pe langa problemele astea trebuie sa te gandesti si la ce avantaje ar aduce un astfel de algoritm de compresie, in conditiile in care spatiul de stocare este din ce in ce mai mult si mai ieftin, iar transferul datelor e din ce in ce mai rapid. |
#4
Posted 07 October 2016 - 12:51
Nu merge pentru ca marea majoritate a numerelor nu sint puteri ale altor numere.
|
#5
Posted 07 October 2016 - 12:57
#6
Posted 07 October 2016 - 13:17
s-a cam renuntat la diskete!!!... deci compresia nu prea mai e necesara... spatiul de stocare nu mai e de mult o problema! ai intarziat ce vreo 15 ani...
te plictisesti... asa-i? Edited by Nero-d, 07 October 2016 - 13:19. |
#8
Posted 07 October 2016 - 14:44
#9
Posted 07 October 2016 - 15:33
_Smiley_, on 07 octombrie 2016 - 12:40, said:
teoretic se poate. practic sunt niste probleme: -e posibil ca numarul "total" sa fie prim, sau produs de numere prime; in cazul asta nu vei avea compresie deloc (sau vei avea foarte putina) -daca ai o cantitate semnificativa de date, aflarea numarului minune si a puterii sale e posibil sa fie foarte complicata (nu cred ca-ti va conveni sa dureze 3-4 ani "compresia") sau chiar imposibila (daca discutam de 3Gb atunci e posibil sa discutam si de zeci sau sute de ani) -dezarhivarea ar dura destul de mult si ar necesita resurse destul de mari pe langa problemele astea trebuie sa te gandesti si la ce avantaje ar aduce un astfel de algoritm de compresie, in conditiile in care spatiul de stocare este din ce in ce mai mult si mai ieftin, iar transferul datelor e din ce in ce mai rapid. 2 compresia nu se va face de catre calculatoare personale (pc-uri).....ci de catre niste supercomputere.... de asemenea odata cu cresterea vitezei de procesare s-ar putea sa fie intr-o zi posibil. la dezarhivare ai dreptate desi eu stiu ca un joc poate ajunge la milioane de linii deci milioane si milioane de biti...cum reuseste un calculator obisnuit sa le scrie pe pc? oare aceasta arhivare si dezarhivare nu e acelasi lucru oarecum cu simpla copiere a unui joc pe un pc referindu-ne exact la numarul de biti? f300, on 07 octombrie 2016 - 12:51, said:
Nu merge pentru ca marea majoritate a numerelor nu sint puteri ale altor numere. si cine spune ca ne putem folosi numai de 3 cifre? putem folosi formule mai complicate spre exemplu orice 100 urmat de un alt 100 inseamna doua cifre diferite |
#10
Posted 07 October 2016 - 15:35
|
#11
Posted 07 October 2016 - 15:42
_Smiley_, on 07 octombrie 2016 - 12:40, said: pe langa problemele astea trebuie sa te gandesti si la ce avantaje ar aduce un astfel de algoritm de compresie, in conditiile in care spatiul de stocare este din ce in ce mai mult si mai ieftin, iar transferul datelor e din ce in ce mai rapid. de asemenea gandeste-te ca metoda asta este foarte eficienta si acum in cazul navigarii pe web pe conexiuni lente unde compresia si decompresia nu necesita un timp asa de mare de realizat. ...spre exemplu o pagina web de cativa zeci de MB poate fi adusa la cativa biti ... f300, on 07 octombrie 2016 - 15:35, said: Sugerez celui care a scris bot-ul asta sa se mai abtina, era amuzant pe la inceput dar acum incepe sa fie obositor. realizezi ca pentru un cod sursa de la doua jocuri diferite se poate folosi acelasi numar final? in cazul in care se dau alte cifre pentru codul ascii? |
#12
Posted 07 October 2016 - 15:46
Nu vad cum ideea asta scoate o rata de compresie superioara unui algoritm LZ. Treaba cu puterile nu o inteleg nici eu. De unde iei atatea numere de 3 cifre care sa fie puteri ale altor cifre? Plus ca nu neaparat numarul de cifre te intereseaza pe tine ci mai mult tipul de date, pana la urma tot ce faci e conversia de la varchar la integer. Practic tot ce incerci sa faci e un catalog pentru caractere schimband tipul datelor la ceva care ocupa mai putin spatiu . O simpla conversie la hexa ar scoate un rezultat mai bun. Si nu uita ca vorbesti de programe compilate aici, treaba cu ASCII nu se mai aplica, daca s-ar aplica arhivele ar fi minuscule oricum, ASCII se arhiveaza foarte puternic in momentul asta.
|
#13
Posted 07 October 2016 - 15:51
compilarea s-ar putea face si in timp real cum uneori se intampla in prigramare
|
#14
Posted 07 October 2016 - 16:17
Asta ar insemna sa ai acces la surse lucru putin probabil si in plus ar necesita timpi enormi la compilare care se vor adauga timpilor de arhivare si ar ridica un numar de noi probleme: cine garanteaza integritatea unui program compilat de utilizator? Ai mereu la indemana un compilator identic cu cel original (versiuni diferite ale aceluiasi compilator pot intoarce rezultate diferite)?
|
#15
Posted 07 October 2016 - 16:21
vyctoras1985, on 07 octombrie 2016 - 15:33, said:
tocmai de aia se poate alege orice cifra de 3 numere pentru codul ASCII si folosite la dezarhivarea oricarui joc .... vyctoras1985, on 07 octombrie 2016 - 15:42, said:
realizezi ca pentru un cod sursa de la doua jocuri diferite se poate folosi acelasi numar final? in cazul in care se dau alte cifre pentru codul ascii? |
|
#16
Posted 07 October 2016 - 16:22
gigiipse, on 07 octombrie 2016 - 16:17, said:
Asta ar insemna sa ai acces la surse lucru putin probabil si in plus ar necesita timpi enormi la compilare care se vor adauga timpilor de arhivare si ar ridica un numar de noi probleme: cine garanteaza integritatea unui program compilat de utilizator? Ai mereu la indemana un compilator identic cu cel original (versiuni diferite ale aceluiasi compilator pot intoarce rezultate diferite)? accesul la codul sursa e nimic daca ar exista si cateva elemente de protectie ..... cu timpii respectivi ...nu stiu.... eu stiu cel mult ca un joc de 5 GB e instalat in cateva minute de un computer modern si asta inseamna scrierea pe hdd a fiecarui bit din arhiva ...calculeaza tu cat inseamna 5GB in biti si spune-mi ca un calculator modern nu poate face calculul la un numar extrem de mare .... |
#17
Posted 07 October 2016 - 16:25
Problema e ca numarul programelor/numerelor/sirurilor care pot sa fie astfel exprimate este practic ZERO.
Incearca sa gasesti ce putere este: 439710293745091237542170912 (nota poti folosi "factor" pe wolframalfa). Sau butoneaza orice numar la intimplare sa-mi spui daca nimeresti vreo putere. |
#18
Posted 07 October 2016 - 16:25
Anunturi
Bun venit pe Forumul Softpedia!
▶ 0 user(s) are reading this topic
0 members, 0 guests, 0 anonymous users