当前位置: 首页>>代码示例>>C++>>正文


C++ node::getHueristic方法代码示例

本文整理汇总了C++中node::getHueristic方法的典型用法代码示例。如果您正苦于以下问题:C++ node::getHueristic方法的具体用法?C++ node::getHueristic怎么用?C++ node::getHueristic使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在node的用法示例。


在下文中一共展示了node::getHueristic方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。

示例1: IMAstar

void IMAstar(node root, int moves)
{
	int bound = root.getHueristic();
	std::vector<node> results;
	while (true)
	{
		results.push_back(root);
		int f = search(root, bound, results);
		if (f ==  -1)//is solution
		{
			return;//return found
		}
		else if (f == std::numeric_limits<int>::max())//no solution
		{
			std::cout << "There is no solution / solution is larger than 32bit int " << std::endl;
			return;
		}
		else
		{
			bound = f;
		}
	}
	

}
开发者ID:orourkeh,项目名称:Top-Spin-Game,代码行数:25,代码来源:main.cpp

示例2: search

int search(node n, int bound, std::vector<node>& results)
{
	int f = n.getHueristic() + n.getDepth();
	if (f > bound)
	{
		return f;
	}
	if (n.solution())
	{
		solutionStat(results, n);
		return -1;//found
	}
	int min = std::numeric_limits<int>::max();
	//make children here
	node children[3];
	node child = n.makeChild();
	children[0] = child; 
	//child.board.display();
	child = n.makeChild();
	children[1] = child; 
	//child.board.display();
	child = n.makeChild();
	children[2] = child; ;
	for (int i = 0; i < 3; i++)
	{
		exploredNodes++;
		int t = search(children[i], bound, results);
		if (t == -1)//found
		{
			results.push_back(children[i]);
			return t;//found
		}
		else if (t < min)
		{
			results.push_back(children[i]);
			min = t;
		}
	}

	return min;
}
开发者ID:orourkeh,项目名称:Top-Spin-Game,代码行数:41,代码来源:main.cpp


注:本文中的node::getHueristic方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。