我喜欢玩益智游戏Flood-It,它可以在线播放:
https://www.lemoda.net/javascript/flood-it/game.html
它也可以作为iGoogle小工具使用.目的是用最少数量的连续填充填充整个委员会.
我正在尝试编写一个可以最佳地解决这个难题的程序.解决这个问题的最佳方法是什么?理想情况下我想使用A*算法,但我不知道估算剩余步数的功能应该是什么.我写了一个程序,进行了深度4强力搜索,以最大化填充区域.它工作得相当好,并且在解决这个难题时打败了我,但我对这个算法并不完全满意.
有什么建议?提前致谢.
我一直想知道的东西,尤其是因为它让我在小时候开始编程,这是视频游戏机器人的工作原理吗?我确信有很多不同的方法,但是MMORPG的自动化呢?甚至是FPS型机器人?
我在谈论玩家制造的自动化机器人.
SVM和神经网络有什么区别?线性svm是否与NN相同,并且对于非线性可分离问题,NN使用添加隐藏层而SVM使用不断变化的空间维度?
我们是否可以让人们在每种语言中发布A*寻路算法的简单优化实现代码?
这主要是为了获得乐趣,并且可以使用stackoverflow本身的功能......虽然我实际上对获取ActionScript 3版本感兴趣.
但是这个想法是,即使创建了不同的编程语言,这个"问题"将继续在未来永久更新!
我不知道在线的任何其他地方你可以看到伪代码"翻译"成许多(少得多)的不同语言.看起来它是一个有价值的资源,虽然不一定是这个网站的设计目的,但尝试它并看看是否有可能用于堆栈溢出的有价值的东西是没有害处的!
所以我有一个问题,我想使用深度优先搜索来解决,返回DFS找到的第一个路径.这是我的(不完整的)DFS功能:
start = problem.getStartState()
stack = Stack()
visited = []
stack.push(start)
if problem.isGoalState(problem.getStartState):
return something
while stack:
parent = stack.pop()
if parent in visited: continue
if problem.isGoalState(parent):
return something
visited.append(parent)
children = problem.getSuccessors(parent)
for child in children:
stack.push(child[0])
Run Code Online (Sandbox Code Playgroud)
startState和goalState变量只是x,y坐标的元组.问题是一个有各种方法的类.这里重要的是getSuccessors(它以3项元组的列表的形式返回给定状态的子节点.虽然这部分问题只是元组的第一个元素,(child [0]),返回x,y坐标中的子状态,重要)和isGoalState(提供目标状态的x,y坐标).
所以我认为(在这一点上难以测试),这个功能,如果适当实现其他一切,将在它达到目标状态后返回.如果我错过了什么,请告诉我.不过,我最大的问题是什么回归.我希望它按照从开始到结束的顺序输出到达目标状态所需的所有状态的列表.它似乎不是简单地返回我的堆栈将做的技巧,因为堆栈将包括许多未访问的孩子.我访问过的列表也不会产生任何有用的东西,因为可以想象我可以达到死胡同,不得不回溯,但仍然有访问列表中的死胡同.我如何获得我想要的清单?
我目前正在开展一个项目,我的目标是在图像中找到文本.OCR的文本不是我的意图.我想基本上获取图像中文本的边界.我正在使用AForge.Net成像组件进行操作.在某种意义上的任何帮助?
更新2/5/09:我已经在我的项目中沿着另一条路线前进了.但是我确实尝试使用MODI(Microsoft Office Document Imaging)获取文本.它允许您轻松地OCR图像并从中提取文本.
在即将推出的Photoshop版本中,有一项名为Content-Aware fill的功能.
此功能将根据周围图像填充图像选择 - 它可以生成灌木和云,同时与周围图像无缝连接.
有关我正在谈论的Photoshop功能的预览,请参见http://www.youtube.com/watch?v=NH0aEp1oDOI.
我的问题是: 这个功能在算法上如何工作?
photoshop algorithm graphics artificial-intelligence image-processing
在树中搜索时,我对统一成本搜索的理解是,对于给定节点A,具有子节点B,C,D且相关成本为(10,5,7),我的算法将选择C,因为它具有更低的花费.扩展C后,我看到节点E,F,G的成本为(40,50,60).它将选择40,因为它具有3的最小值.
现在,是不是和贪婪搜索一样,你总是选择最好的动作?
此外,在定义从某些节点到其他节点的成本时,我们应该考虑从树的开头到当前节点的整个成本,还是从节点n到节点n'的成本本身?
谢谢
出于学习目的,我想研究一个开源专家系统,特别是可以推理和解释它的推理的专家系统.你知道哪些?
请查看以下代码
#include <iostream>
#include <opencv2/core/core.hpp>
#include <opencv2/highgui/highgui.hpp>
#include <opencv2/imgproc/imgproc.hpp>
using namespace std;
using namespace cv;
Mat src, grey;
int thresh = 10;
const char* windowName = "Contours";
void detectContours(int,void*);
int main()
{
src = imread("C:/Users/Public/Pictures/Sample Pictures/Penguins.jpg");
//Convert to grey scale
cvtColor(src,grey,CV_BGR2GRAY);
//Remove the noise
cv::GaussianBlur(grey,grey,Size(3,3),0);
//Create the window
namedWindow(windowName);
//Display the original image
namedWindow("Original");
imshow("Original",src);
//Create the trackbar
cv::createTrackbar("Thresholding",windowName,&thresh,255,detectContours);
detectContours(0,0);
waitKey(0);
return 0;
}
void detectContours(int,void*)
{
Mat canny_output,drawing;
vector<vector<Point>> contours;
vector<Vec4i>heirachy;
//Detect edges using canny
cv::Canny(grey,canny_output,thresh,2*thresh);
namedWindow("Canny");
imshow("Canny",canny_output);
//Find …Run Code Online (Sandbox Code Playgroud) algorithm ×3
a-star ×2
c++ ×2
image ×2
c# ×1
flood-fill ×1
graphics ×1
greedy ×1
opencv ×1
path-finding ×1
pathfinder ×1
photoshop ×1
python ×1
search ×1
svm ×1