α(알파)와 β(베타) — 두 경계
알파-베타에서 두 값을 추적해. 트리를 내려가면서:
📖 α와 β의 의미
- α (alpha) — "MAX가 지금까지 보장받은 최소 점수." 처음엔 -∞.
- β (beta) — "MIN이 지금까지 보장받은 최대 점수." 처음엔 +∞.
α ≤ 노드 값 ≤ β 의 범위 안에서 노드의 진짜 값을 찾는다.
왜 이 두 값이 필요할까? 가지치기 조건 때문이야:
⚠️ 가지치기 조건: β ≤ α
이 조건이 성립하면 나머지 자식들 안 봐도 됨. 무슨 뜻?
- MIN이 자식들을 보다가 α 이하의 값을 발견 → MIN이 이걸 골라 MAX한테 줄 텐데, MAX는 다른 데서 이미 α를 확보. 그래서 안 옴.
- MAX가 자식들을 보다가 β 이상의 값을 발견 → MAX가 골라 MIN한테 가져갈 텐데, MIN은 다른 데서 이미 β를 확보. 그래서 안 옴.
이게 알파 가지치기(α-cut)와 베타 가지치기(β-cut).
말로만 들으면 헷갈리니까 다음 페이지에서 작은 트리를 손으로 풀어보자.