Есть ли какое-либо программное обеспечение для тестирования последовательностей для неслучайности в Java?
Я ищу программу или библиотеку на Java, способную находить неслучайные свойства последовательности байтов. Что-то при предоставлении огромного файла запускает некоторые статистические тесты и отчеты, если данные показывают какие-либо закономерности.
Я знаю три таких программы, но не на Java. Я пробовал их всех, но они действительно не работают для меня (что довольно удивительно, так как один из них - NIST). Самый старый из них diehard работает отлично, но это немного сложно использовать.
Ответы
Ответ 1
Как уже отмечали некоторые комментаторы, это действительно проблема экспертной математики. Самое простое объяснение, которое я могу найти для вас, это:
Выполнить тесты для неслучайности
Автокорреляция
Это интересно, но поскольку он использует "головы или хвосты" для упрощения своего примера, вы обнаружите, что вам нужно гораздо глубже применить ту же теорию к шифрованию/криптографии и т.д., но это хороший старт.
Ответ 2
Другим подходом будет использование Нечеткая логика. Вы можете извлекать нечеткие ассоциативные правила из наборов данных. Эти правила в основном имеют последствия в форме:
если A тогда B, интерпретируется, например, "если 01101 (присутствует), то 1111 (будет следовать)"
Googling "интеллектуальный анализ нечетких данных" / "извлечение нечетких ассоциативных правил" должен дать вам более чем достаточный результат.
Ваша проблемная область на самом деле довольно велика, так как это то, чем занимается интеллектуальный анализ данных/текста. Это и статистический и комбинаторный анализ, просто чтобы назвать несколько.
О программе, которая это делает - посмотрите this.
Ответ 3
Не так много ответов на ваш вопрос, а на ваш комментарий, что "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