AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Delphi Brainstorming: Datei mit definierter Entropie erzeugen

Brainstorming: Datei mit definierter Entropie erzeugen

Ein Thema von PeterPanino · begonnen am 30. Aug 2018 · letzter Beitrag vom 1. Sep 2018
Antwort Antwort
Seite 1 von 5  1 23     Letzte » 
PeterPanino

Registriert seit: 4. Sep 2004
1.266 Beiträge
 
Delphi 10.1 Berlin Enterprise
 
#1

Brainstorming: Datei mit definierter Entropie erzeugen

  Alt 30. Aug 2018, 15:33
Hallo und schönen Tag!

Das soll keine Frage um Hilfe oder eine Projektvorstellung werden, sondern eine dynamische Brainstorming Ideen-Sammlung, an der sich möglichst viele User beteiligen.

Ich weiß nicht, ob es so was schon gibt: Dateien für Testzwecke mit definierter Entropie erzeugen.

Wenn man den möglichen Umfang der Entropie einer Datei willkürlich mit dem Wert 100 definiert, dann hätte eine Datei, die nur aus identischen Zeichen besteht (z.B. "eeeeeeee") den Entropiewert 100. Und eine Datei, die nur aus unterschiedlichen Zeichen besteht (z.B. "abcdefgh") den Entropiewert 0.

Wie müsste dann aber eine Datei aussehen, die den Entropiewert 50 (oder 67) aufweist? Wie könnte man die Erzeugung einer Zeichenmenge mit definiertem Entropiewert algorithmisieren?

Lasset das Brainstorming beginnen!
  Mit Zitat antworten Zitat
Benutzerbild von KodeZwerg
KodeZwerg

Registriert seit: 1. Feb 2018
2.263 Beiträge
 
Delphi 2010 Professional
 
#2

AW: Brainstorming: Datei mit definierter Entropie erzeugen

  Alt 30. Aug 2018, 15:48
Dann zeige doch mal in Form von Code wie Du Entropy berechnest und nicht mit Worten erklären, so hat man eine Grundlage.
Gruß vom KodeZwerg
Wenn ein unerwarteter Fehler aufgetreten ist, frage ich mich immer, welche Fehler erwartet wurden...
  Mit Zitat antworten Zitat
PeterPanino

Registriert seit: 4. Sep 2004
1.266 Beiträge
 
Delphi 10.1 Berlin Enterprise
 
#3

AW: Brainstorming: Datei mit definierter Entropie erzeugen

  Alt 30. Aug 2018, 16:12
Für die konkrete Entropie-Messung einer Datei habe ich zwar Code, den ich aber aus Copyright-Gründen nicht weitergeben darf.

Aber hier sind einige Ansätze zu finden:

https://codereview.stackexchange.com...py-of-a-string

Aber es geht ja um die ERZEUGUNG und nicht um die Messung.

Geändert von PeterPanino (30. Aug 2018 um 16:28 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von stahli
stahli

Registriert seit: 26. Nov 2003
Ort: Halle/Saale
3.681 Beiträge
 
Delphi XE3 Ultimate
 
#4

AW: Brainstorming: Datei mit definierter Entropie erzeugen

  Alt 30. Aug 2018, 16:29
Ist die Ziel-Größe der Datei vorgegeben?
Welche Zeichen sind möglich?
Ist egal, welches Zeichen wie oft wiederholt wird?
Ist die Zielentropie exakt vorgegeben oder reicht eine Näherung?

Wenn die Ziel-Größe und Ziel-Entropie exakt erreicht werden muss, ist das sicherlich am schwierigsten zu erreichen.

Einfachster Ansatz:
- "a" hinzufügen
- wenn aktuelle Entropie < Ziel dann wieder "a"
- sonst nächstes freies Zeichen
- wenn ZielGröße und/oder ZielEntropie erreicht ist, abbrechen


Noch eine Frage zum Verständnis:
Wofür brauchst Du das?
Stahli
http://www.StahliSoft.de
---
"Jetzt muss ich seh´n, dass ich kein Denkfehler mach...!?" Dittsche (2004)
  Mit Zitat antworten Zitat
PeterPanino

Registriert seit: 4. Sep 2004
1.266 Beiträge
 
Delphi 10.1 Berlin Enterprise
 
#5

AW: Brainstorming: Datei mit definierter Entropie erzeugen

  Alt 30. Aug 2018, 16:45
Danke für deinen Beitrag. Das wäre sozusagen der "Brutalo"-Ansatz.

Wofür ich das brauche? Rein theoretisches Interesse. Aber im Hinterkopf geistert eine Idee herum, mal einen Generator für Testdateien zu schreiben.

Eine weitere Idee wäre die Möglichkeit Funksprüche aus dem All zu analysieren: Wenn mehrere Funksprüche den gleichen oder einen ähnlichen Entropiewert aufweisen, so könnte das ein Hinweis dafür sein, dass diese Funksprüche von außerirdischen Wesen stammen.

Eine weitere Möglichkeit könnte sich aus der VERMUTUNG ergeben, dass Textdateien verschiedener Sprachen unterschiedliche Entropie-Muster (also der Vergleich der Entropiewerte verschiedener Dateiteile oder Wörter oder Sätze) ergeben und man so auf die jeweilige Sprache schließen könnte.

Geändert von PeterPanino (30. Aug 2018 um 16:57 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
6.708 Beiträge
 
Delphi 10.3 Rio
 
#6

AW: Brainstorming: Datei mit definierter Entropie erzeugen

  Alt 30. Aug 2018, 17:06
Und eine Datei, die nur aus unterschiedlichen Zeichen besteht (z.B. "abcdefgh") den Entropiewert 0.
Wenn die Größe der Datei die Anzahl Zeichen überschreitet, kann demnach eine Entropie von 0 nicht mehr realisiert werden. Eventuell muss man die Entropie-Definition da noch etwas flexibler formulieren. Alternativ gibt die Zeichenmenge eben die maximale Dateigröße an.

Ist ja hier Brainstorming, also schreibe ich mal einfach drauflos:
- Gegeben sind N verschiedene Zustände und eine Menge von ebenfalls N dieser Zustände, die nicht zwingend unterschiedlich sein müssen.
- Die Entropie der Menge ist 0, wenn alle Zustände unterschiedlich sind und 1 (= 100%), wenn alle Zustände gleich sind.
- Daraus folgt, daß N > 1 sein muss.
- Die Anordnung der Zustände in der Menge ist irrelevant für die Berechnung der Entropie.
- Sei X die Anzahl der unterschiedlichen Elemente in der Menge, dann errechnet sich die Entropie aus E = (N-X)/(N-1).
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
PeterPanino

Registriert seit: 4. Sep 2004
1.266 Beiträge
 
Delphi 10.1 Berlin Enterprise
 
#7

AW: Brainstorming: Datei mit definierter Entropie erzeugen

  Alt 30. Aug 2018, 17:26
- Die Anordnung der Zustände in der Menge ist irrelevant für die Berechnung der Entropie.
Also müssten in einem Test verschiedene Anordnungen der selben Zeichen insgesamt den selben Entropiewert ergeben.
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
6.708 Beiträge
 
Delphi 10.3 Rio
 
#8

AW: Brainstorming: Datei mit definierter Entropie erzeugen

  Alt 30. Aug 2018, 17:51
Also müssten in einem Test verschiedene Anordnungen der selben Zeichen insgesamt den selben Entropiewert ergeben.
Nach meiner Definition der Entropie, ja. Ist aber halt nur ein Vorschlag, der noch diskutiert werden kann. Bei einem Zeichensatz von "abcdefgh" hätten z.B. "abbbbbb" und "aaaabbbb" dieselbe Entropie, obwohl im ersten Fall nur ein Zeichen von E = 1 entfernt ist, im zweiten aber vier.
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
PeterPanino

Registriert seit: 4. Sep 2004
1.266 Beiträge
 
Delphi 10.1 Berlin Enterprise
 
#9

AW: Brainstorming: Datei mit definierter Entropie erzeugen

  Alt 30. Aug 2018, 18:25
Ich habe jetzt die Entropiewerte von 2 Textdateien verglichen:

Textdatei 1:
Zitat:
Grüne
SPD
FDP
CSU
CDU
Textdatei 2:
Zitat:
CDU
CSU
FDP
SPD
Grüne
Beide ergaben den SELBEN Entropiewert: 3,49366068968819

Damit hat sich die Hypothese von Uwe als richtig erwiesen!
  Mit Zitat antworten Zitat
PeterPanino

Registriert seit: 4. Sep 2004
1.266 Beiträge
 
Delphi 10.1 Berlin Enterprise
 
#10

AW: Brainstorming: Datei mit definierter Entropie erzeugen

  Alt 30. Aug 2018, 18:48
Demgegenüber ergab diese Textdatei:

Zitat:
FDP
CSU
CDU
Violette
Blaue
... diesen Entropiewert: 3,88172767886974
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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:22 Uhr.
Powered by vBulletin® Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2019 by Daniel R. Wolf