fork download
  1. import numpy as np
  2. from itertools import product # To generate all binary combinations
  3.  
  4. # Initialisierung der Schwellenwerte
  5. lower_threshold = 0.8
  6. upper_threshold = 1.2
  7.  
  8. # Lernrate
  9. learning_rate = 0.1
  10.  
  11. # Trainingsdaten (Inputs für das XOR-Problem und andere)
  12. inputs = [[0, 0], [0, 1], [1, 0], [1, 1]]
  13.  
  14. # Alle möglichen Zieltabellen (16 Kombinationen)
  15. all_possible_targets = list(product([0, 1], repeat=4))
  16.  
  17. # Trainingsloop für jede mögliche Zieltabelle
  18. for table_index, targets in enumerate(all_possible_targets, start=1):
  19. print(f"\n=== Wahrheitstabelle {table_index}: Targets = {targets} ===")
  20.  
  21. # Initialisieren der Startwerte
  22. max_iterations = 500 # Maximal 500 Iterationen für jedes Bias
  23. epoch = 0
  24. network_trained = False
  25. start_weights = None
  26. final_weights = None
  27. bias = 0.0 # Initial Bias ist 0.0
  28. bias_increment = 0.1 # Bias-Inkrement
  29. max_bias = 0.9 # Maximaler Bias (0.9)
  30. min_bias = -0.9 # Minimaler Bias (-0.9)
  31. reset_count = 0 # Counter to track the number of weight resets
  32.  
  33. # Erste Trainingsrunde mit Bias und Gewichten im Bereich [0, 2] und Bias 0.0
  34. while epoch < max_iterations and reset_count < 5:
  35. epoch += 1
  36. all_correct = True # Flag, um zu überprüfen, ob alle Ausgaben korrekt sind
  37. current_weights = np.random.uniform(0, 2, 2) # Zufällige Startgewichte im Bereich [0, 2]
  38.  
  39. if epoch == 1: # Die erste Iteration nach Initialisierung
  40. start_weights = current_weights # Speichere die Startgewichte
  41.  
  42. for input_vector, target in zip(inputs, targets):
  43. # Berechnung der gewichteten Summe inkl. Bias
  44. weighted_sum = np.dot(input_vector, current_weights) + bias
  45.  
  46. # Aktivierungsfunktion (Schwellenwertfunktion mit zwei Schwellenwerten)
  47. output = 1 if lower_threshold < weighted_sum < upper_threshold else 0
  48.  
  49. # Fehlerberechnung
  50. error = target - output
  51.  
  52. # Wenn ein Fehler vorliegt, dann weise die Gewichte an
  53. if error != 0:
  54. all_correct = False
  55. current_weights += learning_rate * error * np.array(input_vector)
  56.  
  57. # Überprüfe, ob alle Ausgaben korrekt sind
  58. if all_correct:
  59. network_trained = True
  60. final_weights = current_weights # Speichere die finalen Gewichte
  61. break # Stoppe, wenn alle Ausgaben korrekt sind
  62.  
  63. if not network_trained:
  64. print(f"Epoch {epoch} konnte die Tabelle nicht korrekt lernen.")
  65. print(f"Versuche, die Gewichte nach {epoch} Iterationen zurückzusetzen.")
  66. reset_count += 1 # Zähle die Versuche
  67. print(f"Anzahl der Versuche: {reset_count}")
  68.  
  69. if reset_count < 5:
  70. continue # Versuche erneut mit neuen zufälligen Gewichten
  71.  
  72. if network_trained:
  73. print(f"Das Netzwerk hat Wahrheitstabelle {table_index} erfolgreich nach {epoch} Iterationen gelernt.")
  74. print(f"Startgewichte: {start_weights}")
  75. print(f"Endgewichte: {final_weights}")
  76. print(f"Endgültiger Bias: {bias}")
  77. continue # Zum nächsten Wahrheitstabelle
  78.  
  79. # Wenn das Netzwerk nach 500 Iterationen nicht gelernt hat, füge den Bias hinzu
  80. print(f"Das Netzwerk hat Wahrheitstabelle {table_index} nach {epoch} Iterationen nicht korrekt gelernt.")
  81. print("Erhöhe den Bias und versuche es erneut.")
  82.  
  83. # Bias erhöhen in Schritten bis max_bias und dann bis min_bias
  84. for bias in np.arange(0.1, max_bias + bias_increment, bias_increment): # Bias von 0.1 bis 0.9
  85. print(f"Versuch mit Bias {bias}:")
  86. epoch = 0
  87. start_weights = np.random.uniform(0, 2, 2) # Zufällige Startgewichte im Bereich [0, 2]
  88. network_trained = False # Netzwerk muss erneut trainiert werden
  89.  
  90. while epoch < max_iterations:
  91. epoch += 1
  92. all_correct = True
  93. current_weights = np.random.uniform(0, 2, 2) # Zufällige Startgewichte im Bereich [0, 2]
  94.  
  95. for input_vector, target in zip(inputs, targets):
  96. # Berechnung der gewichteten Summe inkl. Bias
  97. weighted_sum = np.dot(input_vector, current_weights) + bias
  98.  
  99. # Aktivierungsfunktion (Schwellenwertfunktion mit zwei Schwellenwerten)
  100. output = 1 if lower_threshold < weighted_sum < upper_threshold else 0
  101.  
  102. # Fehlerberechnung
  103. error = target - output
  104.  
  105. # Wenn ein Fehler vorliegt, dann weise die Gewichte an
  106. if error != 0:
  107. all_correct = False
  108. current_weights += learning_rate * error * np.array(input_vector)
  109.  
  110. # Überprüfe, ob alle Ausgaben korrekt sind
  111. if all_correct:
  112. network_trained = True
  113. final_weights = current_weights # Speichere die finalen Gewichte
  114. break # Stoppe, wenn alle Ausgaben korrekt sind
  115.  
  116. if network_trained:
  117. break # Das Netzwerk hat jetzt gelernt
  118.  
  119. # Bias verringern und erneut testen, wenn das Netzwerk nicht erfolgreich war
  120. if not network_trained:
  121. print("Erhöhe den Bias bis zum maximalen Wert und versuche es dann mit abnehmendem Bias.")
  122. for bias in np.arange(max_bias, min_bias - bias_increment, -bias_increment): # Bias von 0.9 bis -0.9
  123. print(f"Versuch mit Bias {bias}:")
  124. epoch = 0
  125. start_weights = np.random.uniform(0, 2, 2) # Zufällige Startgewichte im Bereich [0, 2]
  126. network_trained = False # Netzwerk muss erneut trainiert werden
  127.  
  128. while epoch < max_iterations:
  129. epoch += 1
  130. all_correct = True
  131. current_weights = np.random.uniform(0, 2, 2) # Zufällige Startgewichte im Bereich [0, 2]
  132.  
  133. for input_vector, target in zip(inputs, targets):
  134. # Berechnung der gewichteten Summe inkl. Bias
  135. weighted_sum = np.dot(input_vector, current_weights) + bias
  136.  
  137. # Aktivierungsfunktion (Schwellenwertfunktion mit zwei Schwellenwerten)
  138. output = 1 if lower_threshold < weighted_sum < upper_threshold else 0
  139.  
  140. # Fehlerberechnung
  141. error = target - output
  142.  
  143. # Wenn ein Fehler vorliegt, dann weise die Gewichte an
  144. if error != 0:
  145. all_correct = False
  146. current_weights += learning_rate * error * np.array(input_vector)
  147.  
  148. # Überprüfe, ob alle Ausgaben korrekt sind
  149. if all_correct:
  150. network_trained = True
  151. final_weights = current_weights # Speichere die finalen Gewichte
  152. break # Stoppe, wenn alle Ausgaben korrekt sind
  153.  
  154. if network_trained:
  155. break # Das Netzwerk hat jetzt gelernt
  156.  
  157. # Ausgabe der Ergebnisse nach der Anpassung des Bias
  158. print(f"Total Iterationen: {epoch}")
  159. print(f"Startgewichte: {start_weights}")
  160. print(f"Endgewichte: {final_weights}")
  161. print(f"Endgültiger Bias: {bias}")
  162.  
  163. # Prüfen, ob das Netzwerk die Tabelle erfolgreich gelernt hat
  164. if network_trained:
  165. print(f"\nDas Netzwerk hat Wahrheitstabelle {table_index} erfolgreich gelernt!")
  166. print(f"Startgewichte: {start_weights}")
  167. print(f"Endgewichte: {final_weights}")
  168. print(f"Endgültiger Bias: {bias}")
  169.  
Success #stdin #stdout 3.69s 29024KB
stdin
Standard input is empty
stdout
=== Wahrheitstabelle 1: Targets = (0, 0, 0, 0) ===
Epoch 1 konnte die Tabelle nicht korrekt lernen.
Versuche, die Gewichte nach 1 Iterationen zurückzusetzen.
Anzahl der Versuche: 1
Das Netzwerk hat Wahrheitstabelle 1 erfolgreich nach 2 Iterationen gelernt.
Startgewichte: [0.5822333  0.89920982]
Endgewichte: [1.60154936 0.31248117]
Endgültiger Bias: 0.0

=== Wahrheitstabelle 2: Targets = (0, 0, 0, 1) ===
Epoch 1 konnte die Tabelle nicht korrekt lernen.
Versuche, die Gewichte nach 1 Iterationen zurückzusetzen.
Anzahl der Versuche: 1
Epoch 2 konnte die Tabelle nicht korrekt lernen.
Versuche, die Gewichte nach 2 Iterationen zurückzusetzen.
Anzahl der Versuche: 2
Epoch 3 konnte die Tabelle nicht korrekt lernen.
Versuche, die Gewichte nach 3 Iterationen zurückzusetzen.
Anzahl der Versuche: 3
Epoch 4 konnte die Tabelle nicht korrekt lernen.
Versuche, die Gewichte nach 4 Iterationen zurückzusetzen.
Anzahl der Versuche: 4
Epoch 5 konnte die Tabelle nicht korrekt lernen.
Versuche, die Gewichte nach 5 Iterationen zurückzusetzen.
Anzahl der Versuche: 5
Das Netzwerk hat Wahrheitstabelle 2 nach 5 Iterationen nicht korrekt gelernt.
Erhöhe den Bias und versuche es erneut.
Versuch mit Bias 0.1:
Total Iterationen: 15
Startgewichte: [0.10608053 1.6018409 ]
Endgewichte: [0.38870778 0.40321745]
Endgültiger Bias: 0.1

Das Netzwerk hat Wahrheitstabelle 2 erfolgreich gelernt!
Startgewichte: [0.10608053 1.6018409 ]
Endgewichte: [0.38870778 0.40321745]
Endgültiger Bias: 0.1

=== Wahrheitstabelle 3: Targets = (0, 0, 1, 0) ===
Epoch 1 konnte die Tabelle nicht korrekt lernen.
Versuche, die Gewichte nach 1 Iterationen zurückzusetzen.
Anzahl der Versuche: 1
Epoch 2 konnte die Tabelle nicht korrekt lernen.
Versuche, die Gewichte nach 2 Iterationen zurückzusetzen.
Anzahl der Versuche: 2
Das Netzwerk hat Wahrheitstabelle 3 erfolgreich nach 3 Iterationen gelernt.
Startgewichte: [1.45266073 1.74193136]
Endgewichte: [0.99335768 0.79178493]
Endgültiger Bias: 0.0

=== Wahrheitstabelle 4: Targets = (0, 0, 1, 1) ===
Epoch 1 konnte die Tabelle nicht korrekt lernen.
Versuche, die Gewichte nach 1 Iterationen zurückzusetzen.
Anzahl der Versuche: 1
Epoch 2 konnte die Tabelle nicht korrekt lernen.
Versuche, die Gewichte nach 2 Iterationen zurückzusetzen.
Anzahl der Versuche: 2
Epoch 3 konnte die Tabelle nicht korrekt lernen.
Versuche, die Gewichte nach 3 Iterationen zurückzusetzen.
Anzahl der Versuche: 3
Epoch 4 konnte die Tabelle nicht korrekt lernen.
Versuche, die Gewichte nach 4 Iterationen zurückzusetzen.
Anzahl der Versuche: 4
Epoch 5 konnte die Tabelle nicht korrekt lernen.
Versuche, die Gewichte nach 5 Iterationen zurückzusetzen.
Anzahl der Versuche: 5
Das Netzwerk hat Wahrheitstabelle 4 nach 5 Iterationen nicht korrekt gelernt.
Erhöhe den Bias und versuche es erneut.
Versuch mit Bias 0.1:
Total Iterationen: 37
Startgewichte: [1.65210388 1.43315518]
Endgewichte: [0.83642667 0.24785572]
Endgültiger Bias: 0.1

Das Netzwerk hat Wahrheitstabelle 4 erfolgreich gelernt!
Startgewichte: [1.65210388 1.43315518]
Endgewichte: [0.83642667 0.24785572]
Endgültiger Bias: 0.1

=== Wahrheitstabelle 5: Targets = (0, 1, 0, 0) ===
Epoch 1 konnte die Tabelle nicht korrekt lernen.
Versuche, die Gewichte nach 1 Iterationen zurückzusetzen.
Anzahl der Versuche: 1
Epoch 2 konnte die Tabelle nicht korrekt lernen.
Versuche, die Gewichte nach 2 Iterationen zurückzusetzen.
Anzahl der Versuche: 2
Epoch 3 konnte die Tabelle nicht korrekt lernen.
Versuche, die Gewichte nach 3 Iterationen zurückzusetzen.
Anzahl der Versuche: 3
Das Netzwerk hat Wahrheitstabelle 5 erfolgreich nach 4 Iterationen gelernt.
Startgewichte: [1.91737905 0.59694325]
Endgewichte: [0.6677704 0.8898758]
Endgültiger Bias: 0.0

=== Wahrheitstabelle 6: Targets = (0, 1, 0, 1) ===
Epoch 1 konnte die Tabelle nicht korrekt lernen.
Versuche, die Gewichte nach 1 Iterationen zurückzusetzen.
Anzahl der Versuche: 1
Epoch 2 konnte die Tabelle nicht korrekt lernen.
Versuche, die Gewichte nach 2 Iterationen zurückzusetzen.
Anzahl der Versuche: 2
Epoch 3 konnte die Tabelle nicht korrekt lernen.
Versuche, die Gewichte nach 3 Iterationen zurückzusetzen.
Anzahl der Versuche: 3
Epoch 4 konnte die Tabelle nicht korrekt lernen.
Versuche, die Gewichte nach 4 Iterationen zurückzusetzen.
Anzahl der Versuche: 4
Epoch 5 konnte die Tabelle nicht korrekt lernen.
Versuche, die Gewichte nach 5 Iterationen zurückzusetzen.
Anzahl der Versuche: 5
Das Netzwerk hat Wahrheitstabelle 6 nach 5 Iterationen nicht korrekt gelernt.
Erhöhe den Bias und versuche es erneut.
Versuch mit Bias 0.1:
Total Iterationen: 3
Startgewichte: [0.27186372 1.55762553]
Endgewichte: [0.026377   0.74537369]
Endgültiger Bias: 0.1

Das Netzwerk hat Wahrheitstabelle 6 erfolgreich gelernt!
Startgewichte: [0.27186372 1.55762553]
Endgewichte: [0.026377   0.74537369]
Endgültiger Bias: 0.1

=== Wahrheitstabelle 7: Targets = (0, 1, 1, 0) ===
Epoch 1 konnte die Tabelle nicht korrekt lernen.
Versuche, die Gewichte nach 1 Iterationen zurückzusetzen.
Anzahl der Versuche: 1
Epoch 2 konnte die Tabelle nicht korrekt lernen.
Versuche, die Gewichte nach 2 Iterationen zurückzusetzen.
Anzahl der Versuche: 2
Epoch 3 konnte die Tabelle nicht korrekt lernen.
Versuche, die Gewichte nach 3 Iterationen zurückzusetzen.
Anzahl der Versuche: 3
Epoch 4 konnte die Tabelle nicht korrekt lernen.
Versuche, die Gewichte nach 4 Iterationen zurückzusetzen.
Anzahl der Versuche: 4
Epoch 5 konnte die Tabelle nicht korrekt lernen.
Versuche, die Gewichte nach 5 Iterationen zurückzusetzen.
Anzahl der Versuche: 5
Das Netzwerk hat Wahrheitstabelle 7 nach 5 Iterationen nicht korrekt gelernt.
Erhöhe den Bias und versuche es erneut.
Versuch mit Bias 0.1:
Total Iterationen: 28
Startgewichte: [0.72619406 1.52548538]
Endgewichte: [0.92617135 0.78725801]
Endgültiger Bias: 0.1

Das Netzwerk hat Wahrheitstabelle 7 erfolgreich gelernt!
Startgewichte: [0.72619406 1.52548538]
Endgewichte: [0.92617135 0.78725801]
Endgültiger Bias: 0.1

=== Wahrheitstabelle 8: Targets = (0, 1, 1, 1) ===
Epoch 1 konnte die Tabelle nicht korrekt lernen.
Versuche, die Gewichte nach 1 Iterationen zurückzusetzen.
Anzahl der Versuche: 1
Epoch 2 konnte die Tabelle nicht korrekt lernen.
Versuche, die Gewichte nach 2 Iterationen zurückzusetzen.
Anzahl der Versuche: 2
Epoch 3 konnte die Tabelle nicht korrekt lernen.
Versuche, die Gewichte nach 3 Iterationen zurückzusetzen.
Anzahl der Versuche: 3
Epoch 4 konnte die Tabelle nicht korrekt lernen.
Versuche, die Gewichte nach 4 Iterationen zurückzusetzen.
Anzahl der Versuche: 4
Epoch 5 konnte die Tabelle nicht korrekt lernen.
Versuche, die Gewichte nach 5 Iterationen zurückzusetzen.
Anzahl der Versuche: 5
Das Netzwerk hat Wahrheitstabelle 8 nach 5 Iterationen nicht korrekt gelernt.
Erhöhe den Bias und versuche es erneut.
Versuch mit Bias 0.1:
Versuch mit Bias 0.2:
Versuch mit Bias 0.30000000000000004:
Versuch mit Bias 0.4:
Versuch mit Bias 0.5:
Versuch mit Bias 0.6:
Total Iterationen: 490
Startgewichte: [0.15803061 0.11362373]
Endgewichte: [0.25985977 0.27409758]
Endgültiger Bias: 0.6

Das Netzwerk hat Wahrheitstabelle 8 erfolgreich gelernt!
Startgewichte: [0.15803061 0.11362373]
Endgewichte: [0.25985977 0.27409758]
Endgültiger Bias: 0.6

=== Wahrheitstabelle 9: Targets = (1, 0, 0, 0) ===
Epoch 1 konnte die Tabelle nicht korrekt lernen.
Versuche, die Gewichte nach 1 Iterationen zurückzusetzen.
Anzahl der Versuche: 1
Epoch 2 konnte die Tabelle nicht korrekt lernen.
Versuche, die Gewichte nach 2 Iterationen zurückzusetzen.
Anzahl der Versuche: 2
Epoch 3 konnte die Tabelle nicht korrekt lernen.
Versuche, die Gewichte nach 3 Iterationen zurückzusetzen.
Anzahl der Versuche: 3
Epoch 4 konnte die Tabelle nicht korrekt lernen.
Versuche, die Gewichte nach 4 Iterationen zurückzusetzen.
Anzahl der Versuche: 4
Epoch 5 konnte die Tabelle nicht korrekt lernen.
Versuche, die Gewichte nach 5 Iterationen zurückzusetzen.
Anzahl der Versuche: 5
Das Netzwerk hat Wahrheitstabelle 9 nach 5 Iterationen nicht korrekt gelernt.
Erhöhe den Bias und versuche es erneut.
Versuch mit Bias 0.1:
Versuch mit Bias 0.2:
Versuch mit Bias 0.30000000000000004:
Versuch mit Bias 0.4:
Versuch mit Bias 0.5:
Versuch mit Bias 0.6:
Versuch mit Bias 0.7000000000000001:
Versuch mit Bias 0.8:
Versuch mit Bias 0.9:
Total Iterationen: 1
Startgewichte: [0.42285749 1.60648312]
Endgewichte: [0.65806965 1.58365508]
Endgültiger Bias: 0.9

Das Netzwerk hat Wahrheitstabelle 9 erfolgreich gelernt!
Startgewichte: [0.42285749 1.60648312]
Endgewichte: [0.65806965 1.58365508]
Endgültiger Bias: 0.9

=== Wahrheitstabelle 10: Targets = (1, 0, 0, 1) ===
Epoch 1 konnte die Tabelle nicht korrekt lernen.
Versuche, die Gewichte nach 1 Iterationen zurückzusetzen.
Anzahl der Versuche: 1
Epoch 2 konnte die Tabelle nicht korrekt lernen.
Versuche, die Gewichte nach 2 Iterationen zurückzusetzen.
Anzahl der Versuche: 2
Epoch 3 konnte die Tabelle nicht korrekt lernen.
Versuche, die Gewichte nach 3 Iterationen zurückzusetzen.
Anzahl der Versuche: 3
Epoch 4 konnte die Tabelle nicht korrekt lernen.
Versuche, die Gewichte nach 4 Iterationen zurückzusetzen.
Anzahl der Versuche: 4
Epoch 5 konnte die Tabelle nicht korrekt lernen.
Versuche, die Gewichte nach 5 Iterationen zurückzusetzen.
Anzahl der Versuche: 5
Das Netzwerk hat Wahrheitstabelle 10 nach 5 Iterationen nicht korrekt gelernt.
Erhöhe den Bias und versuche es erneut.
Versuch mit Bias 0.1:
Versuch mit Bias 0.2:
Versuch mit Bias 0.30000000000000004:
Versuch mit Bias 0.4:
Versuch mit Bias 0.5:
Versuch mit Bias 0.6:
Versuch mit Bias 0.7000000000000001:
Versuch mit Bias 0.8:
Versuch mit Bias 0.9:
Erhöhe den Bias bis zum maximalen Wert und versuche es dann mit abnehmendem Bias.
Versuch mit Bias 0.9:
Versuch mit Bias 0.8:
Versuch mit Bias 0.7000000000000001:
Versuch mit Bias 0.6000000000000001:
Versuch mit Bias 0.5000000000000001:
Versuch mit Bias 0.40000000000000013:
Versuch mit Bias 0.30000000000000016:
Versuch mit Bias 0.20000000000000018:
Versuch mit Bias 0.1000000000000002:
Versuch mit Bias 2.220446049250313e-16:
Versuch mit Bias -0.09999999999999976:
Versuch mit Bias -0.19999999999999962:
Versuch mit Bias -0.2999999999999997:
Versuch mit Bias -0.3999999999999998:
Versuch mit Bias -0.49999999999999967:
Versuch mit Bias -0.5999999999999995:
Versuch mit Bias -0.6999999999999996:
Versuch mit Bias -0.7999999999999997:
Versuch mit Bias -0.8999999999999996:
Total Iterationen: 500
Startgewichte: [1.68298186 1.25218098]
Endgewichte: None
Endgültiger Bias: -0.8999999999999996

=== Wahrheitstabelle 11: Targets = (1, 0, 1, 0) ===
Epoch 1 konnte die Tabelle nicht korrekt lernen.
Versuche, die Gewichte nach 1 Iterationen zurückzusetzen.
Anzahl der Versuche: 1
Epoch 2 konnte die Tabelle nicht korrekt lernen.
Versuche, die Gewichte nach 2 Iterationen zurückzusetzen.
Anzahl der Versuche: 2
Epoch 3 konnte die Tabelle nicht korrekt lernen.
Versuche, die Gewichte nach 3 Iterationen zurückzusetzen.
Anzahl der Versuche: 3
Epoch 4 konnte die Tabelle nicht korrekt lernen.
Versuche, die Gewichte nach 4 Iterationen zurückzusetzen.
Anzahl der Versuche: 4
Epoch 5 konnte die Tabelle nicht korrekt lernen.
Versuche, die Gewichte nach 5 Iterationen zurückzusetzen.
Anzahl der Versuche: 5
Das Netzwerk hat Wahrheitstabelle 11 nach 5 Iterationen nicht korrekt gelernt.
Erhöhe den Bias und versuche es erneut.
Versuch mit Bias 0.1:
Versuch mit Bias 0.2:
Versuch mit Bias 0.30000000000000004:
Versuch mit Bias 0.4:
Versuch mit Bias 0.5:
Versuch mit Bias 0.6:
Versuch mit Bias 0.7000000000000001:
Versuch mit Bias 0.8:
Versuch mit Bias 0.9:
Total Iterationen: 18
Startgewichte: [0.29329597 1.85594287]
Endgewichte: [0.04000468 1.57642026]
Endgültiger Bias: 0.9

Das Netzwerk hat Wahrheitstabelle 11 erfolgreich gelernt!
Startgewichte: [0.29329597 1.85594287]
Endgewichte: [0.04000468 1.57642026]
Endgültiger Bias: 0.9

=== Wahrheitstabelle 12: Targets = (1, 0, 1, 1) ===
Epoch 1 konnte die Tabelle nicht korrekt lernen.
Versuche, die Gewichte nach 1 Iterationen zurückzusetzen.
Anzahl der Versuche: 1
Epoch 2 konnte die Tabelle nicht korrekt lernen.
Versuche, die Gewichte nach 2 Iterationen zurückzusetzen.
Anzahl der Versuche: 2
Epoch 3 konnte die Tabelle nicht korrekt lernen.
Versuche, die Gewichte nach 3 Iterationen zurückzusetzen.
Anzahl der Versuche: 3
Epoch 4 konnte die Tabelle nicht korrekt lernen.
Versuche, die Gewichte nach 4 Iterationen zurückzusetzen.
Anzahl der Versuche: 4
Epoch 5 konnte die Tabelle nicht korrekt lernen.
Versuche, die Gewichte nach 5 Iterationen zurückzusetzen.
Anzahl der Versuche: 5
Das Netzwerk hat Wahrheitstabelle 12 nach 5 Iterationen nicht korrekt gelernt.
Erhöhe den Bias und versuche es erneut.
Versuch mit Bias 0.1:
Versuch mit Bias 0.2:
Versuch mit Bias 0.30000000000000004:
Versuch mit Bias 0.4:
Versuch mit Bias 0.5:
Versuch mit Bias 0.6:
Versuch mit Bias 0.7000000000000001:
Versuch mit Bias 0.8:
Versuch mit Bias 0.9:
Erhöhe den Bias bis zum maximalen Wert und versuche es dann mit abnehmendem Bias.
Versuch mit Bias 0.9:
Versuch mit Bias 0.8:
Versuch mit Bias 0.7000000000000001:
Versuch mit Bias 0.6000000000000001:
Versuch mit Bias 0.5000000000000001:
Versuch mit Bias 0.40000000000000013:
Versuch mit Bias 0.30000000000000016:
Versuch mit Bias 0.20000000000000018:
Versuch mit Bias 0.1000000000000002:
Versuch mit Bias 2.220446049250313e-16:
Versuch mit Bias -0.09999999999999976:
Versuch mit Bias -0.19999999999999962:
Versuch mit Bias -0.2999999999999997:
Versuch mit Bias -0.3999999999999998:
Versuch mit Bias -0.49999999999999967:
Versuch mit Bias -0.5999999999999995:
Versuch mit Bias -0.6999999999999996:
Versuch mit Bias -0.7999999999999997:
Versuch mit Bias -0.8999999999999996:
Total Iterationen: 500
Startgewichte: [1.39728572 1.22555044]
Endgewichte: None
Endgültiger Bias: -0.8999999999999996

=== Wahrheitstabelle 13: Targets = (1, 1, 0, 0) ===
Epoch 1 konnte die Tabelle nicht korrekt lernen.
Versuche, die Gewichte nach 1 Iterationen zurückzusetzen.
Anzahl der Versuche: 1
Epoch 2 konnte die Tabelle nicht korrekt lernen.
Versuche, die Gewichte nach 2 Iterationen zurückzusetzen.
Anzahl der Versuche: 2
Epoch 3 konnte die Tabelle nicht korrekt lernen.
Versuche, die Gewichte nach 3 Iterationen zurückzusetzen.
Anzahl der Versuche: 3
Epoch 4 konnte die Tabelle nicht korrekt lernen.
Versuche, die Gewichte nach 4 Iterationen zurückzusetzen.
Anzahl der Versuche: 4
Epoch 5 konnte die Tabelle nicht korrekt lernen.
Versuche, die Gewichte nach 5 Iterationen zurückzusetzen.
Anzahl der Versuche: 5
Das Netzwerk hat Wahrheitstabelle 13 nach 5 Iterationen nicht korrekt gelernt.
Erhöhe den Bias und versuche es erneut.
Versuch mit Bias 0.1:
Versuch mit Bias 0.2:
Versuch mit Bias 0.30000000000000004:
Versuch mit Bias 0.4:
Versuch mit Bias 0.5:
Versuch mit Bias 0.6:
Versuch mit Bias 0.7000000000000001:
Versuch mit Bias 0.8:
Versuch mit Bias 0.9:
Total Iterationen: 9
Startgewichte: [0.98587699 0.06159163]
Endgewichte: [1.34712676 0.29246617]
Endgültiger Bias: 0.9

Das Netzwerk hat Wahrheitstabelle 13 erfolgreich gelernt!
Startgewichte: [0.98587699 0.06159163]
Endgewichte: [1.34712676 0.29246617]
Endgültiger Bias: 0.9

=== Wahrheitstabelle 14: Targets = (1, 1, 0, 1) ===
Epoch 1 konnte die Tabelle nicht korrekt lernen.
Versuche, die Gewichte nach 1 Iterationen zurückzusetzen.
Anzahl der Versuche: 1
Epoch 2 konnte die Tabelle nicht korrekt lernen.
Versuche, die Gewichte nach 2 Iterationen zurückzusetzen.
Anzahl der Versuche: 2
Epoch 3 konnte die Tabelle nicht korrekt lernen.
Versuche, die Gewichte nach 3 Iterationen zurückzusetzen.
Anzahl der Versuche: 3
Epoch 4 konnte die Tabelle nicht korrekt lernen.
Versuche, die Gewichte nach 4 Iterationen zurückzusetzen.
Anzahl der Versuche: 4
Epoch 5 konnte die Tabelle nicht korrekt lernen.
Versuche, die Gewichte nach 5 Iterationen zurückzusetzen.
Anzahl der Versuche: 5
Das Netzwerk hat Wahrheitstabelle 14 nach 5 Iterationen nicht korrekt gelernt.
Erhöhe den Bias und versuche es erneut.
Versuch mit Bias 0.1:
Versuch mit Bias 0.2:
Versuch mit Bias 0.30000000000000004:
Versuch mit Bias 0.4:
Versuch mit Bias 0.5:
Versuch mit Bias 0.6:
Versuch mit Bias 0.7000000000000001:
Versuch mit Bias 0.8:
Versuch mit Bias 0.9:
Erhöhe den Bias bis zum maximalen Wert und versuche es dann mit abnehmendem Bias.
Versuch mit Bias 0.9:
Versuch mit Bias 0.8:
Versuch mit Bias 0.7000000000000001:
Versuch mit Bias 0.6000000000000001:
Versuch mit Bias 0.5000000000000001:
Versuch mit Bias 0.40000000000000013:
Versuch mit Bias 0.30000000000000016:
Versuch mit Bias 0.20000000000000018:
Versuch mit Bias 0.1000000000000002:
Versuch mit Bias 2.220446049250313e-16:
Versuch mit Bias -0.09999999999999976:
Versuch mit Bias -0.19999999999999962:
Versuch mit Bias -0.2999999999999997:
Versuch mit Bias -0.3999999999999998:
Versuch mit Bias -0.49999999999999967:
Versuch mit Bias -0.5999999999999995:
Versuch mit Bias -0.6999999999999996:
Versuch mit Bias -0.7999999999999997:
Versuch mit Bias -0.8999999999999996:
Total Iterationen: 500
Startgewichte: [1.48184334 0.77272379]
Endgewichte: None
Endgültiger Bias: -0.8999999999999996

=== Wahrheitstabelle 15: Targets = (1, 1, 1, 0) ===
Epoch 1 konnte die Tabelle nicht korrekt lernen.
Versuche, die Gewichte nach 1 Iterationen zurückzusetzen.
Anzahl der Versuche: 1
Epoch 2 konnte die Tabelle nicht korrekt lernen.
Versuche, die Gewichte nach 2 Iterationen zurückzusetzen.
Anzahl der Versuche: 2
Epoch 3 konnte die Tabelle nicht korrekt lernen.
Versuche, die Gewichte nach 3 Iterationen zurückzusetzen.
Anzahl der Versuche: 3
Epoch 4 konnte die Tabelle nicht korrekt lernen.
Versuche, die Gewichte nach 4 Iterationen zurückzusetzen.
Anzahl der Versuche: 4
Epoch 5 konnte die Tabelle nicht korrekt lernen.
Versuche, die Gewichte nach 5 Iterationen zurückzusetzen.
Anzahl der Versuche: 5
Das Netzwerk hat Wahrheitstabelle 15 nach 5 Iterationen nicht korrekt gelernt.
Erhöhe den Bias und versuche es erneut.
Versuch mit Bias 0.1:
Versuch mit Bias 0.2:
Versuch mit Bias 0.30000000000000004:
Versuch mit Bias 0.4:
Versuch mit Bias 0.5:
Versuch mit Bias 0.6:
Versuch mit Bias 0.7000000000000001:
Versuch mit Bias 0.8:
Versuch mit Bias 0.9:
Total Iterationen: 74
Startgewichte: [0.19032802 1.04144649]
Endgewichte: [0.13369092 0.29961863]
Endgültiger Bias: 0.9

Das Netzwerk hat Wahrheitstabelle 15 erfolgreich gelernt!
Startgewichte: [0.19032802 1.04144649]
Endgewichte: [0.13369092 0.29961863]
Endgültiger Bias: 0.9

=== Wahrheitstabelle 16: Targets = (1, 1, 1, 1) ===
Epoch 1 konnte die Tabelle nicht korrekt lernen.
Versuche, die Gewichte nach 1 Iterationen zurückzusetzen.
Anzahl der Versuche: 1
Epoch 2 konnte die Tabelle nicht korrekt lernen.
Versuche, die Gewichte nach 2 Iterationen zurückzusetzen.
Anzahl der Versuche: 2
Epoch 3 konnte die Tabelle nicht korrekt lernen.
Versuche, die Gewichte nach 3 Iterationen zurückzusetzen.
Anzahl der Versuche: 3
Epoch 4 konnte die Tabelle nicht korrekt lernen.
Versuche, die Gewichte nach 4 Iterationen zurückzusetzen.
Anzahl der Versuche: 4
Epoch 5 konnte die Tabelle nicht korrekt lernen.
Versuche, die Gewichte nach 5 Iterationen zurückzusetzen.
Anzahl der Versuche: 5
Das Netzwerk hat Wahrheitstabelle 16 nach 5 Iterationen nicht korrekt gelernt.
Erhöhe den Bias und versuche es erneut.
Versuch mit Bias 0.1:
Versuch mit Bias 0.2:
Versuch mit Bias 0.30000000000000004:
Versuch mit Bias 0.4:
Versuch mit Bias 0.5:
Versuch mit Bias 0.6:
Versuch mit Bias 0.7000000000000001:
Versuch mit Bias 0.8:
Versuch mit Bias 0.9:
Total Iterationen: 70
Startgewichte: [1.96184492 0.21757066]
Endgewichte: [0.11720954 0.08067309]
Endgültiger Bias: 0.9

Das Netzwerk hat Wahrheitstabelle 16 erfolgreich gelernt!
Startgewichte: [1.96184492 0.21757066]
Endgewichte: [0.11720954 0.08067309]
Endgültiger Bias: 0.9