Есть ли программное обеспечение для тестирования последовательностей на неслучайность в Java? - PullRequest
14 голосов
/ 31 января 2011

Я ищу программу или библиотеку на Java, способную найти неслучайные свойства последовательности байтов.Что-то, когда предоставляется огромный файл, запускаются некоторые статистические тесты и отчеты, если данные показывают какие-либо закономерности.

Я знаю три таких программы, но не на Java.Я попробовал все из них, но они, кажется, не работают для меня (что довольно удивительно, так как один из них от NIST).Самый старый из них, diehard , работает нормально, но его немного сложно использовать.

Ответы [ 3 ]

4 голосов
/ 02 февраля 2011

Как утверждают некоторые из комментаторов, это действительно проблема математической экспертизы. Самое простое объяснение, которое я могу найти для вас:

Выполнить тесты на неслучайность

автокорреляция

Это интересно, но поскольку он использует «головы или хвосты» для упрощения своего примера, вы обнаружите, что вам нужно пойти гораздо глубже, чтобы применить ту же теорию к шифрованию / криптографии и т. Д., Но это хорошее начало.

1 голос
/ 03 февраля 2011

Не столько ответ на ваш вопрос, сколько ваш комментарий, который "any observable pattern is bad". Это заставило меня задуматься о том, что случайность - это не проблема, а скорее наблюдаемые закономерности, и для решения этой проблемы обязательно нужны наблюдатели. Короче говоря, просто создайте веб-сайт и краудсорсинг.

Некоторые примеры этой техники, применяемой к именованию цветов: http://blog.xkcd.com/2010/05/03/color-survey-results/ и http://www.hpl.hp.com/personal/Nathan_Moroney/color-name-hpl.html

1 голос
/ 03 февраля 2011

Другой подход будет использовать Нечеткая логика . Вы можете извлечь нечеткие ассоциативные правила из наборов данных. Эти правила в основном имеют значение в форме:

если A, то B, интерпретируется, например, «если 01101 (присутствует), то 1111 (будет следовать)»

Поиск "нечетких данных" в поисках нечетких ассоциативных правил должен дать вам более чем достаточно результатов.

На самом деле ваша проблемная область довольно велика, поскольку именно в этом заключается анализ данных / текста. Это, и статистический и комбинаторный анализ, это лишь некоторые из них.

О программе, которая это делает - взгляните на this .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...