Questions tagged «artificial-intelligence»

人工智能(AI)是计算机科学和技术的一个分支,研究能够模拟人类智能各方面的机器的发展。该标签还可以指计算机游戏应用程序中控制玩家在游戏过程中与之互动的虚拟角色的行为的部分。

14
2048游戏的最佳算法是什么?
我最近偶然发现了2048游戏。您可以通过在四个方向上任意移动相似的图块来合并它们,以制作“更大”的图块。每次移动后,新的图块都会出现在随机的空白位置,其值为2或4。当所有方框都已填满且没有可合并磁贴的移动,或者您创建的值为时,游戏终止2048。 第一,我需要遵循明确定义的策略才能达到目标。因此,我想到了为此编写程序。 我当前的算法: while (!game_over) { for each possible move: count_no_of_merges_for_2-tiles and 4-tiles choose the move with a large number of merges } 我做的是在任何时候,我会尽量与值合并瓷砖2和4,就是我努力2和4瓷砖,尽可能最小。如果以这种方式尝试,所有其他磁贴将自动合并,并且该策略看起来不错。 但是,当我实际使用此算法时,在游戏终止前我只能得到4000点。最高分数AFAIK略高于20,000点,这比我目前的分数还大。是否有比以上更好的算法?



22
吃豆子:眼睛如何回到怪物的洞中?
我在《吃豆人》中找到了很多有关鬼魂AI的参考文献,但没有人提到吃豆子吃掉鬼魂后眼睛如何回到中央鬼洞。 在我的实现中,我实现了一个简单但糟糕的解决方案。我只是在每个角落都硬编码了应该采取的方向。 有没有更好的解决方案?也许是一种适用于不同级别设计的通用产品?

25
最好的战舰AI是什么?
已锁定。该问题及其答案被锁定,因为该问题是题外话,但具有历史意义。它目前不接受新的答案或互动。 战舰! 早在2003年(那时我才17岁),我参加了一个Battleship AI编码竞赛。即使我输掉了比赛,我仍然从中获得很多乐趣并从中学到了很多。 现在,我想复活这场比赛,以寻找最好的战舰AI。 这是框架,现在托管在Bitbucket上。 获胜者将获得+450声望!比赛将于2009年11月17日开始。17日晚零时之前不接受任何输入或编辑。(中部标准时间)尽早提交参赛作品,这样您就不会错过任何机会! 为了保持目标,请遵循比赛的精神。 游戏规则: 游戏在10x10的网格上进行。 每个参赛者将把5艘船(长度分别为2、3、3、4、5)放置在各自的网格上。 没有船可以重叠,但它们可以是相邻的。 然后,竞争对手轮流向对手射击。 游戏的一种变体允许每排射击多发,每艘幸存飞船射击一次。 如果击球落下,命中或未击中,对手将通知竞争对手。 任何一名玩家的全部船只沉没时,游戏结束。 比赛规则: 竞争的精神是找到最佳的战舰算法。 任何违反比赛精神的行为都将被取消参赛资格。 干扰对手是违反比赛精神的。 在以下限制下,可以使用多线程: 轮到您时,最多只能运行一个线程。(但是,任何数量的线程都可以处于“挂起”状态)。 除“正常”外,没有其他线程可以优先运行。 鉴于上述两个限制,在轮到您时,将确保至少有3个专用CPU内核。 每个游戏在主线程上分配给每个竞争者1秒的CPU时间限制。 时间用完会导致当前游戏失败。 任何未处理的异常都将导致当前游戏失败。 允许进行网络访问和磁盘访问,但是您可能会发现时间限制过高。但是,添加了一些设置和拆卸方法以减轻时间负担。 应将代码发布在堆栈溢出中作为答案,或者如果链接太大,则将其链接。 条目的最大总大小(未压缩)为1 MB。 正式地,.Net 2.0 / 3.5是唯一的框架要求。 您的条目必须实现IBattleshipOpponent接口。 得分: 101场比赛中最好的51场比赛是比赛的获胜者。 所有竞争对手将以循环赛的方式进行比赛。 然后,最好的一半竞争者将参加双重淘汰赛以确定获胜者。(实际上,两个的最小乘方大于或等于一半。) 我将在锦标赛中使用TournamentApi框架。 结果将发布在这里。 如果您提交了多个条目,则只有得分最高的条目才有资格获得双盲。 祝好运!玩得开心! 编辑1: 感谢Freed,他在Ship.IsValid函数中发现错误。已修复。请下载该框架的更新版本。 编辑2: 由于将统计信息持久保存到磁盘等方面引起了极大的兴趣,我添加了一些非定时的设置和拆除事件,这些事件应提供所需的功能。这是一个突破性的变化。这就是说:接口已被修改以添加功能,但是它们不需要任何主体。请下载该框架的更新版本。 编辑3: 错误修正1:GameWon并且GameLost仅在超时的情况下被调用。 …

29
监督学习和无监督学习有什么区别?[关闭]
已关闭。这个问题需要更加集中。它当前不接受答案。 想改善这个问题吗?更新问题,使其仅通过编辑此帖子来关注一个问题。 28天前关闭。 改善这个问题 在人工智能和机器学习方面,有监督学习和无监督学习有什么区别?您能否通过示例提供基本,简单的说明?

18
历史库存数据来源
关闭。此问题不符合堆栈溢出准则。它当前不接受答案。 想改善这个问题吗?更新问题,使其成为Stack Overflow 的主题。 4年前关闭。 改善这个问题 我正在尝试制作一个股市模拟器(也许最终会发展成为一种可预测的AI),但是在查找要使用的数据时遇到了麻烦。我正在寻找(希望免费的)历史股票市场数据来源。 理想情况下,这将是一个非常精细的(秒或分钟间隔)数据集,其中包含纳斯达克和纽约证券交易所(如果我喜欢冒险的话,可能还有其他)的每个交易品种的价格和交易量。有人知道这种信息的来源吗? 我发现了这个问题,该问题表明Yahoo提供了CSV格式的历史数据,但是我一直无法通过粗略检查链接的网站来找到如何获取它。 我也不喜欢将数据逐个下载到CSV文件中的想法……我想Yahoo在最初的几千个请求后会不高兴并关闭了我。 我还发现了另一个问题,使我认为自己已经中奖了,但是不幸的是,OpenTick网站似乎已经关门了……太糟糕了,因为我认为它们正是我想要的。 我还可以使用每天只是每个交易品种的开盘价/收盘价和交易量的数据,但是如果可以的话,我希望所有数据都是这样。还有其他建议吗?

30
遗传算法/遗传编程解决方案的哪些好例子?[关闭]
按照目前的情况,这个问题不适合我们的问答形式。我们希望答案会得到事实,参考或专业知识的支持,但是这个问题可能会引起辩论,争论,民意测验或扩展讨论。如果您认为此问题可以解决并且可以重新提出,请访问帮助中心以获取指导。 8年前关闭。 遗传算法(GA)和遗传编程(GP)是有趣的研究领域。 我想知道您使用GA / GP解决的特定问题,以及如果您不自己动手使用的库/框架。 问题: 您使用GA / GP解决了哪些问题? 您使用了哪些库/框架? 我正在寻找第一手经验,因此,除非您有经验,否则请不要回答。

10
Lisp为什么用于AI?[关闭]
按照目前的情况,这个问题不适合我们的问答形式。我们希望答案会得到事实,参考或专业知识的支持,但是这个问题可能会引起辩论,争论,民意调查或扩展讨论。如果您认为此问题可以解决并且可以重新提出,请访问帮助中心寻求指导。 7年前关闭。 我一直在学习Lisp,以扩大我的视野,因为我听说它已用于AI编程。在进行了一些探索之后,我还没有找到AI实例或任何其他使它更倾向于AI的语言。 Lisp过去是因为可用而使用的,还是我只是想缺少一些东西?

7
神经网络中训练,验证和测试集之间有什么区别?
我正在使用该库来实现学习代理。 我已经生成了训练案例,但是我不确定是什么验证和测试集。 老师说: 70%应该是培训用例,10%是测试用例,其余20%应该是验证用例。 编辑 我有此训练代码,但我不知道何时停止训练。 def train(self, train, validation, N=0.3, M=0.1): # N: learning rate # M: momentum factor accuracy = list() while(True): error = 0.0 for p in train: input, target = p self.update(input) error = error + self.backPropagate(target, N, M) print "validation" total = 0 for p …

11
Dijkstra的算法和A-Star相比如何?
我一直在研究Mario AI竞赛中的成员正在做的事情,其中​​有些人利用A *(A星)路径算法构建了一些非常简洁的Mario机器人。 (Mario A * Bot在行动中的视频) 我的问题是,A-Star与Dijkstra相比如何?看着它们,它们看起来很相似。 为什么有人会使用另一个?尤其是在游戏中使用路径时?

8
什么时候应该使用遗传算法而不是神经网络?[关闭]
按照目前的情况,这个问题不适合我们的问答形式。我们希望答案会得到事实,参考或专业知识的支持,但是这个问题可能会引起辩论,争论,民意调查或扩展讨论。如果您认为此问题可以解决并且可以重新提出,请访问帮助中心以获取指导。 7年前关闭。 是否有经验法则(或一组示例)来确定何时使用遗传算法而不是神经网络(反之亦然)来解决问题? 我知道在某些情况下可以将两种方法混合使用,但是我正在寻找两种方法之间的高级比较。

30
基于最佳编程的游戏
从目前的情况来看,这个问题不适合我们的问答形式。我们希望答案会得到事实,参考或专业知识的支持,但是这个问题可能会引起辩论,争论,民意测验或进一步的讨论。如果您认为此问题可以解决并且可以重新提出,请访问帮助中心以获取指导。 8年前关闭。 已锁定。该问题及其答案被锁定,因为该问题是题外话,但具有历史意义。它目前不接受新的答案或互动。 回到学校的时候,我记得自己是在玩Mac游戏,在那儿,您用某种伪汇编语言编写了一些小型机器人,然后它们可以相互抗衡。他们可以在赛场上移动,寻找不同方向的对手,并发射某种武器。很基本的东西,但是即使我不记得这个名字,我也很喜欢。 有什么现代等效的东西吗?

4
如何使用scikit learning计算多类案例的精度,召回率,准确性和f1-得分?
我正在研究情绪分析问题,数据看起来像这样: label instances 5 1190 4 838 3 239 1 204 2 127 所以,我的数据是不平衡的,因为1190 instances标有5。对于使用scikit的SVC进行的分类Im 。问题是我不知道如何以正确的方式平衡我的数据,以便准确计算多类案例的精度,查全率,准确性和f1得分。因此,我尝试了以下方法: 第一: wclf = SVC(kernel='linear', C= 1, class_weight={1: 10}) wclf.fit(X, y) weighted_prediction = wclf.predict(X_test) print 'Accuracy:', accuracy_score(y_test, weighted_prediction) print 'F1 score:', f1_score(y_test, weighted_prediction,average='weighted') print 'Recall:', recall_score(y_test, weighted_prediction, average='weighted') print 'Precision:', precision_score(y_test, weighted_prediction, average='weighted') print '\n …

12
击败扑克机器人
已锁定。该问题及其答案被锁定,因为该问题是题外话,但具有历史意义。它目前不接受新的答案或互动。 有一个名为PokerPirate的新的开源扑克机器人。我对Web应用程序可以检测/阻止/击败扑克机器人的任何创新方式感兴趣。(这纯粹是学术性的讨论,本着与《 PokerPirate》写作的精神。)

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.