Das Problem an dem Beispiel, das von MXT ursprünglich verlinkt hatte, ist einfach, dass es nicht ganz für Einsteiger ist. Steht in dem Text auf der Seite.
Dennoch ist so einfach, dass man damit zurechtkommen kann.
Um es mal mit dem Auto zu vergleichen, so sind in dem Beispielcode Einstellungen enthalten, welche die Motorsteuerung betreffen, dafür benötigt man etwas mehr Verständnis des Motors. Um das Auto zu fahren, brauchst Du aber nur ein paar Parameter verändern, Lenkung, Gas ...
Ich hatte das versucht etwas abzusetzen, um auf die wichtigen Werte aufmerksam zu machen, nämlich diese:
Code:
const int InputNodes = 2;
const int HiddenNodes = 2;
const int OutputNodes = 2;
const int PatternCount = 4; //zu trainierende Muster
const byte Input[PatternCount][InputNodes] =
{
{ 0, 0 },
{ 1, 0 },
{ 0, 1 },
{ 1, 1 }
};
const byte Target[PatternCount][OutputNodes] =
{
{ 1, 1 },
{ 0, 1 },
{ 1, 0 },
{ 1, 0 } };
Auf diese Werte bin ich beispielhaft eingegangen.
Und wie gesagt, wenn Du Werte zur Laufzeit ändern willst, die mit "const" bezeichnet sind, wird das nicht funktionieren, weil die eben so geschützt sind vor Änderung.
Dann muss das "const" weg.
MfG

- - - Aktualisiert - - -
Inka, ich verstehe was Du willst.
Ich weiß aber nicht, in wie weit Du bis jetzt etwas von der Materie verstanden hast.
Weil ich gerne helfen will, versuche ich das noch mal von vorne, immer bezogen auf das Beispiel, wie oben.
Ich hatte das schon mal am Anfang des Themas erklärt, aber ich mach das gerne noch mal. Ist kein Problem.
1. Logikgatter sind bekannt?
Ganz einfach ausgedrückt, hast Du hier ein Gatter, von dem Du die Eingänge und Ausgänge in der Anzahl und in der Logik selber bestimmen kannst.
Die Zahl der Eingänge und die Logik legst Du hier fest:
Code:
const byte Input[PatternCount][InputNodes] =
{
{ 0, 0 },
{ 1, 0 },
{ 0, 1 },
{ 1, 1 }
};
Die Zahl der Ausgänge und deren Logik legst Du hier fest:
Code:
const byte Target[PatternCount][OutputNodes] =
{
{ 1, 1 },
{ 0, 1 },
{ 1, 0 },
{ 1, 0 }
};
Im Code musst Du außerdem berücksichtigen:
Code:
int InputNodes = 2; //Die Zahl der Eingänge
int HiddenNodes = 2; //Die Zahl der verdeckten Neurone (Knoten)
int OutputNodes = 2; //Die Zahl der Ausgänge
int PatternCount = 4; //zu trainierende Eingangsmuster
Diese Werte: Zahl der Eingänge, Zahl der Ausgänge und die Zahl der Muster muss angegeben werden und mit den Daten in Input[PatternCount][InputNodes] und Target[PatternCount][OutputNodes] übereinstimmen.
Am Anfang bin ich beispielhaft auf die Änderung dieser Werte und Arrays eingegangen.
Damit dies Auto - jetzt ein Prototyp - für Dich einfach fahrbar wird, kann man eine Karosserie drum herum bauen, Knöpfe für Einstellungen zugänglich machen/lassen und andere verdecken (im Motorraum) und Türen als Zugang einbauen. Außerdem musst Du noch wissen, wo der Zündschlüssel rein gehört und Du bräuchtest einen. Zurzeit sind da, im übertragenen Sinn, überwiegend nur farbige Drähte.
MfG
Lesezeichen