stasichase.ki
Class Markov
java.lang.Object
|
+--java.lang.Thread
|
+--stasichase.ki.Markov
- public class Markov
- extends Thread
Alle Matrizen werden in dieser Klasse gespeichert.
Die Initialisierung erfolgt in KITools sobald dieser die (kodierte)
Adjazenzmatrix vom Matrix bekommen hat. Ein Marov-Objekt wird dann
erzeugt damit der Initialisierungsthread gestartet werden kann.
- Author:
- KI-gruppe
Field Summary |
static int |
anzStationen
Dimension der Matrizen. |
static int[][] |
kodierteMatrix
Kodierte Adjazenzmatrix die vom Spielplan gegeben wird. |
static int[][] |
matrixTBU
Adjazenzmatrix des TBU-Graphs (Taxi-Bus-UBahn). |
static float[][][] |
TBU
Markovsmatrizen des TBU-Graphs. |
Fields inherited from class java.lang.Thread |
contextClassLoader,
daemon,
eetop,
group,
inheritedAccessControlContext,
MAX_PRIORITY,
MIN_PRIORITY,
name,
NORM_PRIORITY,
priority,
single_step,
stillborn,
stopThreadPermission,
target,
threadInitNumber,
threadQ,
values |
Constructor Summary |
Markov(int[][] kodierteMatrix)
Bei der Erzeugung des (einzigen) Markovobjekt in KITools wird die kodierte
Adjazenzmatrix übergeben. |
Method Summary |
private static float[][] |
adjToMarkov(int[][] matrix)
Berechnet aus der Adjazenzmatrix die Übergangsmatrix des Graphs
(bei gleichmäßige Kantengewichtung). |
private void |
decodeMatrix()
Hier soll die kodierte Matrix entschlüsselt werden. |
static float[][] |
matrixMult(float[][] matrix1,
float[][] matrix2)
Matrizenmultiplikation. |
static float[] |
matrixVektorMult(float[][] matrix,
float[] vektor)
Multiplikation Matrix mal Vektor. |
void |
run()
Initialisierung und Berechnung der Matrizen sollen nebenläufig erfolgen. |
Methods inherited from class java.lang.Thread |
,
activeCount,
checkAccess,
countStackFrames,
currentThread,
destroy,
dumpStack,
enumerate,
exit,
getContextClassLoader,
getName,
getPriority,
getThreadGroup,
init,
interrupt,
interrupt0,
interrupted,
isAlive,
isDaemon,
isInterrupted,
isInterrupted,
join,
join,
join,
nextThreadNum,
registerNatives,
resume,
resume0,
setContextClassLoader,
setDaemon,
setName,
setPriority,
setPriority0,
sleep,
sleep,
start,
stop,
stop,
stop0,
suspend,
suspend0,
toString,
yield |
kodierteMatrix
public static int[][] kodierteMatrix
- Kodierte Adjazenzmatrix die vom Spielplan gegeben wird.
anzStationen
public static int anzStationen
- Dimension der Matrizen.
matrixTBU
public static int[][] matrixTBU
- Adjazenzmatrix des TBU-Graphs (Taxi-Bus-UBahn).
TBU
public static float[][][] TBU
- Markovsmatrizen des TBU-Graphs. Der Eintrag TBU[z][i][j] gibt die
Wahrscheinlichkeit an, daß man vom Knoten j zum Knoten i in z Zügen übergeht.
Die Matrix TBU[1] ist die Übergangsmatrix des Graphen.
Die Matrix TBU[k] ist die k-te Potenz der Matrix TBU[1].
(Der Eintrag TBU[0] wird nicht berücksichtigt.)
Markov
public Markov(int[][] kodierteMatrix)
- Bei der Erzeugung des (einzigen) Markovobjekt in KITools wird die kodierte
Adjazenzmatrix übergeben. Anschließend wird mit markov.start() die
Initialisierung gestartet und diese erfolgt nebenläufig.
- Parameters:
kodierteMatrix
- Adjazenzmatrix mit der Kodierung des Spielplans
run
public void run()
- Initialisierung und Berechnung der Matrizen sollen nebenläufig erfolgen.
- Overrides:
- run in class Thread
decodeMatrix
private void decodeMatrix()
- Hier soll die kodierte Matrix entschlüsselt werden.
Bisher nur die TBU-Matrix.
adjToMarkov
private static float[][] adjToMarkov(int[][] matrix)
- Berechnet aus der Adjazenzmatrix die Übergangsmatrix des Graphs
(bei gleichmäßige Kantengewichtung).
- Parameters:
matrix
- Adjazenzmatrix des Graphs.- Returns:
- Übergangsmatrix des Graphs.
matrixMult
public static float[][] matrixMult(float[][] matrix1,
float[][] matrix2)
- Matrizenmultiplikation. (Dimensionen müssen passen!)
- Parameters:
matrix1
- Matrix der Dimension nxmmatrix2
- Matrix der Dimension mxp- Returns:
- Produkt matrix1 * matrix2 (Dimension: nxp)
matrixVektorMult
public static float[] matrixVektorMult(float[][] matrix,
float[] vektor)
- Multiplikation Matrix mal Vektor. (Dimensionen müssen passen!)
- Parameters:
matrix
- Matrix als nxm-Arrayvektor
- Vektor als Array der Länge m- Returns:
- Vektor als Array der Länge n