2009-10-04 39 views
5

Tôi đang tìm một AI cờ vua có thể chạy trên Google App Engine. Hầu hết các cờ vua AI dường như được viết bằng C và do đó không thể chạy trên GAE. Nó cần phải đủ mạnh để đánh bại một cầu thủ bình thường, nhưng đủ hiệu quả để nó có thể tính toán di chuyển trong một yêu cầu duy nhất (dưới 10 giây).cờ vua AI cho GAE

Lý tưởng nhất nó sẽ được viết bằng Python để tích hợp dễ dàng hơn với mã hiện có.

Tôi đã xem qua một vài dự án đầy hứa hẹn nhưng họ không nhìn trưởng thành:

Trả lời

5

Có vấn đề gì với PyChess? Đó là tinh khiết Python, khá trưởng thành, và chắc chắn sẽ có thể đánh bại một cầu thủ bình thường.

Nó được một lúc kể từ khi tôi đã sử dụng PyChess, nhưng trong nháy mắt nhanh chóng thông qua some of the source không chỉ ra rằng bạn có thể đặt một giới hạn thời gian bao lâu để tìm kiếm một di chuyển.

Động cơ PyChess được viết bằng Python tinh khiết nằm trong pychess.Utils. Cụ thể, nếu bạn nhìn vào pychess.Utils.lutils, bạn có thể xem ví dụ the move generator written in Python.

+0

Tôi đã có một cái nhìn tại pychess, nhưng các công cụ cờ vua nó sử dụng có vẻ là C dựa: http://code.google.com/p/pychess/wiki/ChessEngines – hoju

+0

cảm ơn cho con trỏ! – hoju

+0

@Richard: Nó hỗ trợ động cơ C, thông qua các lớp CECPEngine và UCIEngine. Tuy nhiên, động cơ nó bó và được sử dụng để phân tích nội bộ, được viết bằng Python. –

1

Vấn đề này là một trận đấu kém cho kiến ​​trúc GAE, được thiết kế cho các hoạt động CRUD hiệu quả, chứ không phải các nhiệm vụ đòi hỏi nhiều CPU. Trong thực tế, bất cứ điều gì mà mất nhiều hơn một vài chục mili giây cho mỗi yêu cầu sẽ thổi ra hạn ngạch CPU của bạn khá nhanh chóng.

+0

vẫn còn, hạn ngạch CPU miễn phí rất hào phóng ở 6,5 giờ. Nếu di chuyển AI trung bình mất ~ 3 giây CPU (một số là trên cuốn sách) và có ~ 40 di chuyển/trò chơi, sau đó điều đó sẽ cho tôi ~ 200 trò chơi/ngày, đó là nhiều hơn tôi cần. (Hy vọng giả định của tôi là chính xác) – hoju

+0

Thực ra bạn có thể tạo ra những động cơ mạnh mẽ với sức mạnh cpu không nhiều, nếu bạn làm điều đó một cách chính xác. Một công cụ cờ vua tốt làm cho cây rất nặng, tổng số nút tìm kiếm, nói rằng, độ sâu 7 nằm trong vòng 1 giây của ngôn ngữ thông dịch. –

+0

Nếu bạn mất quá 500ms, quá trình của bạn bị giết và người dùng của bạn nhận được HTTP 500. –

Các vấn đề liên quan