软件名称:FUEGO/孚围棋
软件版本:FueGo0.4
系列的最新版本:FueGo0.5
游戏类型:TAB桌面游戏
发行地区:Canada/加拿大
开发团队:Computer Go Group at the University of Alberta(M.Enzenberger, M.Müller, B.Arneson and R.Segal.Fuego)/加拿大阿尔伯塔大学计算机围棋开发团队
运行环境:windows
软件语言:英文
软件大小:7.36M
开发平台:C++
对弈引擎:Fuego
核心算法*:MC(Monte-Carlo)/蒙特卡洛
支持的人机对弈方式:棋盘:9路,11路,13路,15路,17路,19路
让子:2-9子
计算速度:**/稍慢
曾获战绩:2008年欧洲计算机围棋竞标赛9路盘第6名,19路盘第7名
2008年国际计算机游戏竞标赛围棋项目9路盘第4名,19路盘第4名
2009年韩国人机对抗赛在9路盘上
2009年计算机奥林匹克赛(综合性电脑博弈比赛)围棋项目9路盘冠军,19路盘亚军
2010年计算机奥林匹克赛(综合性电脑博弈比赛)围棋项目9路盘亚军,13路盘亚军,19路盘第5名
2010年第四届UEC杯围棋赛19路盘冠军
……
软件简介:Fuego is a collection of C++ libraries for developing software for the game of Go. It includes a Go player using Monte-Carlo tree search. The initial version of the code was released by the Computer Go Group at the University of Alberta and is based in parts on the previous projects Smart Game Board and Explorer.(转载自Fuego官网)
粗略人机测试结果:19路:我让它9子无贴目中盘胜了它
13路:我与它分先无贴目执白中盘胜了它
9路:我与它分先无贴目执白它胜了我8.5目
棋风、棋力评价:棋风柔和,棋力一般,算路不够精深,局部对杀尚可,但有时候又莫名其妙死棋活棋分不清楚,智能化程度还比较低,官子也较差,喜欢纠缠局部,不擅长脱先却经常无故脱离主战场。
Fuego is a Go playing engine, which communicates with a user interface using the Go Text Protocol (GTP). You need a graphical user interface that supports GTP to play against Fuego. The recommended one is GoGui because Fuego uses some of the special features of GoGui. The most important feature is the Analyze Command window, which makes engine-specific GTP extension commands accessible in the user interface. These commands allow to query and display internal information about the move generation and to set engine parameters. Some of these are only of interest to engine developers, some of them might also be useful for users.
Configuring Fuego for Your Machine
Fuego tries to use a reasonable default configuration with respect to memory usage and usage of parallel search on a multi-core or multi-CPU machine. Parameters can be changed with certain commands in the analyze window of GoGui, but this will affect only the current session. To optimize the default configuration for a certain machine in a persistent way, you can write a text file with GTP commands (e.g. configfile) and change the command line for invocation of Fuego in the user interface to fuego --config configfile. Here is an example of such a configuration file:
uct_param_search number_threads 4
uct_param_search lock_free 1
uct_max_memory 6000000000
uct_param_player reuse_subtree 1
uct_param_player ponder 1
The meaning of these GTP commands is:
uct_param_search number_threads
The number of threads to use. The default is the number of hardware threads available on the current machine.
uct_param_search lock_free
Whether to enable lock-free multithreading. The default is 1 (=yes) for modern Intel or AMD CPUs. This should be enabled on modern Intel or AMD CPUs (with IA-32 and Intel-64 architecture) if more than two threads are used. Note that without lock-free search the performance of Fuego can even decrease if you use more threads. The maximum number of threads that can be used without a decrease of performance, if the lock-free mode is not used, depends on the board size.
uct_max_memory
Determines the maximum amount of memory in the search tree, and thus the maximum memory to use. The default is half of the total memory available on the system. The example above is using 6GB. Fuego maintains two search trees internally, so setting max_memory to 512MB gives 256MB to each tree. The second tree is used for work space if using reuse_subtree, or if the search tree fills up and nodes with small counts are removed.
uct_param_player reuse_subtree
Whether to reuse the reusable part of the tree from a previous move generation. The default is 1 (=yes). Setting this to 1 is required if pondering is used, but it also gives a small improvement in playing strength if pondering is not used.
uct_param_player ponder
Whether to continue the search while waiting for the opponent's move. The default is 0 (=no). If this is set to 1, uct_param_player reuse_subtree must also be enabled. Note that with some versions of Fuego built with Cygwin pondering does not work and Fuego might hang on subsequent commands if it is enabled.
Game-specific Settings
This a list of some game-specific parameters, which can be changed in GoGui's analyze command window.
Go Param
There is one parameter that is interesting to users: Timelimit is the fixed time limit in seconds to use for a move generation, if no time settings are used for the game. The default is 10.
Go Param Rules
Change the rules used in the game. Note that entering text in the rules text entry of GoGui's game info dialog is for storing this information in the file only. It is not transmitted to the Go program because there is no GTP standard command for setting the rules. What rules are used by Fuego depends only on the settings in Go Param Rules.
Watching Fuego's Thinking Process
You can enable the display of Fuego's thinking process by setting Live gfx in the Uct Param Search analyze command to Counts or Sequence. Counts will show the current exploration counts of the moves as labels on the board and the currently best move using a half-transparent stone. Sequence will show the current best sequence of moves using half-transparent stones. The display interval can be configured with Live gfx interval.
Another display mode is Live gfx in the Uct Param GlobalSearch analyze command. It shows the statistics for ownership of each point averaged over all end positions of the simulations. This command requires that Territory statistics in Uct Param GlobalSearch is also enabled.作者: 烂柯野人 时间: 2015-7-30 11:38
计划利用业余时间将Fuego译成javascript版本,欢迎有同样想法的人加入,一起研究一下。本贴将分享代码研究心得。 作者: 烂柯野人 时间: 2015-7-31 11:02
附件里是Fuego的代码说明,一共17页,值得收藏哦。