Что это означает?(фрагмент из исходников Booot)

Тема в разделе "Машинное отделение", создана пользователем Orlov, 4 апр 2007.

  1. TopicStarter Overlay

    Orlov Учаcтник

    • Участник
    Рег.:
    27.02.2007
    Сообщения:
    177
    Симпатии:
    0
    Репутация:
    0
    Оффлайн
    Поясните пож. что за эвристика такая?

    if (tree[ply-1].hist) and (tree[ply+1].bmove<>0) then
    begin
    m1f:=tree[ply-1].cmove and 255;
    m2f:=tree[ply+1].bmove and 255;
    m1t:=(tree[ply-1].cmove shr 8) and 255;
    m2t:=(tree[ply+1].bmove shr 8) and 255;
    // ход той же фигурой
    if (m1t=m2f) then
    begin
    Result:=alpha-1;
    exit;
    end;
    // Ход на освободившееся поле
    if (m2t=m1f)
    then
    begin
    Result:=alpha-1;
    exit;
    end;
    // Ход 1 расчистил путь для хода 2
    if (Intersect[m2f,m2t] and Only[m1f])<>0 then
    begin
    Result:=alpha-1;
    exit;
    end;
    end;

    Спасибо!
  2. Booot Учаcтник

    • Участник
    Рег.:
    05.06.2006
    Сообщения:
    140
    Симпатии:
    0
    Репутация:
    0
    Оффлайн
    У меня достаточно агрессивное LMR. Эта эвристика помогает определить потенциально опасные ходы и не уменьшать для них глубину. Работает следующим образом: после того как мы пометили ход как усекаемый LMR (и уменьшили для него глубину) на следующем уровне мы после NullMove, не приведшего к отсечению, смотрим какой именно ход "угрожает". NullMove предполагает исполнение 2 ходов подряд на доске за один цвет. Первый из них - кандидат на LMR, второй - предположительно несущий угрозу для противоположной стороны, не позволивший сделать отсечение по beta. Эти два хода и есть предметом рассмотрения. Если оба хода делала одна фигура, то делаем вывод, что первым ходом она на что-то напала, а вторым стало быть что-то грохнула. Поэтому первый ход (нападение на что-то) не стоит обрезать. В этом случае мы вылетаем с оценкой ниже альфы, что на своем уровне приведет к мгновенному LMR research с нормальной глубиной.
    Та же логика, если первым ходом мы освободили поле, на которое вторым ходом осуществляется угроза или первым ходом мы убрали фигуру с траектории действия второго хода.

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