Questions tagged «artificial-intelligence»

计算机科学领域的人工智能是对智能系统的研究,设计和工程,它们能够感知其环境并采取行动来优化其成功实现目标的机会。

14
简单可靠地检测文本代码的方法?
GMail具有此功能,如果您尝试发送它认为可能带有附件的电子邮件,它将向您发出警告。 由于GMail检测到see the attached电子邮件中的字符串,但没有实际附件,因此当我单击“发送”按钮时,它会通过“确定” /“取消”对话框警告我。 我们在堆栈溢出方面有一个相关的问题。也就是说,当用户进入后像这样的: 我的问题是我需要更改数据库,但我不会创建 一个新的连接。例: 数据集dsMasterInfo = new DataSet(); 数据库db = DatabaseFactory.CreateDatabase(“ ConnectionString”); DbCommand dbCommand = db.GetStoredProcCommand(“ uspGetMasterName”); 该用户未将其代码格式化为代码! 也就是说,他们没有为每个Markdown缩进4个空格,也没有使用代码按钮(或键盘快捷键ctrl+ k)为他们这样做。 因此,我们的系统正在接受很多编辑,人们必须进入这些编辑区域,并手动为无法解决该问题的人们设置代码格式。这导致很多肚皮舞。我们已经多次改善了编辑器的帮助,但是由于没有赶到用户家并为他们按下键盘上的正确按钮,我们无所适从,不知道下一步该怎么做。 这就是我们考虑使用Google GMail样式警告的原因: 您是要发布代码吗? 您编写了我们认为看起来像代码的内容,但是没有使用工具栏代码按钮或ctrl+ k代码格式化命令通过缩进4个空格来将其格式化为代码。 但是,提出此警告要求我们检测问题中是否存在我们认为未格式化的代码。一种简单,半可靠的方法是什么? 根据Markdown的规定,代码总是缩进4个空格或在反引号内,因此任何格式正确的代码都可以立即从支票中丢弃。 这仅是警告,并且仅适用于声誉低下的用户提出第一个问题(或提供其第一个答案),因此,只要它们的错误率在5%或以下,就可以接受一些误报。 关于堆栈溢出的问题可以使用任何语言,尽管实际上可以将检查范围限制为“十大”语言。每个标记页面都是C#,Java,PHP,JavaScript,Objective-C,C,C ++,Python,Ruby。 使用Stack Overflow Creative Commons数据转储来审核您可能的解决方案(或仅在Stack Overflow 的前10个标签中选择几个问题),然后查看其效果。 伪代码很好,但是如果您想变得更加友好,我们可以使用c#。 越简单越好(只要可行)。吻!如果您的解决方案需要我们尝试用10种不同的编译器来编译帖子,或者需要一群人来手动训练贝叶斯推理引擎,那...就不完全是我们的初衷。

3
纸牌游戏AI的最佳技术
我正在尝试为纸牌游戏开发AI,但对于应该使用的技术/算法有些困惑。以下是有关游戏的一些假设: 在将纸牌分发给玩家之后,就没有随机性了。我的意思是,每个玩家都可以选择自己玩的纸牌,但不会像在游戏开始时分发纸牌那样进行随机处理。 已经播放过的纸牌有一定的限制。 赢得花样的玩家先玩。例如,玩家1玩纸牌,玩家2玩纸牌赢。然后玩家2玩纸牌,然后玩家1玩。 我知道很多提示/规则(例如,如果我知道玩家拥有A,B,C卡,那么我应该玩D),这有助于我赢得比赛。因此,我首先想使用贝叶斯网络描述这些规则。问题是我不知道分配任何概率,但是我可以使用玩过的游戏(针对人类)的历史来计算启发式算法。第二个问题是,我很可能不了解所有规则,并且AI需要一些隐式规则才能找到最佳游戏。 我不确定这是否是为此类纸牌游戏开发AI的好方法? 我也想知道是否还有其他最适合该问题的技术。例如,我查看了minimax(也许使用了修剪算法),但是对于这个问题将是一个很好的选择吗?我不确定,因为最重要的比赛是在游戏开始时,未知参数最高(大多数纸牌尚未玩过)。

4
为什么Prolog对AI编程有好处?[关闭]
已关闭。这个问题需要更加集中。它当前不接受答案。 想改善这个问题吗?更新问题,使其仅通过编辑此帖子来关注一个问题。 3年前关闭。 我正在研究用于AI编程的编程语言。我知道LISP在我的大学中是作为AI编程语言教授的,但Prolog很少教授。我有点喜欢Prolog,但是我不是AI程序员,所以我认为我没有资格自己判断为什么Prolog比LISP / Scheme更好。我想知道程序员是否对此主题有任何投入。 您如何辩称Prolog对AI编程会更有用? 我一直在研究它,而我一遍又一遍地看到的基本论据是,由于思想是用逻辑表达的,而Prolog是一种逻辑编程语言,因此Prolog可以轻松构建决策机器,或达到某种程度的效果。 AI中的Prolog还有什么可以说的吗?

11
1960年代从事人工智能研究的科学家和工程师最初有过自信的原因吗?
我刚刚开始了AI和数据挖掘课程,并开始了这本书。AI应用程序编程从对AI历史的概述开始。第一章介绍了1940年代至今的AI历史。我有一个特别的说法: [在60年代]人工智能工程师承诺过高而交付不足... 过度自信的原因是什么?是因为数学预测模型显示了突破即将来临,还是由于不断增强的硬件利用能力?


4
业务规则引擎和约束编程语言之间的关系
此问题是从Stack Overflow 迁移而来的,因为可以在Software Engineering Stack Exchange上回答。 迁移 8年前。 如果看过(可能是较旧的)Drools手册或某些其他规则引擎的手册,则其增值插图之一就是解决难题,例如Miss Manners难题(Drools手册)。现在,使用Prolog或较新的约束编程语言自然地解决了这些难题,有人想知道为什么有人会为此目的使用Drools。在这种情况下,Prolog和CPL所带来的附加价值是他们能够自然地将难题表达为一组逻辑谓词并自动搜索解决方案的空间(在这方面CPL效率更高)。但是,诸如Drools之类的产品的附加价值是什么(我的意思是,除了拿起Excel文件并将其转换为一组规则之外)。 更具体地说,Prolog实现了回溯搜索,CLP实现了具有约束传播的回溯搜索,因此,不是搜索单个变量的整个笛卡尔积,而是修剪掉该乘积空间的大部分。这使它们有效和有用。文献中充分讨论了Prolog和CLP。 另一方面,虽然很明显Rete算法以某些数据结构的形式缓存规则集,但是据我所知,如果某些输入已更改,则可以更有效地评估输出,并给出有效地更新此数据结构以进行增量更改的方法,(对我而言)很难理解基本思想,甚至更难理解其有效性(与Prolog和CLP相比)?不幸的是,很难找到在更广泛的上下文中查看Rete算法的良好参考。 不幸的是,在这方面,Drools的文档提供的信息很少。我能找到的最多的是“ Rete算法,Leaps算法及其后代(例如Drools的Reteoo(和Leaps))提供了非常有效的方式来将规则模式与您的域对象数据进行匹配。当您拥有不会完全改变(因为规则引擎可以记住过去的比赛。这些算法已经过战斗验证”。非常高效-相比之下呢?经战斗证明-可以指向现实世界的应用程序吗? 如果有人可以对此主题提供更多的启示或提供有效的参考,我将不胜感激。


26
如果您可以向图灵测试候选人提出问题,那将是什么?[关闭]
按照目前的情况,这个问题不适合我们的问答形式。我们希望答案会得到事实,参考或专业知识的支持,但是这个问题可能会引起辩论,争论,民意调查或扩展讨论。如果您认为此问题可以解决并且可以重新提出,请访问帮助中心以获取指导。 8年前关闭。 已锁定。该问题及其答案被锁定,因为该问题是题外话,但具有历史意义。它目前不接受新的答案或互动。 您如何区分男人和机器?

8
“哥德尔,埃舍尔,巴赫”今天仍然有效吗?[关闭]
已关闭。这个问题是基于观点的。它当前不接受答案。 想改善这个问题吗?更新问题,以便通过编辑此帖子以事实和引用的形式回答。 6年前关闭。 我刚刚完成了有关可计算性和逻辑的课程,这是一个有趣的课程。讲师在他的幻灯片上推荐了几本书,其中包括“哥德尔,埃舍尔,巴赫”。我可以看到这本书非常有名,并且看起来很有趣。但是关于它的内容,我有几个问题要问。 内容今天仍然有效吗?我想大多数理论上的事情不会在一夜之间发生变化,但是有什么要注意的主要观点今天不再存在了吗? 我认为在过去30年左右的时间里,我们实际上已经取得了一些进展。你们中的任何人都可以推荐一本包括该进展(逻辑,人工智能,可计算性)的书吗? 另一个问题:我是否需要了解埃舍尔和巴赫?

2
如何找到很难拼错名字的名字?
我认为这是一个可以通过一些数据挖掘和完善的算法解决的问题,但我不知道如何解决。欢迎提供有关使用哪些数据源以及应用哪种算法的任何指针。 背景:我是罗马尼亚-匈牙利人,他正在怀有波兰-乌克兰人的怀抱,并且还没有完全决定要定居哪个国家。正如您所期望的那样,选择一个给定的名称是最重要的,也是一个激烈的辩论。从我的角度来看,当我从一个国家搬到另一个国家时,有人拼错了我的名字时,我仍然要经历所有麻烦。例如,如果您被称为“ Adrian”,那么您在罗马尼亚会很幸运,只是发现您最终成为“ Adri e n”是一些法国官方文件。因此,我唯一的要求是在某些欧洲国家/地区极不可能使婴儿的名字拼写错误。 问题陈述:给定一组国家,例如法国,德国,瑞典,波兰和罗马尼亚,请查找适当发音的给定名称列表,这些名称不太可能被当地人拼写错误。 更正式地讲:令p(c,n)是一个函数,该函数返回名称n在国家c中拼写错误的可能性。给定C个国家集和 p₀个概率,找到N个给定名称集,使得 对于所有Ñ ∈ Ñ和Ç ∈ Ç,P(C,N)<P 0 初步思路:核心问题是如何实现p(c,n)。可以尝试用一种启发式方法来近似它。显然,在两种情况下,名称可能会拼写错误: 在那个国家很少使用。 它类似于一个不同的名称,在那个国家很少使用。 我不确定如何使用互联网(例如Wikipedia)有效回答这两个问题。一个人怎么会只列出一个国家中经常使用的名字?人们会如何寻找相似的拼写?

5
AI的最新编程语言?[关闭]
关闭。这个问题是题外话。它当前不接受答案。 想改善这个问题吗? 更新问题,以使它成为软件工程堆栈交换的主题。 5年前关闭。 几十年来,用于AI的编程语言选择是Prolog或LISP,还有其他一些不太知名的语言。它们大多数是在70年代之前设计的。 在其他许多领域特定的语言上发生的变化很多,但是在AI领域却没有Web特定语言或脚本等出现那么多。 是否有最新的编程语言旨在改变AI中的游戏并从以前的语言中学习不足?


5
遗传程序设计
已关闭。这个问题需要更加集中。它当前不接受答案。 想改善这个问题吗?更新问题,使其仅通过编辑此帖子来关注一个问题。 5年前关闭。 最近,我在浏览Reddit时遇到了一个链接到“ JavaScript遗传算法”示例的帖子。我对遗传算法和编程的概念非常着迷,但是即使经过了谷歌搜索,我仍然感到有些困惑。它是如何工作的? 我想这些词汇对我来说比什么都使我更困惑。我希望能看到一些简短的例子,也许还有一些解释。只是基因编程的概念以及我如何在项目中实现它,为什么?

5
可以想象教一台机器如何按照定义的规范进行编程吗?[关闭]
已关闭。这个问题是基于观点的。它当前不接受答案。 想改善这个问题吗?更新问题,以便通过编辑此帖子以事实和引用的形式回答。 5年前关闭。 我的一个没有编程知识的朋友问我这个问题,我发现它很有趣。 我认为这是不可能的,因为这将需要真正先进的人工智能,该人工智能能够分析问题的文本,考虑解决方案并对其进行编程。对我而言,仅仅考虑一台能够编写简单计算器的机器就显得非常先进。 但是也许我错了,我想知道您对此有何看法,是否知道有关该主题的任何文章/研究,是否已经存在,或者是否有可能选择规格并获取机器可以对此“规范”进行自我编程?


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.