Die Implementierung erfolgte in der Programmiersprache Python (http://www.python.org), da diese Sprache leicht lesbar ist und mächtige Datentypen (zB assoziative Arrays) zur Verfügung stellt.
ppers-markov.py [p [pn [n]]]
Tabelle 1. Aufrufparameter
p | Persistence-Wert |
pn | Wahrscheinlichkeit, dass eine Station während eines Slots einen Sendebedarf bekommt |
n | Anzahl der Iterationen |
Das Programm gibt die Wahrscheinlichkeit aus, dass die betrachtete Station nach n Schritten erfolgreich gesendet hat. Diese Wahrscheinlichkeit wird für die Fälle ausgegeben, dass zu Beginn nur die betrachtete Station senden will, eine weitere Station ebenfalls senden will oder zwei weitere Stationen auch senden wollen. Es werden also die Wahrscheinlichkeiten der Übergänge von "1", "2" oder "3" zum Endzustand ausgegeben.
Assoziatives Array, das die Zustandsnamen auf ihren jeweiligen Index in der Matrix abbildet. Dadurch können im Programm anstatt wenig aussagekräftiger Indizes aussagekräftigere Strings verwendet werden.
Multipliziert die Matrix x mit der Matrix y und gibt das Ergebnis zurück. Beide Matrizen müssen gleich groß und quadratisch sein.
Setzt den Wahrscheinlichkeitswert p für den Übergang von src nach dst in der Matrix matrix.
Diese Funktion wertet zuerst die Kommandozeilenparameter aus und startet nach Initialisierung aller notwendiger Variablen und der Matrix mit den Übergangswahrscheinlichkeiten die Berechnung.