воскресенье, 10 мая 2026 г.

Генетические алгоритмы поиска в шахматных программах и нейросетях.

 

 

Альфа-бета алгоритм

В шахматном программировании царит альфа-бета алгоритм поиска лучшего хода. Это оптимизированный перебор для двух сторон на некоторую глубину. Этот алгоритм дает возможность построить шахматную программу базового уровня. Для достижения уровня 1 разряда, мастера и гросса этого мало. Мало потому что дерево поиска растет экспоненциально и чтобы сосчитать поглубже, до 10-12-14 полуходов, нужны эвристики оптимизации поиска.

Недействительное перемещение.

Ключевой эвристикой конца прошлого века стало Недействительное перемещение. Если сторона пропускает ход то это засчитывается как минимум и если минимум уже больше лучшей оценки противника, то дальше можно не продолжать.

Программа Альфа Шахматы

Программа Альфа Шахматы использовала нейросети для оценки позиции, и метод Монте-Карло поиска матовых окончаний. Каждому ходу присваивается оценка для сортировки - случайное число в диапазоне до некоторого значения, выдаваемого нейросетью, ведающей безопасностью короля. Так сделано в Вяленой Рыбе, нынешнем чемпионе.

Генетические алгоритмы

Кроме того, существуют генетические алгоритмы оптимизации поиска где дальше просчитываются только лучшие ходы что повышает вероятность при достижении глубины поиска 12-14 полуходов что программа будет играть в силу гросса.

Кроме того, в глубоких нейросетях совершенно необязательно прогонять все коэффициенты по всем слоям. Можно сокращать немного дельта обучения для условно худших. Это нужно для скорости и для обобщения данных.

FANTOM CHESS.

 

 

Предлагаю вашему вниманию учебный движок с генетическим алгоритмом. Протокол winboard. Программа скомпилирована для Линукс 64 Дебиан 12. Т е нужен дистрибутив Линукс где компилятор gcc версии такой же или более новый. Мой линукс 2022 года.

Запуск:

sudo apt install xboard

xboard -fcp ./fantom

Ссылка для скачивания:

https://disk.yandex.ru/d/hihWQzhIufBsRA 

Вопросы пожелания по адресу:

evgeniy-korniloff@yandex.ru

 


 

 

суббота, 2 мая 2026 г.

Что такое дивергенция

 

Разберу вывод формулы дивергенции — и геометрически, и математически.

Что такое дивергенция

Дивергенция (расходимость) векторного поля в точке показывает, насколько поле «расходится» из этой точки — является ли точка источником или стоком.

  • Если — точка является источником (поле «вытекает»).

  • Если — точка является стоком (поле «втекает»).

  • Если — поле соленоидально (нет источников/стоков).

Геометрический вывод (через поток)

Идея: дивергенция — это поток поля через малую замкнутую поверхность на единицу объёма при стягивании поверхности в точку.

Шаг 1. Поток через малый параллелепипед

Возьмём точку (x,y,z) и окружим её малым параллелепипедом со сторонами Δx, Δy, Δz:

(x+Δx, y+Δy, z+Δz)
       +────────────+
      /         /|
     /         / |
    +─────────+  |
    |         |  |
    |         |  + (x, y, z)
    |         | /
    |         |/
    +─────────+

Шаг 2. Вычисляем поток через грани

Поток вектора F через поверхность S определяется как:

где n — единичная нормаль к поверхности.

Рассмотрим поток через пары противоположных граней:

1. Грани, перпендикулярные оси :

  • Левая грань (x фиксировано):

    • нормаль: ;

    • поток: .

  • Правая грань ( фиксировано):

    • нормаль: ;

    • поток: .

Суммарный поток через эти грани:

2. Грани, перпендикулярные оси :
Аналогично:

3. Грани, перпендикулярные оси :

Шаг 3. Суммарный поток

Складываем потоки через все грани:

Шаг 4. Поток на единицу объёма

Объём параллелепипеда: . Тогда поток на единицу объёма:

При это отношение стремится к дивергенции в точке (x,y,z).

Окончательная формула

Для векторного поля дивергенция определяется как:

В компактной записи через оператор набла ():

где .

Связь с теоремой Гаусса-Остроградского

Теорема связывает поток через замкнутую поверхность с дивергенцией внутри объёма:

Левая часть — поток через поверхность V, правая — интеграл от дивергенции по объёму V.

Пример расчёта

Задача: найти дивергенцию поля .

Похоже, вы заметили неполноту в предыдущем ответе про дивергенцию — давайте завершим пример расчёта и разберём ключевые моменты подробнее.

Завершение примера расчёта дивергенции

Задача: найти дивергенцию поля .

Решениение:

  • ;

  • ;

  • .

Тогда дивергенция:

Интерпретация:

  • В точке (0,0,0): — нет источников/стоков.

  • В точке (1,1,1): — источник.

  • В точке (1,1,1): — сток.


Дополнительные примеры

Пример 1. Поле скоростей жидкости

Пусть — поле скоростей. Тогда:

Это означает, что жидкость равномерно «расходится» из каждой точки — есть постоянный источник интенсивности 3.

Пример 2. Соленоидальное поле

Рассмотрим поле . Вычислим дивергенцию:

Поле соленоидально — нет источников или стоков (типично для магнитных полей).


Физический смысл дивергенции

Представьте векторное поле как поле скоростей течения жидкости:

  • — в точке жидкость «вытекает» (источник);

  • — жидкость «втекает» (сток);

  • — сколько втекает, столько и вытекает (нет источников/стоков).

Аналогия:

  • Кран с водой — источник ().

  • Слив в раковине — сток ().

  • Река без притоков и стоков — соленоидальное поле ().


Математические нюансы вывода

Разберу подробнее переход от потока к дивергенции.

Шаг 1. Поток через малый объём

Для параллелепипеда со сторонами Δx, Δy, Δz поток через грани, перпендикулярные оси Ox:

При малых Δx это можно приблизить:

Аналогично для других осей.

Шаг 2. Суммарный поток

Шаг 3. Поток на единицу объёма

Шаг 4. Предельный переход

При отношение VΦ стремится к дивергенции в точке:

Это определение дивергенции через поток.


Связь с теоремой Гаусса-Остроградского

Теорема утверждает: поток векторного поля через замкнутую поверхность равен интегралу от дивергенции по объёму внутри:

Практическое применение:

  • Левая часть — вычисление потока через сложную поверхность.

  • Правая часть — интегрирование дивергенции (часто проще).

Пример: для поля и куба [0,1]3:

  • Поток через все грани: 1 (только через грань ).

  • Дивергенция: .

  • Интеграл от дивергенции: — совпадает.


Краткий итог

  1. Формула дивергенции: .

  2. Физический смысл: показывает интенсивность источников/стоков в точке.

  3. Геометрический вывод: основан на вычислении потока через малый параллелепипед и предельном переходе.

  4. Теорема Гаусса: связывает поток через поверхность с интегралом от дивергенции внутри.

  5. Соленоидальные поля: дивергенция равна нулю (например, магнитное поле).

Хотите, разберу какой‑то аспект подробнее или покажу расчёт для другого векторного поля?