AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Mage Zahlen!?!

Ein Thema von Tabak · begonnen am 10. Aug 2004 · letzter Beitrag vom 16. Aug 2004
Antwort Antwort
Seite 3 von 3     123   
Benutzerbild von atreju2oo0
atreju2oo0

Registriert seit: 5. Dez 2003
Ort: Berlin
289 Beiträge
 
Delphi 6 Enterprise
 
#21

Re: Mage Zahlen!?!

  Alt 16. Aug 2004, 09:49
Die Idee die du verfolgst hat leider bereits im Ansatz einen Haken.
Um eine große Zahl darzustellen willst Du eine Funktionsdarstellung finden,
die schneller ansteigt als die normale Darstellung der binären Zahlen.
Das Problem ist das Potzenzfunktionen jedoch die schnellste Steigung hat und diese
hängt vom Exponenten ab. Im Normalfall ist das zwei und braucht somit lediglich 1 Bit.
Wenn Du jetzt einen beliebigen Exponenten wählst zum Beispiel 17 taucht folgendes Problem auf:
Um alle Stellen darstellen zu können brauchst Du 17 Zustände => in diesem Fall 5 Bit. Damit nutzt
Du denn Platz denn Du für den schnelleren Anstieg nutzt für die größeren Zustandsbeschreibungen.

Ein weiterer Beweis wäre, dass nach deiner Idee eine Datei als Funktion komprimierbar wäre. Jedoch müsste dann
auch die Komprimierte Funktion wieder komprimierbart sein und so weiter...
Damit lässt sich dann also theoretisch jede Datei beliebig verkleinern. Das ist nach der Infomationstheorie jedoch nicht möglich!

Falls Du wissen willst woher ich das weiß?:
Ich habe vor nem halben Jahr den selben Ansatz verfolgt und bin dabei drauf gestoßen.
Hatte sogar mit Partialbruchzerlegung gearbeitet und andere Mischformen durchgespielt... KEIN ERFOLG

Aber UNMÖGLICH ist auch nur eine MEINUNG...
Thomas
  Mit Zitat antworten Zitat
Tabak

Registriert seit: 10. Jul 2004
10 Beiträge
 
#22

Re: Mage Zahlen!?!

  Alt 16. Aug 2004, 11:07
Danke für deine ausführliche Informationen! Aber die selber Meinung vertrett ich trotzdem nicht. 87^15 (4 Stellen) = 123819426824732821912024192743 (30 Stellen) und je größer die Zahl desto mehr spart man ein - in % gesehen.

Das Problem mit dem Speicher von so großen Zahlen, tja hm viel RAM kaufen oder so, ist ja bis jetzt alles nur theoretisch. Das Größere Problem ist die passende Funktion zu finden... - wass passt schon auf 255000255 -
- Ich glaub, dass daran alles scheitert.

Und noch kurz zur Informationsregel. Die kenn ich zwar nicht aber wie will man 17 kleiner machen? 13+4, 15+2, 7+8, 1*17.... brauch alles mehr Platz!

mfg
  Mit Zitat antworten Zitat
Benutzerbild von Nikolas
Nikolas

Registriert seit: 28. Jul 2003
1.528 Beiträge
 
Delphi 2005 Personal
 
#23

Re: Mage Zahlen!?!

  Alt 16. Aug 2004, 11:25
Ich würde sagen, dass die kleinste mögliche Komprimierung, die mit einem einfachen Algorhytmus errechnet werden kann, die Primfaktorzerlegung ist. Bei Primzahlen siehts da genz schlecht aus, aber da könntest insgesamt noch ein paar Byte anhängen um dadurch eine besser zerlegbare Zahl zu bekommen.
Erwarte das Beste und bereite dich auf das Schlimmste vor.
  Mit Zitat antworten Zitat
Benutzerbild von atreju2oo0
atreju2oo0

Registriert seit: 5. Dez 2003
Ort: Berlin
289 Beiträge
 
Delphi 6 Enterprise
 
#24

Re: Mage Zahlen!?!

  Alt 16. Aug 2004, 16:54
Mein Ansatz war:

geg.: Sei A1 eine natürliche Zahl (stellvertretend für die komplette Datei)
ges.: Bestimme ein B1 mit (b1-A1<<A1) und (B1 element der Potenzfunktionen)

daraus folgt dann ein A2 das wesentlich kleiner als A1 ist und auf das wider der Algo
angewandt werden kann!

Meine Probleme waren
a) Wie bestimme und berechne ich B1 so, dass es möglichst nahe an A1 liegt?
b) Wie speichere ich den erhaltenen Wert am effektivsten(Record hab ich genommen=> is aber Speicherverbrauch)?

P.S:
Primfaktorzerlegung bringt meiner Meinung nach nichts, da Potenzen wesentlich schneller gegen unendlich streben als Faktoren...
Thomas
  Mit Zitat antworten Zitat
Tabak

Registriert seit: 10. Jul 2004
10 Beiträge
 
#25

Re: Mage Zahlen!?!

  Alt 16. Aug 2004, 21:03
So, jetzt sind wir der gleichen Meinung! Genau da hängt der Fisch am Hacken! Und so wies bis jetzt aussieht ist es uns wohl nicht vergönnt ein Haufen Geld zu machen... Trotzdem nochmals Danke für eure Hilfe!
  Mit Zitat antworten Zitat
Benutzerbild von Nikolas
Nikolas

Registriert seit: 28. Jul 2003
1.528 Beiträge
 
Delphi 2005 Personal
 
#26

Re: Mage Zahlen!?!

  Alt 16. Aug 2004, 21:38
Zitat:
P.S:
Primfaktorzerlegung bringt meiner Meinung nach nichts, da Potenzen wesentlich schneller gegen unendlich streben als Faktoren...
Haste eigentlich auch recht. Bis jetzt ist die Faktorisierung noch ein Problem zu dem es keinen (schnellen) Algo gibt. Also für größere Zahlen nicht so toll geeignet.
Gibts denn was schön schnelles für Wurzeln???
Erwarte das Beste und bereite dich auf das Schlimmste vor.
  Mit Zitat antworten Zitat
Benutzerbild von atreju2oo0
atreju2oo0

Registriert seit: 5. Dez 2003
Ort: Berlin
289 Beiträge
 
Delphi 6 Enterprise
 
#27

Re: Mage Zahlen!?!

  Alt 16. Aug 2004, 22:01
Meiner Meinung nach müsste man das mit Tabellen lösen.
Ich hatte versucht Tabellen zu erstellen die Potenzen mit möglichst gleichbleibenden
Abständen enthalten. Aus diesen sollte es dann möglich sein per Abschätzverfahren
die geeignetste Potenz zu berechnen.
Dazu habe ich übrigens nicht die gesamte Datei als Zahl behandelt sondern mir feste Byte-Blöcke
vorgegeben und diese dann einzeln behandelt(16 Byte hatte ich gewählt)!
Eventuell ist es mit größeren Blöcken einfacher geeignete Potenzen zu finden, aber ich bin halt leider
gescheitert...

Aber vom Prinzip her würde ich das Konzept schon noch gerne weiterführen. Ein bisschen probieren gehört halt mit dazu...

Thomas
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 3 von 3     123   


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:23 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz