Kết quả 1 đến 10 của 10
Hybrid View
-
23-12-2022, 07:41 PM #1
Thử nghiệm các chương trình (động cơ/engine) cờ Tướng
Một trong các thú vui của dân yêu cờ yêu máy tính là cho các chương trình hoặc hệ thống chơi cờ “chiến” với nhau để tìm xem cái nào tốt nhất. Có nhiều kiểu chiến. Dân Việt và Trung đã nói nhiều đến kiểu chiến “tổng lực” bằng cách đọ vài ván cờ giữa những người chủ với nhau trực tiếp hoặc qua mạng để xem ai có phần cứng tốt hơn, trình cờ tốt/mới/nhiều U hơn, book (cẩm nang khai cuộc) cao tay hơn hay người chủ có trình độ điều khiển giỏi hơn!
Kiểu thử trên rất thú vị, nhiều gay cấn. Người ta vẫn dùng trong các giải đấu phần mềm cờ hoặc giữa người và máy. Tuy vậy cách này nặng về tính thi thố, cá cược. Kết quả tuy chỉ ra hệ thống cờ nào là tốt nhất nhưng vẫn có nhiều điều không chắc chắn, không trả lời được câu hỏi cơ bản chương trình cờ nào là tốt nhất. Rất có thể một bên thắng vì họ có phần cứng tốt hơn, cẩm nang khai cuộc tốt hơn, người điều khiển giỏi hơn hoặc tổng hoà những thứ đó.
Có một kiểu “chiến” khác tìm xem chương trình cờ nào là tốt nhất. Cách thử nghiệm hợp lý là chạy các trình cờ đó trong các điều kiện giống nhau để đảm bảo công bằng và so sánh được. Phổ biến và đơn giản nhất là chạy chúng trong cùng một máy tính, thiết lập cùng giá trị cho các tham số quan trọng nhất như số luồng (thread, CPU), kích thước bảng hash. Để tránh các ưu thế về đi trước/sau và ảnh hưởng của cẩm nang khai cuộc thì thường các trình cờ sẽ đấu với nhau với số ván chẵn bằng cách đấu nhiều vòng, mỗi vòng sẽ đổi bên để đảm bảo số lần được đi trước như nhau và mỗi vòng đi/về sẽ chơi cùng khai cuộc để đảm bảo công bằng.
Vì cờ là vô cùng, cả người lẫn các chương trình cờ khó có thể luôn thắng hay đi hệt như các ván trước. Cho dù chơi cùng khai cuộc và cùng thời gian vẫn có lúc thắng lúc thua. Điều này đặc biệt đúng khi các chương trình cờ có trình độ không cách nhau quá xa. Muốn tránh cái rủi ro bất ổn này người ta phải cho các chương trình cờ đấu với số lượng lớn, từ vài chục đến hàng nghìn ván. Để tiến hành chơi với số lượng lớn ván cờ như vậy người ta thường phải dùng cờ nhanh, vài phút cho mỗi bên. Người ta cũng dùng ít U (luồng/thread) cho các chương trình cờ. Thông thường chỉ cần 1 và bỏ ponder (chức năng cho phép tính toán trong khi đối phương đang tới lượt). Nhờ thế người ta có thể chạy cùng lúc hàng chục ván cờ trên máy tính đời mới nhiều CPU. Nên nhớ do máy tính ngày càng mạnh một ván cờ nhanh trên máy tính đời mới nhiều khi còn tính toán nhiều hơn ván cờ chậm trên các máy đời cũ hơn.
Người ta cũng để các GUI (trình giao diện cờ) điều khiển tự động các ván đấu này, tránh sự can thiệp của người làm mất đi sự công bằng. Cũng chỉ có máy tự động mới tiến hành được hàng trăm ván cờ ròng rã nhiều ngày đêm.
Dưới đây là thử nghiệm của tôi với 4 chương trình cờ Tướng loại miễn phí và được coi là mạnh hiện nay bao gồm Pikafish, GG chess 9.0, SA chess 1.6 và Fairy Stockfish.
Hai chương trình cờ GG chess, SA chess từng nổi đình đám trong giới cờ chúng ta lâu nay. GG chess hồi đầu là bản thương mại (bán), tương đối ngang ngửa với các chương trình cờ mạnh nhất thời đó. Thường nó kém một ít nhưng cũng có phiên bản vọt lên dẫn đầu được một thời gian. Cách đây khoảng hai năm tác giả ngừng cải tiến, thôi không bán nó nữa và cho luôn mã nguồn trên Internet. Nó vẫn là chương trình rất mạnh và chơi có bản sắc riêng. Chương trình cờ SA chess của một tác giả gốc TQ sống ở Úc cũng nổi đình đám thời đó. Phiên bản 1.6 là bản miễn phí cuối cùng. Cùng năm ra bản 1.6 tác giả đã mang nó về TQ thi đấu trong một giải cờ máy nổi tiếng và đoạt vị trí thứ hai, chỉ sau XQMS. Ngay sau đó tác giả đã ra mắt phiên bản 1.8 là bản thương mại và kinh doanh từ hồi đó đến giờ. Tuy nhiên tôi không thấy tác giả ra phiên bản mới nữa, trang web thỉnh thoảng sập một thời gian. Có lẽ việc kinh doanh không thuận lợi và tác giả cũng chán hoặc bận việc khác.
Pikafish là chương trình cờ mới ra đời gần đây, cải tiến từ chương trình cờ nổi tiếng Stockfish của cờ Vua thành cờ Tướng và họ tạo dữ liệu học máy cho công nghệ cờ NNUE. Hiện nay nó được coi là trình miễn phí mạnh nhất. Trên trang mạng họ tuyên bố đã hạ được trình cờ AlphaCat và họ nói họ sẽ phấn đấu để hạ bệ tất cả các chương trình cờ thương mại khác. Họ tin tưởng rằng họ sẽ làm được cũng như Stockfish đã làm với thế giới cờ Vua. Một số người đề nghị có thêm chức năng chạy theo cách cổ điển, không dùng NNUE. Tác giả đã trả lời rằng họ không có phần mã này và đùa rằng họ chỉ có thể làm được nếu ai đó “cắt” chúng từ các chương trình nổi tiếng, thương mại như Cyclone hay XQMS. Qua đó mọi người đoán rằng họ đã lấy các ván cờ từ các chương trình cao cấp để “dậy” nó qua công nghệ NNUE.
Fairy-Stockfish cũng tương tự như Pikafish, họ nhà “cá” cả: được cải tiến từ trình cờ Vua Stockfish. Có điều Fairy-Stockfish có thâm niên hơn nhiều Pikafish. Có lẽ nó là chương trình cờ Tướng miễn phí đầu tiên làm từ Stockfish và phát triển từ thời chưa có NNUE nên nó cũng có đủ mọi thành phần. Cách đây vài năm tôi đã từng thử nhiều với nó. Chơi dở tệ!!! Cũng không thể trách được: tác giả chính của nó là một người Đức, có lẽ còn không chơi được cờ Tướng theo đúng nghĩa. Họ mới có phiên bản mới chạy với công nghệ NNUE. Tôi sẽ thử nghiệm với hai chương trình, một chạy với NNUE và cái kia không NNUE (chạy cùng kiểu như trước đây) và tôi đặt tên nó là Classic (Cổ điển).
Tất cả các chương trình này đều có thể tìm được trên Internet, miễn phí và chạy “an toàn” theo nghĩa các hệ thống phòng vệ/chống virus của máy tính không kêu, không xoá chúng. “An toàn” cũng là lý do tôi chưa thử với nhiều chương trình khác như Cyclone, Xqms…
Trận chiến giữa các chương trình trên đã kết thúc. Tổng số ván cờ là 300. Chúng là loại cờ nhanh, 5 phút cho 40 nước, mỗi nước cộng thêm nửa giây. Tôi cho chạy cùng lúc 9 ván trên một máy tính có 8 CPU/16 luồng và mất khoảng một đêm. Chương trình GUI là MoonRiver (Sông Trăng) vốn là một trương trình phát triển từ GUI cờ Vua Banksia GUI nên nó có rất đủ các chức năng và chạy rất ổn định, rất ít lỗi!
Hình dưới đây là kết quả của lần thử này:
Pikafish không hổ danh là phần mềm miễn phí mạnh nhất hiện nay, bỏ khá xa các chương trình còn lại. Nó thắng dễ quá nên tôi không biết bàn thêm thế nào nữa! Có lẽ khó khăn sắp tới là tìm cho nó một đối thủ xứng tầm.
Hai anh GG chess và SA chess kèn cựa nhau một chín một mười, GG chess nhỉnh hơn chút ít nhưng khoảng cách không quá lớn.
Điều đáng ngạc nhiên nhất lại là Fairy-Stockfish. Trình Cổ điển (Classic - chơi không dùng NNUE) vẫn kiên định chơi dở như xưa, đứng dưới GG ches và SA ches một khoảng xa (căn cứ vào điểm số). Tuy vậy khi chạy với NNUE lại là một câu chuyện khác: nó cho cả hai trình kia hít khói! NNUE dường như là cây đũa thần, biến một anh chàng nhỏ con bỗng hoá thành khổng lồ! Khoảng cách sẽ còn được nới rộng vì Fairy-Stockfish vẫn luôn được cải tiến còn hai anh kia đã đứng im từ lâu rồi!
/PHN
Kết quả
Các trình cờ đang thi đấu cật lực, xuyên đêm với GUI MoonRiverLần sửa cuối bởi chezz, ngày 23-12-2022 lúc 07:56 PM.
-
24-12-2022, 09:58 AM #2
Bác có thể share gui MoonRiver này không ạ ?
-
25-12-2022, 12:21 PM #3
Chương trình MoonRiver là chương trình miễn phí. Nó đang ở giai đoạn kiểm tra (test) tích cực trước khi phát hành. Bản thân cái trận đấu trong bài cũng là một cái kiểm tra của chúng tôi. Các bạn chờ thêm chút ít nữa thôi!
-
26-12-2022, 07:50 AM #4
-
22-03-2023, 12:00 AM #5
-
28-12-2022, 04:53 AM #6
Trước đây nếu hỏi sw miễn phí mà mạnh ngang bản quyền có lẽ bị chửi sml. Bây giờ mấy cháu pikachu kinh quá. Sánh ngang bản quyền vượt mặt xqms,alphacat,chơi sòng phẳng bug, cyclone lại còn hay uplate.Từ lúc có cái NNUE phong trào chơi sw nhạt hẳn.Hòa từ 0h sáng đến 24h đêm.Chỉ tiếc cho 1 số cơ thủ đầu tư dàn máy và sw khủng cũng chỉ để hòa. Mấy ông tác giả bán cũng ế đi. 2023 anh em mua book chơi nhé còn engine xêm xêm rồi. Hehe
-
28-12-2022, 02:29 PM #7
Trong trận cờ bên trên, Pikafish tỏ ra vượt trội hơn hẳn các chương trình khác. Do vậy tôi đang cố gắng tìm cho nó một đối thủ xứng tầm. Được một người bạn "chỉ điểm", tôi thử cho nó đấu với CCStockfish.
Như tên của nó, có thể thấy nó là chương trình sửa đổi (clone) từ Stockfish cho Cờ Tướng. Trong phần thông tin về tác giả nó đề cập tới Fairy-Stockfish và Pikafish. Có lẽ nó clone trực tiếp từ hai anh này. Dữ liệu lượng giá NNUE của nó trông có vẻ khác nhiều với Pikafish. Tôi đoán công sức chính của các tác giả là tự tạo dữ liệu đó.
Kết quả trận đấu như dưới đây - trận đấu của ba chú Cá:
Cả Pikafish và CCStockfish đều tập trung "đập" và kiếm điểm từ Fair-Stockfish. Tuy cũng từ Stockfish và dùng NNUE, Fair-Stockfish lại bị bỏ lại xa phía sau. Hoà nhiều, thua kha khá, nhưng Fairy-Stockfish không hề "bất lực" toàn tập, nó vẫn có vài ván thắng lại cả hai chú Cá kia (ở hình trên số 1 là ván thắng, 0 thua, = hoà, cột 1 là Pikafish, Fairy-Stockfish thắng được Pikafish tới 11 trong trận đấu 200 ván)!
Pikafish làm tốt hơn cả nên điểm cao hơn chút ít. CCStockfish tuy có kém hơn nhưng không nhiều.
Trong 200 ván đấu trực tiếp giữa Pikafish và CCStockfish, mỗi anh đều thắng 2 ván (thua 2), hoà 196 ván còn lại.
Có thể nói Pikafish và CCStockfish là kỳ phùng địch thủ của nhau!Lần sửa cuối bởi chezz, ngày 28-12-2022 lúc 02:41 PM.
-
30-12-2022, 02:47 AM #8
-
21-03-2023, 10:34 PM #9
bac co con nao cho e xin mot con. e mu tit chang biet gi . zalo 0944530503. cam on bac rat nhieu
-
28-12-2022, 02:16 PM #10
Bạn nói chính xác. Và đó cũng là tình hình chung của mọi loại cờ bây giờ, từ cờ Vua, go, cờ Tướng... Nhìn đâu cũng là họ nhà Cá (fish) cả! Đều siêu mạnh nhưng cũng na ná nhau, từ ván chơi cho đến cấu tạo chương trình.
Chương trình cờ có hai phần quan trọng nhất là phần Tìm kiếm và phần Lượng giá. Cả chục năm nay phần tìm kiếm không ai qua mặt được chương trình Stockfish vì nó là phần mềm nguồn mở, có rất nhiều người tham gia cải tiến nó (bản thân tôi cũng tham gia). Nó lại có phần thử nghiệm tự động với rất nhiều người giúp sức bằng cách góp máy tính. Do vậy chương trình của nó là công sức của hàng nghìn người và cực kỳ tối ưu. Các chương trình cờ khác, đặc biệt là các loại cờ khác thường "nẫng" luôn mã của phần tìm kiếm này (vì rất khó làm được một cái tương đương, nó lại chạy được với mọi loại cờ) rồi thay thế phần lượng giá bằng phần lượng giá của riêng họ.
Phần lớn các chương trình cờ Tướng chục năm trở lại đây làm theo kiểu này. Phần lượng giá là bắt buộc phải tự viết vì của cờ Vua không dùng được cho cờ Tướng.
Đó là cách làm phổ biến trước đây, tuy đều "nửa" Cá nhưng do còn có phần Lượng giá riêng các chương trình vẫn còn có bản sắc riêng. Các cải tiến của các tác giả lúc đó chủ yếu là phần này.
Tuy vậy đến thời NNUE thì mọi thứ thay đổi. Người ta thay hàm lượng giá trước đây bằng loại hàm lượng giá dùng mạng thần kinh và dùng học máy để tạo dữ liệu cho nó. Do kết quả của NNUE quá tốt những chương trình cao cấp đều nhanh chóng chuyển sang dùng NNUE. Do NNUE học từ Stockfish và mã của nó cũng quá tốt nên người ta gần như copy lại phần mã này, sửa tý chút sao cho phù hợp với loại cờ và chương trình của họ.
Như vậy cả hai phần quan trọng nhất bây giờ đều giống Stockfish và giống nhau (một chín một mười). Theo lý thuyết các chương trình này sẽ chơi khác nhau do dữ liệu học khác nhau. Tuy vậy thực tế không cho thấy chúng khác nhau nhiều. Nếu khi dậy lại dùng cùng các dữ liệu như ván cờ cao cấp thì kết quả sẽ giống nhau nữa.
Bản thân NNUE có dùng dữ liệu tìm kiếm. Nói cách khác chúng có chứa thêm vài độ sâu tìm kiếm trong dữ liệu. Điều đó làm cho máy tính mạnh hơn, tìm kiếm thêm vài độ sâu nữa cũng không hơn mấy máy kém hơn. NNUE lại thiên về tìm thế cờ tốt, chiến lược tốt chứ không phải chiến thuật tốt, khiến việc tìm sâu thêm không cải thiện nhiều. Do vậy giờ máy đắt tiền cũng không giúp nhiều.
Chơi giống nhau, lại cùng thiết kế, phần cứng không ảnh hưởng lớn, hoà sẽ là kết quả chủ đạo!Lần sửa cuối bởi chezz, ngày 28-12-2022 lúc 02:45 PM.
Thử nghiệm các chương trình (động cơ/engine) cờ Tướng
Đánh dấu