Shatranj arama algoritmaları ve değerlendirme teknikleri ile satranç pozisyonları manipülasyon ve deneme sağlayan bir bitboard tabanlı, Açık Kaynak, interaktif satranç programlama modülü. Shatranj hedefi Shannon B Tipi satranç programlarının uygulanmasında yardımcı olmak için bir araç yazmaktır.
Bu nedenle, yürütme hızı daha sonra kod netlik ve uygulama dilinin ifade gücü daha az önemli hale gelir. Yorumlanmış bir dilde yazılmış olması, bu modül satranç programcısı sinyal işleme araçlarında iletişim mühendisleri MATLAB sesler numunelerin vektörleri işlemek için izin çok gibi doğal, interaktif bir şekilde bitboards değiştirmenize olanak verir.
Modül currenly, Alphabeta budama, tekrarlı derinleşme ile basit bir özyinelemeli minimaks arama uygulayan kısa cebirsel gösterimini kullanır, tekrar çek ve 50 hamle kuralı işler. Eksik Özellikler hareketsiz kontroller, geçiş tabloları, negascout ve MTD arama vardır.
satranç programlama araç shatranj.py denilen bir Python modülü şeklinde kullanılabilir. Ayrıca muhtemelen açılış kitabı yanı sıra modül boyunca kullanılır önceden oluşturulmuş karma tabloları gibi bazı (modül veri dosyası bulamazsa, bu yeniden hesaplanır) ihtiyacınız olacak.
Her üç dosyayı aynı dizine ve sadece koşmak python python modülü üzerindeki ("Python shatranj.py") koyun. Bildiğim kadarıyla gereksinimleri olarak, bütün bu Python (sürüm 2.3 sonra her şey iyi çalışması gerekir) olarak adlandırılan yorumlanır, yüksek seviyeli bir dil yeni versiyonu gereklidir. Bir hız artışı biraz istiyorsanız, Shatranj modül Psyco arar ve yüklüyse kullanacağız.
Daha fazla dokümantasyon kullanılabilir hale gelinceye kadar, burada kısa bir örnek oturumu:
[Sam-Tannous-Bilgisayar: ~ / Shatranj] kalay% piton
>>> Shatranj import *
... Başlangıç verilerini okuma
... Veri ,0774528980255 okumak için toplam süre
37848 pozisyonları ile ... bulundu açılış kitap Shatranj-book.bin
>>> Konum = Konum ("r1bqk2r / pppp1ppp / 2N5 / 5N2 / 2B1n3 / 8 / PPP1QPPP / R1B1K2R")
>>> All_pieces = position.piece_bb ["b_occupied"] | position.piece_bb ["w_occupied"]
>>> Other_pieces = position.piece_bb ["b_occupied"]
>>> From_square = c4
>>> Wtm = 1
>>> Maske = position.pinned (from_square, wtm)
>>> Ne_pieces = diag_mask_ne [from_square] all_pieces
>>> Nw_pieces = diag_mask_nw [from_square] all_pieces
>>> Hareket = ((diag_attacks_ne [from_square] [ne_pieces] other_pieces) |
| ... ([From_square] [ne_pieces] ~ all_pieces diag_attacks_ne)
... (Diag_attacks_nw [from_square] [nw_pieces] other_pieces) |
...) Ve maske ([from_square] [nw_pieces] ~ all_pieces diag_attacks_nw)
>>>
>>> Hamle
1275777090846720L
>>>
>>> Tobase (hamle, 2)
'100100010000101000000000000010100000000000000000000'
>>> Ekran (gider)
+ --- + --- + --- + --- + --- + --- + --- + --- +
8 | |. | |. | |. | |. |
+ --- + --- + --- + --- + --- + --- + --- + --- +
7 |. | |. | |. | 1 |. | |
+ --- + --- + --- + --- + --- + --- + --- + --- +
6 | 1 |. | |. | 1 |. | |. |
+ --- + --- + --- + --- + --- + --- + --- + --- +
5 |. | 1 |. | 1 |. | |. | |
+ --- + --- + --- + --- + --- + --- + --- + --- +
4 | |. | |. | |. | |. |
+ --- + --- + --- + --- + --- + --- + --- + --- +
3 |. | 1 |. | 1 |. | |. | |
+ --- + --- + --- + --- + --- + --- + --- + --- +
2 | |. | |. | |. | |. |
+ --- + --- + --- + --- + --- + --- + --- + --- +
1 |. | |. | |. | |. | |
+ --- + --- + --- + --- + --- + --- + --- + --- +
a b c d e f g h
>>> Position.show_moves (1)
['Rg1', 'O-O', 'f3', 'a3', 'Rb1', 'f4', 'Ba6'
'BH6', 'BD3', 'Qg4', 'QE3', 'Ne7', 'BE6', 'Nxg7'
'Qxe4', 'NE3', 'b4', 'NH4 "," b3 "," Be3', 'BG5'
'G3', 'KF1', 'Kf1', 'NH6', 'a4', 'NG3', 'Qh5'
'Kd1', 'H4', 'H3', 'C3', 'Bxf7', 'ND6', 'BB5'
'Ad4', 'Vf3', 'g4', 'QF1', 'Bb3', 'Vd1', 'QD3'
'Qd2', 'BD5', 'Bd2', 'BF4']
>>>
>>> # Şimdi bir oyun oynayın!
>>>) (Oynamak
Shatranj sürüm 1.10
g: Anahtar taraf m: Yasal hamle göstermek
n: yeni oyun l: liste oyunu kayıt
d: ekran kartı b: kitap hamle göstermek
sd: değişim arama derinliği (2-16) default = 5
q: çıkın
Shatranj: d
+ --- + --- + --- + --- + --- + --- + --- + --- +
8 | r | n | b | q | k | b | n | r |
+ --- + --- + --- + --- + --- + --- + --- + --- +
7 | p | p | p | p | p | p | p | p |
+ --- + --- + --- + --- + --- + --- + --- + --- +
6 | |. | |. | |. | |. |
+ --- + --- + --- + --- + --- + --- + --- + --- +
5 |. | |. | |. | |. | |
+ --- + --- + --- + --- + --- + --- + --- + --- +
4 | |. | |. | |. | |. |
+ --- + --- + --- + --- + --- + --- + --- + --- +
3 |. | |. | |. | |. | |
+ --- + --- + --- + --- + --- + --- + --- + --- +
2 | P | P | P | P | P | P | P | P |
+ --- + --- + --- + --- + --- + --- + --- + --- +
1 | R | N | B | Q | K | B | N | R |
+ --- + --- + --- + --- + --- + --- + --- + --- +
a b c d e f g h
Yazılım detaylar:
Yorum Bulunamadı