Puzzle-Link: Auf SudokuPad spielen.
Hintergrund: Künstliche Intelligenz (KI), oftmals basierend auf einem künstlichen neuronalen Netz, ist omnipräsent in diesen Zeiten. Die mathematischen Regeln dieses Sudokus entsprechen der Arbeitsweise von neuronalen Netzen, inklusive der ReLU-Aktivierungsfunktion.
Regeln: Es gelten die normalen Sudoku-Regeln.
Das Sudoku-Gitter bildet die Funktion eines dreischichtigen neuronalen Netzes nach. Jede 3x3-Box stellt ein „Neuron“ dar. Es bezeichne i die Neuronenschicht, mit i = 1 in den Sudoku-Spalten 1-3 („Eingabeschicht“), i = 2 in den Spalten 4-6 („versteckte Schicht“) und i = 3 in den Spalten 7-9 („Ausgabeschicht“). Das Netz enthält drei „Reihen“ von Neuronen. Es bezeichne j die Reihe, mit j = 1 in den Sudoku-Zeilen 1-3, j = 2 in den Zeilen 4-6 und j = 3 in den Zeilen 7-9.
Jedes Neuron enthält drei „Gewichte“ w_ijk (mit Käfigen markiert), mit den Indizes i und j, wie oben definiert, und einem dritten Index k, wobei k = 1 für die oberste Zeile, k = 2 für die mittlere Zeile und k = 3 für die unterste Zeile in jeder Box steht.
Die Zellen direkt links von jedem Gewicht w_ijk (mit Quadraten markiert) mit den Werten s_ijk enthalten Informationen über das Vorzeichen des benachbarten Gewichts, wie unten definiert.
Es bezeichne x_ij die „Eingaben“ für die Neuronen.
Das „Signal“ y_ij des Neurons in Schicht i und Reihe j wird über y_ij = Sum_k {sign(s_ijk) * w_ijk * x_ik} berechnet, wobei „Sum_k“ eine Summe über drei Terme (k = 1,2,3) des Dreifachprodukts in den geschweiften Klammern bedeutet und wir (unkonventionell) definieren, dass sign(s) = +1 ist, wenn s gerade ist, und sign(s) = -1, wenn s ungerade ist.
Für die Eingabeschicht und die versteckte Schicht wird jedes Signal durch eine „gleichrichtende lineare Einheit“ [Rectified Linear Unit (ReLU)]“ geleitet, die als „Aktivierungsfunktion“ des Neurons fungiert, wobei ReLU(y) = y für nicht-negative y und ReLU(y) = 0 für negative y. Die Ergebnisse liefern die Eingaben für die nachfolgenden Schichten über x_2j = ReLU(y_1j) und x_3j = ReLU(y_2j).
Die Kreise in Spalte 1 enthalten die positiven Eingaben x_1j und die Kreise in den Spalten 4 und 7 enthalten die absoluten Beträge der Signale y_1j und y_2j vor Anwendung der Aktivierungsfunktion, wobei j wie oben definiert ist.
Die drei Signale der Ausgabeschicht, y_3j, sind einstellige Zahlen und summieren sich zu Null.
Definition der Variablen: Das folgende Bild zeigt, wo im Gitter die indizierten Variablen auftreten.
Netzwerk-Struktur: Das folgende Bild zeigt, welche Zellen mathematisch miteinander verbunden sind. Zum Beispiel ist die Eingabe x_11 im Kreis in Zeile 2 Spalte 1 ein Multiplikationspartner all jener Gewichte in Spalte 3, die durch eine rote Linie verbunden sind. Umgekehrt werden im Neuron 1 in Box 1 alle drei Eingänge, die mit roten, grünen und blauen Linien verbunden sind, mit den entsprechenden Gewichten in den Käfigen in Spalte 3 multipliziert.
Die Beträge der Ziffern in Spalte 2 selbst werden nicht verwendet, aber sie bestimmen das Plus- oder Minuszeichen (wenn die Zelle im Quadrat entweder gerade oder ungerade ist), mit dem jedes der drei Produkte in die Summe eingeht. Das Signal ist die Summe der drei Produkte (unter Berücksichtigung ihrer richtigen Vorzeichen), und ihr absoluter Betrag wird in den Kreis eingetragen, auf den die kleinen Eckpfeile in den Käfigen zeigen. Dies funktioniert analog für alle anderen Neuronen/Boxen.
Die Aktivierungsfunktion wird nicht graphisch dargestellt. Beim Lösen ist zu beachten, dass nur diejenigen eingekreisten Zellen mit einem Signal >0 Eingangswerte für die nachfolgenden roten, grünen und blauen Linien in den nächsten Schichten liefern.
Beispiel (4x4): Das folgende Bild zeigt ein vollständig gelöstes Beispiel auf einem 4x4-Gitter. Es ist analog zum großen Rätsel, nur ohne die Aktivierungsfunktion und mit einer geänderten Schlussbedingung in den Regeln. Wer sich mit der Rätselmechanik vertraut machen möchte, kann das 4x4-Beispiel selbst hier auf SudokuPad lösen.
Regeln (4x4): Es gelten die normalen 4×4 Sudoku-Regeln. Das Sudoku-Gitter bildet die Funktion der Neuronen eines künstlichen neuronalen Netzes nach. Neuron 1 ist in den Zeilen 1-2 enthalten, Neuron 2 in den Zeilen 3-4. Jedes Neuron enthält zwei „Gewichte“ (mit Käfigen markiert). Die quadratisch markierten Zellen direkt links von jedem Gewicht mit dem Wert s enthalten Informationen über das Vorzeichen des benachbarten Gewichts, das unkonventionell definiert ist als sign(s) = +1, wenn s gerade ist, und sign(s) = -1, wenn s ungerade ist. Die Kreise in Spalte 1 enthalten die Eingabewerte, die Kreise in Spalte 4 die absoluten Beträge der Signale. Die Signale werden als Summen über die Produkte aus Eingaben und vorzeichenbehafteten Gewichten wie folgt berechnet: R1C4 = R1C1 * sign(R1C2) * R1C3 + R3C1 * sign(R2C2) * R2C3 und R3C4 = R1C1 * sign(R3C2) * R3C3 + R3C1 * sign(R4C2) * R4C3. Die Signale sind entweder beide positiv oder beide negativ.
Lösungscode: Alle Ziffern der Reihe 4 (von links nach rechts) gefolgt von Spalte 9 (von oben nach unten) ohne Leerzeichen.
am 21. August 2024, 00:05 Uhr von Flash Groudon
Brilliant theme and execution!
The ruleset may initially appear daunting but it becomes relatively intuitive once you work through the reference example. It also leads to some really fun (and surprising) deductions as you work through the puzzle.
—————
Thank you so much for playing and your kind words! - TB