На главную
ПРАВИЛА FAQ Помощь Участники Календарь Избранное DigiMania RSS
msm.ru
! Правила раздела
В разделе разрешен мат. Но сквернословие - наказывается.
  
    > вопрос любителям и знатокам шахмат, возможность мата
      я хочу, чтобы моя шахматная программа засчитывала ничью, если ни у одной из сторон нет достаточно сил, чтобы поставить мат сопернику.

      вопрос: как по-возможности просто опеределить, достаточно ли у игрока сил, чтобы поставить мат?
      (такая проверка будет происходить после каждого хода со взятием)
      Сообщение отредактировано: ya2500 -
      "Гарри Поттер и методы рационального мышления" Элиезер Юдковский
      "Harry Potter and the Methods of Rationality" Eliezer Yudkowsky
        у обоих игроков один из трёх наборов: голый король, король и конь, король и слон.
        Мои религиозные убеждения не позволяют мне комментировать код.
        Моё мировоззренье таково: в программе комментария ни одного!
          спасибо

          +1
          "Гарри Поттер и методы рационального мышления" Элиезер Юдковский
          "Harry Potter and the Methods of Rationality" Eliezer Yudkowsky
            Есё, кажется, король и два слона одного цвета против голого короля.
            Король и конь(слон) могут заматовать короля и коня(слона) при кооперативной игре.
            Мои религиозные убеждения не позволяют мне комментировать код.
            Моё мировоззренье таково: в программе комментария ни одного!
              ya2500, смотри в Шахматный Кодекс. Король, либо голый, либо с лёгкой фигурой, против любого аналогичного. Троекратное полное повторение позиции. Под полным понимаются все аспекты, а не только расположение фигур: возможность рокировки, очерёдность хода, возможность взятия пешкой на проходе... итп, мож ещё что есть. 50 полных ходов без взятий и ходов пешками, но тут есть исключения, например, (вроде бы) король с ладьёй и пешкой против короля с ладьёй, полный список не помню. Остальные позиции - по согласованию сторон (либо по достижению одной из двух ситуаций из предыдущего предложения при отсутствии согласования).
              Формально ничейными считаются: король с пешкой на вертикалях a или c против короля; король с двумя лёгкими фигурами против короля с лёгкой фигурой; король с двумя конями против голого короля. Выигрышные позиции есть, но только при неправильной игре слабой стороны. Так что формально ничья, но мало ли... иногда пробуют играть. Для сравнения: некоторые всегда выигрышные эндшпили при правильной игре слабой стороны требуют более 50-и ходов для реализации преимущества, и именно таковые занесены в исключения. Однако у сильной стороны всего одна попытка. Например, мат слоном и конём голому королю ставится всегда не позднее 36-го хода. Но мат ставится довольно нетривиально, поэтому нередко даже гроссмейстеры некоторое время испытывают соперника, ибо если тот ошибётся, и королю удастся вырваться, на второй заход 50-и ходов может не хватить. То же касательно исключений. Они не отменяют правило 50-и ходов, они вместо числа 50 регламентируют другое значение.

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

              Добавлено
              На ангицкой вики есть такой список:
              • ладья и слон против ладьи
              • два коня против пешки
              • ферзь с пешкой на 7-й горизонтали против ферзя
              • ферзь против двух ладей
              • ферзь против двух слонов
              • два слона против коня
              Тут ранее устанавливалось 75 ходов. (Ещё ранее устанавливалось 100 для более короткого списка.) Но потом по мере роста компьютерных мощностей и дальнейшего совершенствования метода ретроградного анализа были найдеты умопомрачительные эндшпили. Например, некоторый шестифигурный с выигрышем на 243-м ходу. И известен какой-то "ферзь с конём против ладьи слона и коня", где при оптимальной игре обоих сторон на 517-ом только-только выполняется взятие либо размен, от которого по-хорошему ещё 50 надо отсчитывать. В общем в шахматном кодексе зафиксировали прежние 50, но разрешили перед началом турнира судейской коллегии кастомизировать исключения, базируясь на текущем состоянии дел в шахматной теории и здравом смысле.
              Сообщение отредактировано: Qraizer -
              Одни с годами умнеют, другие становятся старше.
                Цитата Qraizer @
                Остальные позиции - по согласованию сторон (либо по достижению одной из двух ситуаций из предыдущего предложения при отсутствии согласования).

                спс, как раз случай "отсутствия согласования" наиболее интересует.

                Цитата Qraizer @
                Формально ничейными считаются: король с пешкой на вертикалях a или c против короля

                странно: исключение именно для этих вертикалей?

                Qraizer, спасибо за развёрнутый ответ.

                +1
                "Гарри Поттер и методы рационального мышления" Элиезер Юдковский
                "Harry Potter and the Methods of Rationality" Eliezer Yudkowsky
                  странно: исключение именно для этих вертикалей?

                  Вероятно, опечатка: имелись в виду вертикали а и h. Вертикали c и f важны в другом случае: пешка c7 (f7) против ферзя тоже дает ничью.
                    Именно a и c. Симметричные им f и h естественно тоже. В обоих случаях одинокий король самозагоняется в пат. Когда пешка стоит на 7 горизонтали, да, единственное спасение короля - встать перед ней, угрожая патом или выигрышем пешки, и тогда спасенье только на краю доски. Соответственно его противник должен не дать ему это сделать, манипулируя своим королём. Но если пешка ещё не продвинулась так далеко, то надёжней вынудить стать прямо перед ней чужого короля. Тогда сильная сторона сначала должна выиграть темп, чтобы сделать ход королём и только потом пешкой. Если пешка будет на c или f, то этого темпа не будет из-за пата. Если король отступит в угол, то пешку вперёд трогать нельзя, цугцванг.

                    Добавлено
                    Цитата ya2500 @
                    как раз случай "отсутствия согласования" наиболее интересует.
                    Тогда только 3-х кратное повторение, только правильно реализованное, и 50 ходов без взятий и движений пешками. На всё остальное надо предлагать и не настаивать, а там пусть игроку самому надеодает делать 100 полуходов двумя королями.
                    В принципе можно сюда добавить принципиально невозможные матовые комбинации, но это только два короля плюс возможно одна лёгкая фигура. Даже если по одной лёгкой фигуре у каждого, матовые позиции уже появляются, пусть и кооперативные.
                    Сообщение отредактировано: Qraizer -
                    Одни с годами умнеют, другие становятся старше.
                      А, вот ещё одна ничейная ситуация - вечный шах. Когда каждым очередным ходом королю может быть поставлен шах, и противная сторона не может этого избежать, то по требованию шахующего игрока и его заверению, что отныне он собирается только шаховать, партия признаётся ничьей. К сожалению, просчитать это сложно, но даже если вечный шах и просчитан, не факт, что шахующий собрался его требовать. Вдруг у него выигрышная позиция, и вечный шах тут просто мимо проходил.
                      Одни с годами умнеют, другие становятся старше.
                        Цитата
                        Тогда сильная сторона сначала должна выиграть темп, чтобы сделать ход королём и только потом пешкой. Если пешка будет на c или f, то этого темпа не будет из-за пата.


                        Я правда чего-то не догоняю. Можно позицию?

                        PS: если король сильной стороны позади пешки, то случай неинтересный, и вертикаль, строго говоря, ни при чем.
                          Рябчиков-Жуй, а ваще влом почитать шахматную теорию?
                          Насколько я помню из детства, король и лёгкая фигура (слон, конь) никогда не смогут заматовать голого короля.
                          Король и два слона могут. Король и два коня никогда не матуют короля.

                          Добавлено
                          Добавлю, король, слон и конь, также не матуют голого короля.

                          Добавлено
                          Цитата MIF @
                          Есё, кажется, король и два слона одного цвета против голого короля.
                          Король и конь(слон) могут заматовать короля и коня(слона) при кооперативной игре.

                          Как это "два слона одного цвета"? :blink:
                          Слоны всегда разные. Два слона ловят короля. Остальные наборы лёгких фигур короля не ловят. Доказано теоретически. :yes:
                          Подпись выключена.
                            Цитата
                            а ваще влом почитать шахматную теорию?


                            Боюсь, что могу только ответить тем же советом. К слову,
                            1. Король, слон и конь естественно матуют.
                            2. Слоны не всегда разные.
                            3. Король и два коня матуют короля с пешкой.

                            Итак, как достигается ничья против пешки c? Например, Б: Кр c6, c5; Ч: Кр c8. Ход черных. (В такой же позиций по вертикали a ничья очевидна)
                              Цитата Рябчиков-Жуй @
                              1. Король, слон и конь естественно матуют.

                              Бред
                              Цитата Рябчиков-Жуй @
                              2. Слоны не всегда разные.

                              Бред
                              Цитата Рябчиков-Жуй @
                              3. Король и два коня матуют короля с пешкой.

                              Кто-то о пешках чегото говорил? :blink:
                              Подпись выключена.
                                Ну детский сад какой-то.

                                Мат слоном и конём — достигается не позже 33-го хода из любого начального положения

                                Слоны могут оказаться одного цвета после превращения пешки. Маловероятно в турнирной практике, но встречается в этюдах.
                                  Цитата Рябчиков-Жуй @
                                  Ну детский сад какой-то.

                                  еще один викизнаток, да? :D

                                  Добавлено
                                  Цитата Рябчиков-Жуй @
                                  Слоны могут оказаться одного цвета после превращения пешки. Маловероятно в турнирной практике, но встречается в этюдах.

                                  Слоны "одного цвета" тем более никогда не заматуют короля.
                                  Тем более превращать пешку, вместо ферьзя/ладьи в слона?! Да ещё того же цвета...
                                  Это шахматный гомосексуализЬм ни как иначе. :lol:
                                  Подпись выключена.
                                    Цитата DrUnkard @
                                    Это шахматный гомосексуализЬм ни как иначе.
                                    Не ни как иначе. Иначе может быть пат, а если вот прям счас не походить пешкой, то 50 ходов. Иначе может не быть важного, например, двойного, шаха, иначе же сами получаем мат. Насочинять ситуаций при желании можно.
                                    А так окончание всё равно выигрышное и несложное. Ну, да, потом протеряли слона очень нужного цвета, но это уже другая история.
                                    Сообщение отредактировано: Qraizer -
                                    Одни с годами умнеют, другие становятся старше.
                                      Цитата
                                      еще один викизнаток, да?


                                      Быть может.
                                      Проверим на доске?
                                        Запросто! :D
                                          А чо вы все тут делаете? :blink:
                                          Раздел подох давно. :lol:
                                            эх, интересно было бы, как доперепишу свои шахматы с Delphi на VC++, поисследовать стратегии.

                                            пусть ИИ-0 будет максимально прост: если может поставит мат или пат- делает это, иначе- делает любой возможный ход с равной вероятностью.

                                            требуется: составить максимально простой ИИ-1, который бы всегда побеждал ИИ-0 не более чем за 50 ходов.

                                            затем- составить максимально простой ИИ-2, который бы всегда побеждал ИИ-1 не более чем за 50 ходов.

                                            ограничение на ходы нужно, чтобы можно было прокрутить быстренько 100 игр подряд за конечное время, и убедиться, что ИИ-1 всегда добивается победы.

                                            под максимальной простотой подразумеваются две вещи:
                                            1. простота описания(для обсуждения на форуме))
                                            2. просчитываться ход должен не слишком долго(как это сформулировать в отрыве от времени вычисления на моём компе(<=1мин)- я не знаю)

                                            при составлении ИИ-(n+1) нужно помнить, что достаточно, чтобы он умел побеждать ИИ-n. от него не требуется умение побеждать любой ИИ с меньшим номером. при этом, естественно, стратегия ИИ-n нам точно известна.
                                            "Гарри Поттер и методы рационального мышления" Элиезер Юдковский
                                            "Harry Potter and the Methods of Rationality" Eliezer Yudkowsky
                                              Цитата Qraizer @
                                              Именно a и c. Симметричные им f и h естественно тоже.

                                              полная чушь :wacko: все зависит от позиции, то есть от взаимного расположения фигур, а не наличия их на конкретных линиях :yes: просто ОБЫЧНО если пешка находится на ладейной линии (a или h) - это ничья. но обычно<>всегда. про с и f первый раз слышу :rolleyes:
                                              если кому интересно почитать про пешечные эндшпили - http://panchess.ru/panov/33.htm

                                              Добавлено
                                              из того, что мне известно об алгоритмах шахматных программ...
                                              есть два основных принципа анализа - оценка позиции и глубина анализа(кол-во просчитываемых ходов). причём дело обстоит не просто как с первым принципом, так и со вторым.
                                              в первом случае существует множество алгоритмов оценки позиции - материал, контроль фигурами всей доски, контроль фигурами центра доски, взаимодействие фигур, свобода действий фигур и прочее. естесно, численная оценка позиции будет разная для разных алгоритмов.
                                              во втором случае основная задача в отсечении "неинтересных" вариантов, но это тоже трудная задача, потому что надо учитывать множество факторов. простейший пример - жертва материала с последующим матом или даже просто с отыгрыванием этого материала или получением лучшей позиции.

                                              Цитата ya2500 @
                                              поисследовать стратегии.

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

                                                это один гроссмейстер в Томске год назад на соревнованиях так рассудил игру, в которой одна сторона не успела сделать один ход, чтоб поставить мат до падения флажка. В результате - ничья
                                                Сообщение отредактировано: ElcnU -
                                                "Бубен Team Edition for Developers"
                                                ULLib | ULj2me
                                                  Цитата _lcf_ @
                                                  даже не знаю как это реализовать... разве что глубиной анализа и заведомо ухудшенным алгоритмом оценки позиции.
                                                  типа того.

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

                                                  Цитата ya2500 @
                                                  пусть ИИ-0 будет максимально прост: если может поставит мат или пат- делает это, иначе- делает любой возможный ход с равной вероятностью.


                                                  тогда ИИ-1 делает просмотр на 1 ход вперёд(наш ход и ответ противника) и ЕСЛИ возможно гарантированно поставить мат, ТО ставит его, ИНАЧЕ выбирает те ходы, которые гарантируют по минимаксу ситуацию с лучшей результирующей оценкой. оценка: суммируем цены своих фигур, вычитаем цены фигур противника, прибавляем по 1 очку за каждое из 9-ти полей в квадрате 3х3, которое держим под ударом. таблица: пешка- 1 очко, конь- 2 очка, офицер- 3 очка, ладья- 4 очка, ферзь- 8 очков, король- 200 очков.

                                                  этот алгоритм отвечает требованиям максимальной быстроты(просматриваем лишь на 1ход- возможно ли меньше?) И максимальной простоты текстового описания(кто придумает проще- делитесь)) И, наверное, обеспечивает постановку мата предыдущему ИИ не более чем за 50ходов(надо проверить, но времени нет).

                                                  следующий ИИ может дольше работать и быть сложнее в описании. на знаю, реально ли в течении минуты на моём компе просчитывать 3-и хода вперёд, но по-любому мы быстро упрёмся в потолок n просмотра на n ходов вперёд, и => придётся усложнять текстовое описание и добавлять новые элементы, такие как "взвешивание" различных ветвей, чтобы решить, какие из них просчитывать дальше.

                                                  Добавлено
                                                  Цитата ElcnU @
                                                  ничья вроде засчитывается по окончанию времени: если у стороны, у которой осталось время, но фигур недостаточно чтобы поставить мат, то эта сторона просто не может выиграть, а может только не проиграть и, соответственно, по времени может добиться максимум ничьей.

                                                  ничья может быть и по соглашению сторон. напр, если обе стороны понимают, что не имеют возможности поставить мат сопернику, то- какой смысл играть?

                                                  Добавлено
                                                  Цитата ya2500 @
                                                  И, наверное, обеспечивает постановку мата предыдущему ИИ не более чем за 50ходов(надо проверить, но времени нет).

                                                  если он это сделает в 100 партий из 100, то бум считать, что это условие выполняется.
                                                  "Гарри Поттер и методы рационального мышления" Элиезер Юдковский
                                                  "Harry Potter and the Methods of Rationality" Eliezer Yudkowsky
                                                    Цитата ElcnU @
                                                    ничья вроде засчитывается по окончанию времени:

                                                    Не только. Есть ещё правило 50 ходов.
                                                    0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
                                                    0 пользователей:


                                                    Рейтинг@Mail.ru
                                                    [ Script Execution time: 0,1912 ]   [ 17 queries used ]   [ Generated: 26.06.19, 04:02 GMT ]