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

Discussion in 'Машинное отделение' started by WildCat, 26 Oct 2006.

  1. TopicStarter Overlay

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    • Команда форума
    Member Since:
    13.02.2006
    Message Count:
    9.492
    Likes Received:
    3.122
    Репутация:
    95
    Location:
    Москва
    Оффлайн
    А если пешка соперника после взятия становится на соседнюю вертикаль?
  10. WinPooh В.М.

    • Команда форума
    Member Since:
    13.02.2006
    Message Count:
    9.492
    Likes Received:
    3.122
    Репутация:
    95
    Location:
    Москва
    Оффлайн
    Опять мимо.

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

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

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

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

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

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

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

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

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

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

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

    • Заслуженный
    • Ветеран
    • Старожил
    Member Since:
    02.05.2006
    Message Count:
    6.811
    Likes Received:
    96
    Репутация:
    3
    Location:
    Санкт-Петербург
    Оффлайн
    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 Коршунов Игорь

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

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

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

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

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

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

Share This Page