标签: artificial-intelligence

如何最佳地解决洪水填充难题?

我喜欢玩益智游戏Flood-It,它可以在线播放:

https://www.lemoda.net/javascript/flood-it/game.html

它也可以作为iGoogle小工具使用.目的是用最少数量的连续填充填充整个委员会.

我正在尝试编写一个可以最佳地解决这个难题的程序.解决这个问题的最佳方法是什么?理想情况下我想使用A*算法,但我不知道估算剩余步数的功能应该是什么.我写了一个程序,进行了深度4强力搜索,以最大化填充区域.它工作得相当好,并且在解决这个难题时打败了我,但我对这个算法并不完全满意.

有什么建议?提前致谢.

algorithm search artificial-intelligence a-star flood-fill

31
推荐指数
2
解决办法
2万
查看次数

电子游戏机器人?

我一直想知道的东西,尤其是因为它让我在小时候开始编程,这是视频游戏机器人的工作原理吗?我确信有很多不同的方法,但是MMORPG的自动化呢?甚至是FPS型机器人?

我在谈论玩家制造的自动化机器人.

c++ artificial-intelligence

30
推荐指数
3
解决办法
3万
查看次数

SVM和神经网络

SVM和神经网络有什么区别?线性svm是否与NN相同,并且对于非线性可分离问题,NN使用添加隐藏层而SVM使用不断变化的空间维度?

artificial-intelligence machine-learning svm neural-network

30
推荐指数
3
解决办法
2万
查看次数

如何实现A*寻路算法,以及每种编程语言的移动成本?

我们是否可以让人们在每种语言中发布A*寻路算法的简单优化实现代码?

这主要是为了获得乐趣,并且可以使用stackoverflow本身的功能......虽然我实际上对获取ActionScript 3版本感兴趣.

但是这个想法是,即使创建了不同的编程语言,这个"问题"将继续在未来永久更新!

我不知道在线的任何其他地方你可以看到伪代码"翻译"成许多(少得多)的不同语言.看起来它是一个有价值的资源,虽然不一定是这个网站的设计目的,但尝试它并看看是否有可能用于堆栈溢出的有价值的东西是没有害处的!

artificial-intelligence pathfinder a-star path-finding

29
推荐指数
3
解决办法
4万
查看次数

在深度优先搜索中跟踪和返回路径

所以我有一个问题,我想使用深度优先搜索来解决,返回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坐标).

所以我认为(在这一点上难以测试),这个功能,如果适当实现其他一切,将在它达到目标状态后返回.如果我错过了什么,请告诉我.不过,我最大的问题是什么回归.我希望它按照从开始到结束的顺序输出到达目标状态所需的所有状态的列表.它似乎不是简单地返回我的堆栈将做的技巧,因为堆栈将包括许多未访问的孩子.我访问过的列表也不会产生任何有用的东西,因为可以想象我可以达到死胡同,不得不回溯,但仍然有访问列表中的死胡同.我如何获得我想要的清单?

python algorithm artificial-intelligence

29
推荐指数
3
解决办法
5万
查看次数

在图像中定位文本

我目前正在开展一个项目,我的目标是在图像中找到文本.OCR的文本不是我的意图.我想基本上获取图像中文本的边界.我正在使用AForge.Net成像组件进行操作.在某种意义上的任何帮助?

更新2/5/09:我已经在我的项目中沿着另一条路线前进了.但是我确实尝试使用MODI(Microsoft Office Document Imaging)获取文本.它允许您轻松地OCR图像并从中提取文本.

c# artificial-intelligence image image-processing

28
推荐指数
1
解决办法
5167
查看次数

Content-Aware如何填充?

在即将推出的Photoshop版本中,有一项名为Content-Aware fill的功能.

此功能将根据周围图像填充图像选择 - 它可以生成灌木和云,同时与周围图像无缝连接.

有关我正在谈论的Photoshop功能的预览,请参见http://www.youtube.com/watch?v=NH0aEp1oDOI.

我的问题是: 这个功能在算法上如何工作?

photoshop algorithm graphics artificial-intelligence image-processing

28
推荐指数
3
解决办法
2万
查看次数

Greedy-Search和Uniform-Cost-Search有什么区别?

在树中搜索时,我对统一成本搜索的理解是,对于给定节点A,具有子节点B,C,D且相关成本为(10,5,7),我的算法将选择C,因为它具有更低的花费.扩展C后,我看到节点E,F,G的成本为(40,50,60).它将选择40,因为它具有3的最小值.

现在,是不是和贪婪搜索一样,你总是选择最好的动作?

此外,在定义从某些节点到其他节点的成本时,我们应该考虑从树的开头到当前节点的整个成本,还是从节点n到节点n'的成本本身?

谢谢

artificial-intelligence greedy

27
推荐指数
3
解决办法
1万
查看次数

是否有具有推理功能的开源专家系统?

出于学习目的,我想研究一个开源专家系统,特别是可以推理和解释它的推理的专家系统.你知道哪些?

artificial-intelligence expert-system

27
推荐指数
1
解决办法
2万
查看次数

"边缘检测"与"图像轮廓"之间的区别

请查看以下代码

#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)

c++ opencv artificial-intelligence image image-processing

27
推荐指数
3
解决办法
4万
查看次数