2010-03-08 8 views
5

Quelle est la meilleure façon de générer une chaîne aléatoire qui est composé d'alphabets et son maximum de 8 millions de caractères qui seront testés à l'aide des algorithmes chaîne de recherche? Math.random est-il toujours correct pour le caractère aléatoire ou la fiabilité de la propagation des caractères basés sur les statistiques? n'importe quel commentaire est apprécié, juste moi si je ne suis pas d'accord avec mes idées.générateur de texte aléatoire

Répondre

1

Bien sûr, pourquoi pas? 8 MiB n'est pas beaucoup, en fait. Même les mauvais PRNG ont des périodes d'au moins quelques milliards et Java utilise un LCG de 48 bits. Alors oui, ça devrait aller.

1

Cela dépend entièrement de l'objectif de générer cette chaîne. Si vous générez des chaînes afin de tester les performances d'un algorithme de recherche, vous pouvez générer un texte « en anglais comme » contenant une distribution de mots similaires à un document typique.

Une façon d'y parvenir serait de construire un Markov Chain, dans lequel vous générez pour chaque état un mot donné; par exemple. "Le" puis transition vers un nouvel état avec une certaine probabilité; par exemple. "Le" -> "premier". Vous pouvez générer automatiquement la chaîne de Markov à l'aide d'un grand corps de texte de l'échantillon, comme le Brown Corpus.

Ou encore plus simple, vous pouvez tester votre algorithme en utilisant un corpus particulier (comme le Brown Corpus) plutôt que de devoir générer des échantillons vous-même.

Questions connexes