Atölye › Satranç › 45/48. adım
Alfa-beta'nın ne kadar budayacağı, hamleleri hangi sırayla denediğimize bağlı: iyi bir hamle erken bulunursa
alpha erken yükselir ve kalanlar hızla elenir.
Ucuz bir tahmin: büyük taş alan hamleler genelde iyidir. Hamleleri aldıkları taşın değerine göre, en büyükten başlayarak sıralayalım. Sonuç yine aynı hamle; yalnız daha hızlı bulunur.
```js
// Trying captures of big pieces first lets alpha-beta skip more of the rest.
const gain = (m) => (board[m.to[0]][m.to[1]] ? VALUES[board[m.to[0]][m.to[1]][1]] : 0)
moves.sort((a, b) => gain(b) - gain(a))
```const gain = (m) => ... → bir hamlenin kazancı: hedef karede taş varsa onun değeri (VALUES[...]), yoksa 0.moves.sort((a, b) => ...) → sort listeyi yerinde sıralar. Verdiğimiz fonksiyon iki hamleyi karşılaştırır:
sonuç eksiyse a öne, artıysa b öne geçer.gain(b) - gain(a) → kazancı büyük olan öne: büyükten küçüğe sıralama. (Tersi, gain(a) - gain(b),
küçükten büyüğe olurdu.)search içinde if (depth === 0) return ... satırının altına (döngünün üstüne) yorumu ve iki satırı yaz.Beceriler: Diziler ve nesneler
← Alfa-beta: önemsizi atla Siyahı bilgisayar oynar →