Шахматы. Человек против компьютера
13 Июль 2022 08:02 #601
Вчера СЮ играл в Титульном Вторнике против соперников, сегодня против компа. Отлично, поглядим!
Играть с современными компьютерными программами, как воевать против невидимого воина ниндзя, — внезапно на ровном месте через пару шагов слетает корона.
Есть вариант сверхскоростной пули, в котором у каждого из соперников всего по 15 секунд. И вот в этом варианте Тан бросил вызов мощной шахматной программе StockFish.
Хлопнул Воблу по 15 сек
В битве на скорость мысли и кликов человек обыграл машину. Когда все мы смотрим, как лучшие китайские мастера играют в настольный теннис, не верится, что хотя бы на один удар можно среагировать. А у них розыгрыши по минуте! В партии со StockFish был натуральный пинг-понг. В результате у компьютера оставалось 13,5 секунды до истечения времени, но программа была повержена.
Тан поставил машине мат, когда на его часах оставалось 0,33 секунды! Так даже действующий чемпион мира не может. Кстати, Магнус Карлсен и Эндрю Тан пересекались на чемпионате мира по быстрым шахматам и блицу в Сочи, и тогда норвежец в «рапид» нанёс американцу сокрушительное поражение. Но в сверхбыструю «пулю» Тан проигрывает крайне редко.
Andrew Tang Punishes Stockfish with Legendary Speed
Шахматы. Человек против компьютера
09 Авг 2023 07:49 #610
Есть вариант сверхскоростной пули, в котором у каждого из соперников всего по 15 секунд.
Функции сознания ужимаются до распознавания фигур и передачи в мозг.
Дальнейшими обработкой позиции, выбором хода и ответным реагированием в 95% занято подсознание. А что там в нём творится — ужас!
Это ж надо так довести себя шахматами до состояния животных безусловных рефлексов.
Шахматы. Человек против компьютера
17 Март 2025 07:38 #611
Почти полвека назад я был молодым электронщиком,
откровенно скучавшим во время ночных смен на своей
любимой ЭВМ "Минск-32 и решившим научить её играть
хоть во что-нибудь.
Программировал я на языке ЯСК, так скромно тогда
назывался будущий Ассемблер.
Сначала я написал программу, с которой можно было
играть в крестик-нолики. Не банальные "три в ряд",
а "пять в ряд" и поле 25 на 25. Получилось.
Алгоритм - простой перебор вариантов. Если программа
начинала первой, то выиграть у неё было невозможно.
Затем я замахнулся на шахматы.
Это было нечто...
Очень трудно оказалось научить программу "ходить".
Я "учил" её, эту тупую железяку, почти год.
Когда это получилось, возник вопрос - как играть?
Очевидно, что банальный перебор ходов был бесперспективным.
В голову пришла идея самообучаемой программы.
То есть, каждую сыгранную партию программа записывала
на магнитную ленту и фиксировала результат.
При этом, если соперник выигрывал, то запись этой партии
помечалась, как перспективная и в следующих играх бралась
за основу. То есть, программа "училась на своих ошибках".
Чем лучше играл соперник, тем "умнее" становилась программа.
Оказалось, что двести-триста партий хватило для того, чтобы
худо-бедно добираться до приемлемого миттельшпиля.
Далее работал перебор. Увы, не всегда удачный.
Но коллеги мои играли очень средненько и часто
проигрывали этой программе. И очень огорчались.
В это же время появились статьи Ботвинника о том,
что группа его программистов разрабатывает шахматную
программу на Фортране. Я не представлял, как можно
написать такую программу на Фортране и считал, что
нашего корифея просто водят за нос некие жулики.
Почти одновременно в анонсировалась программа Каисса,
которая вроде бы победила другие аналогичные творения.
Я написал письмо создателям Каиссы, спросил о возможности
участия моей программы в следующих турнирах. Увы, когда я
рассказал о своём алгоритме, то мне ответили, что это не имеет
отношения к решению шахматных задач на компьютере.
Шахматы. Человек против компьютера
17 Март 2025 08:30 #612
kotovas01 wrote:
В это же время появились статьи Ботвинника о том,
что группа его программистов разрабатывает шахматную
программу на Фортране. Я не представлял, как можно
написать такую программу на Фортране и считал, что
нашего корифея просто водят за нос некие жулики.
Шахматы. Человек против компьютера
17 Март 2025 10:44 #613
Я не представлял, как можно написать такую программу на Фортране
Тоже был опыт программирования на Фортране.
90-е, эра MS-DOS, изучение САПР.
Преподаватель Аркадьевич раздавал каверзные задачки, типа, ввести с клавиатуры три точки X1Y1 X2Y2 X3Y3 на координатной плоскости и распечатать на экране рассчитанную площадь треугольника и длину его периметра.
Когда группа справилась, Аркадьевич ухмыльнулся и сказал: - Вы уже должны были научиться писать шахматные программы. А не эти формулы геометрии.
Ну, решил "приколоться" препод, - подумалось тогда, - с кем не бывает.
Как это модно сейчас сказать, потроллить. Чуть позже, изучая Си, убедился в своей правоте. Это как же в Фортране без указателей, ссылок и динамических массивов писать шахматный движок ?
Увы, когда я рассказал о своём алгоритме, то мне ответили, что это не имеет
отношения к решению шахматных задач на компьютере.
Пацаны тогда просто "не просекли поляну". Загрузки партий с магнитной ленты, анализ ходов в оперативной памяти, определение и вывод хода, - возможно, посчитали сложной, даже ненужной такую прогу на ассемблере.
Шахматы. Человек против компьютера
17 Март 2025 11:04 #614
Andralex wrote:
Как это модно сейчас сказать, потроллить. Чуть позже, изучая Си, убедился в своей правоте. Это как же в Фортране без указателей, ссылок и динамических массивов писать шахматный движок ?
Надо отметить, что позже появился Fortran 90, где были сишные элементы уже, но Ботвинник ковырялся в прошлом Фортране.
Шахматы. Человек против компьютера
17 Март 2025 11:21 #615
Указатели в старых языках вроде легко моделируются "дескрипторами" - масссивами и структурами, в которых хранятся индексы и смещения из других объектов.
Но конечно адресная арифметика в разы удобней.
Шахматы. Человек против компьютера
17 Март 2025 12:33 #617
Ну видимо значит пришлось бы статические клепать и при нехватке обрезать глубину рассчета.
Или эмулировать динамическое выделение своими средствами.
Сейчас в свежем фортранчеге вроде все есть уже.