Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/haskell/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Haskell极小极大,FlexibleContext_Haskell_Minimax - Fatal编程技术网

Haskell极小极大,FlexibleContext

Haskell极小极大,FlexibleContext,haskell,minimax,Haskell,Minimax,我是haskell的新手,需要编写一个名为minimax的函数,在提供给该函数的游戏树(棋盘树,Rose棋盘)和轮到它的玩家上进行赋值。很遗憾,我收到了一封信 “te约束中的非类型变量参数:Num(Rose a)(使用FlexibleContext允许此操作)” 我尝试了不同的方法,但我一直遇到关于FlexibleContext的相同问题,我无法确切地理解FlexibleContext是什么 minimax::Player->Rose Board->Rose Int minimax播放器rose

我是haskell的新手,需要编写一个名为minimax的函数,在提供给该函数的游戏树(棋盘树,Rose棋盘)和轮到它的玩家上进行赋值。很遗憾,我收到了一封信

“te约束中的非类型变量参数:Num(Rose a)(使用FlexibleContext允许此操作)”

我尝试了不同的方法,但我一直遇到关于FlexibleContext的相同问题,我无法确切地理解FlexibleContext是什么

minimax::Player->Rose Board->Rose Int
minimax播放器roseBoard=minimax播放器roseBoard
其中,minimax'p(board:>rest)| null rest=case haswenner board of
只要n->如果n==p,那么1其他-1
无->0
|否则=0:>[(最小最大值(下一层p)(onthaak rest))]
其中onthaak[a]=a

Num(rosea)
是一条线索。您正在尝试使用
rosea
,其中需要使用
Num
实例。看看你对
minimax'
的定义。想想它返回的值的类型和它应该返回的值的类型。Mhm,minimax'应该返回一个Rose int,因为这也是函数minimax的输出,但据我所知,它也是这样做的?@Henk:在你的案例中不是这样的,如果rose开始时为空,则minimax'将只返回一个数字。不应更改
案例。。关闭
至<代码>仅n->如果n==p,则(1:>[])否则(-1:>[])什么也没有->(0:>[])修复此问题(因为它不幸没有解决)?
Num(rosea)
是一个线索。您正在尝试使用
rosea
,其中需要使用
Num
实例。看看你对
minimax'
的定义。想想它返回的值的类型和它应该返回的值的类型。Mhm,minimax'应该返回一个Rose int,因为这也是函数minimax的输出,但据我所知,它也是这样做的?@Henk:在你的案例中不是这样的,如果rose开始时为空,则minimax'将只返回一个数字。不应更改
案例。。关闭
至<代码>仅n->如果n==p,则(1:>[])否则(-1:>[])什么都没有->(0:>[])修复此问题(因为遗憾的是它没有解决)?