Một số ý tưởng để viết trí tuệ nhân tạo cho cờ vua. Shah và Mat, trí tuệ nhân tạo: Những gì chúng ta dạy trải nghiệm của Cờ vua dự án đào tạo Casparov và trí tuệ nhân tạo




Một năm trước, chương trình Alphago giật gân đánh bại người chơi mạnh nhất thế giới, và bây giờ là trí tuệ nhân tạo Alphazero đã đánh bại động cơ cờ mạnh nhất.

Stockfish, được sử dụng để chuẩn bị tại nhà Hầu hết người chơi, người chiến thắng Giải vô địch TCEC 2016 và chức vô địch cờ vua trong số các chương trình máy tính 2017, hóa ra rõ ràng yếu hơn. Trong trận đấu từ 100 bên Alphazero giành được 28 chiến thắng ở 72 trận hòa và không bao giờ bị mất.

Nhân tiện, Alphazero chỉ dành bốn giờ để "học" cờ vua. Xin lỗi, mọi người, nhưng bạn không tức giận.

Được rồi - Các lập trình viên Alphazero được phát triển bởi DeepMind, Google, đã tạo ra nó dựa trên cơ chế của "Máy học máy", chính xác hơn là "học với củng cố". Nói một cách đơn giản, Alphazero đã không học cờ theo ý nghĩa truyền thống. Anh ta không có cuốn sách đầu tay, cũng không phải là bảng endgame, không có thuật toán phức tạp để đánh giá sức mạnh của những con tốt trung tâm và cánh quạt.

Công việc của nó có thể được so sánh với robot có thể sử dụng hàng ngàn phụ tùng, nhưng không biết nguyên tắc hoạt động của động cơ đốt trong, - nó trải qua sự kết hợp có thể xảy ra, cho đến khi nó xây dựng Ferrari, và đối với điều này anh ta cần ít thời gian hơn bộ ba của chúa tể của những chiếc nhẫn. Trong bốn giờ, chương trình đã chơi rất nhiều bữa tiệc với bạn, trở thành giáo viên của riêng bạn.

Cho đến nay, nhóm lập trình viên giữ im lặng. Họ không đưa ra ý kiến \u200b\u200bcờ vua, đề cập đến thực tế là báo cáo trong khi đang xem xét, nhưng ở đây bạn có thể đọc toàn bộ văn bản của mình. Nhóm nghiên cứu bao gồm Demis Hassabis, một ứng cử viên chính từ Anh và người đồng sáng lập của DeepMind (đã mua Google năm 2014). Hassabis, người đã tham gia các giải đấu Tandem Tandems tại buổi khai trương London Chess Classic, hiện đang ở Hội nghị hệ thống xử lý thông tin thần kinh (hệ thống xử lý thông tin thần kinh) ở California, với tư cách là cộng tác viên của báo cáo về một chủ đề khác.

Nhưng với Chess.com háo hức đã chia sẻ những đánh giá của mình về một cầu thủ cờ vua có một trải nghiệm cá nhân tuyệt vời về trò chơi với máy tính cờ vua. MG Harry Kasparov không ngạc nhiên khi Deepmind đã chuyển từ đi đến Cờ vua.

"Đây là một thành tựu đáng chú ý, mặc dù nó được dự kiến \u200b\u200bsau Alphago," ông nói Chess.com. "Nó tiếp cận" loại-b ", một cách tiếp cận giống như con người đối với cờ vua, kênh nào Shannon và Alan Turing mơ ước thay thế một bức tượng bán thân rắn."

Giống như một người, Alphazero coi ít vị trí hơn so với người tiền nhiệm của nó. Báo cáo tuyên bố rằng nó ước tính "tổng số" 80 nghìn vị trí mỗi giây so với 70 triệu mỗi giây từ Cờ cá.

MG Peter-Heine Nielsen, một giây dài của vô địch thế giới MG Magnus Karlsen, đã mở ra niềm đam mê của mình, đưa anh ta đến gần hơn với chủ tịch của Fide: Aliens. Ông nói Chess.com: "Sau khi đọc báo cáo và đặc biệt, sau khi xem xét bữa tiệc, tôi nghĩ:" Tôi luôn tò mò rằng nó sẽ là nếu một cái nhìn hợp lý hơn được trồng trên hành tinh của chúng ta và cho chúng ta thấy nghệ thuật của bạn về một trò chơi cờ vua. Có vẻ như, bây giờ tôi biết nó là gì. "

Chúng tôi cũng đã học về tầm quan trọng của những lợi thế của thân cây, ít nhất là cho trí tuệ nhân tạo. 25 trên 28 Chargetories Alphazero Won White (mặc dù kết quả + 3 \u003d 47-0 Đen chống cá chứng khoán, có xếp hạng vượt quá 3400, cũng không tệ).

Báo cáo cho thấy và tần suất động cơ đã chọn những lần ra mắt nhất định khi họ dạy. Xin lỗi, những người yêu thích bảo vệ cũ của Ấn Độ, nhưng bạn không ủng hộ. Sự quan tâm đến Bảo vệ Pháp cũng là một UGA theo thời gian, nhưng mong muốn chơi Ferzy Gambit và, đặc biệt, tiếng Anh mới bắt đầu vừa tăng lên.

Bạn sẽ làm gì trên trang web của sự mệt mỏi thiết yếu của sinh vật, chỉ là người đã thành thạo trò chơi với lịch sử 1400 năm? Sẽ chiếm lấy cái kia. Sau trận đấu từ cá chứng khoán, Alphazero đã dành cho "Đào tạo" chỉ hai giờ và đánh bại Elmo, động cơ máy tính mạnh nhất cho trò chơi ở Syogi.

Việc sử dụng chương trình tự học sáng tạo này, tất nhiên, không giới hạn trong các trò chơi.

"Nó luôn được tin rằng có quá nhiều kiến \u200b\u200bthức thực nghiệm trong Cờ vua từ máy để họ có thể chơi mạnh mẽ" từ đầu ", mà không sử dụng kiến \u200b\u200bthức của con người," Casparov nói. "Tất nhiên, tôi sẽ quan tâm để xem Những gì chúng ta có thể tìm hiểu về cờ vua. Với sự trợ giúp của Alphazero, mở triển vọng khổng lồ để học máy trong toàn bộ máy, có thể tìm thấy sự đều đặn không thể tiếp cận với mọi người. Rõ ràng là hậu quả kéo dài vượt xa Cờ vua và các trò chơi khác. Khả năng của Máy mở và vượt quá kiến \u200b\u200bthức về các hệ thống khép kín phức tạp, được nhân tạo tích lũy trong nhiều thế kỷ, - đây là một công cụ thay đổi thế giới. "

Các nhà báo cờ vua đã phỏng vấn tám trong số mười người tham gia giải đấu ở London về thái độ của họ đối với trận đấu chương trình. Video với một cuộc phỏng vấn sẽ được đăng trên trang web sau.

Những điều kiện rõ ràng nhất các điều kiện của trận đấu MG Hikar Nakamura. Bây giờ có một cuộc thảo luận nóng về sức mạnh điện toán của đối thủ, nhưng Nakamura tin rằng người khác quan trọng hơn.

Ông ngoại Mỹ gọi là trận đấu "không trung thực", chỉ định rằng để làm việc tối ưu động cơ, cá ekok nên sử dụng một cuốn sách đầu tay. Nakamura không nghĩ rằng với sự giúp đỡ của cô, cá kho sẽ thắng trận đấu, nhưng khoảng cách trong tài khoản sẽ ít hơn nhiều.

"Tôi chắc chắn rằng chính Chúa, chính Thiên Chúa sẽ không tăng 75% cặp kính có màu trắng mà không có bất kỳ Forow nào", anh nhận xét về kết quả Alphazero White: 25 chiến thắng và 25 trận hòa.

MG Larry Kaufman, một nhà tư vấn cờ vua hàng đầu Komodo Engine, hy vọng sẽ thấy chương trình mới hoạt động tốt như thế nào trên các máy tính cá nhân, mà không cần sử dụng các dòng điện tính của Google. Anh ta cũng lặp lại sự phản đối thể hiện bởi Nakakura về thực tế rằng Cờ lê đã chơi mà không có kiến \u200b\u200bthức đầu tay thông thường.

"Tất nhiên, gần như thật đáng kinh ngạc", ông nói, "Vâng, tôi đã nghe về những thành tựu của Alphago Zero trong trò chơi và mong đợi một cái gì đó như thế này, xem xét rằng nhóm phát triển đã có một cầu thủ cờ vua Demis Hassabis. Tuy nhiên, không rõ liệu chương trình alphazero có thể chơi cờ trên máy tính thông thường hay không, và nó thành công như thế nào. Có lẽ sự phổ biến hiện đại của động cơ cờ vua sử dụng một tính năng Minimax đang kết thúc, nhưng cho đến nay vẫn còn quá sớm để tuyên bố nó. Điều đáng giá cho thấy rằng trong quá trình đào tạo Alphazero de Facto đã tạo ra cuốn sách đầu tay của riêng mình, vì vậy sẽ công bằng hơn khi sử dụng nó với động cơ với một cuốn sách đầu tay tốt. "

Không chạm vào các điều kiện của trận đấu, Nielsen được hình thành, trong những lĩnh vực học tập nào khác có thể được áp dụng.

"[Điều này] Trí tuệ nhân tạo hiện đại", Grossmaster nói. "Anh ấy đến từ một cái gì đó như cờ vua cho các vấn đề xứng đáng với giải thưởng Nobel và thậm chí nhiều hơn nữa. Tôi nghĩ rằng chúng tôi đã may mắn vì họ quyết định dành bốn giờ trên cờ vua, nhưng hậu quả của khám phá này có ý nghĩa hơn nhiều. "

Gửi công việc tốt của bạn trong cơ sở tri thức là đơn giản. Sử dụng mẫu dưới đây

Học sinh, sinh viên tốt nghiệp, các nhà khoa học trẻ tuổi sử dụng cơ sở kiến \u200b\u200bthức trong nghiên cứu và công việc của họ sẽ rất biết ơn bạn.

Gửi bởi http://www.allbest.ru/

Phát triểnphần mềmmô-đun.nhân tạo.trí tuệ.chotrò chơitrongcờ vua

cờ vua thuật toán trí tuệ

  • Giới thiệu

Khái niệm về "Cờ máy tính" là một nhóm khoa học về Cybernetics và phần "trí tuệ nhân tạo". Cờ vua là một mô hình lý tưởng cho nghiên cứu các nhiệm vụ phức tạp, đặc biệt là những nơi bạn cần để mua sắm tùy chọn. Sự phát triển của một chương trình cờ vua đề cập đến vấn đề phát triển trí tuệ nhân tạo vì những lý do sau:

* Có sự tự tin chung rằng nhiệm vụ có liên quan đến vấn đề trí tuệ nhân tạo, vì cờ vua được coi là trò chơi trí tuệ nhất

* Có một tiêu chí khách quan của công việc được thực hiện - Sức mạnh của chương trình cờ vua

* Sự khác biệt lớn của tiêu chí này đại diện cho khả năng cải thiện dần dần chương trình.

Một trong những người sáng lập Cybernetics và Lý thuyết thông tin - Claude Shannon - trong những năm 50, lần đầu tiên xây dựng các quy tắc để chọn đột quỵ trên bàn cờ. Ở vị trí được phân tích cho một độ sâu nhất định, tất cả các tùy chọn có thể được di chuyển và tổng số vị trí sử dụng các hàm mục tiêu được gán một đánh giá số. Sau đó, thủ tục minimax được thực hiện để quay trở lại vị trí ban đầu, đánh giá của nó xảy ra và tốt nhất, theo xe, được chỉ định.

Vai trò của một người là ước tính vị trí, chính xác nhất có thể để đặt các chức năng đích. Các chức năng này có hai thành phần - vật liệu và vị trí. Từ những thứ đầu tiên là rõ ràng - lợi thế vật chất (trong số liệu và cầm đồ) là một quy tắc, một đối số rất nghiêm trọng để đánh giá vị trí là tốt nhất. Ngoài ra, vật liệu nhỏ hơn trên bảng ở cả hai bên, đánh giá càng chính xác.

Nhưng với thành phần vị trí, mọi thứ phức tạp hơn nhiều: Nhiều yếu tố được tính đến, ví dụ, các tính năng của vị trí của các hình dạng và cầm đồ riêng lẻ, không gian trên bảng, thời gian để tập hợp lại lực lượng và những người khác. Khả năng đánh giá cao Vai trò của tất cả các yếu tố ở một vị trí nhất định luôn được coi là một trong những dấu hiệu của skimmer của những người chơi cờ. -Of mọi người.

Điểm yếu của trò chơi máy tính là chính xác trong việc lạm dụng vật chất và sự bất khả thi của việc thực hiện "lực lượng vũ phu" tuyệt đối của các lựa chọn. Trong sách cờ vua của thập niên 70 và những năm 1980, bạn có thể tìm thấy một số lượng đáng kể các ví dụ mẫu mực của trò chơi của những người có máy móc khi Master hoặc Grandmaster giành được bữa tiệc với sự hy sinh tuyệt đẹp của những con số và cầm đồ. Bí mật đã rõ ràng: đối với trí thông minh của con người, trái ngược với nhân tạo, sự thống trị của các yếu tố vị trí là rõ ràng trong những khoảnh khắc đó khi các nạn nhân của vật liệu được thực hiện.

Nhiều năm trôi qua, với sự gia tăng tốc độ của máy tính, độ sâu tính toán tăng lên, đồng thời các thuật toán được cải thiện, điều này cải thiện việc tổng hợp các chức năng của đánh giá vị trí. Và trong nửa sau của thập niên 90, các máy tính đã trở nên cạnh tranh thành công với các grasisters của Extra-Class. Kepochal cho "Cybernetics Cybernetics" Sự kiện xảy ra vào tháng 5 năm 1997. Được tạo bởi IBM Corporation Deep Blue trong trận đấu từ 6 Bên đã giành chiến thắng Harry Kasparov. Máy tính được trang bị một con chip cờ đặc biệt và chiếc xe đã xem qua khoảng 200 triệu vị trí mỗi giây. Tập đoàn IBM cho dự án của ông đã thu hút nhiều nhân viên đại gia, những thành tựu mới nhất của lý thuyết cờ đã được sử dụng để tạo ra nhiều thuật toán hoàn hảo nhất có thể. Và như vậy, như đã lưu ý, vào những năm 90, các chương trình cờ vua cho các máy tính để bàn bắt đầu đóng các máy tính chuyên dụng.

Mỗi tháng, sức mạnh của các chương trình cờ vua và sức mạnh của máy tính tăng không thể vượt trội, trước cả những giả định táo bạo nhất của những người lạc quan. Thêm 12-15 năm trước về chủ đề "Khi nào chiếc xe sẽ có thể đánh bại Grandmaster?" Về cơ bản, nó đã được giảm xuống câu hỏi "Có khả năng làm điều này về nguyên tắc không?". Và nếu câu trả lời "có thể" vẫn còn quản lý để có được, thời gian ước tính trong khoảng thời gian 15-25 năm.

Thực tế đã bác bỏ những dự báo này. Mọi thứ xảy ra nhanh hơn nhiều! Đã vào giữa những năm 90, người ta thấy rằng sự tổng hợp của "chương trình trò chơi + máy tính" có thể cạnh tranh với Grandmaster.

Mục đích của công việc là phát triển và triển khai mô-đun phần mềm trí tuệ nhân tạo cho trò chơi cờ vua, bao gồm:

1. Nghiên cứu các thuật toán trò chơi hiện có Cờ vua áp dụng

2. Phát triển thuật toán của hành vi của đối thủ máy tính

3. Xác định các tham số của thuật toán của hành vi của đối thủ máy tính

4. Triển khai phần mềm, bao gồm việc thực hiện thuật toán trò chơi và sự phát triển của giao diện đồ họa

5. So sánh phần mềm được phát triển với các chất tương tự hiện có.

1 . Lịch sửphát triểncờ vuachương trình

Năm 1951, Alan Turing đã viết một thuật toán, mà chiếc xe có thể chơi cờ. Chỉ tại thời điểm đó, chính nhà phát minh đã thực hiện trong vai trò của chiếc xe. Trong cùng một năm 1951, nhà toán học Claude Shannon viết bài viết đầu tiên về lập trình cờ vua. Ông đã mô tả hai chiến lược để tìm rẽ tốt hơn, cả hai đều dựa trên chức năng heuristic của ước tính điểm cuối:

* Loại A - Bust tất cả các di chuyển có thể đến độ sâu cố định, với một cuộc gọi ở cuối chức năng ước tính (vì không thể mở rộng đến cùng)

* Loại B - Chỉ thực hiện mở rộng chọn lọc các hàng nhất định bằng kiến \u200b\u200bthức Tích lũy để cắt các nhánh không thú vị

Máy tính đầu tiên được thiết kế bởi NEUMANNA Nền để duy trì các tính toán phức tạp khi tạo vũ khí hạt nhân. Năm 1950, một mẫu đầu tiên xuất hiện, có khả năng sản xuất 10.000 thao tác mỗi giây. Một trong những thí nghiệm đầu tiên với bộ máy là văn bản của một chương trình cờ vua, tuy nhiên, cờ vua không chuẩn - trên một bảng 6 * 6 không có voi.

Vài năm sau, máy tính này ("Maniac") đã chơi với mọi người: một cầu thủ cờ vua mạnh mẽ đã giành chiến thắng tự tin, và người mới đã thua trong 23 cú đánh.

Năm 1957, IBM704 (42 kHz, 7 Kbytes-Perman) đã được triển khai trong chương trình trên một bảng đầy đủ, với sự tham gia của tất cả các số liệu. Chiếc xe tin 4 ngày trong 8 phút. Mức độ của trò chơi là nghiệp dư.

Năm 1962, Newel, Simon và Shaw mở một thuật toán gọi là Alpha-Beta (Alpha-beta), anh ta đã đưa ra kết quả không tệ hơn cả bức tượng bán thân đầy đủ, mà không cần khám phá tất cả các tùy chọn. Nó không yêu cầu bất kỳ kiến \u200b\u200bthức cờ vua đặc biệt nào, và nó có thể được áp dụng để giải quyết bất kỳ nhiệm vụ phát sóng nào. Tinh chất của thuật toán là trong mỗi hàng của trò chơi, cho màu trắng và đen kết quả tối đa của chúng được theo dõi và nếu vào một lúc nào đó màu đen đã nhận được kết quả, đã được thực hiện với tối đa màu trắng, đạt được trước đó, Sau đó, nó không có ý nghĩa để diệt trừ. Khi bức tượng bán thân trở về điểm mà tối đa màu trắng đạt được, kết quả, nó vẫn sẽ bị từ chối. Cơ sở của tất cả các chương trình cờ vua hiện đại là một trong những phiên bản nâng cao của thuật toán này.

Khoảng năm 1973, tất cả các chương trình cờ vua đều là loại V. Chúng chủ yếu dựa trên máy phát điện chuyển vị hợp lý, cắt giảm với một đánh giá tĩnh về tác dụng nhỏ. Với sự ra đời của bộ xử lý mạnh mẽ hơn, các lập trình viên bắt đầu chuyển sang loại A. Đầu tiên là dạy và cờ vua4, đây là các chương trình "sức mạnh thô sơ" ngay khi chúng đạt độ sâu 5 siêng năng của giai đoạn giữa, họ bắt đầu giành chiến thắng Trong các cuộc thi với các chương trình loại V.

Năm 1975, Robert Hyat bắt đầu phát triển CrayBlitz, từ lâu đã là chương trình cờ vua nhanh nhất trong một thời gian dài và từ 1983 đến 1989. - Vô địch thế giới giữa các chương trình cờ vua. Anh ta đang tìm kiếm khoảng 40-50 nghìn vị trí mỗi giây (vào năm 1983) rằng trong thời gian của mình là một thành tựu tuyệt vời.

Năm 1977, Thompson và Condon từ Phòng thí nghiệm Bell tạo ra cộng đồng cờ vua chuyên biệt đầu tiên. Ý tưởng cơ bản là trong việc triển khai một số phần của chương trình cờ vua (máy phát đột quỵ, các chức năng ước tính vị trí, máy dò shakhov, v.v.) ở cấp độ phần cứng, đã tiết kiệm sự chậm trễ của chương trình ở mỗi vị trí mà không cần phải tăng trong sức mạnh của bộ xử lý. Các máy tính tốt nhất thời lần đó có thể khám phá tới 5.000 vị trí mỗi giây và máy Tompson Ken, mà Belle có tên, đã xử lý 180 nghìn hàng mỗi giây. Belle có thể nghĩ về các vị trí của 8-9 Dips về phía trước, đưa nó vào cấp độ phù thủy. Ông đã giành được nhiều giải đấu cờ vua máy tính. Nhưng mặc dù thực tế là sắt chuyên dụng là một thứ tự cường độ nhanh hơn chiếc xe thông thường, chương trình CrayBlitz ở cấp trên thì chiếc xe vẫn còn chơi tốt hơn.

Vào những năm 90, Richard Lang, chỉ viết trên trình biên dịch biên giới, đã tạo ra một chương trình tìm kiếm chọn lọc thiên tài rất mạnh. Cho đến bây giờ, chương trình này đã được giữ ổn định một vị trí 5-6 trên Giải vô địch cờ vua toàn cầu. Ngoài ra, vào những năm 90, các thuật toán cờ vua bắt đầu phát triển mạnh mẽ, Euristic đột quỵ xuất hiện (nullmove), chọn lọc cắt bỏ các nhánh biên giới của cây nhộn nhịp.

Một cách riêng biệt, nó đáng để xem xét chương trình cờ vua nổi tiếng nhất, một siêu máy tính cờ vua - màu xanh đậm. Năm 1987, Deep Blue bắt đầu khi phát triển sinh viên - thật thú vị khi có một nhóm học sinh có khả năng thử sức mạnh của họ, và chủ đề cho bằng tốt nghiệp là tuyệt vời. Tiến độ của công nghệ được phép thực hiện phiên bản đầu tiên của bộ xử lý (được gọi là Chiptest) rất nhanh. Sau đây, phiên bản nâng cao, có tên là suy nghĩ sâu sắc theo sau. Tại thời điểm này, nhóm lưu ý bộ phận tiếp thị của IBM của công ty và giải quyết nó với một đề xuất, từ đó không thể từ chối. Kết quả của thép màu xanh đậm và xanh đậm II. Do đó, Deep Blue II là kết quả của hơn 10 năm hoạt động của một nhóm rất có khả năng, trong đó cả lập trình viên / đường sắt và các nhân viên lớn nghiêm trọng. Tất cả các công việc được tài trợ bởi IBM, vì vậy nhóm có tài nguyên không mơ ước của các tổ chức học thuật. Deep Blue II được thực hiện dựa trên máy chủ IBM RS / 6000 mạnh mẽ. Máy chủ có 31 bộ xử lý thông thường; Một người tuyên bố là điều chính, nó phải chịu 30 người khác. 16 bộ xử lý cờ vua chuyên dụng được kết nối với mỗi bộ xử lý "công nhân", theo cách này có 480 bộ xử lý cờ vua. Toàn bộ phức hợp đã xử lý hơn một tỷ vị trí mỗi giây.

Vào ngày 11 tháng 5 năm 1997, Deep Blue II đã giành chức vô địch thế giới của Chess Garry Kasparov trong trận đấu từ 6 bữa tiệc. Sau trận đấu với nhà vô địch, màu xanh đậm đã được tháo rời.

Như bạn có thể thấy, bắt đầu từ đầu tiên và kết thúc với các chương trình hiện đại nhất, các chương trình cờ vua đã được xây dựng trên cơ sở tính toàn vẹn của các động thái có thể xảy ra, nhưng đã có những nỗ lực để xây dựng nhiều thuật toán trí tuệ trên mạng khác ngoài sự áp đảo. Nhiều người chơi cờ nổi tiếng đã cố gắng phát triển các thuật toán như vậy, nhưng kết quả không đáp ứng các yêu cầu. Ví dụ, Botvinnik M.M., là một nhà vô địch thế giới và tác giả của nhiều công trình về lý thuyết cờ vua, trong hơn 20 năm, đã tham gia vào việc tạo ra một chương trình cờ vua, nhưng chương trình không bao giờ chơi.

Tất cả các thuật toán quá tải để tìm khóa học tốt nhất là xây dựng một cây của trò chơi và nó đang tìm kiếm động thái tốt nhất.

2. Chungcác khái niệmhọc thuyếttrò chơi

2.1 Gỗkhả thivị trí

Hãy để cây theo định hướng cuối cùng G, bộ trong các đỉnh của nó được tạo thành từ hai tập hợp con không chu kỳ B0 và B1 và \u200b\u200bbất kỳ đỉnh nào P B, không phải là bắt đầu của bất kỳ liên kết nào của cây này, được đưa vào việc tuân thủ số thực tế Oe (p). Điều này xác định trò chơi của hai đối thủ với thông tin đầy đủ. Các đỉnh của cây định hướng G, thuộc tập con của B0, được gọi là các vị trí có màu trắng và tập hợp con của B1 - vị trí với các động tác màu đen; Các liên kết của cây này được gọi là các nét màu trắng hoặc đen, tùy thuộc vào mục tiêu của B0 hoặc B1 thuộc về bắt đầu của chúng. Nếu vị trí P B được đặt theo số OE (P), nó được gọi là Chung kết và OE (P) được gọi là đánh giá tĩnh về vị trí này.

Cây định hướng g gọi là cây trò chơi.

Theo định nghĩa cho bất kỳ vị trí PB, có đường dẫn duy nhất L (P0\u003e P1, P1\u003e P2, ..., PK\u003e P) với phần đầu ở gốc P0 Root định hướng R và kết thúc ở vị trí đang xem xét , Con đường này được gọi là một bữa tiệc dẫn đến vị trí p.

Trò chơi gốc P0 Tree G là một vị trí được tô sáng. Đây là vị trí được đề xuất bởi chương trình, và nhiệm vụ là tìm khóa học tốt nhất trong đó. Để làm điều này, nó là đủ để xác định OEP0 và OEPI cho tất cả các vị trí thu được từ P0 mỗi khóa học. Các định nghĩa về ước tính của vị trí ban đầu P0 được thực hiện bởi sơ đồ dập tắt hoàn toàn, và trong lý thuyết về trò chơi, thuật toán này được gọi là thuật toán Negamax.

Sự phức tạp của cây chơi game được tính bằng công thức: W ^ D, trong đó W là số lượng động tác có thể trung bình, và độ sâu của cây.

Hình 1 - Cây của các vị trí có thể

2.2 Nguyên tắcminimax.

Thuật toán này được thực hiện bằng cách tìm kiếm sâu. Đó là, đối với mỗi đỉnh được rao giảng, cần tìm tất cả các đỉnh liền kề và lặp lại tìm kiếm cho chúng. Chúng tôi quay trở lại đầu trang độ sâu cuối cùng và mong đợi sự thắng lợi của người chơi đầu tiên. Sau đó, từ nút cha, đi đến nút con tiếp theo (nếu có) và chúng tôi hy vọng các kính tiền thắng ở đó. Nếu số lượng nút công ty con kết thúc, thì chúng ta đang tìm kiếm tối thiểu tiền thắng (nếu mức độ của nút cha là số lẻ) hoặc tối đa (nếu thậm chí). Nút của cha mẹ có mức tăng đạt được. Chúng tôi tạo một tìm kiếm tương tự, nhưng đã xem xét rằng nút cha mẹ đã là công ty con.

Trong lá của cây, việc tính điểm xảy ra so với người chơi đầu tiên, tức là. Người ta tin rằng người chơi đầu tiên tìm cách tối đa hóa tiền thắng của mình và người chơi thứ hai để giảm thiểu số tiền thắng của người chơi chiến thắng. Người chơi đầu tiên sẽ thắng trong trường hợp số điểm trên đỉnh của cây cấp độ lớn hơn 0.

Hình 2 - Tìm kiếm về thuật toán Minimax về thuật toán cây

Do đó, quá trình được chương trình sử dụng tương ứng với các giải pháp xen kẽ (máy tính / người), trên mỗi khóa học, máy tính chọn xếp hạng tối đa. Giải pháp trở lại gốc cây chắc chắn hóa ra là sự lựa chọn tốt nhất, dưới giả định rằng kẻ thù trong mỗi trường hợp cũng làm cho những động thái mạnh nhất. Ước tính tĩnh chỉ được thực hiện trong các nút của cấp độ cuối cùng (lá cây) cho vị trí của máy tính.

Thuật toán này thực hiện một tìm kiếm đầy đủ về tất cả các tùy chọn. Số lượng các vị trí được xem xét sẽ được đánh giá là mức độ D, trong đó W là một số lượng di chuyển gần đúng ở một vị trí, D là độ sâu của tính toán sai. Đối với Cờ W khoảng 40, điều này có nghĩa là đếm đến độ sâu 4, chúng ta phải quá sức 40 ^ 4 \u003d 2560 nghìn vị trí và cho độ sâu 5 - 10240 nghìn vị trí.

Cây nhộn nhịp đang phát triển theo cấp số nhân. Đến nay, trên các bộ xử lý mạnh nhất, với mã tối ưu nhất, có thể được coi là độ sâu 6 theo khoảng thời gian ước tính thực. Đây là vấn đề chính của sự phát triển của các thuật toán trò chơi cờ vua và tất cả các phát triển đều nhằm giảm các kết hợp kết hợp.

Hình 3 cho thấy sơ đồ khối của thuật toán MINDAX để lựa chọn một tiến độ tốt hơn, thuật toán được trình bày bởi thuật toán trả về tiến trình tốt nhất về đánh giá thu được với một phân tích sâu hơn. Sơ đồ khối của thuật toán để tìm đánh giá trong độ sâu được trình bày trong Hình 4.

Hình 3 - Sơ đồ khối cho sự lựa chọn đột quỵ tốt hơn

Hình 4 - Sơ đồ khối để tìm kiếm đánh giá về độ sâu

Khi bạn gọi một thuật toán để tìm đánh giá về độ sâu với độ sâu cần thiết rất lớn, chúng tôi sẽ có được một đánh giá với toàn vẹn đầy đủ của tất cả các động tác có thể.

2.3 phương pháptiêu cựctối đa.(Negamax)

Trong thuật toán này, ước tính tĩnh của vị trí cho một trong các bên bằng với đánh giá tĩnh của phía bên kia với dấu hiệu ngược lại.

Hình 5 - Phương pháp tối đa âm

2.4 Tĩnh.Đánh giáchức vụbảo trìyêu cầuđếnước lượngchức năng

Ước tính tĩnh của vị trí là một phương pháp thể hiện mục tiêu, định lượng của cảm giác chủ quan xảy ra ở một người khi nhìn vào một vị trí, mà không phân tích các cách có thể để phát triển trò chơi. Trong các trò chơi lập trình, đánh giá vị trí tĩnh được gọi là tính năng chất lượng vị trí.

Nếu tìm thấy một động thái tốt hơn với sự trợ giúp của cây trò chơi có thể được áp dụng với cùng một thành công cho tất cả các trò chơi, thì đánh giá vị trí tĩnh là một phần chuyên về một trò chơi nhất định. Chuyên môn của nó xác định phong cách của trò chơi của một người chơi nhân tạo, các yếu tố được đặt trong chức năng ước tính xác định mục đích của sự nhộn nhịp.

Một so sánh về số lượng với một vị trí làm cho nó có thể phân biệt xe xấu và kết hợp tốt. Khả năng phân biệt các kết hợp tốt với xấu, xác định sức mạnh của một người chơi ảo. Trong các trò chơi của hai người, ước tính được thực hiện bởi một trong những người chơi. Nếu hàm ước tính trả về một ước tính tốt cho một người chơi, nó phải trả về đối với đối thủ của mình. Quy tắc này là tiêu chí của khả năng áp dụng của bất kỳ hàm định giá nào trong các thuật toán thực hiện trí tuệ nhân tạo.

Yêu cầu cơ bản cho chức năng đánh giá là tính đối xứng của nó liên quan đến người chơi, tức là. Một điều kiện phải được thực hiện - những gì tốt cho một người chơi, xấu cho người khác. Một tính năng ước tính tốt sẽ phải tính đến các nguyên tắc cơ bản của chiến lược trò chơi và đáp ứng các đặc điểm sau:

* Tài liệu - được tính trực tiếp là sự khác biệt về số lượng hình dạng người chơi, có thể thêm các hệ số trọng lượng cho mỗi hình cụ thể

* Định vị - hiển thị chất lượng của số liệu của người chơi

* Phát triển vị trí - hiển thị số lượng người chơi có thể di chuyển. Vị trí được phát triển tốt hơn, các chiến lược càng có thể có một người chơi. Vì lý do này, cần phải kiểm soát và giảm trạng thái của kẻ thù

* Theo dõi sự kết thúc của trò chơi - trong trường hợp chiến thắng (lấy vua của đối thủ), nên xếp hạng tối đa, thường là + vô cực, trong trường hợp mất (mất vua), phải trả lại mức tối thiểu, thường là vô cùng

Để chơi cờ, cần phải tính đến sự thay đổi trong việc đánh giá vị trí, tùy thuộc vào giai đoạn của bữa tiệc.

Chức năng ước tính cổ điển là một hàm từ một số đặc điểm trên của vị trí trò chơi, nghĩa là chức năng ước tính là tổng kết quả của ước tính vị trí từ các quan điểm khác nhau.

Chức năng ước tính cho tất cả các trò chơi là khác nhau, vì nó phản ánh các chi tiết cụ thể của trò chơi. Các tính năng đánh giá được chọn bằng thực nghiệm.

Tầm quan trọng của đặc điểm đã chọn là rất cần thiết. Tầm quan trọng được xác định bằng cách nhân các đặc điểm đã chọn sang hệ số tương ứng. Hệ số này phải có một biện minh thống kê.

Do đó, hàm ước tính có thể được biểu diễn dưới dạng sau:

F (p) - chức năng ước tính theo vị trí p,

Yếu tố quan trọng đối với đặc điểm I-OH,

Đặc điểm vị trí I-Aya P.

2.5 Dàn dựngnhiệm vụ

Trong quá trình thực hiện luận án, cần phải điều tra các phương pháp và thuật toán hiện có để triển khai máy tính của trò chơi cờ vua, xác định những ưu điểm chính và bất lợi của họ để, dựa trên kiến \u200b\u200bthức thu được, chọn một thuật toán cung cấp hoạt động tốt nhất của Hệ thống này.

Sau công việc tốt nghiệp, cần thiết:

tôi thực hiện các thuật toán được nghiên cứu trong ngôn ngữ lập trình C #

tôi thực hiện các sửa đổi khác nhau của họ bằng các mô-đun bổ sung

b Thực hiện các thí nghiệm bằng số để ước tính chất lượng của các mô hình được phát triển, so sánh các sửa đổi được thực hiện, để chọn tốt nhất

le phát triển một giao diện thuận tiện và trực quan

3. Điều trathuật toánbổ sung

3.1 Alpha beta.tiếp tục

Alpha-Beta Cleaning (Tiếng Anh Cắt tỉa Alpha-Beta) là một thuật toán tìm kiếm dường như làm giảm số lượng nút được đánh giá trong Cây tìm kiếm của thuật toán MinimAX. Ý tưởng chính như sau: Nếu một trong những di chuyển của bạn, đối thủ có một câu trả lời bất lợi cho bạn, nhưng thật vô nghĩa khi phân tích các câu trả lời có thể khác cho việc di chuyển này, bởi vì ngay cả khi chúng có lợi hơn cho bạn, đối thủ sẽ không chọn chúng. Alpha-Beta Clipping là tối ưu hóa, vì kết quả của thuật toán được tối ưu hóa không được thay đổi.

Hình 6 - Thuật toán Cutout Alpha-Beta

Ưu điểm của Alpha-Beta Cut-off thực sự nằm trong thực tế là một số nhánh của cây tìm kiếm có thể bị loại trừ sau ít nhất một trong những nhánh của cấp độ được xem xét hoàn toàn. Vì sự cắt giảm xảy ra ở mỗi cấp độ làm tổ (trừ lần cuối), hiệu ứng có thể khá đáng kể. Hiệu quả của phương pháp ảnh hưởng đáng kể đến việc phân loại sơ bộ các tùy chọn (không có sự nhộn nhịp hoặc với độ sâu nhỏ hơn) - trong quá trình sắp xếp các tùy chọn "tốt" càng lớn, các nhánh "xấu" càng lớn mà không cần phân tích toàn diện. Tìm kiếm Minimax được thực hiện sâu, vì vậy bất cứ lúc nào nó đủ để xem xét các nút dọc theo con đường duy nhất trong cây.

Ý tưởng chính của Alpha - Beta Clipping là tìm khóa học không nhất thiết là tốt nhất, nhưng "đủ tốt" để đưa ra quyết định đúng đắn.

Tại đầu vào của thuật toán này, các tham số alpha và beta này được phục vụ, chúng được gọi là cửa sổ bị vỡ. Các tham số này chịu trách nhiệm cho các ranh giới cắt ở cấp độ đầu tiên, khi sâu vào cây trò chơi, các tham số này thay đổi. Thuật toán Alpha-beta với các tham số Alpha \u003d + Infinity và Beta \u003d Infinity (Lực lượng vũ phu với toàn cửa sổ) cho kết quả giống hệt như thuật toán Negamax, đó là, hoàn toàn ngực. Hình 7 cho thấy sơ đồ chặn thuật toán alpha-beta để đếm ước tính vị trí trong độ sâu.

Hình 7 - Lưu đồ alpha-beta để tìm kiếm một đánh giá về độ sâu

3.1.1 Thí dụtiêu chuẩncắt

Hình 8 - Ví dụ về việc cắt tiêu chuẩn

Hãy xem xét một ví dụ về cắt giảm tiêu chuẩn alpha beta. Ở các vị trí, chúng tôi chọn di chuyển, do đó, chúng tôi chọn giá trị lớn nhất từ \u200b\u200bcác vị trí trong và C. Giá trị đã được tính toán - đây là 10. Khi tính toán vị trí này, một trong các nút có giá trị 5 . Ở vị trí với động thái, đối thủ của chúng tôi sẽ làm, và do đó chọn giá trị nhỏ nhất. Từ điều này, nó theo giá trị của vị trí C sẽ là từ 5 trở xuống, do đó chúng tôi luôn chọn trong tùy chọn. Do đó, việc tính toán phần còn lại của các nút với chúng tôi không tiến hành.

3 .1.2 Thí dụin-Depth.cắt

Hình 9 - Ví dụ về clip chuyên sâu

Xem xét một ví dụ về một đoạn cắt sâu. Ở các vị trí, chúng tôi sẽ chọn giữa các chuyến đi vào vị trí trong và C. Giá trị B \u003d 15. Chúng tôi bắt đầu tính toán C. Ở vị trí E, một trong những nút đã đưa ra giá trị 5. Ở vị trí E, sự lựa chọn của Stroke thuộc về đối thủ, có nghĩa là giá trị cuối cùng của E sẽ là từ 5 và thấp hơn. Nếu giá trị c bằng e, thì chúng ta sẽ chọn tùy chọn trong, vì nó hấp dẫn hơn. Do đó, chúng tôi không nhất thiết phải biết giá trị chính xác của vị trí E, vì vậy tất cả các nhánh khác bị cắt khỏi nó.

3 .2 Lặp đi lặp lạingâm mình.(Enerated.Sâu sắc.)

Ý nghĩa của việc thoát khỏi ống xả hoặc phần lặp lặp đi lặp lại nằm trong một cuộc gọi định kỳ đến một quy trình độ sâu cố định với độ sâu tăng cho đến khi không vượt quá giới hạn thời gian hoặc độ sâu của tìm kiếm không đạt được. Ưu điểm của phương pháp này là bạn không nên chọn độ sâu của tìm kiếm trước; Ngoài ra, bạn luôn có thể sử dụng kết quả của tìm kiếm đã hoàn thành cuối cùng. Các giá trị được trả về từ mỗi tìm kiếm có thể được sử dụng để điều chỉnh cửa sổ tìm kiếm mong muốn.

Nói chung, clip alpha-beta được gây ra từ đỉnh của cây trong khoảng (- ?; +?). Tuy nhiên, sử dụng ngâm lặp, chúng ta có thể thay đổi nó.

Giả sử X - Giá trị của động thái tối ưu được tìm thấy trên lần lặp trước đó và số lượng Epsilon sẽ biểu thị sự khác biệt ước tính trong kết quả giữa tìm kiếm độ sâu D-1 và độ sâu của D. Tiếp theo, chúng tôi chỉ cần gọi Alpha -Beta Cắt từ trên cùng của cây với khoảng thời gian ước tính: Bảng chữ cái (D, X-Epsilon, X + Epsilon).

1. Giá trị trả về trong khoảng (x-epsilon, x + epsilon) là một giá trị chính xác, chúng ta có thể sử dụng nó.

2. Giá trị sẽ trở về trong khoảng thời gian (X-Epsilon, X + Epsilon), cần phải lặp lại tính toán với khoảng thời gian sửa đổi.

Ngay cả khi chúng tôi giả định rằng phương pháp Alpha-beta của sự cắt giảm sẽ không mang lại bất kỳ chiến thắng nào, sự gia tăng chung trong phân tích thời gian thực sự sẽ chứng minh là tương đối nhỏ. Thật vậy, giả định rằng số lượng tùy chọn trung bình ở mỗi cấp là D và số lượng mức phân tích là P, sau đó tìm kiếm lặp đến cấp độ đầu tiên, sau đó đến lần thứ hai, v.v. đến mức P, tương đương (không có clipping alpha-beta) Xem các vị trí D + + ... +.

Số tiền này bằng nhau, trong khi số lượng vị trí được xem trong phân tích thông thường là bằng nhau. Tỷ lệ giữa hai số này ở P lớn là giống nhau và do đó, gần với 1 trong trường hợp D là đủ lớn

Ngoài ra, khi sử dụng tìm kiếm lặp, bạn có thể nhập điều khiển thời gian, điều này sẽ cho phép máy tính bất cứ lúc nào cung cấp một giải pháp thỏa đáng. Do đó, nếu thời gian suy nghĩ được giới hạn trong 5 giây, ví dụ, nó sẽ xem xét tất cả các vị trí ở cấp 2, trong 0,001 giây, đến cấp 3 - trong 0,01 giây, đến cấp 4 - trong 1 giây, sau đó, sau Bắt đầu phân tích ở mức 5, nó sẽ bị buộc phải ngắt do thiếu thời gian. Tuy nhiên, đồng thời, máy tính sẽ có một giải pháp khá tốt được tìm thấy ở mức 4 cấp.

Do đó, máy tính có thể đưa ra câu trả lời tại thời điểm được chỉ định (ví dụ: để thực hiện 50 lần di chuyển trong 2 giờ). Rõ ràng là một chương trình hỗ trợ một phương pháp như vậy sẽ phát với các điểm mạnh khác nhau trên các máy tính khác nhau.

Mặc dù thực tế là một số nhánh cây sẽ phải kiểm tra nhiều lần phương pháp này cho một mức độ cắt đủ.

3.3 Phân loạidi chuyển.

Kết quả của sự cắt giảm alpha-beta rất bị ảnh hưởng theo thứ tự di chuyển được kiểm tra. Hãy xem xét điều này về các ví dụ:

Trong trường hợp đầu tiên, chúng tôi sẽ thực hiện phép tính sắp xếp các động tác "từ điều tồi tệ nhất để tốt hơn"

Hình 10 - Alpha-Beta cắt giảm di chuyển "từ điều tồi tệ nhất để tốt hơn"

Như có thể thấy từ ví dụ, không có nhánh cây nào bị cắt.

Bây giờ sắp xếp các di chuyển "từ tốt nhất cho điều tồi tệ nhất"

Hình 11 - Alpha-beta cắt giảm di chuyển "từ tốt nhất đến tệ nhất"

Theo các trường hợp tối ưu, lực lượng vũ phu từ Alpha-Beta Cut-Off nên được xem bởi W ^ ((D + 1) / 2) + W ^ (D / 2) - 1 Vị trí. Nó ít hơn nhiều so với Minimam.

Để tăng hiệu quả của Alpha-Beta Cắt, bạn cần nghĩ về những gì di chuyển nên được điều tra đầu tiên. Đối với những mục đích này, cái gọi là Killer Heuristic được sử dụng.

Ý tưởng là nếu động thái tốt ở một phần của cây, thì nếu có thể, nó đáng để cố gắng kiểm tra nó ở những người khác (ở cùng độ sâu). Để thực hiện việc này, một mảng được nhập vào đó một số động tác tốt nhất được nhập cho mỗi độ sâu, nếu có di chuyển từ bảng này ở vị trí cho độ sâu hiện tại - chúng được chọn trước.

Đối với các động thái khác, thuật toán thích di chuyển với Shaghas và mất.

3 .4 Trinh sát nega.(Negencut)

Negiscy - bổ trợ qua alpha beta. Đây là một thuật toán tìm kiếm được chỉ đạo để tính toán giá trị nút MINDAX.

Negency là thuật toán phổ biến nhất trong nỗ lực tổng thể hiện nay. Nó cực kỳ đơn giản và cho một số tăng tốc (tối đa 50%) mà không gây ra bất kỳ lỗi bổ sung nào trong phép tính. Nó kết hợp rất tốt với các thuộc tính hiện đại của các chương trình cờ vua - bảng băm.

Thuật toán này có một lợi thế là nó sẽ không bao giờ khám phá các nút có thể cắt bỏ alpha-beta, nhưng một số nhánh có thể được xem xét nhiều lần.

Thuật toán NegascOut kiểm tra nút đầu tiên với cửa sổ đầy đủ (Alpha, Beta), xem xét tùy chọn này là tốt nhất. Các nút sau đây đã cố gắng cắt đứt với một cửa sổ không, tức là. Cửa sổ (alpha, alpha + 1). Nếu kết quả tài khoản cải thiện alpha, thì điều này có nghĩa là 1 nút không phải là tốt nhất và nút này phải được kiểm tra với toàn cửa sổ, nhưng thay vì alpha, chúng ta có thể lấy giá trị (giá trị, beta). Mã của phương thức này là dưới đây:

public int Negison (Cell [,] COPLOBOARD, INT DEPTH, INT FIRSTDEPTH, INT Alpha, int beta, int possiblemove, bool ismy)

int giá trị \u003d 0, maxvalue \u003d -1000, leight \u003d 0;

Bảng [,] bo mạch \u003d ô mới;

Điểm [,] di chuyển \u003d điểm mới;

Điểm di chuyển \u003d điểm mới;

Findmove (di chuyển, refe teight, hội đồng quản trị, đúng, đúng);

Possiblemove \u003d leight;

Findmove (di chuyển, refeight, bảng, sai, đúng);

Possiblemove + \u003d leight;

if ((Depth \u003d\u003d FinalDepth) | | Gamisover (bảng, ISMY))

trả lại eval (bảng, possiblemove);

trả lại -1 * eval (bảng, sở hữu);

Findmove (di chuyển, refeight, bảng, haverequiredmove (bảng, ismy), ismy);

int a \u003d alpha, b \u003d beta;

cho (int i \u003d 0; i< leight; i++)

Copymove (di chuyển, di chuyển, i);

Domove (bảng, di chuyển);

Giá trị \u003d -1 * Negencout (bảng, độ sâu + 1, FinalDepth, -1 * B, -1 * a, possiblemove, ismy);

if (giá trị\u003e a && giá trị 0 && (độ sâu

a \u003d -1 * Negency (bảng, độ sâu + 1, FinalDepth, -1 * beta, -1 * giá trị, possiblemove, ismy);

if (giá trị\u003e a)

Copypose (bảng, ván sao chép);

Như có thể thấy từ mô tả ở trên cho Hướng đạo âm, việc vượt qua các di chuyển là một chức năng quan trọng. Nếu bạn sắp xếp tất cả các di chuyển "từ điều tồi tệ nhất đối với", thì bức tượng bán thân có thể mất nhiều thời gian hơn so với Minimax.

3 .5 Bảng băm

3 .5 .1 Học thuyết

Trong Cờ vua trong quá trình tìm kiếm, hóa ra không phải là một cây của trò chơi, nhưng biểu đồ rất thường xuyên sau khi di chuyển của các động thái chúng ta có được vị trí tương tự. Phương pháp sử dụng bảng băm là giữ đánh giá các vị trí đã được xem xét. Đối với mỗi vị trí, cần phải lưu trữ đánh giá của nó (chính xác hơn, sự đánh giá cao dưới vị trí này), độ sâu của sự nhộn nhịp, di chuyển tốt nhất. Bây giờ, bắt đầu tháo rời vị trí, bạn phải nhìn - và chúng ta đã không gặp nó chưa? Nếu bạn không gặp nhau, thì chúng tôi làm điều đó như trước đây. Nếu chúng ta gặp nhau, chúng ta nhìn vào chiều sâu nào chúng ta đã tháo rời trước đây. Nếu giống như chúng ta cần, hoặc sâu hơn, bạn có thể sử dụng ước tính cũ và tiết kiệm thời gian. Nếu ít hơn, thì chúng ta vẫn có thể sử dụng một phần thông tin, cụ thể là động thái tốt nhất.

Di chuyển tốt nhất cho độ sâu n có thể là tốt nhất và cho độ sâu n + 1. Đó là, bên cạnh đích ban đầu của nó, bảng băm hóa ra là hữu ích để di chuyển tinh giản. Nó vẫn bất ngờ giúp giải tỏa lặp lại - khi chúng ta bắt đầu lặp lại tiếp theo, bảng băm hóa ra là điền thông tin từ cái trước đó, và đến một thời gian nào đó (thành sâu 1), tất cả các vị trí chỉ cần có trong đó, với cách tốt nhất đến độ sâu của N-1.

Một chương trình sử dụng hốc lặp và bảng băm thường thực hiện tất cả các lần lặp từ 1 đến n nhanh hơn nhiều lần so với nếu nó bắt đầu lặp lại n, bởi vì Với xác suất 75%, nó luôn là người đầu tiên chọn khóa học tốt nhất và với xác suất ~ 90% động thái tốt nhất là trong số ba người đầu tiên được xem xét.

3 . 5 .2 Bán hàng

Băm là một trong những cách mạnh nhất để tăng hiệu suất máy tính. Sử dụng bảng băm là công cụ chính trong các trò chơi cờ vua lập trình.

Bảng băm - đại diện cho một bảng được lập chỉ mục lớn, trong các ô trong đó các thông tin sau được lưu trữ:

· Chỉ số 2 Hesh

· Độ sâu của tính toán sai sự cho động thái này

· Đánh giá về động thái này

Việc lựa chọn thuật toán nhà ở chỉ số nhà ở là một điểm thiết yếu khi sử dụng các thuật toán băm. Khi chọn thuật toán để tính chỉ số băm, cần phải tính đến 2 điểm quan trọng nhất:

Chỉ số phải phản ánh hầu hết các thông tin tiến độ duy nhất để giảm thiểu số lượng va chạm.

Chỉ số Heshe phải đơn giản để đếm

Một thuật toán phức tạp mang lại những chỉ số tốt nhất về số lượng va chạm, nhưng chúng rất khó tính toán sai, và do đó mất rất nhiều thời gian của bộ xử lý. Nó là cần thiết để xây dựng một thuật toán, dễ đếm, nhưng có số lượng va chạm tối thiểu.

Để tính chỉ số, hoạt động với một số mặt nạ được tạo ngẫu nhiên đã được chọn.

Ban đầu, mặt nạ băm được lấp đầy với các số ngẫu nhiên. Đối với mỗi vị trí, chỉ số 2 HESH được tính toán, lần đầu tiên được sử dụng để tìm kiếm vị trí trong bảng băm, thứ hai để kiểm tra các va chạm.

Trước bất kỳ việc sử dụng thông tin nào từ bảng băm, sự trùng hợp của chỉ số băm thứ hai sẽ được kiểm tra xem chúng không trùng nhau, sau đó va chạm xảy ra và thông tin bị bỏ qua.

Cập nhật thông tin vị trí chỉ nên được thực hiện nếu độ sâu thiếu hiện tại lớn hơn so với các thông tin đã được lưu trữ trong bảng băm.

Thông tin từ Hesh, chỉ có thể tin tưởng nếu độ sâu nằm ở Haheus, nhiều hơn độ sâu Acclusion hiện tại.

3.6 Sử dụngthư việndebtov.

Thuật toán để sử dụng các thư viện đầu tiên là sử dụng cơ sở dữ liệu được tính toán sẵn với các bữa tiệc, kể từ khi bắt đầu Bên, số lượng lớn nhất có thể có các ước tính.

3 .7 Đánh giáchức vụ

Khi phát triển thuật toán đánh giá vị trí tĩnh (chức năng chất lượng), có sự không chắc chắn lựa chọn giữa chất lượng và tốc độ. Các chức năng ước tính định tính dựa trên cơ sở thống kê hoạt động chậm, nhưng cung cấp các ước tính rất chính xác, một số thậm chí không sử dụng tiền gửi thông minh.

Nhanh hơn nhiều, các chức năng đơn giản đang hoạt động, có tính đến các nguyên tắc đơn giản nhất của trò chơi, họ không đưa ra đánh giá chính xác, nhưng cho phép tìm kiếm sâu. Do đó, một điểm chính xác, nhưng chậm, có thể cung cấp cho ngu ngốc, nhưng nhanh chóng.

Chất lượng đánh giá được xác định bởi kiến \u200b\u200bthức về trò chơi trên cơ sở vị trí này được so sánh. Chất lượng đánh giá tỷ lệ thuận với tốc độ hoạt động và khối lượng kiến \u200b\u200bthức. Khi thực hành 40 năm để tạo các chương trình với các chương trình trí tuệ nhân tạo, khối lượng kiến \u200b\u200bthức về chức năng đánh giá tỷ lệ nghịch với tốc độ của nó.

Bằng đồ họa, sự phụ thuộc này được thể hiện trong hình dưới dạng một gia đình siêu bóng.

Hình 12 - Một ví dụ về clip chuyên sâu

Khi phát triển chức năng đánh giá cho cờ vua, cần lưu ý rằng trong đánh giá cờ vua của tất cả các thông số phụ thuộc vào giai đoạn của trò chơi.

Cân cờ được thực hiện để phân chia trên sân khấu: Ra mắt - Khai trương bữa tiệc, Mittelspil - giữa trò chơi, Endgame là giai đoạn cuối. Đối với thuật toán, người ta đã quyết định chia các bên thành 3 giai đoạn bởi số lượng số liệu còn lại trên bảng với máy tính. Ban đầu, trên bảng đen trên 16 con số tại người chơi. Bảng cho thấy sự phụ thuộc của giai đoạn của trò chơi từ số lượng số liệu còn lại:

Bảng 1 - Giai đoạn của trò chơi

3 . 7 .1 Vật chấtĐánh giá

Ưu điểm vật chất của một trong những người chơi được coi là tham số quan trọng nhất trong lý thuyết cờ vua, do đó đánh giá vật liệu làm cho tác động lớn nhất đến đánh giá tổng thể của vị trí. Đánh giá vật liệu được coi là tổng của các hệ số trọng lượng của tất cả các hình dạng trên bảng. Nhà vua không được bao gồm trong ước tính vật chất, như trong trường hợp mất mát của nhà vua, người chơi sẽ tự động thua. Đánh giá quy mô của các số liệu là nhiệm vụ chính trong việc xây dựng một chức năng đánh giá. Để xác định quy mô của các số liệu, nó đã được quyết định tận dụng một thuật toán tự học dựa trên thuật toán di truyền. Trọng lượng của các số liệu không phụ thuộc vào giai đoạn của trò chơi. Thuật toán di truyền là một thuật toán tìm kiếm heuristic được sử dụng để giải quyết các vấn đề tối ưu hóa và mô phỏng bằng cách lựa chọn ngẫu nhiên, kết hợp và biến thể của các thông số mong muốn bằng các cơ chế giống như tiến hóa sinh học được đề xuất đầu tiên bởi Holland (1975).

3 . 7 . 2 Sự miêu tảcông việcdi truyền.thuật toán

Nhiệm vụ ban đầu được mã hóa theo cách mà giải pháp của nó có thể được biểu diễn dưới dạng vectơ ("nhiễm sắc thể"). Ngẫu nhiên tạo ra một số vectơ ban đầu ("dân số ban đầu"). Chúng được đánh giá bằng cách sử dụng "chức năng khả năng thích ứng", do đó, mỗi vectơ được gán một giá trị nhất định ("thể dục"), xác định xác suất tồn tại của cơ thể được biểu thị bằng vectơ này.

Sau đó, sử dụng các giá trị thu được của tập thể dục, vectơ (lựa chọn), được phép "nỏ", được chọn. "Các toán tử di truyền" (thường là "băng qua" và "đột biến") được áp dụng cho các vectơ này), do đó tạo ra "thế hệ" sau đây. Các cá nhân thế hệ tiếp theo cũng được đánh giá, sau đó lựa chọn được thực hiện, các nhà khai thác di truyền được sử dụng, v.v.

Đây là cách mô phỏng "quá trình tiến hóa", tiếp tục nhiều chu kỳ cuộc sống (thế hệ) cho đến khi tiêu chí dừng thuật toán được thực hiện. Một tiêu chí như vậy có thể là:

Tìm giải pháp tối ưu;

Kiệt hứng số lượng thế hệ được phát hành trên Evolution;

Kiệt sức thời gian phát hành để tiến hóa.

Các thuật toán di truyền phục vụ chủ yếu để tìm các giải pháp trong không gian tìm kiếm phức tạp, rất phức tạp.

Do đó, có thể làm việc thuật toán di truyền trong sơ đồ sau:

Hình 13 - Ví dụ về clip chuyên sâu

3 . 7 . 3 Giai đoạncông việcdi truyền.thuật toán

Việc tạo ra một dân số ban đầu - một dân số ban đầu được tạo ngẫu nhiên; Ngay cả khi nó hóa ra là hoàn toàn không cạnh tranh, thuật toán di truyền vẫn sẽ nhanh chóng dịch nó thành một dân số khả thi. Do đó, trong bước đầu tiên, bạn đặc biệt có thể cố gắng thực hiện các cá nhân quá được trang bị, đủ để phù hợp với định dạng của dân số.

Lựa chọn (lựa chọn) - Từ toàn bộ dân số được chọn một tỷ lệ nhất định sẽ vẫn còn "còn sống" ở giai đoạn tiến hóa này. Băng qua (sao chép) - để tạo ra một hậu duệ, bạn cần một số cha mẹ; Thông thường, tất nhiên, chúng ta cần chính xác hai. Việc sao chép trong các thuật toán khác nhau được xác định theo các cách khác nhau - tất nhiên, tất nhiên, phụ thuộc vào trình bày dữ liệu. Yêu cầu chính để sinh sản là hậu duệ hoặc hậu duệ có cơ hội thừa hưởng các tính năng của cả cha mẹ, "trộn" chúng theo bất kỳ cách nào khá hợp lý.

Đột biến là một sự thay đổi ngẫu nhiên trong một phần của các cá nhân (nhiễm sắc thể).

3 . 7 . 4 Định nghĩacân nặnghìnhtừcứu giúpdi truyền.thuật toán

Nhiễm sắc thể của thuật toán di truyền bao gồm trọng lượng của các nhân vật cờ vua, ngoại trừ nhà vua.

Để đặt dân số ban đầu, giá trị nhiễm sắc thể được đặt ngẫu nhiên trong khoảng thời gian, ngoại trừ cầm đồ và trọng lượng nữ hoàng, các giá trị của quy mô của chúng là cố định, cầm đồ - 100, Queen - 1000.

Để lựa chọn, lựa chọn giải đấu được sử dụng. Có 2 nhiễm sắc thể ngẫu nhiên giữa chúng, tối đa bốn chiến thắng, lần đầu tiên đi. Người chiến thắng của cuộc đấu tay đôi vẫn còn, kẻ thua cuộc được loại bỏ khỏi dân số.

Khi băng qua, một phương thức chéo một điểm được sử dụng.

Phải mất ngẫu nhiên 2 cha mẹ, số lượng nhiễm sắc thể được chọn một cách tình cờ, sơ đồ được hiển thị trong Hình 14. Do đó, mỗi hậu duệ sẽ có cả hai từ cha mẹ thứ nhất và từ cha mẹ thứ hai.

Hình 14 - Một ví dụ về clip chuyên sâu

Đột biến được thực hiện như sau: Chọn với một số xác suất nhiễm sắc thể, và chúng, mỗi "gen" thay đổi bằng một số ngẫu nhiên trong phạm vi [-50; 50], ngoại trừ giá trị của các đánh giá tĩnh của nữ hoàng và những con tốt.

Đối với các giá trị cuối cùng, các trọng số thu được được chia cho 100.

3 . 7 . 5 Toàn bộĐánh giá

Khi đánh giá vị trí thu hút sự chú ý đến 8 thành phần:

1. Lực lượng vật chất của các đối thủ

2. Số lượng lĩnh vực trong trận chiến

3. Các lĩnh vực chính

4. Quần qua

5. cầm đồ kép

6. Rocking.

7. Khuyến mãi cầm đồ

8. Chó săn [* 1]

Số lượng lĩnh vực trong trận chiến được tính toán ở độ sâu của gỗ 2, theo quan điểm về một chi phí sản xuất lớn. Đối với mỗi trường đánh bại con số của máy tính để ước tính vị trí được thêm 1 điểm, đối với các trường chống lại số liệu của người chơi bị loại bỏ theo điểm. Giá trị kết quả được truyền đến dưới cùng của cây như một tham số. Ngoài ra tại một độ sâu 2, điểm tính toán cho chuỗi hải quân, đi qua và cầm đồ kép. Đối với sự hiện diện của những con tốt bên trái hoặc bên phải, bên nhận được 1 điểm. Người cầm đồ được coi là một lối đi, nếu trên dọc, cũng như trên bờ lân cận với cô, không có những con tốt đối thủ nào có thể ngăn cô ta vượt qua kết thúc. Những con tốt kép - 2 con tốt của một màu đứng trên một dọc. Với sự hiện diện của những con tốt kép, 4 điểm được loại bỏ, 5 điểm được thêm vào cho sự hiện diện của mỗi con tốt. Cờ vua có các cánh đồng chính:

Hình 15 - Các trường chính

Đối với việc chiếm đóng của mỗi người trong số họ là thêm 4 điểm.

Bởi vì Sau khi nhà vua được thực hiện, nhà vua đang ở một vị trí rất bền vững, bên này nhận được 3 điểm để đúc hoàn hảo.

Cố gắng hơn để cầm đồ đến ngang cuối cùng, càng gần càng hơn với sự biến đổi. Đối với mỗi ô đi đến giá trị của cầm đồ được thêm vào 1.

Sau khi tính số điểm cho cả hai bên, ước tính cuối cùng của vị trí thu được, bằng cách trừ các điểm người chơi từ kính của đối thủ máy tính.

4 . Phát triểnchương trìnhs

4 .1 Yêu cầuđếncờ vuathuật toán

Trong quá trình phát triển mô hình của một mô-đun phần mềm để chơi cờ, nên tính đến các tham số sau:

* Thuật toán cờ vua rất đòi hỏi hiệu suất và sức mạnh của chương trình của chương trình trực tiếp phụ thuộc vào hiệu suất của chương trình

* Các mô-đun phần mềm phải dễ dàng để phát triển và kiểm tra

* Giao diện người dùng phải dễ dàng, dễ dàng tùy chỉnh và có khả năng mở rộng

4 .2 Lượt xemcờ vuathuật toán

Hầu hết các chương trình hiện đại có thể được chia thành 3 loại:

* Danh mục người tìm kiếm nhanh là ý tưởng là, đơn giản hóa giới hạn của chức năng đánh giá và triệt để tối ưu hóa toàn bộ chương trình (thường đạt được bằng cách viết chương trình trên trình biên dịch), bạn có thể mang theo Số lượng vị trí được xem xét bởi chương trình (NPS - nút mỗi giây) vào một số thiên văn học, ví dụ, lên tới 150-200k NPS trên P / 200. Đó là, chương trình dành khoảng một hoặc hai nghìn lệnh máy cho mỗi vị trí. Số này bao gồm tiến trình của vị trí trước đó trong việc này, ước tính vị trí, việc tạo ra các di chuyển từ vị trí này, logic quản lý, v.v. Nói chung, tính năng ước tính vẫn còn ở tất cả các mảnh vụn - khoảng hàng trăm đội. Các chương trình được thực hiện cực kỳ nhanh chóng và hoàn hảo hành xử trong các vị trí chiến thuật phức tạp, và cũng giải quyết hoàn hảo các nhiệm vụ kết hợp, nhưng có một trò chơi vị trí yếu

* Danh mục thứ hai là một chương trình dựa trên kiến \u200b\u200bthức. Ở đây tất cả các lực bị ném vào để viết một chức năng định giá phức tạp. Sự tương tác của các số liệu với nhau, và trang bìa của nhà vua, và sự kiểm soát của các vị trí và gần như một giai đoạn của mặt trăng gần như. Về NPS, chương trình hoạt động chậm hơn 10 - 100 lần so với các tìm kiếm nhanh, nhưng chơi cờ định vị tốt. Chính xác hơn, những chiếc cờ này là tốt, chỉ khi có chiến thuật sâu trên bảng, hoặc thời gian kiểm soát là chương trình có đủ thời gian để tính toán chiến thuật này.

4 .3 Điều khiểncủa thời giantrongcờ vuathuật toán

Tham số quan trọng nhất trong việc xây dựng trí tuệ nhân tạo của một đối thủ cờ vua là kiểm soát thời gian đột quỵ. Hệ thống của trò chơi của chương trình cờ vua phụ thuộc vào kiểm soát thời gian. Trước khi "suy nghĩ" bằng máy tính, thời gian có sẵn cho máy tính phải được tính toán.

Khi tính thời gian có sẵn trên khóa học, cần phải tiến hành từ hai tham số:

* Thuật toán để tìm kiếm rẽ tốt hơn là được xây dựng trên nút đeo của tất cả các động tác có thể có trên một số độ sâu, và do đó, trực tiếp phụ thuộc vào thời gian dành cho bức tượng bán thân. Chúng ta càng sử dụng nhiều thời gian, máy tính mạnh hơn đang chơi

* Thời gian chờ đợi phản hồi của đối thủ máy tính không nên quá lớn. Làm cơ sở, bạn có thể thực hiện các quy định quốc tế về cờ vua, trong đó có một số loại tiệc: blitz - 15 phút mỗi bên, nhanh - 60 phút mỗi đợt, cổ điển - hơn 60 phút cho bữa tiệc.

Dựa trên các thông số bắt buộc, người ta đã quyết định tính toán thời gian có sẵn để di chuyển trước công thức sau: Trường hợp: Thời gian - thời gian trong khóa học; Full_game_time - Tổng thời gian tiệc; AVG_MOVES - Số đột quỵ trung bình của người chơi trong bữa tiệc; Sưu tầm_Time - thời gian tích lũy bổ sung; D - Giảm nhẹ thời gian cần thiết để tính toán bổ sung. Tổng thời gian của bữa tiệc và số lượng người chơi trung bình di chuyển trong bữa tiệc là hai thông số bên ngoài chính, thay đổi mà bạn có thể thay đổi sức mạnh của trò chơi. Theo thống kê của Cổng thông tin cờ vua thechess.ru, số lượng người chơi trung bình cho bữa tiệc bằng 30, do đó, người ta đã quyết định lấy số lượng động tác người chơi trung bình trong bữa tiệc bằng 30. Do đó, từ bên ngoài tổng thời gian của bữa tiệc được thiết lập. Khi phát triển thuật toán cho hành vi của đối thủ máy tính (trí tuệ nhân tạo), các thuật toán sau đã được sử dụng:

* Thuật toán tìm kiếm lặp đi lặp lại, với điều khiển thời gian

* Thuật toán Alpha-beta Clipping và Nega-Scout

* Thư viện Debutov.

* BẢNG BẢNG

* Để sắp xếp các động thái, các heuristic của kẻ giết người và lịch sử đã được sử dụng.

4 .4 Đã phát triểnchương trình

Trong chương trình trong ngôn ngữ lập trình, tất cả các thuật toán và bổ sung ở trên đã được thực hiện.

Ảnh chụp màn hình của chương trình được hiển thị dưới đây:

Hình 16- Lựa chọn màu

Hình 17 - Ảnh chụp màn hình của chương trình

Hình 18 - Ảnh chụp màn hình của chương trình

Khi bạn di chuột về hình dạng màu của bạn, nó được tô màu trắng. Khi chọn một hình cho nét, màu trường của nó trở thành màu cam và tất cả các ô mà hình có thể đi, nổi bật bởi màu trắng. Khi bạn di chuột trên một tế bào như vậy, màu sắc của nó cũng trở thành màu cam.

Trong trò chơi, các di chuyển hoàn hảo được hiển thị trong máy tính bảng ở bên trái, người chơi có thể lưu câu chuyện trong một tệp riêng biệt.

4 .5 Căn cứđi xe đạptìm kiếmtốt hơnĐột quỵ

Nhiệm vụ chính của chu trình tìm kiếm cơ bản của đột quỵ tốt nhất là tìm và thực hiện cách tốt nhất để đối thủ máy tính. Chu kỳ sử dụng thư viện đầu tiên và tìm kiếm lặp với kiểm soát thời gian. Hình 12 cho thấy quá trình tìm kiếm một cách tốt hơn:

Hình 19 - Chu kỳ tìm kiếm cơ bản của khóa học tốt nhất

4 .6 Tìm kiếmtốt hơnĐột quỵĐầu tiêncấp độ

Nhiệm vụ chính của thuật toán làm việc để tìm kiếm chuyển động tốt nhất của cấp độ đầu tiên (đáp ứng của kẻ thù) là tìm động thái tốt nhất của đối thủ ở cấp độ đầu tiên. Thuật toán được xây dựng trên thuật toán Negencout bằng cách sử dụng ước tính sâu, để xác định ước tính của đột quỵ hiện tại. Hình 13 cho thấy công việc của thuật toán:

Hình 20 - Tìm kiếm cấp độ đầu tiên tốt hơn

4 .7 Phát hiệnchiều sâuƯớc tính.Đột quỵ

Nhiệm vụ chính của việc tìm đánh giá độ sâu là tìm đánh giá khóa học hiện tại bằng thuật toán NegascOut, heuristic về số 0, dữ liệu từ bảng có một bảng và đánh giá vị trí tĩnh. Hình 14 cho thấy quá trình đếm đánh giá của khóa học theo chiều sâu:

Hình 21 - Tìm đánh giá đột quỵ sâu

4.8 Khácmô hìnhĐồ thị

Mô hình toán học của chương trình như sau:

Hình 22 - Mô hình toán học

Từ hình lớp trừu tượng, 7 loại người thừa kế, mô tả các hành động và tính chất của các số liệu được thảo luận. Ngoài ra còn có một lớp trống, biểu thị rằng tế bào trống. Bảng là một mảng gồm 64 yếu tố của hình, mỗi phần có thể trở thành bất kỳ lớp học thừa kế nào. Khóa học trong máy tính được thể hiện dưới dạng 4 chữ số - tọa độ (từ 1 đến 8) điểm bắt đầu và tọa độ cuối của kết thúc. Dưới đây là sơ đồ trạng thái cho chương trình:

Hình 23 - Biểu đồ điều kiện

5 . Thực nghiệmĐánh giáchất lượngỞ realiz.anno.thuật toán

Các thuật toán được triển khai đã phải tuân theo phân tích so sánh để xác định tối ưu về tốc độ và chất lượng của cấu hình. Trong thí nghiệm, một số giải đấu đã được tổ chức giữa mỗi cặp các triển khai khác nhau.

5 .1 Đánh giácông việcAlpha beta.cắt

Với thí nghiệm này, cần phải tìm hiểu xem hệ số phân nhánh đã giảm đi, và do cải thiện tốc độ của thuật toán, mà không làm mất chất lượng của quyết định về khóa học được ủy nhiệm.

Để đánh giá chất lượng của thuật toán cuối cùng, thuật toán tìm kiếm này đã được thực nghiệm so với nguyên tắc Minimax.

Các bảng trình bày các hệ số trình bày xếp hạng của số lượng vật phẩm cho các thuật toán, cũng như tỷ lệ thời gian được gán cho việc xem này.

Bảng 1 - So sánh các chỉ số của thuật toán của thuật toán của thuật toán của phần cắt với thuật toán MINIMAX.

Kết quả của các thí nghiệm cho thấy clipping alpha-beta tốt hơn nhiều so với một tìm kiếm minimax đơn giản.

5 .2 Đánh giácông việclặp đi lặp lạilặnphân loạidi chuyển.

Để đánh giá chất lượng của thuật toán, thuật toán tìm kiếm này từ Alfa-beta Cut-off và đơn giản là Alpha-beta Cut-off được so sánh bằng thực nghiệm.

Tài liệu tương tự

    Mô tả các quy tắc của trò chơi "trận chiến biển". Các tính năng của máy tính hiện đại và trí tuệ nhân tạo. Tạo một sơ đồ khối chung của chương trình, sự xuất hiện của nó. Các biến, thủ tục và chức năng cần thiết. Đặc điểm của các đối tượng được sử dụng trong ứng dụng.

    khóa học, thêm 05.11.2012

    Phát triển dựa trên cách tiếp cận "điểm" trò chơi để lập trình "trí tuệ nhân tạo" tại các trò chơi vị trí và khả năng áp dụng phương pháp này để giải quyết các vấn đề trong lĩnh vực kinh tế, quản lý và các khu vực khoa học khác. Mô hình của tình hình chơi game.

    luận văn, thêm vào ngày 21/07/2013

    Sơ đồ cấu trúc của mô-đun phần mềm. Phát triển mô-đun phần mềm và sơ đồ giao diện người dùng. Thực hiện mô-đun chương trình: Mã chương trình; Mô tả về các toán tử và chức năng sử dụng. Xem một hình thức tùy chỉnh với một ma trận đầy.

    khóa học làm việc, thêm 01.09.2010

    Nghiên cứu các quy tắc chung của trò chơi trong Trình kiểm tra, hướng dẫn sử dụng và lập trình viên. Các đặc điểm của các thuật toán chính thực hiện các nhiệm vụ lớp Widget Life. Đánh giá các di chuyển của máy tính và người đàn ông. Xây dựng cây tìm kiếm cây dựa trên đánh giá các chức năng.

    kiểm tra, thêm vào 12/20/2012

    Các giai đoạn chính của sự phát triển, nguyên tắc thử nghiệm và gỡ lỗi của mô-đun phần mềm VFS. Các tính năng thiết kế trong UML. Phương pháp "Sức mạnh thô" và ứng dụng của chúng khi gỡ lỗi chương trình. Các yếu tố có hại có mặt tại nơi làm việc của lập trình viên.

    luận văn, thêm vào 03/07/2012

    Phân tích các mô hình và phương pháp để thực hiện các trò chơi thông minh trong hệ thống của một người robot. Môi trường phát triển khiêu vũ. Thuật toán của mô-đun nhận dạng, xử lý dữ liệu, chức năng mô-đun trò chơi. Kiểm tra gói phần mềm, sửa và năng lượng.

    luận văn, thêm vào 12/2016

    Bản chất và vấn đề xác định trí tuệ nhân tạo, nhiệm vụ và chức năng chính của nó. Các vấn đề triết học của việc tạo ra trí tuệ nhân tạo và đảm bảo an toàn cho con người khi làm việc với robot. Chọn một cách để tạo ra trí tuệ nhân tạo.

    kiểm tra, thêm 07.12.2009

    Chương trình trò chơi "Checkers" cho trò chơi giữa người đàn ông và máy tính. Phát triển các thuật toán, phát triển lịch sử của các nhiệm vụ. Cách tiếp cận khác nhau để xây dựng hệ thống. Viết tắt liệt kê các chương trình và mô tả của thuật toán. Thành phần của trí tuệ nhân tạo.

    khóa học làm việc, thêm 03/26/2009

    Xây dựng và phân tích mô hình toán học của trò chơi. Xác định xác suất phát hiện tàu với tất cả các vị trí có thể và các hệ thống tìm kiếm khác nhau. Phát triển các thuật toán cho trí tuệ nhân tạo. Cấu trúc của chương trình và các thành phần của nó.

    khóa học, thêm vào ngày 22/12/2012

    Khái niệm về trí tuệ nhân tạo là tính chất của các hệ thống tự động để đảm nhận các chức năng riêng lẻ của trí thông minh của con người. Hệ thống chuyên gia trong lĩnh vực y học. Các cách tiếp cận khác nhau để xây dựng hệ thống trí tuệ nhân tạo. Tạo mạng lưới thần kinh.




Chủ đề nghiên cứu và mục đích phát triển chủ đề nghiên cứu về trí tuệ nhân tạo "khoa học" là suy nghĩ của con người. Các nhà khoa học đang tìm kiếm một câu trả lời cho câu hỏi: Làm thế nào để một người đàn ông nghĩ? Mục đích của các nghiên cứu này là tạo ra một mô hình trí tuệ của con người và thực hiện nó trên máy tính. Chủ đề nghiên cứu khoa học "trí tuệ nhân tạo" là suy nghĩ của con người. Các nhà khoa học đang tìm kiếm một câu trả lời cho câu hỏi: Làm thế nào để một người đàn ông nghĩ? Mục đích của các nghiên cứu này là tạo ra một mô hình trí tuệ của con người và thực hiện nó trên máy tính.


Ví dụ về các khu vực có nhiều loại hoạt động khác của con người không thể được lập trình trước. Ví dụ: Cờ vua và các trò chơi khác, viết bài thơ và âm nhạc, bản dịch các văn bản từ ngôn ngữ này sang ngôn ngữ khác, robot, hình sự (xác định dấu vân tay), chẩn đoán y tế. Có nhiều loại hoạt động của con người khác không thể được lập trình trước. Ví dụ: Cờ vua và các trò chơi khác, viết bài thơ và âm nhạc, bản dịch các văn bản từ ngôn ngữ này sang ngôn ngữ khác, robot, hình sự (xác định dấu vân tay), chẩn đoán y tế.


Một nhà phát triển biểu diễn không chính thức của các hệ thống trí tuệ nhân tạo đang cố gắng dạy xe, giống như một người, độc lập xây dựng một chương trình hành động của họ, dựa trên các điều khoản của nhiệm vụ. Bạn vẫn có thể nói như vậy: Mục tiêu của việc biến máy tính khỏi trình diễn chính thức trong nghệ sĩ trí tuệ. Các nhà phát triển hệ thống trí tuệ nhân tạo chỉ đang cố gắng dạy xe, giống như một người, độc lập xây dựng một chương trình hành động của họ dựa trên các điều khoản của nhiệm vụ. Bạn vẫn có thể nói như vậy: Mục tiêu của việc biến máy tính khỏi trình diễn chính thức trong nghệ sĩ trí tuệ.








Mô hình hóa hai nhiệm vụ chính Khi tạo các hệ thống thông minh trên máy tính: Hai nhiệm vụ chính khi tạo các hệ thống thông minh trên máy tính: -Modelization về kiến \u200b\u200bthức (phát triển các phương thức chính thức tri thức để nhập chúng vào bộ nhớ máy tính như một cơ sở kiến \u200b\u200bthức); Kiến thức -Chodeling (phát triển các phương pháp chính thức tri thức để nhập chúng vào bộ nhớ máy tính như một cơ sở kiến \u200b\u200bthức); - Mô hình hóa lý luận (tạo các chương trình máy tính bắt chước logic của suy nghĩ của con người khi giải quyết nhiều nhiệm vụ). - Mô hình hóa lý luận (tạo các chương trình máy tính bắt chước logic của suy nghĩ của con người khi giải quyết nhiều nhiệm vụ).


Các hệ thống chuyên gia là một trong những loại hệ thống trí tuệ nhân tạo là các hệ thống chuyên gia. Một trong những loại hệ thống trí tuệ nhân tạo là các hệ thống chuyên gia. Bổ nhiệm hệ thống chuyên gia - tư vấn người dùng, hỗ trợ ra quyết định. Bổ nhiệm hệ thống chuyên gia - tư vấn người dùng, hỗ trợ ra quyết định.

Văn hóa. Một chủ đề. CAND. Khoa học ped. Rostov-on-don. 2003.

2.AZAROVA E.A. Các hình thức phá hoại của giáo dục gia đình, các vấn đề hiện đại về hiện đại, tội ác của thời gian gần đây: các khía cạnh tâm linh và đạo đức và tinh thần và hình sự. - Rostov-on-Don: Nhà xuất bản RGPU, 2005.

3.GABDREVA GS. Các khía cạnh chính của vấn đề lo lắng trong tâm lý học // nhà tâm lý học. - 2004. - N ° 8. - P. 9.

4.Nikolopov S.N. Vấn đề của bạo lực gia đình // vấn đề của tâm lý học. -2002. -5-6.

5.KOLUYKO V.M. Tâm lý học của một gia đình khó khăn: một cuốn sách cho giáo viên và phụ huynh. - M .: Nhà xuất bản Vlados-Press, 2003.

6.Sapar v.b. Tâm lý học thực tế. Tâm thần của quan hệ giữa cha mẹ và trẻ em. -Rostov N / D: Phoenix, 2006.

© azarova e.a., Zhulin G.n., 2016

A.I. Alifires.

cAND. Ped. Khoa học, phó giáo sư RGSU, Moscow, RF

I.V. Mikhailova Cand. Ped. Khoa học, phó giáo sư RGSU, Moscow, RF

"Trí tuệ nhân tạo" trong cờ vua

Chú thích

Bài báo thảo luận về Genesis của việc sử dụng phần mềm và phần cứng có khả năng thực hiện các hoạt động trí tuệ tương đương với hoạt động trí tuệ.

Từ khóa

Công nghệ máy tính trong Cờ vua, Chương trình cờ vua, Cờ vua.

Ngày nay, theo thuật ngữ "trí tuệ nhân tạo" (AI) được hiểu là lý thuyết tạo phần mềm và phần cứng có khả năng thực hiện các hoạt động trí tuệ có thể so sánh với hoạt động trí tuệ. Khi giải quyết các nhiệm vụ thực tế, hầu hết sử dụng tác vụ từ danh sách, xem xét rằng nếu hệ thống máy tính có thể giải quyết các nhiệm vụ này, thì đó là một hệ thống AI. Thông thường, danh sách này bao gồm chơi cờ vua, định lý bằng chứng, giải quyết các vấn đề chẩn đoán về tập dữ liệu gốc ban đầu, hiểu về ngôn ngữ tự nhiên, khả năng tự học và tự học, khả năng phân loại các đối tượng, cũng như khả năng tạo mới kiến thức dựa trên việc tạo ra các quy tắc mới và kiến \u200b\u200bthức mô hình thường xuyên.

Một trong những vấn đề quan trọng nhất của khoa học mới - Cybernetics đã trở thành một vấn đề, cách cải thiện quản lý, cách cải thiện việc ra quyết định. Một trong những người sáng lập Cybernetics K. Shannon (Shannon C.) được cung cấp chính thức hóa và lập trình cờ để sử dụng máy tính cờ vua như một mô hình để giải quyết các nhiệm vụ quản lý tương tự. Chính quyền K. Shannon rất tuyệt vời đến nỗi những ý tưởng của ông ngay lập tức đánh dấu sự khởi đầu của một hướng khoa học mới. Những ý tưởng K. Shannon đã được sử dụng trong các tác phẩm của A. Tyurring, K. Tsuze, D. Prince.

Tác giả của lý thuyết thông tin. K. shannon, đã viết: "Xe cờ là lý tưởng để bắt đầu với nó, bởi vì (1) nhiệm vụ được xác định rõ ràng bởi các hoạt động cho phép (di chuyển) và mục tiêu cuối cùng (MAT); (2) nó không quá đơn giản để Hãy thật tầm thường, thật khó để có được một giải pháp thỏa đáng; (3) Tin rằng cờ vua yêu cầu "Suy nghĩ" cho một trò chơi khéo léo, giải pháp của nhiệm vụ này sẽ dẫn chúng ta hoặc thực tế là chúng ta sẽ chiêm ngưỡng khả năng của Suy nghĩ cơ giới hóa, hoặc để hạn chế khái niệm "tư duy" của chúng ta; (4) Cấu trúc cánh cờ rời rạc được xếp chồng lên nhau trong bản chất kỹ thuật số của các máy tính hiện đại. "

Trong tương lai, Cờ vua đã trở thành chủ đề của sự cạnh tranh của trí tuệ tự nhiên và nhân tạo, và một số trận đấu của các cầu thủ cờ hàng đầu thế giới được chơi với máy tính. Năm 1995, trong một cuộc phỏng vấn với tạp chí nổi tiếng có dây G.K. Kasparov phác thảo quan điểm của mình trên một trò chơi cờ vua: "Cờ vua không phải là toán học. Đây là một tưởng tượng và trí tưởng tượng, đó là logic của con người, và không phải là một trò chơi có kết quả có thể dự đoán được. Tôi không nghĩ rằng cờ vua theo lý thuyết có thể phù hợp với một tập hợp các công thức hoặc thuật toán. " Hai năm sau, siêu máy tính màu xanh đậm, đánh bại nhà vô địch thế giới thứ 13 của G. Kasparov trong một trận đấu trả thù từ sáu bên, đã gỡ bỏ câu hỏi về khả năng trí tuệ nhân tạo của cờ vua từ chương trình nghị sự. Màu xanh đậm được giữ trong bộ nhớ một cơ sở dữ liệu đầy đủ trong tất cả các bên và phân tích tính toán của chiến lược. Sau trận đấu G.K. Kasparov đã thay đổi quan điểm của mình, nhận ra rằng: "Chess là lĩnh vực duy nhất mà trực giác có thể so sánh và khả năng sáng tạo với sức mạnh và máy." Trận đấu đã thay đổi sự phát triển của cả Cờ cổ điển và máy tính. Hệ thống đào tạo đã được sử dụng rộng rãi bởi sự trợ giúp của trí tuệ nhân tạo. Di. Bronstein trong cuốn sách "David Vs. Goliath" (2003) đã viết: "Botvinnik tin rằng cờ vua là nghệ thuật phân tích, và thời gian của những người ngẫu hứng đơn lẻ như Andersen, Morphy, Zuckers đã đi mãi mãi. Nhìn vào cờ vua hiện đại, bạn phải thừa nhận botvinnik đã đúng. "Các chàng trai máy tính" đã mang ý tưởng của mình về sự cần thiết phải phân tích nhà cho sự phi lý. Họ thậm chí không che giấu rằng họ đang làm mỏng các lựa chọn đầu tay cho một kết quả rõ ràng. Tại giải đấu trong Linares (2000) Hungary Leko không có Cái bóng của sự bối rối nhận ra rằng toàn bộ bữa tiệc với Anand đứng trên máy tính của mình! ".

Danh sách các tài liệu tham khảo:

1. Alifires A.I. Hướng dẫn chuyên nghiệp làm việc tại các trường trung học bằng cờ vua / alifires a.i. // Vấn đề phát triển khoa học và giáo dục: Lý thuyết và thực hành. Bộ sưu tập các giấy tờ khoa học dựa trên các tài liệu của Hội nghị khoa học và thực tiễn quốc tế vào ngày 31 tháng 8 năm 2015: trong 3 phần. Phần II. M .: "ar-tư vấn", 2015 - P. 13-14.

2. Mikhaillova I.V., Alifires A.I. Hành động chiến thuật của người chơi cờ vua / Mikhaillova I.V., Alifires A.I. // Kết quả của việc thu thập nghiên cứu khoa học các bài báo của Hội nghị khoa học và thực tiễn quốc tế. Biên tập viên có trách nhiệm: sukiasyan Asatura albertovich (ngày 15 tháng 2 năm 2016) tại 4 h. H / 3 - UFA: Aerna. -2016.S. 119-121.

3. MIKHAILOVA I.V., AIFIRES A.I. Cơ sở lý thuyết và phương pháp luận của phương pháp suy nghĩ của các sơ đồ của người chơi cờ / Mikhaillova I.V., Alifires A.I. // Kết quả của việc thu thập nghiên cứu khoa học các bài báo của Hội nghị khoa học và thực tiễn quốc tế. Biên tập viên có trách nhiệm: sukiasyan Asatura albertovich (ngày 15 tháng 2 năm 2016) tại 4 h. H / 3 - UFA: Aerna. - 2016. P. 123-125.

4. MIKHAILOVA I.V. Chuẩn bị những người chơi cờ trẻ có trình độ cao sử dụng các chương trình cờ vua máy tính và "Internet": Tác giả. dis. ... Cand. Ped. Khoa học: 13.00.04 / Mikhaillova Irina Vitalevna; Rgukk. - M., 2005. - 24 p.

© Alifires A.i., Mikhailova I.V., 2016

UDC 378.046.2.

A.I. Alifires.

Ph.D., Phó giáo sư RSU, Moscow, RF V.v. Fedchuk, Ph.D.

LLC "Phúc lợi", người hướng dẫn cao cấp Phương pháp, Moscow, nghiên cứu RF về mức độ sức khỏe thể chất của thanh thiếu niên

Chú thích

Bài báo thảo luận về vấn đề sức khỏe thể chất của thanh thiếu niên và ảnh hưởng của các yếu tố khác nhau