Start to think about computer go.

Source: Internet
Author: User

The blog here has no new content for a long time. Now, I plan to spend 1-2 years focusing on the problem of computer go.

I think that, since the history of computer go, the Monte Carlo algorithm has been broken down until today.

Their path is to try to get rid of the Go knowledge and use the "search algorithm" in programming to solve the go problem, or even PK human opponents. Before the advent of the legendary quantum computer, this road was a dead end. Because the "search algorithm" relies heavily on hardware, the current electronic computer cannot meet the requirements.

Alpha-beta pruning of the computer go, which is useful enough. What is missing is the useful "Inspiration function", which is a Computer Representation of Go knowledge.

To solve the issue of "enlightening functions", you may wish to experiment with "fa Yang theory. If you can solve all the problems correctly, the computer go should make substantial progress. If you are helpless about the theory of FA Yang, the computer go will be available early.

In fact, I started from scratch and can only learn and do it.

The following is a rough idea.


Computer go system design and development plan

1. The objective of solving all life and death issues in Fa Yang theory is to take the expert system as the core, take the alpha-beta pruning method as the basic solution strategy, and use Erlang as the development platform (mainly including eresye, wxerlang and mnesia ).


1. The goal of the system task is to solve all life and death issues in Fa Yang theory.

This task is much more difficult than solving the closed and bounded life-and-death question in Xuan Qi Jing, but it is much easier than the man-machine confrontation of the complete game board, is a moderately difficult programming task.


2. The core of the problem-solving system is the "Expert System"

The solving of Go's life-and-death questions, and even the basic problems of go, can be attributed to the "Chess logic" problem, that is, the logical relationship between chess shapes composed of black and white chess pieces.

The chess logic, that is, the chess knowledge, can be accessed by the knowledge base of the expert system and processed through the logic rule mechanism of the expert system.

The development of problem-solving systems is much more difficult and requires human-computer interaction and gradual development. The expert system is used to facilitate human-computer interaction and program modification, reduce the development difficulty, and facilitate quick implementation of the system prototype.


3. The basic solution strategy of the system is alpha-beta pruning.

The alpha-beta pruning method is a traditional method for solving game problems. It has been successfully applied to bridge, chess, Chinese chess, and other fields.

The key issue of the alpha-beta pruning method is to build an "Inspiration function ". It is responsible for evaluating the advantages and disadvantages of each game step in the problem solving process to determine the position of the next game board. The basis of value evaluation is the current chess (fact in the NLP Library) and the logical relationship between chess and shapes (related knowledge of chess and shapes ). The intelligence of the problem-solving system depends on the quality of the function.

In the expert system, the "heuristic function" is represented as a logical rule.

The principle of implementing the alpha-beta pruning method is "Deep Search + backtracking ".

In Erlang

Main tool.

4. eresye inference engine problem solving Server

① Eresye is a simple and practical inference engine and a good tool for solving problems;

② Eresye uses positive inference engine. The corresponding search policy is "wide search ";

③ Change the eresye inference engine to "reverse reasoning" and add a "backtracking" mechanism;

④ Eresye functions assert and retract can be used to conveniently manage the knowledge base, slave library, and other working memory, without using functions of ETS, array, and other modules;

⑤ Make the inference engine into a problem-solving server to centrally implement the logic task processing of the system, so that it is independent of the GUI functions. This is conducive to stable system operation, convenient maintenance, and compatibility with various guis.

5. Client GUI of the Problem Solving System

Wxerlang


 

 

 

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.