Продления на проходных пешках

Тема в разделе "Машинное отделение", создана пользователем WildCat, 26 окт 2006.

  1. TopicStarter Overlay

    WildCat Коршунов Игорь

    • Команда форума
    Рег.:
    04.05.2006
    Сообщения:
    3.599
    Симпатии:
    4
    Репутация:
    0
    Адрес:
    Гомель
    Оффлайн
    NS! Если у тебя появляются мысли совершенно не по теме, то лучше сам открывай новые ветки.
    Я думаю эта тема достойна отдельного обсуждения.
  2. TopicStarter Overlay

    WildCat Коршунов Игорь

    • Команда форума
    Рег.:
    04.05.2006
    Сообщения:
    3.599
    Симпатии:
    4
    Репутация:
    0
    Адрес:
    Гомель
    Оффлайн
    У меня проходные пешки орпеделяются в ОФ. Если я буду после каждого хода пешкой проверять, а не проходная ли она, то может получиться большое падение скорости. Не хочется ради этого переходить на битбордное представление пешек. Есть какие-нибудь идеи?
  3. NS Нефёдов Сергей

    • Заслуженный
    • Ветеран
    • Старожил
    Рег.:
    02.05.2006
    Сообщения:
    6.811
    Симпатии:
    96
    Репутация:
    3
    Адрес:
    Санкт-Петербург
    Оффлайн
    В корне дерева формирум список проходных пешек - как обычно:
    Размер списка.
    В каждом элементе - координата пешки и количество похищенных ею ply.
  4. TopicStarter Overlay

    WildCat Коршунов Игорь

    • Команда форума
    Рег.:
    04.05.2006
    Сообщения:
    3.599
    Симпатии:
    4
    Репутация:
    0
    Адрес:
    Гомель
    Оффлайн
    Мне это не нравится. В процессе перебора пешки иногда становятся проходными, а иногда перестают ими быть.
  5. NS Нефёдов Сергей

    • Заслуженный
    • Ветеран
    • Старожил
    Рег.:
    02.05.2006
    Сообщения:
    6.811
    Симпатии:
    96
    Репутация:
    3
    Адрес:
    Санкт-Петербург
    Оффлайн
    Пешка может стать проходной - только при взятии пешкой.
    Перестать быть проходной - только при взятии пешкой, взятии пешки.
    При ходе пешки - много времени не тратится, так как ход на 7-ую - всегда становится проходной, а при остальных движениях - ограничение на depth.
  6. TopicStarter Overlay

    WildCat Коршунов Игорь

    • Команда форума
    Рег.:
    04.05.2006
    Сообщения:
    3.599
    Симпатии:
    4
    Репутация:
    0
    Адрес:
    Гомель
    Оффлайн
    Еще раз хочется повторить второй пост. Мне кажется, что определять проходимость при каждом ходе пешкой будет медленно.
  7. NS Нефёдов Сергей

    • Заслуженный
    • Ветеран
    • Старожил
    Рег.:
    02.05.2006
    Сообщения:
    6.811
    Симпатии:
    96
    Репутация:
    3
    Адрес:
    Санкт-Петербург
    Оффлайн
    Чтоб проверить стала ли пешка проходной после хода - нужно проверить в случае шестой - три поля, 5-ой вертикали - 6 полей и т.д.
    При этом при ходе на 6-тую необходима проверка только при depth>=2, а при ходе на пятую при Depth>=3
    Это значительно быстрее чем контроль повторения позиции, и пересчет Зобриста после хода.
  8. NS Нефёдов Сергей

    • Заслуженный
    • Ветеран
    • Старожил
    Рег.:
    02.05.2006
    Сообщения:
    6.811
    Симпатии:
    96
    Репутация:
    3
    Адрес:
    Санкт-Петербург
    Оффлайн
    При ходе пешки соперника наши проходные пропасть не могут.

    Появится могут только на двух полях - рядом с пешкой соперника.
    Но появление проходных после хода соперника нас не интересуют, так как их появление нужно ослеживать только при нашем ходе пешкой, и интересует только факт, что именно ходившая пешка стала проходной!!!

    При взятии пешкой соперника (поменяла вертикаль) Наши проходные могут пропасть только на одной вертикали!
    Так что нигде нет замедления.
  9. WinPooh В.М.

    • Команда форума
    Рег.:
    13.02.2006
    Сообщения:
    9.492
    Симпатии:
    3.122
    Репутация:
    95
    Адрес:
    Москва
    Оффлайн
    А если пешка соперника после взятия становится на соседнюю вертикаль?
  10. WinPooh В.М.

    • Команда форума
    Рег.:
    13.02.2006
    Сообщения:
    9.492
    Симпатии:
    3.122
    Репутация:
    95
    Адрес:
    Москва
    Оффлайн
    Опять мимо.

    Б. пп. d2, e2
    Ч. п. f4

    1. e2e4 f4xe3 - обе проходные перестали быть
  11. NS Нефёдов Сергей

    • Заслуженный
    • Ветеран
    • Старожил
    Рег.:
    02.05.2006
    Сообщения:
    6.811
    Симпатии:
    96
    Репутация:
    3
    Адрес:
    Санкт-Петербург
    Оффлайн
    Написано в предыдущем посте. :)
  12. WinPooh В.М.

    • Команда форума
    Рег.:
    13.02.2006
    Сообщения:
    9.492
    Симпатии:
    3.122
    Репутация:
    95
    Адрес:
    Москва
    Оффлайн
    Отвечено в предыдущем посте.
  13. NS Нефёдов Сергей

    • Заслуженный
    • Ветеран
    • Старожил
    Рег.:
    02.05.2006
    Сообщения:
    6.811
    Симпатии:
    96
    Репутация:
    3
    Адрес:
    Санкт-Петербург
    Оффлайн
    При взятии нашей пешки - вообще никаких проверок - она автоматом перестает быть проходной.
    Потом проверяется только вертикаль d (как я говорил проходные могут пропасть только на одной вертикали, в данном случае только одно поле) И причем проверка нужна только при Depth>=4, так в ином случае наша пешка автоматом перестает быть проходной по Depth.
    (и кстати, в нашем случае белую пешку на d2 можно вообще не проверять, так как она еще на второй - она не могла накопить продлений :) )

    Пешка соперника при этом попала на третью - при Depth>=2 нужно проверить три поля на отсутствие наших пешек.
  14. WinPooh В.М.

    • Команда форума
    Рег.:
    13.02.2006
    Сообщения:
    9.492
    Симпатии:
    3.122
    Репутация:
    95
    Адрес:
    Москва
    Оффлайн
    Продлевать можно по-разному, это понятно.
    Кто-нибудь эксперимент ставил - сколько это пунктов силы даёт?
  15. NS Нефёдов Сергей

    • Заслуженный
    • Ветеран
    • Старожил
    Рег.:
    02.05.2006
    Сообщения:
    6.811
    Симпатии:
    96
    Репутация:
    3
    Адрес:
    Санкт-Петербург
    Оффлайн
    Марков ставил - вроде 10 и больше пунктов. (насколько я понимаю - 10 пунктов прибавки по сравнению с простым продлением на любом ходе проходной)
  16. WinPooh В.М.

    • Команда форума
    Рег.:
    13.02.2006
    Сообщения:
    9.492
    Симпатии:
    3.122
    Репутация:
    95
    Адрес:
    Москва
    Оффлайн
    А по сравнению с отсутствием продления вообще, или с продлением только при ходе на предпоследнюю горизонталь?
  17. NS Нефёдов Сергей

    • Заслуженный
    • Ветеран
    • Старожил
    Рег.:
    02.05.2006
    Сообщения:
    6.811
    Симпатии:
    96
    Репутация:
    3
    Адрес:
    Санкт-Петербург
    Оффлайн
    По сравнению с продлением на любом ходе проходной пешки (без откатов, ход пешки на седьмую всегда я вляется ходом проходной), с проверкой depth - чтоб случайно не сделать лишнего продления. Это прибавляет больше, чем продление только при ходе на седьмую.

    Но конечно лучше найти Маркова, и попытать его :)
  18. NS Нефёдов Сергей

    • Заслуженный
    • Ветеран
    • Старожил
    Рег.:
    02.05.2006
    Сообщения:
    6.811
    Симпатии:
    96
    Репутация:
    3
    Адрес:
    Санкт-Петербург
    Оффлайн
    static int full_new_depth(
    .....
    if (in_pv && PIECE_IS_PAWN(MOVE_PIECE(move,board))){
    if (passed_pawn_move(move,board))
    return new_depth+1;

    Это код из Тоги, у неё продление только в PV ветвях, и нет проверки на Depth.
    про проверку я писал - проверяем прямоугольник шириной три пешки (перед полем куда пошла пешка) на наличие пешек соперника. в слeчае хода на 6-тую и depth>=2 три поля,
    ход на 5-ую и depth>=3 - шесть полей и т.д.

    Предлагатся усилить эту схему откатами продлений, а само продление делать во всех ветвях, а не только PV. (или хотя-бы не делать сокращение по LMR на таких ходах в не PV ветвях, в этом случае меняется условие на depth - оно становится более жестким)
  19. TopicStarter Overlay

    WildCat Коршунов Игорь

    • Команда форума
    Рег.:
    04.05.2006
    Сообщения:
    3.599
    Симпатии:
    4
    Репутация:
    0
    Адрес:
    Гомель
    Оффлайн
    В Тоге любой ход проходной в PV продляется?
    Заметить разницу в 10 пунктов малореально. Это может быть просто ошибка тестирования.
  20. NS Нефёдов Сергей

    • Заслуженный
    • Ветеран
    • Старожил
    Рег.:
    02.05.2006
    Сообщения:
    6.811
    Симпатии:
    96
    Репутация:
    3
    Адрес:
    Санкт-Петербург
    Оффлайн
    Да, в Тоге продляется в PV любой ход проходной (то есть если пешка после хода стала проходной)
    Усилние схемы откатами - наверно не ослабит её...
    Но это мнение моё, и насколько я понимаю это мнение Маркова.
  21. NS Нефёдов Сергей

    • Заслуженный
    • Ветеран
    • Старожил
    Рег.:
    02.05.2006
    Сообщения:
    6.811
    Симпатии:
    96
    Репутация:
    3
    Адрес:
    Санкт-Петербург
    Оффлайн
    Разница в 10 пунктов - 2 минуты на партию, 3000 партий. Необходимо четыре дня, при наличии одного компа. При наличии 10-ти тестеров, и если у них по нескольку компов - сроки значительно сокращаются.
  22. TopicStarter Overlay

    WildCat Коршунов Игорь

    • Команда форума
    Рег.:
    04.05.2006
    Сообщения:
    3.599
    Симпатии:
    4
    Репутация:
    0
    Адрес:
    Гомель
    Оффлайн
    Представил себе пешечник с двумя проходными у каждой стороны. Здесь мы можем не возращаться из
    продлений очень долго. Даже если будут откаты.
  23. NS Нефёдов Сергей

    • Заслуженный
    • Ветеран
    • Старожил
    Рег.:
    02.05.2006
    Сообщения:
    6.811
    Симпатии:
    96
    Репутация:
    3
    Адрес:
    Санкт-Петербург
    Оффлайн
    Да, долго. Но как тоько будет откат по одной пешке, то скорей всего будет сразу и по второй. (по depth - перестанет доходить до восьмой)
    Рыбка отлично видит блуждающий квадрат и его вариации. То есть она продляет на ходе проходной.

Поделиться этой страницей