Муниципальное бюджетное учреждение дополнительного образования
«Детско-юношеский центр «Вариант»
«Использование информационно-компьютерных технологий при обучении детей игре в шахматы»
Методическая разработка по дополнительной общеразвивающей
программе физкультурно-спортивной направленности «Обучение игре в шахматы»
Возраст обучающихся: 7-16 лет.
Год обучения: 1-5
Автор - разработчик:
Шешуков Михаил Иванович, педагог дополнительного образования.
г. Екатеринбург. 2024г.
Пояснительная записка
Актуальность. Современное общество характеризуется большой насыщенностью компьютерами и широким распространением компьютерных технологий обработки информации, что дало основание для разработки методики обучения детей игре в шахматы с применением компьютерных технологий. Проблемная ситуация заключается в противоречиях между исторически сложившимися традиционными, вербальными методами, и новыми, современными подходами развивающего обучения с использованием компьютерных технологий. Объект проекта - процесс обучения игре в шахматы детей с применением компьютерных технологий, направленный на комплексное развитие интеллектуальных способностей и становление спортивных навыков и умений. Предмет проекта - принципы, средства, методы, алгоритмы, авторские компьютерные программы, применяемые в процессе обучения начинающих шахматистов. Цели проекта - обучение детей игре в шахматы с применением компьютерных технологий; анализ динамики роста шахматного мастерства, развития умственных способностей, спортивных умений и навыков детей.
Рабочая гипотеза. Предполагалось, что обучение детей игре в шахматы с применением компьютерных технологий, направленное на развитие определенных интеллектуальных качеств, может являться действенным средством развития у ребенка интеллектуальных способностей. Оно будет эффективнее, если обучению игре в шахматы придать определенный спортивный уклон и совмещать с овладением основами компьютерных технологий. • теоретически обоснована используемая методика начального обучения детей игре в шахматы с применением компьютерных технологий на базе известных дидактических принципов. • установлено, что подобранная методика обучения игре в шахматы с применением компьютерных технологий является комплексным средством повышения успеваемости, развития определенных интеллектуальных качеств и совершенствования шахматных умений и навыков игры детей. • выявлены условия, повышающие эффективность обучения детей игре в шахматы с применением компьютерных технологий. • разработан и действует комплекс обучающих компьютерных программ, каждая из которых является дидактическим материалом для проведения специального курса обучения детей «Электронные шахматы». Теоретическая значимость проекта заключается в подборке и обосновании подходов к комплексному обучению детей компьютерным технологиям на шахматном материале, способствующем гармоничному развитию личности. Практическая значимость исследования. Используемая методика обучения игре в шахматы с применением компьютерных технологий позволяет полнее и достаточно точно составить разного рода характеристики детей. Эта методика показала свою эффективность, что продемонстрировано некоторым улучшением успеваемости детей в школе, способствовала повышению мастерства в шахматной игре, успешному овладению основами информационных компьютерных технологий применительно к конкретным объектам. Используются методические приемы и специфические шахматные тесты с применением компьютерных технологий для обучения игре в шахматы детей. Предлагаются следующие основные положения: 1. Обучение детей игре в шахматы с применением компьютерных технологий является действенным средством повышения успеваемости и отдельных интеллектуальных способностей - внимания, оперативной памяти, логического мышления и пространственного воображения; служит средством популяризации шахмат как вида спорта и становления спортивной квалификации детей. - способствует гармоничному развитию личности. 2. Реализация отдельных принципов спортивной подготовки детей в процессе обучения и совершенствования приемов игры в шахматы с применением компьютерных технологий открывает возможность подготовки шахматистов-спортсменов в сравнительно короткий период времени (один учебный год). 3. Методические приемы и специфические шахматные тесты, используемые в обучении детей, способствуют не только становлению и развитию знаний, умений и навыков игры в шахматы с применением компьютерных технологий, но и оказывают положительное влияние на общее развитие детей. 4. Комплекс социальных условий, являющийся составной частью этой методики, обеспечивает эффективность формирования всесторонне развитой личности. В процессе обучения игре в шахматы с применением компьютерных технологий и, особенно, в целях развития интеллектуальных способностей детей, предусмотрено выполнение следующих дидактических правил: Однородность мыслительных операций. Упражнения подбираются таким образом, чтобы они способствовали формированию не только пространственного мышления, но и других групп мыслительных операций. Сформировав одну группу операций (например - ход конем), формируются новые группы операций (взятие фигур противника, решение шахматных задач - мат в один ход тяжелыми фигурами, сочетания короля с различными фигурами в игре против одинокого короля и т. д.). Постепенное усложнение. Подход постепенного усложнения условий оперирования образом на основе исходной, наглядной ситуации. Реализация этого правила: сначала упражнения выполняются с помощью конструирования и использования моделей на компьютере. Затем, в качестве дидактического материала выступают диаграммы. После чего упражнение выполняется в абстрактной форме ("в уме"). Структурное усложнение объекта оперирования (увеличение количества фигур, усложнение позиции, запись протокола решения, анализ решения по записи). 5.Обеспечение спортивной направленности в обучении детей игре в шахматы с применением компьютерных технологий. Спортивная направленность методики обучения детей игре в шахматы с применением компьютерных технологий реализована в регулярной игре учеников между собой, их участии в тренировочных турнирах и в виде сеансов одновременной игры. Следует отметить, что для детей необходимо планировать объем нагрузки только малой и средней величины, в соответствии с существующей в теории спорта классификацией нагрузок, которые характеризуются сохранением работоспособности занимающихся до конца занятия, не вызывая явных признаков утомления. Игра в шахматы относится к спортивным играм. Деятельность в ней строго регламентирована правилами и порядком проведения соревнований - турниров на разных уровнях. Ее основу составляют соревновательная (игровая) деятельность участников, а вся стратегия и тактика игры направлена на победу над соперником. Некоторые считают, что для детей игра в шахматы должна иметь только развивающую интеллектуальные способности направленность, без какого-либо противоборства с соперником. Однако, целью изучения основных простейших комбинаций, а затем и более сложных, является именно достижение преимущества над соперником (в отдельных случаях - достижения равновесия) и избежать этого невозможно. Поэтому шахматы и являются видом спорта, а главными характеристиками спорта является соревновательная деятельность и подготовка к ней. Поэтому разделить занятия шахматами на различные направления неправильно. Если пойти по пути обучения игре в шахматы только с целью повышения эффективности умственной деятельности, без ее спортивной составляющей, то возможен риск потери эмоциональной компоненты игры, без которой невозможно совершенствование необходимых ребёнку качеств и развития интереса к шахматному творчеству. Поэтому основная задача обучения и совершенствования игры в шахматы детей должна быть комплексной.
Планируемые результаты
Личностные Реализация интеллектуальных возможностей в игре в шахматы, стремление к самообразованию, анализу своих действий, сотрудничество со сверстниками в группах. Метапредметные Познавательные: овладение способностью принимать и сохранять цели и задачи учебной деятельности, поиска средств ее осуществления; определять наиболее эффективные способы игры в шахматы. Регулятивные: формирование умения планировать, контролировать и оценивать свои действия в соответствии с поставленной задачей и условиями еѐ достижения. Коммуникативные: готовность слушать собеседника и вести диалог; готовность признавать возможность существования различных точек зрения и права каждого иметь свою; Предметные Через игру в шахматы на компьютере использовать полученные знания в практической деятельности. Задачи Обобщение пройденного материала и анализа сыгранных партий с помощью информационно-компьютерных технологий и шахматных программ. Приобщение детей к интеллектуально-спортивной игре – шахматы с помощью информационно-компьютерных технологий.
ИСПОЛЬЗОВАНИЕ ИНФОРМАЦИОННО-КОМПЬЮТЕРНЫХ ТЕХНОЛОГИЙ ПРИ ОБУЧЕНИИ ДЕТЕЙ ИГРЕ В ШАХМАТЫ.
Использование информационно-компьютерных технологий (ИКТ), является актуальной проблемой современного подхода в процессе обучения детей шахматам. ИКТ выступают ведущим инструментом информационной деятельности человека в условиях информационного общества. В настоящее время 85 % детей в возрасте от 7 до 16 лет используют компьютер, а 20 % из них постоянно выходят в Интернет. Поэтому сегодня интерес к виртуальному получению знаний является одним из мощных мотивов обучающихся к познанию. Этап заинтересованности в учении обогащается за счёт увеличения возможности восприятия, развития воображения и эмоций. Сегодня необходимо, чтобы каждый обучающий детей шахматам, мог подготовить и провести занятие с использованием ИКТ. Это наглядно, красиво, красочно, информативно, интерактивно, экономит время педагога и воспитанника, позволяет ребенку работать в своём темпе, а педагогу работать с ребёнком дифференцированно и индивидуально, даёт возможность быстро проконтролировать и оценить результаты обучения. Задача состоит в том, чтобы заинтересовать детей шахматами, привлечь к ним их внимание, чтобы они захотели получать предложенные им знания. Поиск эффективных методик приводит к новым компьютерным технологиям, которые эффективно применяются при организации творческой познавательной деятельности обучающихся в процессе изучения основ игры в шахматы. Обучение детей игре в шахматы с применением компьютерных технологий является действенным средством повышения интеллектуальных способностей - внимания, оперативной памяти, логического мышления и пространственного воображения, способствует гармоничному развитию личности. Одним из очевидных достоинств использования ИКТ, является усиление наглядности. Устное изложение материала и разбор дидактических задач не вызывают интереса у большинства детей. Необходимо проводить занятия с компьютерным сопровождением, как одной из основных форм наглядности обучения. При этом накопленный опыт убеждает, что оптимальная длительность работы за компьютером не должна превышать 10- 20 минут. В чём же главные плюсы и минусы шахмат с использованием информационно-компьютерных технологий? Плюсы: Шахматы на компьютере помогают детям получить необходимую практику в игре. Нам достаточно включить шахматы онлайн, выставить с кем мы хотим сыграть и на какой контроль времени, и программа сама нам подберет соперников. Шахматная программа может анализировать любые шахматные позиции, перебирая в секунду миллионы комбинаций, на что неспособен человек, в результате выдавать уже готовое решение (вариант) в сложившейся ситуации. Сейчас все гроссмейстеры, чемпионы мира не представляют свою подготовку без шахматных программ. Минусы: Минимальная самостоятельная подготовка. Поручая программе поиск лучших вариантов (систем), дети сами ничего не делают, не анализируют, не пытаются понять скрытых возможностей позиции. Шахматная программа на это просто неспособна, а ведь именно шахматы должны помогать развивать у детей умение анализировать. Компьютерные шахматы не заменят прямого и человеческого разговора и взаимодействия. Нарушается одно из важнейших качеств любой детской игры - установление и поддержание контактов между детьми, а это сказывается отрицательно на самом развитии человека. Подводя небольшой итог, хочется заметить, что использование информационно-компьютерных технологий изменили шахматы, позволив шагнуть вперед в изучении тайн шахматного искусства. Но человеческий фактор, психология, способность к нестандартному мышлению в принятии мер в той или иной сложившейся позиции, будет по-прежнему играть главную роль во время шахматной партии. Как работать с шахматными программами. Большую роль компьютер играет в подготовке шахматистов разного уровня, но здесь есть несколько проблем, которые приходиться решать шахматисту, а именно какую программу выбрать и как с ней работать? Начнем с того, какую программу выбрать? Для начала надо понять, что есть программы многоуровневые и одноуровневые. Многоуровневые программы - это программы, в которых перед началом партии можно выбрать уровень игры соперника. Одноуровневые - это программы одного уровня, часто их делают для игры против чемпионов мира. Так вот, если ребёнок только что начал заниматься шахматами или играет совсем недавно, то лучше выбрать многоуровневую шахматную программу, чтобы была возможность закрепить необходимые знания или попрактиковаться в стратегии или тактике. Лучше всего начинать с самого слабого уровня и двигаться к более сложному. Если же у ребёнка есть опыт игры, разряд по шахматам, то в этом случаи лучше использовать одноуровневую программу. Это позволит «подтянуться» к более высокому уровню игры, узнать о еще не известных шахматных приемах игры в шахматы. Но если выяснится, что одноуровневая программа слишком сложна для обучающегося ребёнка, то лучше от неё отказаться, приобрести многоуровневую программу и тренироваться на ней. После того как вы выбрали для ребёнка программу, возникает вопрос как с ней правильно работать? Тут есть два способа: первый это просто, установить программу, настроить оформление фигур, доски, выбрать уровень соперника и начать играть. Но в этом способе есть большой минус, так как рано или поздно вы привыкните к электронным шахматам и будит достаточно сложно играть за реальной доской. Второй способ самый правильный и оптимальный, его используют практически все чемпионы и гроссмейстера, в чем он заключается? Все просто, после того как включена программа выбран необходимый уровень перед экраном или рядом, где удобнее, ставятся настоящие шахматы. И каждые сделанный ход на компьютере ставиться на шахматной доске, при этом обдумывание самого хода осуществляется на доске! Это позволяет набрать необходимый практический опыт и достаточно легко себя чувствовать вовремя «живой» партии. При организации учебного процесса обучения детей шахматам с использованием компьютера успешно используются программы MS Office (Word, PowerPoint); шахматные обучающие и игровые компьютерные программы: «Шахматы с Гарри Каспаровым», «Задачник по шахматам для начинающих шахматистов», «Шахматные этюды», «Шахматный Интернет. Игра и обучение». Этим шахматные обучающие программы содержат огромное количество учебных заданий, классифицированных по темам и ступеням сложности. Обучение в этих программах, от новичка до мастера, рассчитано на поэтапное изучение шахматной тактики. Встроенные игровые программы позволяют разыгрывать заданные позиции с учетом индивидуальных настроек. В программах содержатся текстовые и графические подсказки и опровержения ошибочных ходов, что позволяет детям работать самостоятельно. Применение на занятие компьютерных тестов позволяет за короткое время получить объективную картину уровня усвоения изучаемого материала у воспитанников и своевременно его скорректировать. Портал «Шахматная планета». «Шахматная планета» это уникальный и очень интересный шахматный портал. Здесь можно не только поиграть в шахматы, но и изучить интересующие полноценные курсы. У нее есть две версии платная и бесплатная. Чтобы попасть на бесплатную версию шахматной планеты необходимо набрать в браузере следующий адрес: www.chessking.com. После этого вы попадаете на главную страницу, где перед вами форма входа. Можно войти как «Гость» или «Зарегистрироваться». Если вы войдете как «Гость», то вам будет сгенерирован профиль самим сервером, через него можно будет играть только не рейтинговые игры, а вся ваша статистика не будет сохранена. Это отличный способ просто попробовать основные функции без дополнительной регистрации и траты времени. Если вы пройдете регистрацию, то получите полный функционал портала, свой профиль, сможете играть рейтинговые игры, участвовать в турнирах, создать собственную команду или присоединиться к уже существующей, проходить обучающие курсы. Немного подробнее остановлюсь на регистрации, чтобы она прошла не просто так, а с дополнительными приятными бонусами. Поле: «логин» - указываем логин, которые будет отображаться при игре, можно на русском языке. «E-mail» - указываем действующий, чтобы можно было потом, в случае чего, восстановить пароль. «Пароль» и «Подтверждение пароля» - должны полностью совпадать. «Ваш рейтинг» -можно поставить в принципе любой. «Ваше звание или уровень» - ставим какой есть. «Пол» - мужской или женский. «Промокод тренера или партнера» - здесь надо вписать «schoolchess», это вам даст бесплатный недельный доступ ко всем курсам что там находятся! Вы попадете автоматически в ученики, в дальнейшем среди учеников будут проводиться обучающие курсы, вебинары и многое другое. Далее жмем кнопку «Зарегистрироваться» и вы сразу же попадаете на портал шахматная планета. В целом, это неплохой бесплатный шахматный портал, который можно рекомендовать как начинающим, так и профессионалам. Для обучения на портале «Шахматная планета» можно выбрать заинтересовавшие вас обучающие курсы, они очень интересные и доступно написаны. В качестве приложения к ним есть и практические занятия. Chessmaster 10. Chessmaster 10 - шахматная многоуровневая программа. Она хорошо подходит для тренировки начинающих шахматистов, а также разрядников. В 10 программе присутствует около 100 уровней соперника. Каждый соперник практически не повторим в стиле игры! Что касается графики, то она достаточна на высоком уровне, настройке поддается практически все от шахмат до оформления «обоев» и скинов самой программы. В распоряжении играющего будет 5 различных видов 2D шахмат и 27 разновидностей 3D шахмат, также для самых маленьких присутствует 3 разновидности трехмерных анимированных шахмат. Присутствует возможность переключения в 3D графику при использовании 3D очков присутствует эффект игры за реальной доской! В официальной версии игры есть обучающий курс, который в своих уроках рассказывает об основных понятиях игры в шахматы, расстановка фигур, взятие на проходе и т.д., а также предлагает пройти необходимые закрепляющие задания. Что касается уровней соперников, то здесь есть как плюсы, так и минусы. Плюсом является: большой подбор противников с разными уровнями (по силе) игры, это позволяет начинающему шахматисту подобрать необходимого соперника и попрактиковаться на нем. Минус, это не всегда соответствие рейтинга и силы. В программе также присутствует возможность создание своих турниров, как по «круговой», так и по «швейцарской» системе. Возможность выбора подходящего контроля времени как основного, так и дополнительного. Приверженцы шахмат «Фишера» также найдут для себя много интересного, например, выбора контроля времени «стиль Фишера». И На наш взгляд, данная программа должна присутствовать на полке и компьютере всех шахматистов в независимости от уровня игры и разряда. Так как она отличный помощник, как в плане подготовке теории, так и в практическом смысле шахматной игры.
Современные шахматные движки
Компьютер уже давно обыграл человека в шахматы, сейчас сильнейшие шахматисты не способны выиграть даже у старенького ноутбука. Теперь шахматные движки используются для анализа партий, поиска новых вариантов и игры по переписке.
Многие уверены, что шахматные программы просто держат в памяти огромное количество сыгранных партий и находят в них нынешнюю позицию и делают верный ход.
Это, несомненно, очень наивное мнение. Новую позицию в шахматах можно получить к десятому ходу. Хоть в шахматах и меньше позиций, чем в го, тем не менее, уже после 3 ходов (ход — это один ход белых и чёрных, полуход — ход только одной стороны) дерево ходов состоит из почти 120 миллионов узлов. Более того, размер дерева после 14 полуходов из начальной позиции энтузиасты считают уже больше года, продвинувшись пока что примерно на треть.
В первой партии — пешка и ход: компьютер играл чёрными и без пешки f7
Во второй — только пешка: компьютер играл белыми без пешки f2
В третьей —
качество
(разница между ладьёй и лёгкой фигурой, оценивается примерно в 2 пешки): компьютер белыми без ладьи a1, человек без коня b8 и с ладьёй a8 на его месте.
В четвертой — четыре хода: человек играет белыми и вместо первого хода делает 4 любых хода, не пересекая середину доски.
По поводу форы были определённые споры — например, отсутствие пешки f несколько ослабляет короля, но после рокировки даёт открытую линию ладье. Отсутствие центральной пешки, возможно, даёт большее преимущество. 4 хода дают неплохой позиционный перевес, но если играть закрытый дебют вроде староиндийской защиты, то это преимущество не так уж и сложно свести на нет.
Кроме того, партии игрались с контролем 45"+15', то есть 45 минут на партию и 15 секунд добавления каждый ход. Обычно, более короткие контроли дают дополнительное преимущество компьютеру, в то время как более длинные — несколько повышают шансы человека. Компьютер даже за доли секунды успеет отмести откровенно проигрывающие ходы, в то время как из-за экспоненциального роста дерева вариантов каждое последующее улучшение анализа занимает всё больше времени.
Тем не менее, фора была и человек проиграл в матче 2.5-1.5, сведя в ничью первые 3 партии и проиграв четвёртую. Вместе с тем, слабый гроссмейстер достаточно уверенно выиграл с форой в 2 пешки. Следовательно, преимущество лучших программ над лучшими людьми на данный момент где-то между 1 и 2 пешками форы. Конечно, эта оценка очень грубая, но для точной оценки надо сыграть несколько тысяч партий между людьми и программами, а этим вряд ли кто-то будет заниматься. Обратите внимание, что рейтинг ЭЛО, нередко указываемый для программ, не имеет ничего общего с рейтингом людей.
Что такое шахматный движок?
Представление доски
Основа любого движка — представление шахматной доски. В первую очередь, надо «объяснить» компьютеру все правила шахмат и дать ему возможность хранить шахматную позицию. Без этого невозможно оценивать позицию и делать ходы.Есть два основных способа хранить представление доски — по фигурам или по клеткам. В первом случае мы храним для каждой фигуры её место на доске, во втором — наоборот, для каждой клетки храним что находится там. У каждого метода есть свои преимущества и недостатки, но на данный момент все топовые движки используют одно и то же представление доски — bitboards.
Bitboards
По счастливому совпадению, на шахматной доске 64 клетки. А значит, если для каждой клетки использовать один бит, мы можем хранить всю доску в 64-битном целом числе.
В одной переменной будем хранить все белые фигуры, в другой — все черные, и ещё в 6 — каждый тип фигур по отдельности (другой вариант — 12 битбордов для каждого цвета и типа фигур по отдельности).
В чем преимущество такого варианта?
Во-первых, память. Как мы узнаем позже, при анализе представление доски копируется много раз, и, соответственно, отъедает оперативку. Битборды — это одно из самых компактных представлений шахматной доски.
Во-вторых, скорость. Многие вычисления, например, расчёт возможных ходов, сводятся к нескольким битовым операциям. За счёт этого, например, использование инструкции POPCNT дает ~15% ускорение современным движкам. Кроме того, за время существования битбордов было придумано немало алгоритмов и оптимизаций, как, например, «магические» битборды.
Поиск Минимакс
В основе большинства шахматных движков лежит алгоритм поиска минимакс или его модификация негамакс. Вкратце, мы спускаемся вниз по дереву, оцениваем листья, а потом поднимаемся вверх, каждый раз выбирая оптимальный для текущего игрока ход, минимизируя оценку для одного (чёрных) и максимизуруя для второго (белых). Отсюда и название. Оказавшись в корне, мы получаем последовательность ходов, оптимальную для обоих игроков. Разница между минимаксом и негамаксом в том, что в первом случае мы по очереди выбираем ходы с максимальной и минимальной оценкой, а во втором вместо этого меняем знак для всех оценок и всегда выбираем максимальную (название сами поняли откуда).
Сортировка ходов
При использовании альфа-беты, важным становится порядок ходов. Если мы сможем поставить лучший ход первым, то оставшиеся ходы будут проанализированы гораздо быстрее за счёт отсечений по бете.
Кроме использования хеша и лучшего хода из предыдущей итерации, существуют несколько техник сортировки ходов.
Для взятий может использоваться, например, простая эвристика MVV-LVA (Most Valuable Victim — Least Valuable Aggressor). Мы сортируем все взятия по убыванию ценности «жертвы», а внутри соритруем еще раз по возрастанию ценности «агрессора». Очевидно, что обычно забрать пешкой ферзя выгоднее, чем наоборот.
Для «тихих» ходов используется метод «убийственных» (killer) ходов — ходов которые вызвали отсечение по бете. Это ходы обычно проверяются сразу после ходов из хеша и взятий.
Хеш таблицы или таблицы перестановок
Несмотря на огромные размеры дерева, многие узлы в нём идентичные. Чтобы не анализировать одну и ту же позицию дважды, компьютер хранит результаты анализа в таблице и каждый раз проверяет, нет ли уже готового анализа этой позиции. Обычно в такой таблице хранится собственно хеш позиции, оценка, лучший ход и возраст оценки. Возраст необходим для замены старых позиций при заполнении таблицы.
Итерационный поиск
Как известно, если мы не можем проанализировать все дерево полностью, минимаксу необходима оценочная функция. Тогда достигнув определенной глубины, мы останавливаем поиск, оцениваем позицию и начинаем подъем по дереву. Но такой метод требует заранее заданной глубины и не предоставляет качественные промежуточные результаты.
Эти проблемы решает итерационный поиск. Для начала мы проводим анализ на глубину 1, потом на глубину 2 и т.д. Таким образом, каждый раз мы спускаемся чуть глубже, чем в прошлый раз, пока анализ не будет остановлен. Чтобы уменьшить размеры дерева поиска, результаты прошлой итерации обычно используются, чтобы отсекать заведомо плохие ходы на текущей. Этот метод называется «окно стремлений» (aspiration window) и используется повсеместно.
Поиск спокойствия(Quiescence Search)
Этот метод предназначен для борьбы с «эффектом горизонта». Простая остановка поиска на нужной глубине может быть очень опасной. Представим, что мы остановились посреди размена ферзей — белый забрал чёрного ферзя, а следующим ходом чёрный должен забрать белого. Но в данный момент на доске — лишний ферзь у белых и статическая оценка будет в корне неверной.
Для этого, прежде чем заняться статической оценкой, мы проверяем все взятия (иногда еще и шахи) и спускаемся по дереву до позиции, в которой нет возможных взятий и шахов. Естественно, если все взятия ухудшают оценку, то мы возвращаем оценку текущей позиции.
Выборочный поиск
Идея выборочного поиска в том, чтобы дольше рассматривать «интересные» ходы и меньше — неинтересные. Для этого используются продления, которые увеличивают глубину поиска в определённых позициях, и сокращения, уменьшающие глубину поиска.
Глубину увеличивают в случае взятий, шахов, если ход единственный или гораздо лучше альтернатив или при наличии проходной пешки.
Отсечения и сокращения
С отсечениями и сокращениями всё гораздо интереснее. Именно они позволяют значительно сократить размер дерева.
Вкратце об отсечениях:
Дельта-отсечение
— проверяем, может ли взятие улучшить текущую альфу. Для этого к оценке узла добавим ценность взятой фигуры и еще немного и посмотрим, больше ли получившееся значение, чем альфа. Например, если у белых не хватает ладьи, то взятие пешки вряд ли им поможет, с другой стороны, взятие слона может помочь.
Отсечение бесполезности
— то же самое, только для
не-взятий
. Если текущая оценка настолько меньше альфы, что никакое позиционное преимущество не сможет это скомпенсировать, то такие узлы отсекаются. Обычно применяется на низкой глубине (1-2).
Историческое отсечение
— для каждого хода мы храним, сколько раз данный ход спровоцировал отсечение, независимо от позиции. Ходы с высоким значением этой эвристики отсекаются. Обычно
применяется
начиная с определенной глубины и не применятся на PV узлы. Иногда объединяется с предыдущим методом.
Multi-Cut
— если из первых M(например, 6) узлов хотя бы C(например, 3) являются
Cut-node
, то отсекаем все узлы.
Отсечение по null-ходу
— если после null-хода (простая передача очереди хода сопернику) оценка все
равно выше
беты, то отсекаем узел. Проще говоря, если позиция настолько плоха,
что
даже сделав два хода подряд, игрок все равно не может ее улучшить, то нет смысла рассматривать эту позицию.
Сокращение используются, когда мы не настолько уверены, что ход плох, и поэтому не отсекаем его, а просто уменьшаем глубину. Например, razoring — это сокращение при условии, что статическая оценка текущей позиции меньше, чем альфа.
За счёт качественной сортировки ходов и отсечений, современные движки умудряются достигать коэффициента ветвления ниже 2. За счёт этого, к сожалению, они иногда не замечают нестандартные жертвы и комбинации.
NegaScout и PVS
Две очень похожие техники, которые используют тот факт, что после того как мы нашли PV-node (приусловии что наши ходы достаточно хорошо отсортированы), она скорее всего не изменится, то есть все оставшиеся узлы вернут оценку ниже, чем альфа. Поэтому вместо поиска с окном от альфа до бета, мы ищем с окном от альфа до альфа+1, что позволяет ускорить поиск. Конечно, если в каком-то узле мы получаем отсечение по бете, то его надо ценить заново, уже нормальным поиском.
Разница между двумя методами лишь в формулировке — они были разработаны примерно в одно время, но независимо, и поэтому известны под разными названиями.
Параллельный поиск
Lazy SMP
Очень простой алгоритм. Мы просто запускаем все потоки одновременно с одним и тем же поиском. Коммуникация потоков происходит за счёт хеш-таблицы. Lazy SMP оказался неожиданно эффективным, настолько, что топовый Stockfish перешел на него с YBW. Правда, некоторые считают, что улучшение произошло из-за плохой реализации YBWC и слишком агрессивных отсечений, а не из-за преимущества Lazy SMP.
Young Brothers Wait Concept (YBWC)
Первый узел (старший брат) должен быть полностью проанализирован, после чего запускается параллельный анализ остальных узлов (младших братьев). Идея всё та же, первый ход либо заметно улучшит альфу, либо вообще позволит отсечь все остальные узлы.
Dynamic Tree Splitting (DTS)
Быстрый и сложный алгоритм. Немного о скорости: скорость поиска измеряется через ttd (time to depth), то есть время, за которое поиск достигает определенной глубины. Этот показатель обычно можно использовать для сравнения работы разных версий движка или движка, запущенного на разном количестве ядер (хотя Komodo, например, увеличивает ширину дерева при большем количестве доступных ядер). Кроме того, во время работы движок отображает скорость поиска в nps (nodes per second). Это метрика гораздо более популярная, но она не позволяет сравнивать даже движок сам с собой. Lazy SMP, в котором нет никакой синхронизации, практически линейно увеличивает nps, но из-за большого объема лишней работы, его ttd не так впечатляющ. В то время как для DTS nps и ttd изменяются практически одинаково.
Оценка
Итак, мы достигли необходимой глубины, произвели поиск спокойствия и, наконец нам надо оценить статическую позицию.
Компьютер оценивает позицию в пешках: +1.0 означает, что у белых преимущество равноценное 1 пешке, -0.5 означает, что у черных преимущество в полпешки. Мат оценивается в 300 пешек, а позиция в которой известно количество ходов до мата x — в (300-0.01x) пешек. +299.85 значит, что белые ставят мат в 15 ходов. При этом сама программа обычно оперирует целыми оценками в сантипешках (1/100 пешки).
Какие параметры компьютер учитывает при оценке позиции?
Материал и мобильность
Самое простое. Ферзь 9-12 пешек, ладья 5-6, конь и слон 2.5-4 и пешка, соответственно, одна пешка. В общем, материал — это достойная эвристика оценки позиции и любое позиционное преимущество обычно трансформируется в конце концов в материальное.
Мобильность считается просто — количество возможных ходов в текущей позиции. Чем их больше, тем более мобильна армия игрока.
Таблицы позиций фигур
Конь в углу доски обычно плох, пешки ближе к вражескому тылу становятся всё ценнее и так далее. Для каждой фигуры составляется таблица бонусов и штрафов в зависимости от ее положения на доске.
Пешечная структура
Сдвоенные пешки
— две пешки на одной вертикали. Часто их сложно защитить другими пешками, считается слабостью.
Отстающие пешки
— пешки, соседи которых находятся впереди них. Такие пешки нельзя защитить другими пешками, и поэтому они считаются слабостью.
Проходные пешки
— пешки, которые могут дойти до последней горизонтали без помех со стороны вражеских пешек. Сильная угроза противнику, особенно в эндшпиле
Изолированные пешки
— пешки, у которых нет соседей. Такие пешки вообще нельзя защитить другими пешками, и поэтому они считаются серьезной слабостью.
Этапы игры
Все вышеперечисленные параметры влияют по-разному на оценку игры, в зависимости от этапа игры. В дебюте нет толку от проходной пешки, а в эндшпиле нужно выводить короля в центр доски, а не прятать за пешками.
Поэтому многие движки имеют отдельную оценку для эндшпиля и для дебюта. Они оценивают этап игры в зависимости от оставшегося на доске материала и в соответствии с этим считают оценку — чем ближе к концу игры, тем меньше влияет дебютная оценка и тем больше — эндшпильная.
Кроме этих основных факторов движки могут добавлять еще какие-то факторы к оценке — например безопасность короля, запертые фигуры, пешечные острова, контроль центра и т.д.
Точная оценка или быстрый поиск?
Традиционный спор: что эффективнее, точно оценить позицию или достичь большей глубины поиска. Опыт показывает, что слишком «тяжелые» оценочные функции неэффективны. С другой стороны, более подробная оценка, учитывающая больше факторов, обычно приводит к более «красивой» и «агрессивной» игре.
Дебютные книги и эндшпильные таблицы
Дебютные книги
На заре компьютерных шахмат программы очень слабо играли дебют. Дебют часто требует стратегических решений, которые повлияют на всю игру. С другой стороны, у людей дебютная теория была развита хорошо, дебюты были многократно проанализированы и игрались по памяти. Вот и для компьютеров была создана подобная «память». Начиная с начальной позиции строилось дерево ходов и каждый ход оценивался. Во время игры движок просто выбирал один из «хороших» ходов с определенной вероятностью.
С тех пор дебютные книги разрослись, многие дебюты проанализированы при помощи компьютеров вплоть до эндшпиля. Необходимости в них нет, сильные движки научились играть дебют, но сходят с главных линий достаточно быстро.
Эндшпильные таблицы
Вернемся к введению. Помните идею хранить много позиций в памяти и выбирать нужную. Вот она. Для малого (до 7) количества фигур просчитаны все существующие позиции. То есть в этих позициях компьютер начинает играть идеально, выигрывая в минимальное количество ходов. Минус — размер и время генерации. Создание этих таблиц помогло в исследовании эндшпилей.
Генерация таблиц
Сгенерируем все возможные (с учетом симметрии) позиции с определенным набором фигур. Среди них найдем и обозначим все позиции, где стоит мат. Следующим проходом обозначим все позиции, в которых можно попасть в позиции с матом — в этих позициях ставится мат в 1 ход. Таким образом находим все позиции с матом 2,3,4,549 ходов. Во всех неотмеченных позициях — ничья.
Таблицы Налимова
Первые эндшпильные таблицы, опубликованные в далёком 1998 году. Для каждой позиции хранится результат игры и количество ходов до мата при идеальной игре. Размер всех шестифигурных окончаний — 1.2 терабайта
Вывод: Шахматы с использованием информационно-компьютерных технологий – это отличная возможность развить и совершенствовать практическое мастерство ребенка в шахматной игре. При этом, использующему компьютер, не надо ждать очереди в поиске подходящего соперника, проходить какие-либо регистрации. Достаточно выбрать уровень шахматного компьютера (легкий, средний, сложный) и сделать ход на доске. Если ребенок хочет сыграть черными фигурами, то в начале парии он должен нажать кнопку «Ввод», компьютер сделает ход белыми фигурами. Результаты проведения занятий по шахматам с использованием информационно-компьютерных технологий очень хорошие. Ребята с удовольствием приходят на такие занятия и активно работают. Применение компьютерных технологий позволяет наполнять занятия новым содержанием, поддерживать самостоятельность в освоении компьютерных шахматных программ, развивать любознательность обучающихся. Использование информационно-компьютерных технологий в шахматной игре расширяет возможности для введения детей в увлекательный мир, где им предстоит самостоятельно добывать, анализировать, представлять и передавать другим информацию. Эти технологии значительно повышают дидактические и личностно-ориентированные параметры процесса обучения детей шахматам.
Список литературы
1. Sarhan, Guliev The Manual of Chess Endings / Das Lehrbuch der Schachendspiel / Учебник шахматных окончаний / Manual de finales ajedrecisticos / Sarhan Guliev. М., Русский шахматный дом / Russian Chess House, 2015.
2. Авербах, Ю. Л. Жизнь шахматиста в шахматной системе. Воспоминания гроссмейстера / Ю.Л. Авербах. М.: Человек, 2012.
3. Гулиев, С. РШД.ВШМ.Владимир Крамник.Избранные партии 14-го чемпионата мира по шахматам / С. Гулиев. Москва , 2015.
4. Калиниченко, Н. Королевский гамбит / Н. Калиниченко. М.: Гранд-Фаир, 2011.
5. Лонгригг, Д. Шахматы / Д. Лонгригг. М., АСТ, Астрель, 2015.
6. Лысенко, Сергей Беседы с шахматным психологом / Сергей Лысенко. Москва, 2011.
7. Межзональные турниры. Рига-79, Рио-де-Жанейро-79. Москва, 2010.
8. Петрушина, Н.М. Шахматные окончания для детей / Н.М. Петрушина. М.: Феникс, 2014.
9. Полугаевский, Л. А. Рождение варианта / Л.А. Полугаевский. М.: Физкультура и спорт, 2012.
10. Селезнев, Алексей 100 шахматных этюдов. Практикум по эндшпилю / Алексей Селезнев. Москва, 2013.
11. Фишер, Бобби Бобби Фишер учит играть в шахматы / Бобби Фишер , Эдуард Гуфельд. М., Русский шахматный дом / Russian Chess House, 2014.
12. Халифман, А. Дебют белыми по... (комплект из 16 книг) / А. Халифман. - М., Гарде,
13. Черняк, В. Г. Мы играем в шахматы / В.Г. Черняк. М.,Физкультура и спорт, 2010.
14. Шахматный информатор 44. VII-XII 1987. М., Sahovski Informator, 2013.
15. Юдович, М. Занимательные шахматы / М. Юдович. М.,Физкультура и спорт, 2012.