vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
NEU! sevCoolbar 3.0 - Professionelle Toolbars im modernen Design!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2025
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

VB.NET - Ein- und Umsteiger
Fehler im Backprop-Code 
Autor: Sword
Datum: 18.05.08 00:29

hallo wiedermal^^

ich sitze jetzt schon 4 Tage an einem Code, der auf ne a6-Seite passt und schaff es einfach nicht, dass der das tut, was ich von ihm verlange, obwohl ich eigentlich meine, dass er so korrekt wäre^^

Erstmal meine Vorraussetzungen:
-->ich habe eine Liste mit Namen und denen zugeordneten Werten [leute as List(of String())]
-->Diese Leute sollen nun ihren Werten nach gleichmäßig auf 4 Gruppen verteilt werden. dazu habe ich eine liste [wert as List(of Integer)] erstellt, welche den verwendeten Index der leute-Liste angibt.

Ich dachte mir also:
Du gehst in einer Schleife x alle Elemente der 4 Gruppen durch. Gruppeneinteilung erfolgt später. vorerst reicht ein einfaches List(of) für alle Gruppen. Dann bestimmst du, falls vorhanden, den Wert des bereits an der aktuellen Stelle verwendeten Index und fängst die nächste Schleife y genau einen Index später an. Die Schleife y geht nun alle möglichen Namen durch und prüft, ob die Indices bereits in der Liste vorhanden sind [wert.contains(y)], addiert dann den Index zu der wert-Liste [wert.add(y)], üerprüft dann, ob innerhalb der aktuellen Gruppe die Summe aller namenswerten / 4 überstiegen wird [pruffer(x)] und beendet sich bei falsch. Andernfalls entfernt sie das Element wieder [wert.remove(y)] und überprüft, ob das Ende der y-Schleife erreicht wurde. Wenn ja, dann setzt Sie die x-Schleife um 2 zurück [ x-=2]

also sowas wie ein Backpropagination-System.

mein Code sieht wiefolgt aus:

Button1_Click:
        For x As Integer = 0 To leute.Count - 1
            Dim anf As Integer
            If wert.Count > x + 1 Then anf = wert(x + 1)
            For y As Integer = anf To leute.Count - 1
                If wert.Contains(y) Then Continue For
                wert.Add(y)
                If pruffer(x) = False Then Exit For
                wert.Remove(y)
                If y = leute.Count - 1 Then x -= 2
            Next
        Next
pruffer:
(durch ist die schon berechnete Summe aller namenswerte / 4)
 Public Function pruffer(ByVal Q As Integer) As Boolean
        Dim qu As Integer
        If Q <= leute.Count / 4 - 1 Then
            For x As Integer = 0 To leute.Count / 4 - 1
                If wert.Count > x Then qu += leute(wert(x))(1)
            Next
        ElseIf Q > leute.Count / 4 - 1 And Q <= leute.Count / 4 * 2 - 1 Then
            For x As Integer = leute.Count / 4 To leute.Count / 4 * 2 - 1
                If wert.Count > x Then qu += leute(wert(x))(1)
            Next
        ElseIf Q > leute.Count / 4 * 2 - 1 And Q <= leute.Count / 4 * 3 - 1 Then
            For x As Integer = leute.Count / 4 * 2 To leute.Count / 4 * 3 - 1
                If wert.Count > x Then qu += leute(wert(x))(1)
            Next
        Else
            For x As Integer = leute.Count / 4 * 3 To leute.Count / 4 * 4 - 1
                If wert.Count > x Then qu += leute(wert(x))(1)
            Next
        End If
        If qu > durch Then pruffer = True
    End Function
aktuell prüfe ich das mit einer Liste, deren Werte wiefolgt aussehen:
0,6,5,1,4,2,3,3,2,2,2,2
es ist also möglich, zu einer Lösung zu kommen.
Die mir zurückgegebene Liste der Stärken sieht jedoch wiefolgt aus:
0,6,1,5,2,4,3,3,2,2,2,2

wobei doch eigentlich die Gruppen
[0,6,1],[5,2,4],[3,3,2],[2,2,2]
jeweils 8 ergeben sollten^^

kann mir bitte ein guter Logiker, oder sonst jemand, der den Fehler sieht helfen?^^

__________________________________
irgendwas wird schon rauskommen^^

alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Fehler im Backprop-Code859Sword18.05.08 00:29
Re: Fehler im Backprop-Code573icetea12318.05.08 19:53
Re: Fehler im Backprop-Code670Sword18.05.08 20:03
Re: Fehler im Backprop-Code478icetea12318.05.08 20:43
Re: Fehler im Backprop-Code506Sword18.05.08 21:54

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2025 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel