Найти в Дзене
Пишем шахматную программу Таблица перестановок (Transposition table)
Здравствуйте дорогие друзья Предыдущая публикация Таблица перестановок - схема хеширования, ставящая свой целью обнаружение идентичных позиций в различных частях дерева поиска.  Таблица перестановок - безопасна оптимизация, которая может экономить много времени. Попробуем и мы организовать такую таблицу. MainActivity.java public long GlobalTime = 2*3600L; public int perft = 1; public long[][][] ZobristKey=new long[12][2][64]; public long MoveZobKey; public long DescZobKey; public...
4 года назад
Пишем шахматную программу (хеш-функция)
Здравствуйте дорогие друзья Предыдущая публикация Итак позицию мы описываем с помощью zobrist ключей. Для того чтобы хранить эти ключи в таблице или проще говоря в массиве нужна хеш-функция на вход которой подается ключ и на выходе получаем значение (индекс массива), куда положим ключ. Ясно, что позиций и соответственно ключей будет ну очень много. А таблица будет ограниченного размера и соответственно для разных ключей можно получить одно и то же значение. Это называется коллизией. Простор для экспериментов с разными хеш-функциями широчайший...
4 года назад
Пишем шахматную программу (Zobrist ключ)
Здравствуйте дорогие друзья Предыдущая публикация Хеширование Zobrist (также называемое ключами Zobrist ) - это конструкция хеш-функции, используемая в компьютерных программах для реализации таблиц транспонирования , особого вида хеш-таблицы, которая индексируется позицией доски и используется, чтобы не анализировать одну и ту же позицию более одного раза. При написании шахматной программы необходимо уметь сравнивать две позиции, чтобы увидеть, совпадают ли они. Для этого и нужно генерировать Zobrist ключи. Zobrist.java package com.example.myappshess; import java.util.Random; public class Zobrist...
4 года назад
Пишем шахматную программу (Minimax)
Здравствуйте дорогие друзья Предыдущая публикация MinMax есть основной переборный алгоритм поиска для 2х игроков. Он очень прост: 1. Мы получаем все ходы из данной позиции
4 года назад
Пишем шахматную программу (перемещения фигур)
Здравствуйте дорогие друзья. Предыдущая публикация Гарри Каспаров однажды сказал, что «шахматы — это муки разума». Видимо поэтому кто-то решил объединить шахматы с физическими испытаниями, создав шахбокс...
4 года назад
Пишем шахматную программу (позиции для теста)
Здравствуйте дорогие друзья. Предыдущая публикация Для того чтобы двигаться дальше я посчитал необходимым иметь доступ к как можно большему числу различных позиций. Позиции будут загружаться из файла fen...
4 года назад