Ich möchte ein Programm zum randomely Erstellen einer Funktion schreiben, die als eine Eingabe N Binärwerte empfängt und sie auf einen Binärwert abbildet. Der naive Ansatz wäre, alle 2^(2^N) solchen Funktionen zu erzeugen, die als Wahrheitstabellen dargestellt werden, und eine zufällig zu wählen - aber dies ist für große N unpraktisch. Außerdem ist die Tabelle in der Wahrheit Speicher Ineffizient wäre es wünschenswert, es als eine Formel y = f (x1, x2, ..., xN) darzustellen.Randomely Erstellen einer booleschen Funktion von N booleschen Variablen
Danke!
Vielen Dank! Aber wenn ich Ihre Lösung richtig verstanden habe, erstellen Sie eine zufällige Ad-hoc-Zuordnung der Eingabe zu einem booleschen Ergebnis. Ich möchte die Funktion zufällig aus allen möglichen Funktionen auswählen (wenn zum Beispiel N = 3 ist, kann eine mögliche gewählte Funktion f (x1, x2, x3) = x1 und (x2 oder x3) sein, eine andere kann f sein (x, 1, x2, x3) = (x1 oder x2) und x3), aber sobald es ausgewählt wurde, möchte ich die gleiche Funktion für verschiedene Eingaben verwenden können. – user1767774
@ user1767774 OK. Eine Idee könnte darin bestehen, zuerst die Folge von "oder" und "und" Operationen nach dem Zufallsprinzip zu erzeugen und sie dann auf beliebige andere Eingaben anzuwenden. –