
Einführung
Es gibt viele Veröffentlichungen über Habr, die das Konzept der Entropie diskutieren, hier nur einige davon [1 ÷ 5]. Die Publikationen wurden von den Lesern positiv aufgenommen und stießen auf großes Interesse. Es reicht aus, die vom Autor der Veröffentlichung [1] angegebene Definition der Entropie anzugeben: „Entropie gibt an, wie viele Informationen Sie nicht über das System wissen.“ Veröffentlichungen über das Chaos-Phänomen auf Habr sind ebenfalls ausreichend [6–9]. Das Verhältnis von Entropie und Chaos in beiden Publikationsgruppen wurde jedoch nicht berücksichtigt.
Dies liegt an der Tatsache, dass unterschiedliche Wissensbereiche unterschiedliche Arten von Chaosmaßstäben unterscheiden:
- informativ;
- thermodynamisch;
- Differential;
- kulturell.
Chaosmaßnahmen werden auch unter Berücksichtigung ihrer Spezifität beschrieben, selbst in einem dieser Bereiche ist dies recht schwierig.
Um die Aufgabe so weit wie möglich zu vereinfachen, habe ich mich entschlossen, die Beziehung zwischen Informationsentropie und Chaos am Beispiel der Ähnlichkeit der Übergangsbereiche von Ordnung zu Chaos in den Diagrammen in Form von Punktabbildungen und in den Diagrammen des Entropiekoeffizienten für diese Regionen zu betrachten.
Was dabei herausgekommen ist, erfahren Sie, wenn Sie unter die Katze schauen.
Die Mechanismen des Übergangs von Ordnung zu Chaos
Eine Analyse der Mechanismen des Übergangs von der Ordnung zum Chaos in realen Systemen und verschiedenen Modellen hat die Vielseitigkeit relativ weniger Szenarien des Übergangs zum Chaos gezeigt. Der Übergang zum Chaos kann in Form eines Bifurkationsdiagramms dargestellt werden (der Begriff „Bifurkation“ bezeichnet qualitative Umlagerungen des Systems mit der Entstehung einer neuen Art seines Verhaltens).
Der Eintritt des Systems in den unvorhersehbaren Modus wird durch eine Kaskade von Gabelungen beschrieben, die nacheinander folgen. Die Kaskade von Bifurkationen führt nacheinander zu einer Wahl zwischen zwei Lösungen, dann vier usw. Das System beginnt in einem chaotischen, turbulenten Modus zu schwingen, bei dem die Anzahl der möglichen Werte nacheinander verdoppelt wird.
Wir betrachten Verzweigungen der Periodenverdopplung und das Auftreten von Chaos in Punktzuordnungen. Die Anzeige ist eine Funktion, die die Abhängigkeit der folgenden Werte der Systemparameter von vorherigen Werten anzeigt:
Betrachten Sie auch die zweite häufig verwendete Funktion:
Mithilfe von Punktzuordnungen werden Objekte nicht
kontinuierlich, sondern zeitdiskret untersucht . Beim Übergang zur Anzeige kann sich die Dimension des untersuchten Systems verringern.
Beim Ändern des externen Parameters \ lambda zeigen Punktzuordnungen ein ziemlich kompliziertes Verhalten, das bei ausreichend großem \ lambda chaotisch wird. Chaos ist eine sehr schnelle Rezession von Flugbahnen im Phasenraum.
Bifurkation ist eine qualitative Umstrukturierung des Films. Die Werte des Steuerparameters, bei denen Bifurkationen auftreten, werden als kritische Werte oder Bifurkationswerte bezeichnet.
Um die Diagramme zu erstellen, verwenden wir die folgenden zwei Auflistungen:
Nr. 1. Für die Funktion:
Nr. 2. Für die Funktion
Bewertung der Auswirkungen der Art der logistischen Funktion auf kritische Werte
Betrachten Sie Diagramme mit einer Funktion
Hierfür verwenden wir Listing Nr. 1:
Für 0 <\ lambda <1 für
und x0 = 0,47 erhalten wir das Diagramm:

In diesem Fall hat die Karte einen einzelnen festen Punkt
das ist nachhaltig.
Bei
für
x0 = 0,7 wir erhalten das Diagramm:

Auf dem Segment [0, 1] erscheint ein weiterer fester Fixpunkt
Bei
für
und x0 = 0,01 erhalten wir das Diagramm:

Fixpunkt
verliert an Stabilität.
Bei
für
und x0 = 0,7 erhalten wir das Diagramm:

Das Mapping erfährt eine Bifurkation: Fixpunkt
wird instabil und stattdessen erscheint ein Doppelzyklus.
Bei
für
und x0 = 0,2 erhalten wir das Diagramm:

Beim Übergeben eines Parameters
durch Wert
Ein 2-facher Zyklus wird zu einem 4-fachen und darüber hinaus.
Zum Endwert
Das System hat instabile Zyklen aller möglichen Aufträge:

Bewertung der Auswirkungen der Art der logistischen Funktion auf kritische Werte
Betrachten Sie Diagramme mit einer Funktion
, hierfür verwenden wir Listing Nr. 2.
Bei
für
und x0 = 0,2:

Das Mapping hat einen einzelnen Fixpunkt
das ist nachhaltig.
Bei
für
und x0 = 0,55:

Punkt
verliert an Stabilität, erscheint ein neuer stabiler Punkt
Bei
für
und x0 = 0,2:

Wenn eine Bifurkation der Verdoppelung der Periode auftritt, erscheint ein zweifacher Zyklus. Weitere Erhöhung
führt zu einer Kaskade von Periodenverdopplungsgabelungen.
Bei
für
und x0 = 0,2:

Erhöhen
führte zu einer Kaskade von Periodenverdopplungen.
Bei
Das System hat instabile Zyklen aller möglichen Zeiträume:
Wie in den Diagrammen gezeigt, ist mit zunehmender Reihenfolge der logistischen Funktion der Bereich verjüngt sich.Mithilfe von Diagrammen haben wir den Pfad von der Reihenfolge zum Chaos verfolgt und dabei die Werte festgelegt
für verschiedene logistische Funktionen. Es bleibt die Frage zu beantworten: Wie kann man das Chaos messen? Die Antwort auf einige der am Anfang des Artikels aufgeführten Arten von Chaos ist bekannt
- Entropie ist ein Maß für Chaos. Diese Antwort kann vollständig auf das Informationschaos zurückgeführt werden. Welche Entropie wird hier angewendet und wie kann man sie mit dem bereits berücksichtigten numerischen Wert vergleichen?
- Ich werde versuchen, diese Frage im nächsten Teil des Artikels zu beantworten.
Informationsentropie und Entropiekoeffizient
Wir werden die binäre Informationsentropie für unabhängige zufällige Ereignisse betrachten.
c
mögliche Zustände mit Wahrscheinlichkeiten verteilt
. Die binäre Informationsentropie wird nach folgender Formel berechnet:
Dieser Wert wird auch als mittlere Entropie der Nachricht bezeichnet. Wert
private Entropie genannt, die nur den
i- ten Zustand charakterisiert. Im allgemeinen Fall kann die Basis des Logarithmus in der Definition der Entropie größer als 1 sein; seine Wahl bestimmt die Maßeinheit der Entropie.
Wir werden dezimale Logarithmen verwenden, bei denen Entropie und Information in Bits gemessen werden. Die Informationsmenge in Bits wird korrekt berechnet, wenn beispielsweise Variablen verwendet werden
und
wird in die entsprechenden Ausdrücke für Entropie eingesetzt, egal in welcher, aber immer in den gleichen Einheiten. In der Tat:
wo X und
muss in den gleichen Einheiten sein.
Eine Schätzung des Entropiewertes einer Zufallsvariablen aus experimentellen Daten ergibt sich aus einem Histogramm aus der folgenden Beziehung:
wo:
–Breite jeder Spalte des Histogramms;
- Anzahl der Spalten;
-Gesamte Datenmenge;
- Datenmenge in
diese Spalte.
Der Entropiekoeffizient wird aus dem Verhältnis bestimmt:
wo:
- Standardabweichung.
Informationsentropie als Maß für Chaos
Um die Phänomene des Informationschaos anhand des Entropiekoeffizienten zu analysieren, erstellen wir zunächst ein Verzweigungsdiagramm für die Funktion
mit der Anwendung von Übergangsbereichen, die bei der Erstellung von Histogrammen erhalten wurden:
Verzweigungsdiagramm import matplotlib.pyplot as plt import matplotlib.pyplot as plt from numpy import* N=1000 y=[] y.append(0.5) for r in arange(3.58,3.9,0.0001): for n in arange(1,N,1): y.append(round(r*y[n-1]*(1-y[n-1]),4)) y=y[N-250:N] x=[r ]*250 plt.plot( x,y, color='black', linestyle=' ', marker='.', markersize=1) plt.figure(1) plt.title(" 3,6<= $\lambda$ <=3,9") plt.xlabel("r") plt.ylabel("$\lambda$ ") plt.axvline(x=3.63,color='black',linestyle='--') plt.axvline(x=3.74,color='black',linestyle='--') plt.axvline(x=3.83,color='black',linestyle='--') plt.axvline(x=3.9,color='black',linestyle='--') plt.show()
Wir bekommen:

Wir zeichnen für den Entropiekoeffizienten für die gleichen Bereiche
::
Der Graph für den Entropiekoeffizienten import matplotlib.pyplot as plt from numpy import* data_k=[] m='auto' for p in arange(3.58,3.9,0.0001): q=[round(p,2)] M=zeros([1001,1]) for j in arange(0,1,1): M[0,j]=0.5 for j in arange(0,1,1): for i in arange(1,1001,1): M[i,j]=q[j]*M[i-1,j]*(1-M[i-1,j]) a=[] for i in arange(0,1001,1): a.append(M[i,0]) n=len(a) z=histogram(a, bins=m) if type(m) is str: m=len(z[0]) y=z[0] d=z[1][1]-z[1][0] h=0.5*d*n*10**(-sum([w*log10(w) for w in y if w!=0])/n) ke=round(h/std(a),3) data_k.append(ke) plt.title(" ke 3,6<= $\lambda$ <=3,9") plt.plot(arange(3.58,3.9,0.0001),data_k) plt.xlabel("$\lambda$ ") plt.ylabel("ke") plt.axvline(x=3.63,color='black',linestyle='--') plt.axvline(x=3.74,color='black',linestyle='--') plt.axvline(x=3.83,color='black',linestyle='--') plt.axvline(x=3.9,color='black',linestyle='--') plt.grid() plt.show()
Wir bekommen:

Beim Vergleich des Diagramms und des Diagramms sehen wir eine identische Anzeige der Bereiche im Diagramm und im Diagramm für den Entropiekoeffizienten für die Funktion
.
Zur weiteren Analyse der Phänomene des Informationschaos anhand des Entropiekoeffizienten erstellen wir ein Verzweigungsdiagramm für die logistische Funktion:
mit der Anwendung von Übergangsbereichen:
Verzweigungsdiagramm import matplotlib.pyplot as plt from numpy import* N=1000 y=[] y.append(0.5) for r in arange(2.25,2.56,0.0001): for n in arange(1,N,1): y.append(round(r*y[n-1]*(1-(y[n-1])**2),4)) y=y[N-250:N] x=[r ]*250 plt.plot( x,y, color='black', linestyle=' ', marker='.', markersize=1) plt.figure(1) plt.title(" 2.25<=$\lambda$ <=2.56") plt.xlabel("$\lambda$ ") plt.ylabel("y") plt.axvline(x=2.34,color='black',linestyle='--') plt.axvline(x=2.39,color='black',linestyle='--') plt.axvline(x=2.45,color='black',linestyle='--') plt.axvline(x=2.49,color='black',linestyle='--') plt.axvline(x=2.56,color='black',linestyle='--') plt.show()
Wir bekommen:

Wir zeichnen für den Entropiekoeffizienten für die gleichen Bereiche
::
Entropiekoeffizientendiagramm import matplotlib.pyplot as plt from numpy import* data_k=[] m='auto' for p in arange(2.25,2.56,0.0001): q=[round(p,2)] M=zeros([1001,1]) for j in arange(0,1,1): M[0,j]=0.5 for j in arange(0,1,1): for i in arange(1,1001,1): M[i,j]=q[j]*M[i-1,j]*(1-(M[i-1,j])**2) a=[] for i in arange(0,1001,1): a.append(M[i,0]) n=len(a) z=histogram(a, bins=m) if type(m) is str: m=len(z[0]) y=z[0] d=z[1][1]-z[1][0] h=0.5*d*n*10**(-sum([w*log10(w) for w in y if w!=0])/n) ke=round(h/std(a),3) data_k.append(ke) plt.figure(2) plt.title(" ke 2.25<= $\lambda$ <=2.56") plt.plot(arange(2.25,2.56,0.0001),data_k) plt.xlabel("$\lambda$ ") plt.ylabel("ke") plt.axvline(x=2.34,color='black',linestyle='--') plt.axvline(x=2.39,color='black',linestyle='--') plt.axvline(x=2.45,color='black',linestyle='--') plt.axvline(x=2.49,color='black',linestyle='--') plt.axvline(x=2.56,color='black',linestyle='--') plt.grid() plt.show()
Wir bekommen:

Beim Vergleich des Diagramms und des Diagramms sehen wir eine identische Anzeige der Bereiche im Diagramm und im Diagramm für den Entropiekoeffizienten für die Funktion
Schlussfolgerungen:
Das Bildungsproblem wird in dem Artikel gelöst: Ist die Informationsentropie ein Maß für das Chaos, und die Antwort auf diese Frage wird von Python bejaht.
Referenzen
- Entropie? Das ist einfach!
- Einführung in das Konzept der Entropie und ihre vielen Gesichter.
- Entropie- und Entscheidungsbäume.
- Eine Abhandlung über Entropie.
- Entropie und WinRAR.
- Mathematische Modelle des Chaos.
- Ein bisschen über Chaos und wie man es schafft.
- Ein kritischer Blick auf den Lorenz-Attraktor.
- FPGA-Chaosgeneratoren.