Allen Newell(1927年3月19日-1992年7月19日)符号主义(Symbolism)与联结主义(Connectionism)、行为主义(Actionism)是人工智能的三个主流学派。符号主义(Symbolism)也被称为逻辑主义(Logicism)、心理学派(Psychlogism)或计算机学派(Computerism),其主要观点是利用物理符号系统及有限合理性原理来实现人工智能。具体来讲,符号主义认为人类思维的基本单元是符号,而基于符号的一系列运算就构成了认知的过程,所以人和计算机都可以被看成具备逻辑推理能力的符号系统,换句话说,计算机可以通过各种符号运算来模拟人的“智能”。1955年末,Newell和Simon开发了一个名为逻辑理论(LOGIC THEORIST)的程序。这个程序被许多人认为是第一个AI程序。它将每个问题都表示成一个树形模型,然后选择最可能得到正确结论的那一枝来求解问题。该程序可以证明出《自然哲学的数字原理》(Principia Mathematica)中的38条数学定理(后来可以证明全部52条定理),而且某些解法甚至比人类数学家提供的方案更为巧妙。1957年,Herbert Simon、J.C. Shaw和Allen Newell等人又推出了通用问题解决器(General Problem Solver,GPS)推理架构以及启发式搜索思路,这一思路影响相当深远,前几年很火的,打败了柯洁的AlphaGO就借鉴了这一思想。通用问题解决器可以解决很多常识问题。在该程序推出两年以后,IBM成立了一个AI研究组,专门对类似问题进行研究。
GPS是世界上首个尝试解决所有一般性问题的程序,它被设计成为解决所有能够使用基本算法描述的问题。为此,研究者们还专门为它创造了一门编程语言Information Processing Language(IPL)。使用该程序的前提是问题能够用一组规则的公式来表达。这些公式可以是一张有向图的一部分,带有多个源和汇(Sources and Sinks)。其中源表示起始节点,汇表示结束节点。在GPS中,源表示公理,汇表示结论。尽管开发者的理想很庞大,但是事实上GPS只能被用于解决有着良好定义的问题,比如说数学题、几何题或者是棋类游戏。因为这些问题可以被形式化到可以被接受的程度。而在现实世界中,可能性爆炸式的增长,很快遍历所有的可能性就已经成为了超越计算能力的问题。利用GPS解决一般性问题的步骤如下:1、定义目标,比如说到商店买盒牛奶。2、定义先决条件,这些先决条件应与目标有关,比如说想买牛奶的话,需要有通往商店的路径,而且商店也需要有牛奶卖。3、在此基础上,我们就可以定义操作过程了。比如说去商店需要开车,而车又没有油了,那么我们就需要确定我们有钱加油,并且加完油之后还有钱买牛奶一个操作过程可以基于条件处理所有的情况。它由行为、前提条件、和行为导致的变化组成。在前面的例子中,行为包括给商店付钱,而付钱的前提是手里有钱。而付钱的行为改变了钱的状态,并且获得了牛奶。GPS可以解决类似的所有问题,但是因为它通过遍历所有可能的过程来实现这一目标的,因此在现实世界中,往往问题的复杂度超过了计算能力。除了逻辑理论和通用问题解决器以外,符号主义还为我们贡献了专家系统、知识库和知识图谱等一系列优秀的技术。发展出了很多,影响了很多领域的发展。 我正在尝试在Rails上安装ruby,到目前为止一切都已安装,但是当我尝试使用rakedb:create创建数据库时,我收到一个奇怪的错误:dyld:lazysymbolbindingfailed:Symbolnotfound:_mysql_get_client_infoReferencedfrom:/Library/Ruby/Gems/1.8/gems/mysql2-0.3.11/lib/mysql2/mysql2.bundleExpectedin:flatnamespacedyld:Symbolnotfound:_mysql_get_client_infoReferencedf
这是针对我无法破坏的现有公共(public)API,但我确实希望对其进行扩展。目前,该方法采用字符串或符号或任何其他在作为第一个参数传递给send时有意义的内容我想添加发送字符串、符号等列表的功能。我可以只使用is_a吗?数组,但还有其他发送列表的方法,这不是很像ruby。我将调用列表中的map,所以第一个倾向是使用respond_to?:map。但是字符串也会响应:map,所以这行不通。 最佳答案 如何将它们全部视为数组?String的行为与仅包含String的Array相同:deffoo(obj,arg)[*arg].eac
啊,正则表达式有点困惑。我正在尝试删除字符串末尾所有可能的标点符号:ifstr[str.length-1]=='?'||str[str.length-1]=='.'||str[str.length-1]=='!'orstr[str.length-1]==','||str[str.length-1]==';'str.chomp!end我相信有更好的方法来做到这一点。有什么指点吗? 最佳答案 str.sub!(/[?.!,;]?$/,'')[?.!,;]-字符类。匹配这5个字符中的任何一个(注意,。在字符类中并不特殊)?-前一个字符或组
我正在尝试创建一个带有项目符号字符的Ruby1.9.3字符串。str="•"+"helloworld"但是,当我输入它时,我收到有关非ASCII字符的语法错误。我该怎么做? 最佳答案 你可以把Unicode字符放在那里。str="\u2022"+"helloworld" 关于ruby-如何在Ruby字符串中插入项目符号字符?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/1195
我想将“US”之类的国家代码转换为表情符号标志,即将“US”字符串转换为Ruby中适当的Unicode。Here'sanequivalentexampleforJava 最佳答案 使用tr将字母字符转换为其区域指示符号:'US'.tr('A-Z',"\u{1F1E6}-\u{1F1FF}")#=>"??"当然你也可以直接使用Unicode字符:'US'.tr('A-Z','?-?')#=>"??" 关于ruby-从Ruby中的国家代码获取表情符号标志,我们在StackOverflow上找
假设您有一个可执行文件foo.rb,其库bar.rb的布局如下:/bin/foo.rb/lib/bar.rb在foo.rb的header中放置以下要求以在bar.rb中引入功能:requireFile.dirname(__FILE__)+"../lib/bar.rb"只要对foo.rb的所有调用都是直接的,这就可以正常工作。如果你把$HOME/project和符号链接(symboliclink)foo.rb放入$HOME/usr/bin,然后__FILE__解析为$HOME/usr/bin/foo.rb,因此无法找到bar.rb关于foo.rb的目录名.我意识到像rubygems这
我有:sprintf("%02X"%13)哪些输出:=>"OD"我希望我的输出是:=>"%0D"我试过:sprintf("\%%02X"%13)但我得到一个错误警告:格式字符串的参数过多。这同样适用于:sprintf("%%02X"%13)是否可以单独在sprintf中添加前导%? 最佳答案 文字%必须转义为%%:sprintf('%%')#=>"%"此外,您应该使用sprintf或%,而不是两者:sprintf('%%%02X',13)#=>"%0D"#^#commahere'%%%02X'%13#=>"%0D"#^#percen
前面一篇关于智能合约翻译文讲到了,是一种计算机程序,既然是程序,那就可以使用程序语言去编写智能合约了。而若想玩区块链上的项目,大部分区块链项目都是开源的,能看得懂智能合约代码,或找出其中的漏洞,那么,学习Solidity这门高级的智能合约语言是有必要的,当然,这都得在公链``````以太坊上,毕竟国内的联盟链有些是不兼容Solidity。Solidity是一种面向对象的高级语言,用于实现智能合约。智能合约是管理以太坊状态下的账户行为的程序。Solidity是运行在以太坊(Ethereum)虚拟机(EVM)上,其语法受到了c++、python、javascript影响。Solidity是静态类型
2022年底,OpenAI的预训练模型ChatGPT给人工智能领域的爱好者和研究人员留下了深刻的印象和启发,他展现的惊人能力将人工智能的研究和应用热度推向高潮,网上也充斥着和ChatGPT的各种聊天,他可以作诗、写小说、写代码、讨论疫情问题等。下面就是一些他的神回复:人命关天的坑: 写歌,留给词作者的机会不多了。。。 回答人类怎么样面对人工智能: 什么是ChatGPT?借用网上的一段介绍,ChatGPT是由人工智能研究实验室OpenAI在2022年11月30日发布的全新聊天机器人模型,一款人工智能技术驱动的自然语言处理工具。它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动
我需要在数据库更新前后比较一些Rails(2.3.11)模型属性值,因此我首先查找我的记录并将现有属性值保存在哈希中,如下所示:id=params[:id]work_effort=WorkEffort.find(id)ancestor_rollup_fields={:scheduled_completion_date=>work_effort.scheduled_completion_date}work_effort.update_attributes(params.except(:controller,:action))#etcetera请注意,我坚持使用符号作为哈希键的“最佳实践”