Иллюстративная программа к статье "Х- проблема числа
3. Определение..."
Программа вычислят величину Cr для любой маски.
1). Начало демонстрации.
Скачайте программу illustr_prg.zip, распакуйте, и запустите
illustr_prg.exe.
Нажмите кнопку "Start
test" на рисунке (номер 1 на рисунке) . Программа начнёт
вычислять Сr для маски (2,1). (Маска расположена в правом верхнем
углу).
Примерно 30 секунд на обычном ноутбуке достаточно, чтобы правильно
найти Сr = 27. (Цифра 2 на рисунке).
Критерий работы программы: изменение чисел в левом нижнем
углу (цифра 2 на рисунке).
Как работает программа?
1). Сначала программа разыгрывает количество клеток в нашем
одномерном Автомате. По формуле 1 на рисунке. Помните, что
граничное число для них равно 64. (N0+dN0<64).
2). Потом разыгрывается число начальных клеток В. По формуле 2 на
рисунке. (Лучше бы, чтобы это число было поменьше. При количестве
В клеток близком к L/2 Автомат возвратится очень быстро, и наше
испытание будет не эффективно). После этого, данное число клеток
случайным образом ставится на нашу линейку.
3). Далее см. работу "Х- проблема числа 3. Определение..."
Программа начинает работать; вычисляет матрицу Fx(3)
от t и вычисляет добавление (если оно есть) в нашу "разрешающую"
таблицу. Граничное величина К для массива Fx(3)
у нас равна 2000. (Число С на рисунке. Его можно
изменить в меньшую сторону). Это соответствует приблизительно
(3/2)*2000=3000 шагам Автомата. Если данному испытанию не хватило
данного числа шагов чтобы возвратится, оно прекращается и
программа переходит к следующему. (В этом нет ничего страшного.
Всё равно получившиеся при этом ~ 2000 строк, естественно,
учитываются в "разрешающих" таблицах). В случае, если испытание
возвратилось, его результаты отражены на тёмно сером фоне.
(Объясним 3 числа стоящих одно над другим над каждой
нашей таблицей. Первое число - это число конфигураций которое
получилось для чисел 0, 1, 2. Второе число - это
число конфигураций которое получилось для чисел -0 (=3), -1(=4),
-2(=5)). Третье число - "объединённое". (Ясно что обе
таблицы для 0 и для -0 - это одно и тоже. Одно из другого
получается полным дополнением).
Можете нажать Stop, потом нажать Clear, выбрать другую маску и
начать новое испытание. (После выбора собственно маски, не
забудьте нажать кнопку "Do from mask". Она делает правильные
смещения для определения Fx(3)).
Какие маски получились правильными а какие нет, у автора, см. на
рисунке.
Здесь любопытно следующее. Для числа клеток в маске (вместе с
центральной) равной 7, для определения CR,
обычно достаточно несколько минут испытаний. Но чтобы получить
правильный результат для CR для 8 точек
в маске, часто не хватает и нескольких дней работы ноутбука (при
наших параметрах)!
Если выбрать неправильную маску (или взять не те смещения) то
программа выбросит иконку "ambiguity" (см на
рисунке). Это значит, что в "разрешающей" таблице образовалась
двузначность. Разные величины
"разрешающей" таблицы соответствуют
одинаковым исходным величинам.
Начало матриц Сv(t) даются в виде "фона". Для маски
(1,5) сразу видны нарушения Инварианта Точного Заполнения.