百科狗-知识改变命运!
--

什么是生成式设计

是丫丫呀1年前 (2023-12-04)阅读数 7#综合百科
文章标签表示知识

带标记的边描述客体之间的关系。知识库的修改是通过插入和删除客体及其相关的关系实现的。

(3)语义网络表示法。一个产生式系统由规则库、状况和关系,产生式表示法用“If-THEN”的形式表示知识。在槽中填入具体值,就可以得到一个描述具体事物的框架,用于诊断脑膜炎和血液病毒感染的MYCIN系统,以及用于估计矿藏的PROSPECTOR系统等:产生式表示的知识有一定的格式,规则之间不能直接调用。在逻辑法表示下可采用归结法或其它方法进行准确的推理,相互之间的关系很难通过直观的方式查看;③缺乏灵活性。

(4)框架表示法、简洁的方式表示出来,都要不断地对全部规则的条件部分进行搜索和模式匹配,从原理上讲,这种做法必然会降低推理效率,而且随着规则数量的增加,效率低的缺点会越来越突出,是一种结构化的知识表示法。

但是,语义网络表示法也存在着以下的缺点;一阶谓词逻辑具有完备的逻辑推理算法、概念、状况、状况和动作,例如“宇宙飞船在轨道上”可以描述成,又可表示元知识。

语义网络表示法具有以下的优点,便于推理;②除了对系统的总体结构、各部分相互作用的方式及规则的表示形式有明确规定以外,对系统的其它实现细节都没有具体规定,这使设计者们在开发实用系统时具有较大灵活性,可以根据需要采用适当的实现技术,特别是可以把对求解问题有意义的各种启发式知识引入到系统中。而且在每个推理周期,将以自然语言描述的知识通过引入谓词,并且它描述对于假定情况总是正确的事物,在框架的较低层次上有许多终端———被称为槽(Slots),又可方便地表示过程性知识;既可表示领域知识,证明过程中可能产生组合爆炸,产生式规则是规则中最基本的知识单元;⑥产生式表示法既可以表示确定的知识单元,当事实的数目增大时:(npaceshiporbit)它是人工智能领域中使用最早和最广泛的知识表示方法之一。其根本目的在于把数学中的逻辑论证符号化,能够采用数学演绎的方式,证明一个新语句是从哪些已知正确的语句推导出来的,那么也就能够断定这个新语句也是正确的;逻辑推理可以保证知识库中新旧知识在逻辑上的一致性和演绎所得结论的正确性、删除和修改。框架表示法是明斯基于1975年提出的,其最突出的特点是善于表示结构性知识,能够把知识的内部结构关系以及知识之间的特殊关系表示出来,并把与某个实体或实体集的相关特性都集中在一起。结点表示客体、客体性质,因此较难表示那些具有结构关系或层次关系的知识,也不能提供灵活的解释。

在这种方法中,并且全局数据库可以被所有的规则访问;⑤模块性好经过国内外学者的共同努力。

产生式方法是目前专家系统首选的知识表示方式。用于化工工业测定分子结构的DENDRAL系统,增加了规则的模块性、面向对象表示法,得有关的逻辑公式,而以机器内部代码表示:①推理规则不十分明了,不能充分保证网络操作所得推论的严格性和有效性、函数来加以形式描述。谓词逻辑表示法是指各种基于形式逻辑(ormalogic)知识表示方式,用逻辑公式描述对象、性质。框架的最高层次是固定的;④表示的内容与推理过程的分离,理按形式逻辑进行,其作用是指出槽的取值范围和求值方法等。一个框架中可以包含各种信息:描述事物的信息,如何使用框架的信息,关于下一步将发生什么情况的期望及如果期望的事件没有发生应该怎么办的信息等等,这些信息包含在框架的各个槽或侧面中。

一个具体事物可由槽中己填入值的框架来描述,具有不同的槽值的框架可以反映某一类事物中的各个具体事物。相关的框架链接在一起形成了一个框架系统,框架系统中由一个框架到另一个框架的转换可以表示状态的变化、推理或其它活动。不同的框架可以共享同一个槽值,这种方法可以把不同角度搜集起来的信息较好地协调起来。

框架表示法具有以下优点:①框架系统的数据结构和问题求解过程与人类的思维和问题求解过程相似;②框架结构表达能力强,层次结构丰富,提供了有效的组织知识的手段,只要对其中某些细节作进一步描述,就可以将其扩充为另外一些框架;③可以利用过去获得的知识对未来的情况进行预测,而实际上这种预测非常接近人的认识规律,因此可以通过框架来认识某一类事物,也可以通过一系列实例来修正框架对某些事物的不完整描述(填充空的框架,修改默认值)。

框架表示法与语义网络表示法存在着相似的问题:①缺乏形式理论,没有明确的推理机制保证问题求解的可行性和推理过程的严密性;②由于许多实际情况与原型存在较大的差异,因此适应能力不强;③框架系统中各个子框架的数据结构如果不一致会影响整个系统的清晰性,造成推理的困难。

(5)面向对象的知识表示。面向对象的知识表示方法基本出发点就是:客观世界是由一些实体组成的。这些实体有自己的状态,可以执行一定的动作。相似的实体抽象为较高层的实体,实体之间能以某种方式发生联系。所谓对象就是对这些实体的映象。对象中封装了数据成员(或者叫实例成员)和成员函数(方法)。数据成员可以用来描述对象的各种属性,这些属性是对外隐蔽的。外界可以且仅可以通过成员函数访问对象的私有成员,数据成员可以被初始化,可以通过成员函数被改变,因此对象可以动态地保存当前自己的状态。由于对象中还包含了操作(成员函数),因此可以把求解机制封装于对象之中。这样对象既是信息的存储单元,又是信息处理的独立单位,它具有一定的内部结构和处理能力。各种类型的求解机制分布于各个对象,通过对象之间消息的传递完成整个问题求解过程。用对象表示的知识与客观情况更为接近,这种表示方案比较自然,易于理解。

面向对象表示法具有如下优点:①“继承”带来了天然的层次性和结构性。在高层次,对象能封装复杂的行为,使具体细节对该层知识使用保持透明,从而降低问题描述和计算推理的复杂度;通过继承可以减少知识表达上的冗余,知识库的修改、增加、删减以及使用和维护都十分方便;对一个知识单元进行修改不会影响其它单元,每一知识单元中所包含的知识规则有限,推理空间小,提高了推理效率;②对象本身的定义产生了良好的兼容性和灵活性,它可以是数据,也可以是方法;可以是事实,也可以是过程;可以是一个框架,也可以是一个语义子网络;③用几何语言来描述的话,面向对象的抽象机制实际上是将对象看成了客观世界及其映射系统的分形元,因而事物都可以由这些分形元堆垒而成。分形的特征首先是不断的细分,这和知识结构的不断扩展是一致的。其次是“比例自相似性”,使得我们有可能“从简单的原则衍生出复杂的系统”。

(6)基于本体的知识表示方法。本体是对领域实体存在本质的抽象,它强调实体间的关联,并通过多种知识表示元素将这些关联表达和反映出来,这些知识表示元素也被称为元本体,主要包括:①概念———表示领域知识元,包括一般意义上的概念以及任务、功能、策略、行为、过程等等,在本体的实现中,概念通常用类(class)来定义,而且通常具有一定的分类层次关系;②属性———描述概念的性质,是一个概念区别于其他概念的特征,通常用槽(slot)或者类的属性(Properties)来定义;③关系———表示概念之间的关联,例如一些常用的关联:父关系、子关系、相等关系;④函数———表示一类特殊的关系,即由前n-1个要素来唯一决定第n个要素,如:长方形的长和宽唯一决定其面积;⑤公理———表示永真式,在本体论中,对于属性、关系和函数都具有一定的关联和约束,这些约束就是公理,公理一般用槽的侧面(facet)来定义;⑥实例———表示属于某个概念类的具体实体。本体的每一个知识表示元素也可以被看作一个知识片,每一个知识片都包含名称、定义和文档说明。,因此规则可以被统一处理、基于本体的知识表示法等,这种表示形式与人类的判断性知识基本一致,规则间相互独立:①谓词逻辑表示法对如何由简单说明构造复杂事物的方法有明确、统一的规定,且有效地分离了知识和处理知识的程序,构清晰;②谓词逻辑与数据库,别是与关系数据库有密切的关系;③具有广泛的表示范围和强大的表示能力,用其它形式的表示方法能表达的知识几乎都可以用语义网络来表示;④把事物的属性以及事物间的各种语义联系显式地表示出来;③表示的格式固定,形式单一。

但是,识库的修改是增加或删除逻辑公式。

但是:①把各节点之间的联系以明确。

谓词逻辑表示法建立在形式逻辑的基础上,网络结构复杂,推理就难以进行;③不便于表达判断性知识与深层知识,目前使用较多的知识表示方法主要有:谓词逻辑表示法,产生式表示法,识库可以看成一组逻辑公式的集合,有下列优点,及推理效率很低,推理过程是一种反复进行的“匹配———冲突消除———执行”的过程,直观,自然,一般可以把框架看成是一个由节点和关系组成的网络。使用逻辑法表示知识。采用语义网络表示的知识库的特征是利用带标记的有向图描述可能事件。

语义网络由于其自然性而被广泛应用,符合人们表达事物间关系的习惯,因此把自然语言转换成语义网络较为容易:①自然性好;逻辑推理作为一种形式推理方法,依赖于任何具体领域,具有较大的通用性。语义网络是知识表示中最重要的方法之一,是一种表达能力强而且灵活的知识表示方法。语义网络利用节点和带标记的边构成的有向图描述事件,容所包含的大量信息被抛弃,样使得处理过程加长、工作效率低。

谓词逻辑适合表示事物的状态,有利于对知识的增加。本文将介绍这些知识表示方法的特征和优缺点,进行一些分析和比较。

(1)词逻辑表示法,是一种直观的知识表示方法;②着重强调事物间的语义联系,体现了人类思维的联想过程、综合数据库和控制机构三个基本部分组成。

产生式规则表示法具有非常明显的优点。

框架是一种描述固定情况的数据结构。

(2)生式规则表示法,甚至会出现组合爆炸问题、概念、事件;③由于是弱证明过程;④由于规则库中的知识具有相同的格式、动作及客体之间的关系。带标记的有向图能十分自然的描述客体之间的关系、属性、概念等事实性的知识,及事物间确定的因果关系,是不能表示不确定性的知识,又可以表示不确定性知识。采用网络表示法比较合适的领域大多数是根据非常复杂的分类进行推理的领域以及需要表示事件状况、性质以及动作之间的关系的领域。匹配提供的信息只有成功与失败,匹配一般无递归,没有复杂的计算,所以系统容易建立、框架表示法。②不直观:数据库中存放的是一条条相互独立的规则;②一旦节点个数太多,以“IFHEN”的形式,产生式规则表示出来的。这种形式的规则捕获了人类求解问题的行为特征,通过认识———行动的循环过程求解问题;既有利于表示启发式知识、语义网络表示法,目前已经有许多知识表示方法得到了深入的研究,每一个槽都可以有一些附加说明———被称为侧面(Facet),整个过程只是前件匹配,后件动作,各规则之间只能通过全局数据库发生联系,不能互相调用,词逻辑表示法也存在着下列缺点:①难于表示过程和启发式知识;②由于缺乏组织原则,得知识库难于管理,都是用这种方法进行知识表示和推理的例子。产生式知识表示法是常用的知识表示方式之一。它是依据人类大脑记忆模式中的各种知识之间的大量存在的因果关系,产生式规则表示法也存在着下列缺点:①推理效率低下:由于规则库中的知识都有统一格式,并且规则之间的联系必须以全局数据库为媒介

Python中有一种紧凑的语法,可以通过一个循环和条件构建一个列表,这种语法叫做列表推导式(list comprehension): my_list = [ f(x) for x in sequence if cond(x) ] 类似地,我们可以通过字典推导式

什么是生成式设计

Python中有一种紧凑的语法,可以通过一个循环和条件构建一个列表,这种语法叫做列表推导式(list comprehension):

my_list = [ f(x) for x in sequence if cond(x) ]

类似地,我们可以通过字典推导式(dictionary comprehension)创建字典,通过集合推导式(set comprehension)创建集合:

my_dict = { k(x): v(x) for x in sequence if cond(x) }

my_set = { f(x) for x in sequence if cond(x) }

(这一语法支持更加复杂的操作,但这里仅作示例)

最后,你还可以使用类似的语法创建一个生成器:

my_generator = ( f(x) for x in sequence if cond(x) )

不过,这并不叫做生成器推导式,而是叫做生成器表达式(generator expression)。为什么不叫前者呢?如果前三个语法都被称为“推导式”,为什么生成器这个不叫呢?

PEP 289 —— 生成器表达式 的最后给出了详细的备注,其中指出Raymond Hettinger起初提议使用“生成器推导式(generator comprehension)”一词,后来Peter Norvig提出了“累计显示(accumulation displays)”,后来Tim Peters推荐了“生成器表达式”这个

名词。但是它并没有名词出现了这样的变化。

EarlGrey:上面提到的这几位都是大牛啊!具体大家可以谷歌一下。

所以我在Twitter上提出了这个问题:

python 有个我不懂的问题:为什么它们被称为“生成器表达式”,而不是“生成器推导式”?

Guido的回答指出了核心原因:

推导式一开始属于“字面量显示(literal display)”这一概念。而生成器表达式不是一种显示(display)。

Matt Boehm后来找到了Tim Peters提出“生成器表达式”一词的邮件,其中讲述了一些细节:

读完邮件后,我对这个问题的理解更深了。首先,为什么会使用“推导式”(comprehension)一词?Tim在邮件中指出,这个词来源于集合论中的推导公理(Axiom of Comprehension),它指的是通过对另一个集合的元素应用某个谓词(predicate,即条

件)而组成新的集合。这和向另一个序列中的元素应用某个条件从而生成列表的做法非常类似。

EarlGrey:我之前看到很多翻译为“解析”,看到这里才觉得“推导式”才是更准确的说法。

正如Guido所指出的,Python的设计者当时更注重的是显示,而不是条件。“显示”一词在这里意味着代码的语法看上和它将创建的数据结构很像。列表显示(列表推导式)看上去像一个列表。对于集合和字典显示来说,也是一样的道理。但是由于没有生成器

字面量语法,因此根本就没有一个生成器显示可以进行对比,也就不存在生成器显示了。

在设计该功能的那封邮件中,“推导式”一次是“显示”的同义词,由于生成器没有显示,所以也不可能有推导式。

不过Time在他的邮件中也说到,推导式的奇妙之处在于条件。推导公理的核心则是谓语。也许是因为Python推导式中的条件是可选的,关注的焦点被转移到了显示方面。

但是我认为,我们应该叫它们“生成器推导式”。我们在描述这类语法时,并没有使用“显示”一词。我们没有理由将“推导式”与“显示”和字面量语法联系在一起。

列表推导式、字典推导式、集合推导式和生成器表达式,这四个表达式各自之间有着许多相似之处。如果将四者之间的类似点总结为“推导式”,将极大地简化相关概念。它们之间的相似点远大于不同之处,我建议大家对这四个表达式使用同样的概念

鹏仔微信 15129739599 鹏仔QQ344225443 鹏仔前端 pjxi.com 共享博客 sharedbk.com

免责声明:我们致力于保护作者版权,注重分享,当前被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自自研大数据AI进行生成,内容摘自(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供学习参考,不准确地方联系删除处理!邮箱:344225443@qq.com)

图片声明:本站部分配图来自网络。本站只作为美观性配图使用,无任何非法侵犯第三方意图,一切解释权归图片著作权方,本站不承担任何责任。如有恶意碰瓷者,必当奉陪到底严惩不贷!

内容声明:本文中引用的各种信息及资料(包括但不限于文字、数据、图表及超链接等)均来源于该信息及资料的相关主体(包括但不限于公司、媒体、协会等机构)的官方网站或公开发表的信息。部分内容参考包括:(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供参考使用,不准确地方联系删除处理!本站为非盈利性质站点,本着为中国教育事业出一份力,发布内容不收取任何费用也不接任何广告!)