Исследование и преобразование путем сортировки псевдослучайных последовательностей На языках C# и qbasic созданы алгоритмы, а также электронная таблица, совместимая с Excel, которые доказывают возможность проверки псевдослучайных последовательностей на предмет случайности и способны идентифицировать неслучайные последовательности или последовательности малой мощности.
Графическая оболочка: Таблица Excel, совместимая с исследованием более 50 тысяч.
элементы 2-х типов:
1. Изучение последовательности чисел;
2. Изучение последовательности цифр 0 и 1.
Исследование числовой последовательности: в рабочем листе определяются двоичные функции, такие как меньше/больше и четное/нечетное.
Графическая оболочка, совместимая с Excel, использует следующие формулы:
Количество совпадений подряд рассчитывается по формуле N=log(1-C)/log(1-P),
где N — шаг, P — вероятность, C — достоверность вероятности.
Номер шага распространения: при С=Р=0,5; N = 1 = log0,5/log0,5 = log(1-1/2)/log(1-1/2) = 1 при С=0,25; Р=0,5; N = 2 = log0,75/log0,5 = log(1-1/4)/log(1-1/2) = 2 и т. д. Столбец А – название последовательности; Столбец Б – последовательность; Столбец D – 1-е распределение: меньше/больше; Столбцы E, F – определение одинаковых подряд; Столбцы G, H – подсчет количества одинаковых признаков подряд; Столбец J – 2-е распределение: четное/нечетное; Графы К, Л – обозначение характеристик, идентичных подряд; Столбцы M, N – подсчет количества одинаковых признаков подряд. Формулы, использованные в таблице:
Ях.
|
Формула | Объяснение |
С1 | =СРЕДНЕЕ(D1:D55000) | Среднее значение чисел в последовательности |
С2 | =СРЕДНЕЕ(B1:B55000) | Среднее распределение 1 |
Д1 | =ЕСЛИ(B1 | Если число меньше среднего, то 0, иначе 1 |
Д2 | =ЕСЛИ(B2 | Если число меньше среднего, то 0, иначе 1 и т.д. |
Е2 | =ЕСЛИ(D2=D1;E1+1;0) | Если признаки распределения идентичны, то счетчик одинаковых в ряду +1, в противном случае счетчик обнуляется.
|
Ф2 | =ЕСЛИ(E3=0;E2;" ") | Если счетчик сброшен, записывается самый высокий счетчик.
|
G2-G19 | 0…7 | Цифры для сравнения |
H1 | =СУММ(H2:H10) | Сумма сравнений |
Н2 | =СЧЕТЕСЛИ(F$1:F$55000,G2) | Количество знаков 1 подряд |
Н3 | =СЧЁТЕСЛИ(F$1:F$55000,G3) | Количество знаков 2 подряд и т.д. |
Н12 | =H2/H3 | Отношение ближайших количеств признаков |
I12 | =СРЕДНЕЕ(H12:H19) | Среднее соотношение |
I13 | =СРЕДНЕЕ(N12:N19) | Среднее соотношение и т.д. |
я1 | =СРЕДНЕЕ(J1:J55000) | Среднее распределение 2 |
J1 | =ЕСЛИ(B1/2=ЦЕЛОЕ(B1/2),0,1) | Если число четное, то 0, иначе 1 |
J2 | =ЕСЛИ(B2/2=ЦЕЛОЕ(B2/2),0,1) | Если число четное, то 0, иначе 1 и т. д. |
К2 | =ЕСЛИ(J2=J1;K1+1;0) | Если признаки распределения идентичны, то счетчик одинаковых в ряду +1, в противном случае счетчик обнуляется.
|
Л2 | =ЕСЛИ(К3=0;К2;" ") | Если счетчик сброшен, записывается самый высокий счетчик.
|
М2-М19 | 0…7 | Цифры для сравнения |
N1 | =СУММ(N2:N10) | Сумма сравнений |
Н2 | =СЧЁТЕСЛИ(L$1:L$55000,M2) | Количество знаков 1 в ряду |
N3 | =СЧЁТЕСЛИ(L$1:L$55000,M3) | Количество знаков 2 подряд и т.д. |
N12 | =H2/H3 | Отношение ближайших количеств признаков |
Возможно создание графиков значений любых ячеек таблицы.
В продолжении таблицы исследуются случайные перестановки последовательности.
Столбец Q – случайный для перестановки: целые числа до 10^6,
минимизировать случайное повторение;
Столбец R изначально является копией столбца B, а затем изменен;
Столбцы T.AE аналогичны столбцам C.N.
Яч.
|
Формула | Объяснение |
1 квартал | =СЛУЧМЕЖДУ(0;1000000) | Случайно для перестановки |
2 квартал | =СЛУЧМЕЖДУ(0;1000000) | Случайно для перестановки и т. д. |
Результат: перестановки столбца R и новая последовательность.
Исследования ГПСЧ на основе встроенного ГПСЧ показывают нормальность алгоритма.
Прежде чем переставлять 500 ячеек:
После перестановки 500 ячеек:
Проверка показывает хорошее распределение, сравнивая признаки: маленький/большой и четный/нечетный.
В таблице рассматривается тригонометрический ГПСЧ, в котором используются десятичные числа тригонометрических функций без использования стандартного ГПСЧ.
До перестановки 500 ячеек: неудовлетворительно'rndsin.bas OPEN "rndsin.txt" FOR OUTPUT AS #1 c = 0: a = SIN(TIMER) * 100 + 200 PRINT #1, "a= ", a FOR k = 1 TO 10 ^ 3 + a * 10 ^ 3: NEXT FOR i = 1 TO 100 FOR j = 1 TO a x = SIN(TIMER) * 1000 + 2000 b = COS(x): c = c + b LOCATE 1, 1: PRINT j NEXT d = (ABS(c)) - INT(ABS(c)) PRINT #1, d FOR k = 1 TO 10000 + a * b * c * 10 ^ 2: NEXT NEXT
Очевидно, что распределение плохое, выявляя периодичность и разброс значений, сравнивая знаки: маленький/большой и четный/нечетный.
После перестановки 500 ячеек: ок
Цель: устранить встроенный PRNG.
Метод перестановки: исходная последовательность сортируется, та же самая последовательность, перевернутая или каким-либо образом инвертированная, принимается за случайную для перестановки.
Например, в Excel 2 копии столбцов последовательности создаются на расстоянии и один столбец слева имеет ведущую строку 1.55000 в строке и 2 столбца сортируются от максимума к минимуму, инвертируя исходные данные.
.
Далее 2 столбца последовательности сравниваются и сортируются рядом, где ведущий столбец является обратным, а подчиненный столбец — начальным.
До перестановки 500 ячеек: неудовлетворительно
После перестановки 500 ячеек: ок
Результат: последовательность стала нормальной без встроенного ГПСЧ.
Выводы: истинная случайность неестественна для людей, и можно синтезировать маломощные или поддельные последовательности, которые люди и компьютеры принимают за случайные последовательности.
Можно синтезировать любые последовательности на языках программирования и в таблицах, совместимых с Excel. Задача преодоления случайности решается путем распознавания нормальной или ложной случайности в таблице Excel с графиками.
К.
?.
Д.
Продолжение после одобрения: Программы перестановки на языках qbasic и C# Изучение цифр числа Пи Имитация случайности Разработки 2020 года от зарубежных единомышленников Теги: #Алгоритмы #Учебный процесс в ИТ #Большие данные #C++ #Занимательные задачи #Excel #случайность #ГПСЧ #интеграл #вероятность #вероятность #вероятность #логарифм #Данилин
-
Инструмент Анализа Социальных Сетей Likount
19 Oct, 24 -
Право Наследования Доменных Имен В Рунете
19 Oct, 24 -
Подготовка Графики Для Ios-Приложений
19 Oct, 24 -
Чему Я Научился У Джейсона Фрида (37Signals)
19 Oct, 24