Cam Hashemi 29.06.2020, 09:14 Uhr

Software-Entropie

Software-Entwickler Cam Hashemi bezieht den pysikalischen Begriff Entropie auf Software und stellt zwei Formeln auf, welche die Entropie eines Softwaresystems beschreiben.
(Quelle: https://camhashemi.com/)
Entropie ist ein Maß für das Chaos oder die Unordnung in einem System. Entwickler Cam Hashemi erinnert sich dabei an einen Vergleich seines Physikprofessor am College, welcher den Begriff Entropie anhand von zwei Schuhschränken beschrieben hat: "Stellen Sie sich einen sauberen Schuhschrank vor, in dem alle Schuhe paarweise nebeneinander stehen und nach Farben sortiert sind. Die Entropie des Schuhschranks ist die Gesamtzahl der Anordnungen, die die Schuhe haben können. Die Entropie eines sauberen Schuhschranks ist relativ gering. Möglicherweise gibt es ein paar Paare grauer oder blauer Schuhe, die ausgetauscht werden können - aber das macht die Sache nicht sonderlich kompliziert. In einem Schrank mit geringer Entropie ist es einfach, je nach Bedarf Schuhe hinzuzufügen oder aus dem Schrank zu entfernen. Nun stellen Sie sich einen unordentlichen Schuhschrank vor. Keiner der rechnten Schuhe steht neben seinem linken Pendant und sie sind alle in einem großen Haufen durcheinander. Wie viele Kombinationsmöglichkeiten gibt es für diese Schuhe? Sie können das schnell herausfinden, indem Sie versuchen, das gewünschte Paar herauszuziehen. Der unordentliche Schuhschrank hat eine viel grössere Entropie als der saubere Schuhschrank."
Kurz gesagt: Entropie wird gemessen, indem man die Anzahl der möglichen Zustände zählt, in denen sich ein System befinden kann. Mehr Zustände bedeuten mehr Entropie.
In der Software sind unsere Bausteine so einfach, dass wir die Entropie auf grobe Weise messen können, sagt Hashemi und führt dazu das folgende Modell als Beispiel an:
Transaktion(
  createdAt: Zeichenfolge,
  käuferId: Zeichenfolge,
  VerkäuferId: Zeichenfolge,
  Betrag: Int
)
Das Modell sieht zwar sehr einfach und übersichtlich aus, gleicht allerdings dennoch eher dem oben geschilderten unordentlichen Schuhschrank, denn es gibt viel mehr Möglichkeiten, dass dieses Modell falsch ist, als dass es richtig wäre.
In den Ausführungen in seinem Blogbeitrag kommt Hashemi auf folgende Formel:
cleanliness = number of valid possible states / number of total possible states

Das könnte Sie auch interessieren