Perlin-Rauschen und Simplex-Rauschen sollen nützliches Rauschen erzeugen und nicht völlig zufällig sein. Diese Algorithmen werden im Allgemeinen verwendet, um prozedural erzeugte Landschaften und dergleichen zu erzeugen. Zum Beispiel ist es Gelände wie dieses (Bild von here) erzeugen kann:

In diesem Bild, erzeugt das Rauschen eines 2D heightmap wie dies (Bild von here):

Die Farbe jedes Pixels entspricht einer Höhe. Nach dem Erstellen einer Heightmap wird mit einem Renderer ein Gelände erstellt, das den "Höhen" (Farben) des Bildes entspricht.
Daher sind die Ergebnisse des Algorithmus nicht wirklich "zufällig"; Es gibt viele leicht erkennbare Muster, wie Sie sehen können.
Simplex scheint angeblich ein bisschen "netter" zu sein, was weniger Zufälligkeit bedeuten würde, aber sein Hauptzweck ist, dass es ähnliche Geräusche erzeugt, aber besser zu höheren Dimensionen skaliert. Das heißt, wenn man 3D-, 4D-, 5D-Rauschen erzeugen würde, würde Simplex-Rauschen das Perlin-Rauschen übertreffen und ähnliche Ergebnisse erzeugen.
Wenn Sie einen allgemeinen Pseudozufallszahlengenerator wünschen, schauen Sie sich die Mersenne twister oder other prngs an. Seien Sie gewarnt, Kryptografie, prngs kann voller Vorbehalte sein.
Update:
(Antwort auf OPs aktualisiert Frage)
Was die zufälligen Eigenschaften dieser Störungsfunktionen, weiß ich Perlin Noise verwendet einen (sehr) des armen Mannes PRNG als Eingabe und tut etwas Glättung/Interpolation zwischen benachbarten "zufälligen" Pixeln. Die Zufälligkeit der Eingabe ist eigentlich nur Pseudozufallsindexierung in einen vorberechneten Zufallsvektor.
Der Index wird mit einigen einfachen ganzzahligen Operationen berechnet, nichts zu ausgefallen. Zum Beispiel verwendet das noise ++ - Projekt vorberechnete "randomVectors" (siehe here), um sein Quellrauschen zu erhalten, und interpoliert zwischen verschiedenen Werten von diesem Vektor. Es erzeugt einen "zufälligen" Index in diesen Vektor mit einigen einfachen ganzzahligen Operationen, die eine kleine Menge an Pseudozufälligkeit hinzufügen. Hier ist ein Ausschnitt:
int vIndex = (NOISE_X_FACTOR * ix + NOISE_Y_FACTOR * iy + NOISE_Z_FACTOR * iz + NOISE_SEED_FACTOR * seed) & 0xffffffff;
vIndex ^= (vIndex >> NOISE_SHIFT);
vIndex &= 0xff;
const Real xGradient = randomVectors3D[(vIndex<<2)];
...
Das etwas zufällige Rauschen wird dann geglättet und in Wirkung mit benachbarten Pixeln gemischt werden, um die Muster zu erzeugen.
Nach dem Erzeugen des Anfangsgeräuschs hat Perlin/Simplex-Rauschen das Konzept von Oktaven von Rauschen; das heißt, das Rauschen in verschiedenen Maßstäben wieder in sich selbst zu mischen.Dies erzeugt noch mehr Muster. Daher ist die anfängliche Qualität des Rauschens wahrscheinlich nur so gut wie die vorberechneten Zufallsarrays plus der Effekt der Pseudozufallsindexierung. Aber nach allem, was das Perlin-Rauschen tut, nimmt die scheinbare Zufälligkeit signifikant ab (sie breitet sich tatsächlich über eine größere Fläche aus, denke ich).