fork(3) 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. # Trainingsloop mit max. 1000 Iterationen
  22. max_iterations = 1000
  23. epoch = 0
  24. network_trained = False
  25. start_weights = None
  26. final_weights = None
  27. all_epoch_outputs = [] # Store outputs of all epochs for debugging and transparency
  28.  
  29. while epoch < max_iterations:
  30. epoch += 1
  31. all_correct = True # Flag, um zu überprüfen, ob alle Ausgaben korrekt sind
  32. current_weights = np.random.rand(2) # Zufällige Startgewichte
  33.  
  34. if epoch == 1: # Die erste Iteration nach Initialisierung
  35. start_weights = current_weights # Speichere die Startgewichte
  36.  
  37. epoch_outputs = [] # To store outputs of this epoch
  38.  
  39. for input_vector, target in zip(inputs, targets):
  40. # Berechnung der gewichteten Summe
  41. weighted_sum = np.dot(input_vector, current_weights)
  42.  
  43. # Aktivierungsfunktion (einfache Schwellenwertfunktion)
  44. output = 1 if lower_threshold < weighted_sum < upper_threshold else 0
  45.  
  46. # Fehlerberechnung
  47. error = target - output
  48.  
  49. # Wenn ein Fehler vorliegt, dann weise die Gewichte an
  50. if error != 0:
  51. all_correct = False
  52. current_weights += learning_rate * error * np.array(input_vector)
  53.  
  54. epoch_outputs.append((input_vector, output, target)) # Save each iteration's output
  55.  
  56. all_epoch_outputs.append(epoch_outputs)
  57.  
  58. # Überprüfe, ob alle Ausgaben korrekt sind
  59. if all_correct:
  60. network_trained = True
  61. final_weights = current_weights # Speichere die finalen Gewichte
  62. break # Stoppe, wenn alle Ausgaben korrekt sind
  63.  
  64. # Wenn Tabelle nach 100 Iterationen nicht gelernt wurde, setze neue zufällige Startgewichte
  65. if epoch % 100 == 0:
  66. print(f"Nicht funktionierende Startgewichte: {start_weights}")
  67. start_weights = np.random.rand(2) # Setze neue Startgewichte
  68.  
  69. if network_trained:
  70. print(f"Das Netzwerk hat Wahrheitstabelle {table_index} korrekt nach {epoch} Iterationen gelernt.")
  71. print(f"Die Working Startgewichte waren: {start_weights}")
  72. print(f"Die finalen Gewichte sind: {final_weights}")
  73. else:
  74. print(f"Das Netzwerk hat Wahrheitstabelle {table_index} nach {epoch} Iterationen nicht korrekt gelernt.")
  75. print("\nFinal Test Output übersprungen, da das Netzwerk nicht gelernt hat.")
  76. continue # Skip final testing if the network didn't learn the truth table
  77.  
  78. # Testen des Netzwerks nach den Lern-Iterationen
  79. print("\nFinal Test Output:")
  80. for input_vector, target in zip(inputs, targets):
  81. weighted_sum = np.dot(input_vector, final_weights)
  82. output = 1 if lower_threshold < weighted_sum < upper_threshold else 0
  83. print(f"Input: {input_vector}, Target: {target}, Output: {output}")
  84.  
  85. # Optionally, print out the outputs of each epoch for transparency
  86. print("\nEpoch Outputs:")
  87. for epoch_index, epoch_outputs in enumerate(all_epoch_outputs):
  88. print(f"Epoch {epoch_index + 1}:")
  89. for input_vector, output, target in epoch_outputs:
  90. print(f" Input: {input_vector}, Output: {output}, Target: {target}")
  91.  
Success #stdin #stdout 0.5s 29252KB
stdin
Standard input is empty
stdout
=== Wahrheitstabelle 1: Targets = (0, 0, 0, 0) ===
Das Netzwerk hat Wahrheitstabelle 1 korrekt nach 1 Iterationen gelernt.
Die Working Startgewichte waren: [0.64581128 0.04089383]
Die finalen Gewichte sind: [0.64581128 0.04089383]

Final Test Output:
Input: [0, 0], Target: 0, Output: 0
Input: [0, 1], Target: 0, Output: 0
Input: [1, 0], Target: 0, Output: 0
Input: [1, 1], Target: 0, Output: 0

Epoch Outputs:
Epoch 1:
  Input: [0, 0], Output: 0, Target: 0
  Input: [0, 1], Output: 0, Target: 0
  Input: [1, 0], Output: 0, Target: 0
  Input: [1, 1], Output: 0, Target: 0

=== Wahrheitstabelle 2: Targets = (0, 0, 0, 1) ===
Das Netzwerk hat Wahrheitstabelle 2 korrekt nach 2 Iterationen gelernt.
Die Working Startgewichte waren: [0.77785669 0.14781102]
Die finalen Gewichte sind: [0.62911631 0.36622643]

Final Test Output:
Input: [0, 0], Target: 0, Output: 0
Input: [0, 1], Target: 0, Output: 0
Input: [1, 0], Target: 0, Output: 0
Input: [1, 1], Target: 1, Output: 1

Epoch Outputs:
Epoch 1:
  Input: [0, 0], Output: 0, Target: 0
  Input: [0, 1], Output: 0, Target: 0
  Input: [1, 0], Output: 0, Target: 0
  Input: [1, 1], Output: 0, Target: 1
Epoch 2:
  Input: [0, 0], Output: 0, Target: 0
  Input: [0, 1], Output: 0, Target: 0
  Input: [1, 0], Output: 0, Target: 0
  Input: [1, 1], Output: 1, Target: 1

=== Wahrheitstabelle 3: Targets = (0, 0, 1, 0) ===
Das Netzwerk hat Wahrheitstabelle 3 korrekt nach 2 Iterationen gelernt.
Die Working Startgewichte waren: [0.25097655 0.38084076]
Die finalen Gewichte sind: [0.85078385 0.39545808]

Final Test Output:
Input: [0, 0], Target: 0, Output: 0
Input: [0, 1], Target: 0, Output: 0
Input: [1, 0], Target: 1, Output: 1
Input: [1, 1], Target: 0, Output: 0

Epoch Outputs:
Epoch 1:
  Input: [0, 0], Output: 0, Target: 0
  Input: [0, 1], Output: 0, Target: 0
  Input: [1, 0], Output: 0, Target: 1
  Input: [1, 1], Output: 1, Target: 0
Epoch 2:
  Input: [0, 0], Output: 0, Target: 0
  Input: [0, 1], Output: 0, Target: 0
  Input: [1, 0], Output: 1, Target: 1
  Input: [1, 1], Output: 0, Target: 0

=== Wahrheitstabelle 4: Targets = (0, 0, 1, 1) ===
Das Netzwerk hat Wahrheitstabelle 4 korrekt nach 1 Iterationen gelernt.
Die Working Startgewichte waren: [0.83930703 0.28277816]
Die finalen Gewichte sind: [0.83930703 0.28277816]

Final Test Output:
Input: [0, 0], Target: 0, Output: 0
Input: [0, 1], Target: 0, Output: 0
Input: [1, 0], Target: 1, Output: 1
Input: [1, 1], Target: 1, Output: 1

Epoch Outputs:
Epoch 1:
  Input: [0, 0], Output: 0, Target: 0
  Input: [0, 1], Output: 0, Target: 0
  Input: [1, 0], Output: 1, Target: 1
  Input: [1, 1], Output: 1, Target: 1

=== Wahrheitstabelle 5: Targets = (0, 1, 0, 0) ===
Das Netzwerk hat Wahrheitstabelle 5 korrekt nach 7 Iterationen gelernt.
Die Working Startgewichte waren: [0.79050364 0.85172412]
Die finalen Gewichte sind: [0.56878735 0.93767208]

Final Test Output:
Input: [0, 0], Target: 0, Output: 0
Input: [0, 1], Target: 1, Output: 1
Input: [1, 0], Target: 0, Output: 0
Input: [1, 1], Target: 0, Output: 0

Epoch Outputs:
Epoch 1:
  Input: [0, 0], Output: 0, Target: 0
  Input: [0, 1], Output: 0, Target: 1
  Input: [1, 0], Output: 0, Target: 0
  Input: [1, 1], Output: 0, Target: 0
Epoch 2:
  Input: [0, 0], Output: 0, Target: 0
  Input: [0, 1], Output: 0, Target: 1
  Input: [1, 0], Output: 0, Target: 0
  Input: [1, 1], Output: 0, Target: 0
Epoch 3:
  Input: [0, 0], Output: 0, Target: 0
  Input: [0, 1], Output: 0, Target: 1
  Input: [1, 0], Output: 1, Target: 0
  Input: [1, 1], Output: 0, Target: 0
Epoch 4:
  Input: [0, 0], Output: 0, Target: 0
  Input: [0, 1], Output: 0, Target: 1
  Input: [1, 0], Output: 1, Target: 0
  Input: [1, 1], Output: 0, Target: 0
Epoch 5:
  Input: [0, 0], Output: 0, Target: 0
  Input: [0, 1], Output: 0, Target: 1
  Input: [1, 0], Output: 0, Target: 0
  Input: [1, 1], Output: 0, Target: 0
Epoch 6:
  Input: [0, 0], Output: 0, Target: 0
  Input: [0, 1], Output: 0, Target: 1
  Input: [1, 0], Output: 0, Target: 0
  Input: [1, 1], Output: 0, Target: 0
Epoch 7:
  Input: [0, 0], Output: 0, Target: 0
  Input: [0, 1], Output: 1, Target: 1
  Input: [1, 0], Output: 0, Target: 0
  Input: [1, 1], Output: 0, Target: 0

=== Wahrheitstabelle 6: Targets = (0, 1, 0, 1) ===
Das Netzwerk hat Wahrheitstabelle 6 korrekt nach 10 Iterationen gelernt.
Die Working Startgewichte waren: [0.43638799 0.25154713]
Die finalen Gewichte sind: [0.36139075 0.81518673]

Final Test Output:
Input: [0, 0], Target: 0, Output: 0
Input: [0, 1], Target: 1, Output: 1
Input: [1, 0], Target: 0, Output: 0
Input: [1, 1], Target: 1, Output: 1

Epoch Outputs:
Epoch 1:
  Input: [0, 0], Output: 0, Target: 0
  Input: [0, 1], Output: 0, Target: 1
  Input: [1, 0], Output: 0, Target: 0
  Input: [1, 1], Output: 0, Target: 1
Epoch 2:
  Input: [0, 0], Output: 0, Target: 0
  Input: [0, 1], Output: 0, Target: 1
  Input: [1, 0], Output: 0, Target: 0
  Input: [1, 1], Output: 1, Target: 1
Epoch 3:
  Input: [0, 0], Output: 0, Target: 0
  Input: [0, 1], Output: 1, Target: 1
  Input: [1, 0], Output: 0, Target: 0
  Input: [1, 1], Output: 0, Target: 1
Epoch 4:
  Input: [0, 0], Output: 0, Target: 0
  Input: [0, 1], Output: 0, Target: 1
  Input: [1, 0], Output: 0, Target: 0
  Input: [1, 1], Output: 0, Target: 1
Epoch 5:
  Input: [0, 0], Output: 0, Target: 0
  Input: [0, 1], Output: 0, Target: 1
  Input: [1, 0], Output: 0, Target: 0
  Input: [1, 1], Output: 1, Target: 1
Epoch 6:
  Input: [0, 0], Output: 0, Target: 0
  Input: [0, 1], Output: 0, Target: 1
  Input: [1, 0], Output: 0, Target: 0
  Input: [1, 1], Output: 0, Target: 1
Epoch 7:
  Input: [0, 0], Output: 0, Target: 0
  Input: [0, 1], Output: 0, Target: 1
  Input: [1, 0], Output: 1, Target: 0
  Input: [1, 1], Output: 0, Target: 1
Epoch 8:
  Input: [0, 0], Output: 0, Target: 0
  Input: [0, 1], Output: 0, Target: 1
  Input: [1, 0], Output: 0, Target: 0
  Input: [1, 1], Output: 0, Target: 1
Epoch 9:
  Input: [0, 0], Output: 0, Target: 0
  Input: [0, 1], Output: 0, Target: 1
  Input: [1, 0], Output: 0, Target: 0
  Input: [1, 1], Output: 1, Target: 1
Epoch 10:
  Input: [0, 0], Output: 0, Target: 0
  Input: [0, 1], Output: 1, Target: 1
  Input: [1, 0], Output: 0, Target: 0
  Input: [1, 1], Output: 1, Target: 1

=== Wahrheitstabelle 7: Targets = (0, 1, 1, 0) ===
Das Netzwerk hat Wahrheitstabelle 7 korrekt nach 55 Iterationen gelernt.
Die Working Startgewichte waren: [0.32274024 0.1775682 ]
Die finalen Gewichte sind: [0.98518189 0.98112223]

Final Test Output:
Input: [0, 0], Target: 0, Output: 0
Input: [0, 1], Target: 1, Output: 1
Input: [1, 0], Target: 1, Output: 1
Input: [1, 1], Target: 0, Output: 0

Epoch Outputs:
Epoch 1:
  Input: [0, 0], Output: 0, Target: 0
  Input: [0, 1], Output: 0, Target: 1
  Input: [1, 0], Output: 0, Target: 1
  Input: [1, 1], Output: 0, Target: 0
Epoch 2:
  Input: [0, 0], Output: 0, Target: 0
  Input: [0, 1], Output: 0, Target: 1
  Input: [1, 0], Output: 0, Target: 1
  Input: [1, 1], Output: 1, Target: 0
Epoch 3:
  Input: [0, 0], Output: 0, Target: 0
  Input: [0, 1], Output: 0, Target: 1
  Input: [1, 0], Output: 0, Target: 1
  Input: [1, 1], Output: 1, Target: 0
Epoch 4:
  Input: [0, 0], Output: 0, Target: 0
  Input: [0, 1], Output: 1, Target: 1
  Input: [1, 0], Output: 0, Target: 1
  Input: [1, 1], Output: 1, Target: 0
Epoch 5:
  Input: [0, 0], Output: 0, Target: 0
  Input: [0, 1], Output: 0, Target: 1
  Input: [1, 0], Output: 1, Target: 1
  Input: [1, 1], Output: 1, Target: 0
Epoch 6:
  Input: [0, 0], Output: 0, Target: 0
  Input: [0, 1], Output: 0, Target: 1
  Input: [1, 0], Output: 0, Target: 1
  Input: [1, 1], Output: 1, Target: 0
Epoch 7:
  Input: [0, 0], Output: 0, Target: 0
  Input: [0, 1], Output: 0, Target: 1
  Input: [1, 0], Output: 0, Target: 1
  Input: [1, 1], Output: 0, Target: 0
Epoch 8:
  Input: [0, 0], Output: 0, Target: 0
  Input: [0, 1], Output: 0, Target: 1
  Input: [1, 0], Output: 0, Target: 1
  Input: [1, 1], Output: 0, Target: 0
Epoch 9:
  Input: [0, 0], Output: 0, Target: 0
  Input: [0, 1], Output: 0, Target: 1
  Input: [1, 0], Output: 0, Target: 1
  Input: [1, 1], Output: 0, Target: 0
Epoch 10:
  Input: [0, 0], Output: 0, Target: 0
  Input: [0, 1], Output: 0, Target: 1
  Input: [1, 0], Output: 0, Target: 1
  Input: [1, 1], Output: 1, Target: 0
Epoch 11:
  Input: [0, 0], Output: 0, Target: 0
  Input: [0, 1], Output: 0, Target: 1
  Input: [1, 0], Output: 1, Target: 1
  Input: [1, 1], Output: 0, Target: 0
Epoch 12:
  Input: [0, 0], Output: 0, Target: 0
  Input: [0, 1], Output: 0, Target: 1
  Input: [1, 0], Output: 0, Target: 1
  Input: [1, 1], Output: 0, Target: 0
Epoch 13:
  Input: [0, 0], Output: 0, Target: 0
  Input: [0, 1], Output: 0, Target: 1
  Input: [1, 0], Output: 0, Target: 1
  Input: [1, 1], Output: 0, Target: 0
Epoch 14:
  Input: [0, 0], Output: 0, Target: 0
  Input: [0, 1], Output: 0, Target: 1
  Input: [1, 0], Output: 0, Target: 1
  Input: [1, 1], Output: 0, Target: 0
Epoch 15:
  Input: [0, 0], Output: 0, Target: 0
  Input: [0, 1], Output: 0, Target: 1
  Input: [1, 0], Output: 0, Target: 1
  Input: [1, 1], Output: 1, Target: 0
Epoch 16:
  Input: [0, 0], Output: 0, Target: 0
  Input: [0, 1], Output: 0, Target: 1
  Input: [1, 0], Output: 1, Target: 1
  Input: [1, 1], Output: 0, Target: 0
Epoch 17:
  Input: [0, 0], Output: 0, Target: 0
  Input: [0, 1], Output: 0, Target: 1
  Input: [1, 0], Output: 0, Target: 1
  Input: [1, 1], Output: 1, Target: 0
Epoch 18:
  Input: [0, 0], Output: 0, Target: 0
  Input: [0, 1], Output: 0, Target: 1
  Input: [1, 0], Output: 0, Target: 1
  Input: [1, 1], Output: 0, Target: 0
Epoch 19:
  Input: [0, 0], Output: 0, Target: 0
  Input: [0, 1], Output: 0, Target: 1
  Input: [1, 0], Output: 1, Target: 1
  Input: [1, 1], Output: 1, Target: 0
Epoch 20:
  Input: [0, 0], Output: 0, Target: 0
  Input: [0, 1], Output: 0, Target: 1
  Input: [1, 0], Output: 0, Target: 1
  Input: [1, 1], Output: 0, Target: 0
Epoch 21:
  Input: [0, 0], Output: 0, Target: 0
  Input: [0, 1], Output: 0, Target: 1
  Input: [1, 0], Output: 0, Target: 1
  Input: [1, 1], Output: 0, Target: 0
Epoch 22:
  Input: [0, 0], Output: 0, Target: 0
  Input: [0, 1], Output: 0, Target: 1
  Input: [1, 0], Output: 0, Target: 1
  Input: [1, 1], Output: 0, Target: 0
Epoch 23:
  Input: [0, 0], Output: 0, Target: 0
  Input: [0, 1], Output: 0, Target: 1
  Input: [1, 0], Output: 0, Target: 1
  Input: [1, 1], Output: 0, Target: 0
Epoch 24:
  Input: [0, 0], Output: 0, Target: 0
  Input: [0, 1], Output: 0, Target: 1
  Input: [1, 0], Output: 0, Target: 1
  Input: [1, 1], Output: 1, Target: 0
Epoch 25:
  Input: [0, 0], Output: 0, Target: 0
  Input: [0, 1], Output: 1, Target: 1
  Input: [1, 0], Output: 0, Target: 1
  Input: [1, 1], Output: 1, Target: 0
Epoch 26:
  Input: [0, 0], Output: 0, Target: 0
  Input: [0, 1], Output: 0, Target: 1
  Input: [1, 0], Output: 0, Target: 1
  Input: [1, 1], Output: 1, Target: 0
Epoch 27:
  Input: [0, 0], Output: 0, Target: 0
  Input: [0, 1], Output: 0, Target: 1
  Input: [1, 0], Output: 0, Target: 1
  Input: [1, 1], Output: 0, Target: 0
Epoch 28:
  Input: [0, 0], Output: 0, Target: 0
  Input: [0, 1], Output: 0, Target: 1
  Input: [1, 0], Output: 1, Target: 1
  Input: [1, 1], Output: 0, Target: 0
Epoch 29:
  Input: [0, 0], Output: 0, Target: 0
  Input: [0, 1], Output: 0, Target: 1
  Input: [1, 0], Output: 0, Target: 1
  Input: [1, 1], Output: 0, Target: 0
Epoch 30:
  Input: [0, 0], Output: 0, Target: 0
  Input: [0, 1], Output: 0, Target: 1
  Input: [1, 0], Output: 0, Target: 1
  Input: [1, 1], Output: 1, Target: 0
Epoch 31:
  Input: [0, 0], Output: 0, Target: 0
  Input: [0, 1], Output: 0, Target: 1
  Input: [1, 0], Output: 0, Target: 1
  Input: [1, 1], Output: 0, Target: 0
Epoch 32:
  Input: [0, 0], Output: 0, Target: 0
  Input: [0, 1], Output: 1, Target: 1
  Input: [1, 0], Output: 0, Target: 1
  Input: [1, 1], Output: 1, Target: 0
Epoch 33:
  Input: [0, 0], Output: 0, Target: 0
  Input: [0, 1], Output: 1, Target: 1
  Input: [1, 0], Output: 0, Target: 1
  Input: [1, 1], Output: 0, Target: 0
Epoch 34:
  Input: [0, 0], Output: 0, Target: 0
  Input: [0, 1], Output: 0, Target: 1
  Input: [1, 0], Output: 1, Target: 1
  Input: [1, 1], Output: 0, Target: 0
Epoch 35:
  Input: [0, 0], Output: 0, Target: 0
  Input: [0, 1], Output: 0, Target: 1
  Input: [1, 0], Output: 0, Target: 1
  Input: [1, 1], Output: 1, Target: 0
Epoch 36:
  Input: [0, 0], Output: 0, Target: 0
  Input: [0, 1], Output: 0, Target: 1
  Input: [1, 0], Output: 0, Target: 1
  Input: [1, 1], Output: 1, Target: 0
Epoch 37:
  Input: [0, 0], Output: 0, Target: 0
  Input: [0, 1], Output: 0, Target: 1
  Input: [1, 0], Output: 0, Target: 1
  Input: [1, 1], Output: 1, Target: 0
Epoch 38:
  Input: [0, 0], Output: 0, Target: 0
  Input: [0, 1], Output: 0, Target: 1
  Input: [1, 0], Output: 0, Target: 1
  Input: [1, 1], Output: 0, Target: 0
Epoch 39:
  Input: [0, 0], Output: 0, Target: 0
  Input: [0, 1], Output: 0, Target: 1
  Input: [1, 0], Output: 0, Target: 1
  Input: [1, 1], Output: 0, Target: 0
Epoch 40:
  Input: [0, 0], Output: 0, Target: 0
  Input: [0, 1], Output: 0, Target: 1
  Input: [1, 0], Output: 0, Target: 1
  Input: [1, 1], Output: 0, Target: 0
Epoch 41:
  Input: [0, 0], Output: 0, Target: 0
  Input: [0, 1], Output: 0, Target: 1
  Input: [1, 0], Output: 1, Target: 1
  Input: [1, 1], Output: 0, Target: 0
Epoch 42:
  Input: [0, 0], Output: 0, Target: 0
  Input: [0, 1], Output: 0, Target: 1
  Input: [1, 0], Output: 0, Target: 1
  Input: [1, 1], Output: 0, Target: 0
Epoch 43:
  Input: [0, 0], Output: 0, Target: 0
  Input: [0, 1], Output: 0, Target: 1
  Input: [1, 0], Output: 0, Target: 1
  Input: [1, 1], Output: 1, Target: 0
Epoch 44:
  Input: [0, 0], Output: 0, Target: 0
  Input: [0, 1], Output: 0, Target: 1
  Input: [1, 0], Output: 0, Target: 1
  Input: [1, 1], Output: 1, Target: 0
Epoch 45:
  Input: [0, 0], Output: 0, Target: 0
  Input: [0, 1], Output: 0, Target: 1
  Input: [1, 0], Output: 0, Target: 1
  Input: [1, 1], Output: 0, Target: 0
Epoch 46:
  Input: [0, 0], Output: 0, Target: 0
  Input: [0, 1], Output: 0, Target: 1
  Input: [1, 0], Output: 0, Target: 1
  Input: [1, 1], Output: 0, Target: 0
Epoch 47:
  Input: [0, 0], Output: 0, Target: 0
  Input: [0, 1], Output: 0, Target: 1
  Input: [1, 0], Output: 0, Target: 1
  Input: [1, 1], Output: 0, Target: 0
Epoch 48:
  Input: [0, 0], Output: 0, Target: 0
  Input: [0, 1], Output: 1, Target: 1
  Input: [1, 0], Output: 0, Target: 1
  Input: [1, 1], Output: 0, Target: 0
Epoch 49:
  Input: [0, 0], Output: 0, Target: 0
  Input: [0, 1], Output: 0, Target: 1
  Input: [1, 0], Output: 0, Target: 1
  Input: [1, 1], Output: 0, Target: 0
Epoch 50:
  Input: [0, 0], Output: 0, Target: 0
  Input: [0, 1], Output: 0, Target: 1
  Input: [1, 0], Output: 1, Target: 1
  Input: [1, 1], Output: 1, Target: 0
Epoch 51:
  Input: [0, 0], Output: 0, Target: 0
  Input: [0, 1], Output: 0, Target: 1
  Input: [1, 0], Output: 0, Target: 1
  Input: [1, 1], Output: 1, Target: 0
Epoch 52:
  Input: [0, 0], Output: 0, Target: 0
  Input: [0, 1], Output: 0, Target: 1
  Input: [1, 0], Output: 0, Target: 1
  Input: [1, 1], Output: 0, Target: 0
Epoch 53:
  Input: [0, 0], Output: 0, Target: 0
  Input: [0, 1], Output: 0, Target: 1
  Input: [1, 0], Output: 0, Target: 1
  Input: [1, 1], Output: 0, Target: 0
Epoch 54:
  Input: [0, 0], Output: 0, Target: 0
  Input: [0, 1], Output: 1, Target: 1
  Input: [1, 0], Output: 0, Target: 1
  Input: [1, 1], Output: 0, Target: 0
Epoch 55:
  Input: [0, 0], Output: 0, Target: 0
  Input: [0, 1], Output: 1, Target: 1
  Input: [1, 0], Output: 1, Target: 1
  Input: [1, 1], Output: 0, Target: 0

=== Wahrheitstabelle 8: Targets = (0, 1, 1, 1) ===
Nicht funktionierende Startgewichte: [0.61480833 1.03493202]
Nicht funktionierende Startgewichte: [0.66515277 0.53405153]
Nicht funktionierende Startgewichte: [0.46272116 0.57875261]
Nicht funktionierende Startgewichte: [0.80346629 0.30710953]
Nicht funktionierende Startgewichte: [0.14059582 0.2698754 ]
Nicht funktionierende Startgewichte: [0.09780793 0.12394695]
Nicht funktionierende Startgewichte: [0.09413663 0.7283631 ]
Nicht funktionierende Startgewichte: [0.72401276 0.72286856]
Nicht funktionierende Startgewichte: [0.25422492 0.87490282]
Nicht funktionierende Startgewichte: [0.49128542 0.44187077]
Das Netzwerk hat Wahrheitstabelle 8 nach 1000 Iterationen nicht korrekt gelernt.

Final Test Output übersprungen, da das Netzwerk nicht gelernt hat.

=== Wahrheitstabelle 9: Targets = (1, 0, 0, 0) ===
Nicht funktionierende Startgewichte: [0.86333053 0.51582847]
Nicht funktionierende Startgewichte: [0.58129398 0.68829651]
Nicht funktionierende Startgewichte: [0.28845076 0.18934573]
Nicht funktionierende Startgewichte: [0.36029592 0.88166458]
Nicht funktionierende Startgewichte: [0.34422677 0.78155358]
Nicht funktionierende Startgewichte: [0.74717892 0.30505673]
Nicht funktionierende Startgewichte: [0.13290412 0.02444178]
Nicht funktionierende Startgewichte: [0.48855101 0.75161664]
Nicht funktionierende Startgewichte: [0.54000012 0.63846666]
Nicht funktionierende Startgewichte: [0.54473275 0.29038144]
Das Netzwerk hat Wahrheitstabelle 9 nach 1000 Iterationen nicht korrekt gelernt.

Final Test Output übersprungen, da das Netzwerk nicht gelernt hat.

=== Wahrheitstabelle 10: Targets = (1, 0, 0, 1) ===
Nicht funktionierende Startgewichte: [0.88050616 0.60754076]
Nicht funktionierende Startgewichte: [0.25211992 0.11053378]
Nicht funktionierende Startgewichte: [0.41084228 0.11944415]
Nicht funktionierende Startgewichte: [0.03196545 0.05718266]
Nicht funktionierende Startgewichte: [0.00824236 0.91127688]
Nicht funktionierende Startgewichte: [0.09803853 0.74764913]
Nicht funktionierende Startgewichte: [0.50729447 0.56112384]
Nicht funktionierende Startgewichte: [0.50046662 0.9304601 ]
Nicht funktionierende Startgewichte: [0.76366987 0.07927459]
Nicht funktionierende Startgewichte: [0.76757374 0.07266646]
Das Netzwerk hat Wahrheitstabelle 10 nach 1000 Iterationen nicht korrekt gelernt.

Final Test Output übersprungen, da das Netzwerk nicht gelernt hat.

=== Wahrheitstabelle 11: Targets = (1, 0, 1, 0) ===
Nicht funktionierende Startgewichte: [0.9571061  0.86958839]
Nicht funktionierende Startgewichte: [0.61034388 0.89214297]
Nicht funktionierende Startgewichte: [0.08170049 0.83491655]
Nicht funktionierende Startgewichte: [0.2675967 0.6605353]
Nicht funktionierende Startgewichte: [0.92807018 0.68767126]
Nicht funktionierende Startgewichte: [0.56380463 0.00870723]
Nicht funktionierende Startgewichte: [0.05370237 0.70869678]
Nicht funktionierende Startgewichte: [0.41555686 0.80313233]
Nicht funktionierende Startgewichte: [0.56496832 0.99030702]
Nicht funktionierende Startgewichte: [0.36859727 0.22081328]
Das Netzwerk hat Wahrheitstabelle 11 nach 1000 Iterationen nicht korrekt gelernt.

Final Test Output übersprungen, da das Netzwerk nicht gelernt hat.

=== Wahrheitstabelle 12: Targets = (1, 0, 1, 1) ===
Nicht funktionierende Startgewichte: [0.26445207 0.44353404]
Nicht funktionierende Startgewichte: [0.64296951 0.10504712]
Nicht funktionierende Startgewichte: [0.21783488 0.15769721]
Nicht funktionierende Startgewichte: [0.95728807 0.8108325 ]
Nicht funktionierende Startgewichte: [0.34986549 0.85997528]
Nicht funktionierende Startgewichte: [0.37883449 0.0606932 ]
Nicht funktionierende Startgewichte: [0.40679768 0.24628801]
Nicht funktionierende Startgewichte: [0.09242345 0.9686238 ]
Nicht funktionierende Startgewichte: [0.43667961 0.82270251]
Nicht funktionierende Startgewichte: [0.33925654 0.13718743]
Das Netzwerk hat Wahrheitstabelle 12 nach 1000 Iterationen nicht korrekt gelernt.

Final Test Output übersprungen, da das Netzwerk nicht gelernt hat.

=== Wahrheitstabelle 13: Targets = (1, 1, 0, 0) ===
Nicht funktionierende Startgewichte: [0.24856704 0.96516256]
Nicht funktionierende Startgewichte: [0.78895251 0.8785703 ]
Nicht funktionierende Startgewichte: [0.73848824 0.78700638]
Nicht funktionierende Startgewichte: [0.67608056 0.18687427]
Nicht funktionierende Startgewichte: [0.75880964 0.09276704]
Nicht funktionierende Startgewichte: [0.03303179 0.63453919]
Nicht funktionierende Startgewichte: [0.09896234 0.95876749]
Nicht funktionierende Startgewichte: [0.57016784 0.72125684]
Nicht funktionierende Startgewichte: [0.45332486 0.1849924 ]
Nicht funktionierende Startgewichte: [0.96894907 0.7697808 ]
Das Netzwerk hat Wahrheitstabelle 13 nach 1000 Iterationen nicht korrekt gelernt.

Final Test Output übersprungen, da das Netzwerk nicht gelernt hat.

=== Wahrheitstabelle 14: Targets = (1, 1, 0, 1) ===
Nicht funktionierende Startgewichte: [0.8053194  0.85346009]
Nicht funktionierende Startgewichte: [0.33914913 0.74071659]
Nicht funktionierende Startgewichte: [0.09313469 0.43734199]
Nicht funktionierende Startgewichte: [0.34004134 0.5549211 ]
Nicht funktionierende Startgewichte: [0.74524212 0.60978297]
Nicht funktionierende Startgewichte: [0.21797005 0.21888777]
Nicht funktionierende Startgewichte: [0.18433273 0.33942857]
Nicht funktionierende Startgewichte: [0.51941303 0.72317233]
Nicht funktionierende Startgewichte: [0.92225928 0.2399027 ]
Nicht funktionierende Startgewichte: [0.3867405  0.53614745]
Das Netzwerk hat Wahrheitstabelle 14 nach 1000 Iterationen nicht korrekt gelernt.

Final Test Output übersprungen, da das Netzwerk nicht gelernt hat.

=== Wahrheitstabelle 15: Targets = (1, 1, 1, 0) ===
Nicht funktionierende Startgewichte: [0.80288601 0.11733108]
Nicht funktionierende Startgewichte: [0.37219203 0.68676906]
Nicht funktionierende Startgewichte: [0.14936743 0.94633067]
Nicht funktionierende Startgewichte: [0.50798062 0.44046782]
Nicht funktionierende Startgewichte: [0.75813288 0.54561918]
Nicht funktionierende Startgewichte: [0.72041575 0.06685269]
Nicht funktionierende Startgewichte: [0.81015931 0.38429897]
Nicht funktionierende Startgewichte: [0.49293876 0.53586998]
Nicht funktionierende Startgewichte: [0.48674038 0.20383509]
Nicht funktionierende Startgewichte: [0.21149439 0.61667531]
Das Netzwerk hat Wahrheitstabelle 15 nach 1000 Iterationen nicht korrekt gelernt.

Final Test Output übersprungen, da das Netzwerk nicht gelernt hat.

=== Wahrheitstabelle 16: Targets = (1, 1, 1, 1) ===
Nicht funktionierende Startgewichte: [0.30723082 0.57069401]
Nicht funktionierende Startgewichte: [0.27540753 0.64719687]
Nicht funktionierende Startgewichte: [0.2683558  0.04291863]
Nicht funktionierende Startgewichte: [0.10324267 0.0214264 ]
Nicht funktionierende Startgewichte: [0.97205528 0.27429704]
Nicht funktionierende Startgewichte: [0.10737854 0.48426127]
Nicht funktionierende Startgewichte: [0.4240166  0.97897881]
Nicht funktionierende Startgewichte: [0.20294894 0.59551889]
Nicht funktionierende Startgewichte: [0.41538113 0.85649643]
Nicht funktionierende Startgewichte: [0.35756334 0.36061458]
Das Netzwerk hat Wahrheitstabelle 16 nach 1000 Iterationen nicht korrekt gelernt.

Final Test Output übersprungen, da das Netzwerk nicht gelernt hat.