Eine Möglichkeit, über Entropie nachzudenken, besteht darin, "durchschnittliche Informationen zu gewinnen". Ich halte es daher für besser, auf die Modellierungsinformationen zurückzukommen. Ich kenne zwei grundlegende Ansätze zur mathematischen Modellierung von Informationen. (Verzeih mir, dass ich Wikipedia-Referenzen gebe, aber meiner Meinung nach sind sie nicht schlecht.)
Shannon-Informationen , die Symbolsätze, Wahrscheinlichkeitsverteilungen auf diesen, Codes, die Informationen zwischen Symbolsätzen übertragen können, und Längen dieser Codes untersuchen. Die allgemeinen Konzepte der Codeeffizienz, des Rauschens, der Fehlererkennung und -korrektur über Redundanz usw. sind im Sinne der Shannon-Informationstheorie zusammengefasst. Eine Möglichkeit, Informationen auszudrücken, besteht darin, zu sagen, dass es sich um die Länge des kürzesten Binärcodes handelt, der ein Symbol darstellen kann. Dies basiert auf der Wahrscheinlichkeit, bei der es sich um einen numerischen Wert handelt, der einem Symbol oder Ereignis von einem Beobachter zugewiesen wurde.
Solomonoff (oder Kolmogorov ) Informationen. Hier ist eine andere Erklärung. In dieser Formulierung wird der Informationsgehalt eines Symbols oder Ereignisses durch die Länge des kürzesten Programms dargestellt, das es berechnen könnte. Auch hier ist es relativ, nicht zu einem Beobachter, der die Wahrscheinlichkeit zuweist, sondern zu einer universellen Maschine, die das Programm ausführen kann. Da jede Universalmaschine von einer Universal-Turing-Maschine simuliert werden kann, bedeutet dies in gewisser Weise, dass der Informationsgehalt des Symbols oder Ereignisses nicht relativ, sondern absolut ist.
Wenn ich mir die Freiheit erlauben kann, zu sagen, was ich denke, bedeutet dies in alltäglichen Begriffen, über die ich ein Buch geschrieben habe , bedeutet dies einfach, dass die Komplexität eines Programms seine Länge ist, wenn Dinge wie die funktionale Spezifikation und Sprache angemessen konstant gehalten werden Zulagen für Dinge wie Kommentare und Namenslängen. Aber da gibt es ein Problem - das "APL-Tarpit", bei dem Prägnanz und Unverständlichkeit gleichkommen.
Es ist viel besser zu bedenken (wie ich es während des AI-Studiums getan habe), dass die Funktionsspezifikation des Programms aus einem mentalen Modell besteht, das nicht nur real, sondern auch effizient codiert ist, das heißt, mit einer ausreichend geringen Redundanz, die die eigene Meinung über die Anforderungen ändert kann durchgeführt werden, ohne die Gefahr zu groß zu machen, dass es intern inkonsistent wird - dh einen "Bug" aufweist. Dann ist der Programmierprozess ein Informationskanal, der das mentale Modell als Eingabe verwendet und dessen Ausgabe der funktionierende Quellcode ist. Wenn dann eine Änderung im mentalen Modell vorgenommen wird, muss dieses Delta durch den Programmierprozess geleitet und im Quellcode in ein entsprechendes Delta umgewandelt werden. Dieses Delta ist leicht zu messen. Unterscheiden Sie die Quelle zwischen vor dem Anwenden dieses Deltas und nach dem Anwenden (vollständig, mit allen ausgearbeiteten Fehlern). und zählen Sie die Anzahl der eingefügten, gelöschten und ersetzten Codeblöcke. Je kleiner das ist, desto besser repräsentiert die Quellcodesprache die Sprache, in der das mentale Modell dargestellt wird (in Bezug auf Substantive, Verben und Struktur). Wenn dieses Maß irgendwie über den Raum wahrscheinlicher funktionaler Änderungen gemittelt wird, ist dies ein Konzept der Entropie der Ausgangssprache, und weniger ist besser. Es gibt einen Begriff dafür -Domänenspezifische Sprache (DSL)
Es tut mir leid, wenn die Referenzen schwach / persönlich sind, aber ich halte diese allgemeine Frage für sehr wichtig.