人工智能 - 快速指南


人工智能 - 概述

自从计算机或机器发明以来,它们执行各种任务的能力呈指数级增长。人类已经在不同的工作领域、不断提高的速度以及随着时间的推移而减小尺寸方面开发了计算机系统的强大功能。

计算机科学的一个分支称为人工智能,致力于创造像人类一样智能的计算机或机器。

什么是人工智能?

按照人工智能之父约翰·麦卡锡的说法,它是“制造智能机器,特别是智能计算机程序的科学和工程”。

人工智能是一种让计算机、计算机控制的机器人或软件进行智能思考的方式,就像智能​​人类的思考方式一样。

人工智能是通过研究人脑如何思考,以及人类在尝试解决问题时如何学习、决策和工作,然后使用该研究结果作为开发智能软件和系统的基础来实现的。

人工智能哲学

在利用计算机系统的力量时,人类的好奇心让他想知道:“机器能否像人类一样思考和Behave?”

因此,人工智能的发展始于在机器中创造出我们在人类身上发现并高度重视的类似智能。

人工智能的目标

  • 创建专家系统- 展示智能Behave、学习、演示、解释和建议其用户的系统。

  • 在机器中实现人类智能- 创建像人类一样理解、思考、学习和Behave的系统。

什么对人工智能有贡献?

人工智能是一门以计算机科学、生物学、心理学、语言学、数学、工程学等学科为基础的科学技术。人工智能的主要推动力是开发与人类智能相关的计算机功能,例如推理、学习和解决问题。

以下领域中的一个或多个领域可以为构建智能系统做出贡献。

人工智能的组成部分

无人工智能和有人工智能的编程

没有人工智能和有人工智能的编程在以下方面有所不同 -

没有人工智能的编程 人工智能编程
没有人工智能的计算机程序可以回答它要解决的具体问题。 具有人工智能的计算机程序可以回答它要解决的一般问题。
程序的修改会导致其结构的变化。 人工智能程序可以通过将高度独立的信息组合在一起来吸收新的修改。因此,您甚至可以修改程序的一小部分信息,而不会影响其结构。
修改并不快速和容易。这可能会对程序产生不利影响。 快速简单的程序修改。

什么是人工智能技术?

在现实世界中,知识有一些不受欢迎的特性 -

  • 其体积之大,难以想象。
  • 它的组织或格式不正确。
  • 它不断地变化。

人工智能技术是一种有效组织和使用知识的方式,其方式是 -

  • 它应该能够被提供它的人所感知。
  • 它应该很容易修改以纠正错误。
  • 尽管它不完整或不准确,但它在许多情况下应该很有用。

人工智能技术提高了其所配备的复杂程序的执行速度。

人工智能的应用

人工智能在各个领域占据主导地位,例如 -

  • 游戏- 人工智能在国际象棋、扑克、井字游戏等战略游戏中发挥着至关重要的作用,其中机器可以根据启发式知识思考大量可能的位置。

  • 自然语言处理- 可以与理解人类所说的自然语言的计算机进行交互。

  • 专家系统- 有些应用程序集成了机器、软件和特殊信息来提供推理和建议。他们向用户提供解释和建议。

  • 视觉系统- 这些系统理解、解释和理解计算机上的视觉输入。例如,

    • 间谍飞机拍摄照片,用于找出空间信息或该地区的地图。

    • 医生使用临床专家系统来诊断患者。

    • 警方使用计算机软件,可以通过法医艺术家制作的存储肖像来识别罪犯的脸部。

  • 语音识别- 一些智能系统能够在人类与之交谈时聆听和理解句子及其含义的语言。它可以处理不同的口音、俚语、背景噪音、由于寒冷而引起的人类噪音变化等。

  • 手写识别- 手写识别软件读取用笔写在纸上或用手写笔在屏幕上写的文本。它可以识别字母的形状并将其转换为可编辑的文本。

  • 智能机器人- 机器人能够执行人类指定的任务。它们拥有传感器来检测现实世界的物理数据,例如光、热、温度、运动、声音、碰撞和压力。它们拥有高效的处理器、多个传感器和巨大的内存,以展现智能。此外,他们能够从错误中吸取教训,能够适应新环境。

人工智能的历史

这是 20 世纪人工智能的历史 -

里程碑/创新
1923年

卡雷尔·恰佩克 (Karel Čapek) 的戏剧《罗苏姆的万能机器人》(RUR) 在伦敦上演,首次在英语中使用“机器人”一词。

1943年

为神经网络奠定了基础。

1945年

哥伦比亚大学校友艾萨克·阿西莫夫创造了“机器人”一词。

1950年

阿兰·图灵提出了用于评估智力的图灵测试,并出版了《计算机器与智力》。克劳德·香农 (Claude Shannon) 发表了《国际象棋下棋详细分析》作为搜索。

1956年

约翰·麦卡锡创造了人工智能这个术语。卡内基梅隆大学第一个运行的人工智能程序的演示。

1958年

John McCarthy 发明了用于人工智能的 LISP 编程语言。

1964年

丹尼·博布罗 (Danny Bobrow) 在麻省理工学院的论文表明,计算机可以很好地理解自然语言,从而正确解决代数单词问题。

1965年

麻省理工学院的 Joseph Weizenbaum 构建了ELIZA,这是一个用英语进行对话的交互式问题。

1969年

斯坦福研究所的科学家开发了Shakey机器人,它具有运动、感知和解决问题的能力。

1973年

爱丁堡大学的装配机器人小组建造了著名的苏格兰机器人Freddy ,它能够利用视觉来定位和装配模型。

1979年

第一辆计算机控制的自动驾驶汽车斯坦福车诞生了。

1985年

Harold Cohen 创建并演示了绘图程序Aaron

1990年

人工智能所有领域的重大进展 -

  • 机器学习的重大示范
  • 基于案例的推理
  • 多智能体规划
  • 调度
  • 数据挖掘、网络爬虫
  • 自然语言理解和翻译
  • 视觉、虚拟现实
  • 游戏
1997年

深蓝国际象棋程序击败了当时的世界国际象棋冠军加里·卡斯帕罗夫。

2000年

交互式机器人宠物开始商业化。麻省理工学院展示了Kismet,这是一个长着一张能表达情感的脸的机器人。机器人游牧者探索南极洲的偏远地区并定位陨石。

人工智能-智能系统

在研究人工智能的时候,你需要知道什么是智能。本章涵盖智力的概念、智力的类型和组成部分。

什么是情报?

系统计算、推理、感知关系和类比、从经验中学习、从记忆中存储和检索信息、解决问题、理解复杂思想、流利使用自然语言、分类、概括和适应新情况的能力。

智力的类型

正如美国发展心理学家霍华德·加德纳所描述的,智力有多种形式:

智力 描述 例子
语言智能 说话、识别和使用音韵(语音)、句法(语法)和语义(意义)机制的能力。 解说员、演说家
音乐智力 创造、交流和理解声音意义的能力,理解音高、节奏的能力。 音乐家、歌手、作曲家
逻辑数学智能 在没有动作或物体的情况下使用和理解关系的能力。理解复杂和抽象的想法。 数学家、科学家
空间智能 感知视觉或空间信息、改变它以及在不参考对象的情况下重新创建视觉图像、构建 3D 图像以及移动和旋转它们的能力。 地图阅读器、宇航员、物理学家
身体动觉智力 使用整个或部分身体来解决问题或时尚产品、控制精细和粗略运动技能以及操纵物体的能力。 选手、舞者
个人内部智力 区分自己的感受、意图和动机的能力。 释迦牟尼佛
人际关系智能 识别并区分他人的感受、信仰和意图的能力。 大众传播者、采访者

当一台机器或一个系统配备了至少一种、最多所有的智能时,你可以说它是人工智能的。

智力由什么组成?

智力是无形的。它由以下部分组成 -

  • 推理
  • 学习
  • 解决问题
  • 洞察力
  • 语言智能
情报的组成部分

让我们简要介绍一下所有组件 -

  • 推理- 这是一组使我们能够为判断、决策和预测提供基础的过程。大致有两种类型 -

归纳推理 演绎推理
它进行具体观察以做出广泛的一般性陈述。 它从一般性陈述开始,并研究得出具体的、合乎逻辑的结论的可能性。
即使陈述中的所有前提都为真,归纳推理也允许结论为假。 如果某件事对于一类事物来说是普遍的,那么对于该类的所有成员来说也是如此。
示例 - “妮塔是一位老师。妮塔很勤奋。因此,所有老师都很勤奋。” 示例 - “所有 60 岁以上的女性都是祖母。Shalini 65 岁。因此,Shalini 是祖母。”
  • 学习- 它是通过学习、实践、接受教导或体验某事来获得知识或技能的活动。学习增强了对研究对象的认识。

    人类、某些动物和人工智能系统都具备学习能力。学习被分类为 -

    • 听觉学习- 这是通过聆听和聆听来学习。例如,学生听录制的音频讲座。

    • 情景学习- 通过记住目睹或经历过的事件序列来学习。这是线性且有序的。

    • 运动学习- 这是通过肌肉的精确运动来学习。例如,拾取物体、写作等。

    • 观察学习- 通过观察和模仿他人来学习。例如,孩子试图通过模仿父母来学习。

    • 感知学习- 学习识别人们以前见过的刺激。例如,识别对象和情况并对其进行分类。

    • 关系学习- 它涉及学习根据关系属性而不是绝对属性来区分各种刺激。例如,上次煮土豆时加“少一点”盐,煮时加一汤匙盐。

    • 空间学习- 它是通过图像、颜色、地图等视觉刺激进行学习。例如,一个人可以在实际沿着道路行驶之前在脑海中创建路线图。

    • 刺激反应学习- 学习在存在某种刺激时执行特定Behave。例如,狗听到门铃时会抬起耳朵。

  • 问题解决- 这是一个过程,在这个过程中,一个人感知并尝试通过采取某种被已知或未知障碍阻挡的路径从当前情况得出所需的解决方案。

    解决问题还包括决策,这是从多种备选方案中选择最合适的备选方案以达到预期目标的过程。

  • 感知- 这是获取、解释、选择和组织感官信息的过程。

    感知以感知为前提。在人类中,感知是由感觉器官帮助的。在人工智能领域,感知机制将传感器获取的数据以有意义的方式组合在一起。

  • 语言智力- 一个人使用、理解、说和写口头和书面语言的能力。这在人际交往中很重要。

人类智能和机器智能之间的区别

  • 人类通过模式进行感知,而机器通过一组规则和数据进行感知。

  • 人类通过模式存储和回忆信息,机器通过搜索算法来存储和回忆信息。例如,数字 40404040 很容易记住、存储和调用,因为它的模式很简单。

  • 即使物体的某些部分缺失或扭曲,人类也可以找出完整的物体;而机器却无法正确地做到这一点。

人工智能 - 研究领域

人工智能领域的广度和宽度都是巨大的。在进行过程中,我们考虑人工智能领域广泛常见和蓬勃发展的研究领域 -

情报研究领域

语音和语音识别

这两个术语在机器人、专家系统和自然语言处理中很常见。尽管这些术语可以互换使用,但它们的目标不同。

语音识别 语音识别
语音识别旨在理解和理解所说的内容 语音识别的目标是识别在说话。
它用于免提计算、地图或菜单导航。 它通过分析语气、音​​调、口音等来识别一个人。
机器不需要语音识别训练,因为它不依赖于说话者。 这个识别系统需要培训,因为它是以人为本的。
独立于说话者的语音识别系统很难开发。 依赖于说话者的语音识别系统相对容易开发。

语音和语音识别系统的工作原理

用户通过麦克风说出的输入会传送到系统的声卡。转换器将模拟信号转换为等效的数字信号以进行语音处理。该数据库用于比较声音模式以识别单词。最后给数据库一个反向反馈。

该源语言文本成为翻译引擎的输入,翻译引擎将其转换为目标语言文本。它们由交互式 GUI、大型词汇数据库等支持。

研究领域的现实生活应用

人工智能在许多应用程序中为普通人的日常生活提供服务 -

先生。 研究领域 现实生活中的应用
1

专家系统

示例 - 飞行跟踪系统、临床系统。

专家系统应用
2

自然语言处理

示例:Google Now 功能、语音识别、自动语音输出。

自然语言处理应用
3

神经网络

示例 - 模式识别系统,例如面部识别、字符识别、手写识别。

神经网络应用
4

机器人技术

示例 - 用于移动、喷涂、喷漆、精度检查、钻孔、清洁、涂层、雕刻等的工业机器人。

机器人应用
5

模糊逻辑系统

示例 - 消费电子产品、汽车等。

模糊逻辑应用

人工智能的任务分类

人工智能领域分为正式任务、普通任务专家任务。

人工智能的任务领域
人工智能的任务领域
平凡(普通)任务 正式任务 专家任务
洞察力
  • 计算机视觉
  • 言语、声音
  • 数学
  • 几何学
  • 逻辑
  • 整合与差异化
  • 工程
  • 故障排除
  • 制造业
  • 监控
自然语言处理
  • 理解
  • 语言生成
  • 语言翻译
游戏
  • 国际象棋(深蓝)
  • 凯克斯
科学分析
常识 确认 财务分析
推理 定理证明 医疗诊断
刨削 创造力
机器人技术
  • 机车

人类从出生起就开始学习平凡的任务。他们通过感知、说话、使用语言和机车来学习。他们稍后按顺序学习正式任务和专家任务。

对于人类来说,平凡的任务是最容易学习的。在尝试在机器中执行平凡的任务之前,同样的情况也被认为是正确的。早些时候,人工智能的所有工作都集中在平凡的任务领域。

后来发现,机器需要更多的知识、复杂的知识表示和复杂的算法来处理平凡的任务。这就是为什么现在人工智能工作在专家任务领域更加繁荣的原因,因为专家任务领域需要不需要常识的专家知识,可以更容易地表示和处理。

人工智能 - 代理和环境

人工智能系统由代理及其环境组成。代理在他们的环境中行动。环境可能含有其他物质。

什么是代理和环境?

代理是任何可以通过传感器感知其环境并通过效应器对该环境采取行动的东西

  • 人类代理具有与传感器平行的感觉器官,例如眼睛、耳朵、鼻子、舌头和皮肤,以及其他器官,例如手、腿、嘴,作为效应器。

  • 机器人代理取代了传感器的摄像头和红外测距仪,以及效应器的各种电机和执行器。

  • 软件代理将位串编码为其程序和操作。

代理和环境

代理术语

  • 代理的绩效衡量标准- 它是决定代理成功程度的标准。

  • 代理的Behave- 这是代理在任何给定的感知序列之后执行的操作。

  • 感知- 它是代理在给定实例下的感知输入。

  • 感知序列- 这是迄今为止代理所感知的所有历史。

  • 代理功能- 它是从戒律序列到行动的映射。

理性

理性不过是理性、理智、有良好判断力的状态。

理性涉及预期的行动和结果,具体取决于主体的感知。以获取有用信息为目的而采取行动是理性的重要组成部分。

什么是理想理性代理?

理想的理性代理人是能够采取预期行动以最大化其绩效衡量标准的代理人,其基础是 -

  • 其感知序列
  • 其内置知识库

代理人的理性取决于以下因素 -

  • 绩效衡量标准决定了成功的程度。

  • 到目前为止,特工的感知序列。

  • 智能体对环境的先验知识

  • 代理可以执行的操作

理性主体总是执行正确的行动,其中正确的行动意味着使主体在给定的感知序列中最成功的行动。代理解决的问题由性能测量、环境、执行器和传感器 (PEAS) 来表征。

智能体的结构

代理的结构可以视为 -

  • Agent = 架构 + Agent 程序
  • 架构 = 代理执行的机器。
  • 代理程序 = 代理功能的实现。

简单的反射代理

  • 他们仅根据当前的看法来选择行动。
  • 只有根据当前的戒律做出正确的决定,他们才是理性的。
  • 他们的环境是完全可观察的。

条件动作规则- 这是将状态(条件)映射到动作的规则。

简单反射代理

基于模型的反射代理

他们使用世界模型来选择他们的行动。他们维持一种内部状态。

模型- 关于“世界上事物如何发生”的知识。

内部状态- 它是当前状态的未观察到的方面的表示,具体取决于感知历史。

更新状态需要以下信息 -

  • 世界如何演变。
  • 特工的Behave如何影响世界。
基于模型的反射代理

基于目标的代理

他们选择自己的行动以实现目标。基于目标的方法比反射代理更灵活,因为支持决策的知识是明确建模的,从而允许修改。

目标- 这是对理想情况的描述。

基于目标的反射代理

基于实用程序的代理

他们根据每个状态的偏好(效用)选择操作。

当以下情况时,目标是不充分的:

  • 存在着相互冲突的目标,其中只有很少的目标能够实现。

  • 目标的实现存在一定的不确定性,您需要权衡成功的可能性与目标的重要性。

基于实用程序的代理

环境的本质

有些程序在完全人工的环境中运行,仅限于键盘输入、数据库、计算机文件系统和屏幕上的字符输出。

相比之下,一些软件代理(软件机器人或软机器人)存在于丰富的、无限的软机器人领域中。模拟器有一个非常详细、复杂的环境。软件代理需要从大量的实时操作中进行选择。旨在扫描客户的在线偏好并向客户展示有趣的商品的软机器人可以在真实人工环境中工作。

最著名的人工环境图灵测试环境,其中一个真实的代理和其他人工代理在平等的基础上进行测试。这是一个非常具有挑战性的环境,因为软件代理很难像人类一样执行。

图灵测试

系统智能Behave的成功可以通过图灵测试来衡量。

两个人和一台待评估机器参加测试。两人中,一人扮演测试员的角色。他们每个人都坐在不同的房间里。测试人员不知道谁是机器,谁是人。他通过打字并将问题发送给两个智能体来询问问题,然后他收到打字的答复。

该测试的目的是欺骗测试人员。如果测试人员无法根据人类的响应确定机器的响应,则该机器被认为是智能的。

环境特性

环境具有多重属性 -

  • 离散/连续- 如果环境的不同、明确定义的状态数量有限,则环境是离散的(例如,国际象棋);否则它是连续的(例如,驾驶)。

  • 可观察/部分可观察- 如果可以从可观察的感知中确定每个时间点环境的完整状态;否则只能部分观察到。

  • 静态/动态- 如果代理运行时环境没有变化,则它是静态的;否则它是动态的。

  • 单代理/多代理- 环境可能包含其他代理,这些代理可能与代理的类型相同或不同。

  • 可访问/不可访问- 如果代理的感觉装置可以访问环境的完整状态,则该代理可以访问该环境。

  • 确定性/非确定性- 如果环境的下一个状态完全由当前状态和代理的动作决定,则环境是确定性的;否则它是不确定的。

  • 情景/非情景- 在情景环境中,每个情景都由代理感知然后采取行动组成。其动作的质量仅取决于剧集本身。后续剧集不依赖于前一剧集中的动作。情景环境要简单得多,因为代理不需要提前思考。

AI - 热门搜索算法

搜索是人工智能中解决问题的通用技术。有一些单人游戏,例如瓷砖游戏、数独、填字游戏等。搜索算法可帮助您在此类游戏中搜索特定位置。

单代理寻路问题

3X3 八块拼图、4X4 15 块拼图和 5X5 24 块拼图等游戏都是单智能体寻路挑战。它们由带有空白瓷砖的瓷砖矩阵组成。玩家需要通过将瓷砖垂直或水平滑动到空白处来排列瓷砖,以实现某些目标。

单代理寻路问题的其他示例包括旅行商问题、魔方和定理证明。

搜索术语

  • 问题空间- 这是搜索发生的环境。(一组状态和一组更改这些状态​​的运算符)

  • 问题实例- 它是初始状态+目标状态。

  • 问题空间图- 它代表问题状态。状态由节点显示,运算符由边显示。

  • 问题的深度- 从初始状态到目标状态的最短路径或最短运算符序列的长度。

  • 空间复杂度- 内存中存储的最大节点数。

  • 时间复杂度- 创建的最大节点数。

  • 可接受性- 算法的一个属性,始终找到最佳解决方案。

  • 分支因子- 问题空间图中子节点的平均数量。

  • 深度- 从初始状态到目标状态的最短路径的长度。

暴力搜索策略

它们是最简单的,因为它们不需要任何特定领域的知识。它们在少数可能的状态下工作得很好。

要求 -

  • 状态描述
  • 一组有效的运算符
  • 初始状态
  • 目标状态描述

广度优先搜索

它从根节点开始,首先探索邻居节点,然后向下一级邻居移动。它一次生成一棵树,直到找到解决方案。可以利用FIFO队列数据结构来实现。此方法提供了解决方案的最短路径。

如果分支因子(给定节点的平均子节点数)= b 且深度 = d,则级别 d 的节点数 = b d

最坏情况下创建的节点总数为 b + b 2 + b 3 + … + b d

缺点- 由于保存每一级节点以用于创建下一级,因此会消耗大量内存空间。存储节点的空间需求是指数级的。

其复杂度取决于节点的数量。它可以检查重复的节点。

广度优先搜索

深度优先搜索

它是通过 LIFO 堆栈数据结构的递归实现的。它创建与广度优先方法相同的节点集,只是顺序不同。

由于单条路径上的节点在从根到叶节点的每次迭代中都被存储,因此存储节点的空间需求是线性的。分支因子为b,深度为m,则存储空间为bm。

缺点- 该算法可能不会终止并在一条路径上无限继续。解决这个问题的方法是选择截止深度。如果理想的截止值为d,并且选择的截止值小于d,则该算法可能会失败。如果选择的截止值大于d,则执行时间会增加。

其复杂度取决于路径的数量。它无法检查重复节点。

深度优先搜索

双向搜索

它从初始状态向前搜索,从目标状态向后搜索,直到两者相遇以确定共同状态。

从初始状态开始的路径与从目标状态开始的逆路径连接起来。每次搜索仅完成总路径的一半。

统一成本搜索

排序是通过增加到节点的路径的成本来完成的。它总是扩展成本最低的节点。如果每个转换具有相同的成本,则它与广度优先搜索相同。

它探索了成本递增顺序的路径。

缺点- 可以有多个成本≤ C* 的长路径。统一成本搜索必须探索所有这些。

迭代深化深度优先搜索

它执行深度优先搜索到级别 1,重新开始,执行完整的深度优先搜索到级别 2,并以这种方式继续,直到找到解决方案。

在生成所有较低节点之前,它永远不会创建节点。它只保存了一堆节点。当算法在深度d找到解时结束。在深度d处创建的节点数为 b d,在深度d-1 处创建的节点数为 b d-1 。

交互式深化 DF 搜索

各种算法复杂度比较

让我们看看基于各种标准的算法的性能 -

标准 广度优先 深度优先 双向 统一成本 互动深化
时间 BD _ _ BD /2 BD _ BD _
空间 BD _ _ BD /2 BD _ BD _
最优性 是的 是的 是的 是的
完整性 是的 是的 是的 是的

知情(启发式)搜索策略

为了解决具有大量可能状态的大型问题,需要添加特定于问题的知识以提高搜索算法的效率。

启发式评估函数

他们计算两个状态之间的最佳路径的成本。滑动图块游戏的启发式函数是通过计算每个图块从其目标状态进行的移动次数并将所有图块的移动次数相加来计算的。

纯启发式搜索

它按照启发值的顺序扩展节点。它创建两个列表,一个用于已展开的节点的关闭列表,一个用于已创建但未展开的节点的打开列表。

在每次迭代中,都会扩展具有最小启发值的节点,创建其所有子节点并将其放置在封闭列表中。然后,将启发式函数应用于子节点,并根据其启发式值将它们放置在打开列表中。保存较短的路径并处理较长的路径。

A * 搜索

这是最佳优先搜索的最著名形式。它避免扩展已经很昂贵的路径,但首先扩展最有希望的路径。

f(n) = g(n) + h(n),其中

  • g(n) 到达节点的成本(到目前为止)
  • h(n) 从节点到目标的估计成本
  • f(n) 估计通过 n 到达目标的路径的总成本。它是通过增加 f(n) 使用优先级队列来实现的。

贪心最佳优先搜索

它扩展了估计最接近目标的节点。它基于 f(n) = h(n) 扩展节点。它是使用优先级队列来实现的。

缺点- 它可能会陷入循环。这不是最佳的。

本地搜索算法

他们从一个预期的解决方案开始,然后转向邻近的解决方案。即使在结束前的任何时间被中断,他们也可以返回有效的解决方案。

爬山搜索

它是一种迭代算法,从问题的任意解决方案开始,并尝试通过增量更改解决方案的单个元素来找到更好的解决方案。如果更改产生了更好的解决方案,则增量更改将被视为新的解决方案。重复这个过程,直到没有进一步的改进。

函数 Hill-Climbing(问题),返回局部最大值的状态。

inputs: problem, a problem
local variables: current, a node
                 neighbor, a node
current <-Make_Node(Initial-State[problem])
loop
   do neighbor <- a highest_valued successor of current
      if Value[neighbor] ≤ Value[current] then
      return State[current]
      current <- neighbor				  
	
end

缺点- 该算法既不完整,也不是最优的。

局部波束搜索

在此算法中,它在任何给定时间保存 k 个状态。一开始,这些状态是随机生成的。这 k 个状态的后继状态是在目标函数的帮助下计算的。如果这些后继中的任何一个是目标函数的最大值,则算法停止。

否则,(初始 k 个状态和 k 个状态的后继数 = 2k)状态被放置在池中。然后对池进行数字排序。选择最高的 k 个状态作为新的初始状态。此过程持续进行,直到达到最大值。

函数 BeamSearch( Problem, k ),返回解状态。

start with k randomly generated states
loop
   generate all successors of all k states
   if any of the states = solution, then return the state
   else select the k best successors
end

模拟退火

退火是加热和冷却金属以改变其内部结构以改变其物理性能的过程。当金属冷却时,其新结构被抓住,并且金属保留其新获得的特性。在模拟退火过程中,温度保持变化。

我们最初将温度设置得很高,然后随着算法的进行让它慢慢“冷却”。当温度较高时,允许算法以较高的频率接受较差的解。

开始

  • 初始化k=0;L = 整数个变量;
  • 从i→j,搜索性能差异Δ。
  • 如果 Δ <= 0 则接受,否则如果 exp(-Δ/T(k)) > random(0,1) 则接受;
  • 对 L(k) 个步骤重复步骤 1 和 2。
  • k = k + 1;

重复步骤 1 至 4,直到满足条件。

结尾

旅行商问题

在此算法中,目标是找到从一个城市出发、仅访问途中所有城市一次并在同一个出发城市结束的低成本旅行。

Start
   Find out all (n -1)! Possible solutions, where n is the total number of cities.
   Determine the minimum cost by finding out the cost of each of these (n -1)! solutions.
   Finally, keep the one with the minimum cost.
end
旅行商问题

人工智能 - 模糊逻辑系统

模糊逻辑系统 (FLS) 响应不完整、模糊、扭曲或不准确(模糊)输入,产生可接受但明确的输出。

什么是模糊逻辑?

模糊逻辑(FL)是一种类似于人类推理的推理方法。FL 的方法模仿了人类的决策方式,涉及数字值 YES 和 NO 之间的所有中间可能性。

计算机可以理解的传统逻辑块接受精确的输入并产生确定的输出(TRUE或FALSE),这相当于人类的YES或NO。

模糊逻辑的发明者 Lotfi Zadeh 观察到,与计算机不同,人类的决策包括一系列“是”和“否”之间的可能性,例如 -

当然可以
可能是的
不能说
可能不会
当然不

模糊逻辑作用于输入的可能性级别,以实现确定的输出。

执行

  • 它可以在各种尺寸和功能的系统中实现,从小型微控制器到大型网络化、基于工作站的控制系统。

  • 它可以用硬件、软件或两者的组合来实现。

为什么要使用模糊逻辑?

模糊逻辑对于商业和实际目的很有用。

  • 它可以控制机器和消费品。
  • 它可能无法给出准确的推理,但可以给出可接受的推理。
  • 模糊逻辑有助于处理工程中的不确定性。

模糊逻辑系统架构

它有四个主要部分,如图所示 -

  • 模糊化模块- 它将系统输入(清晰的数字)转换为模糊集。它将输入信号分为五个步骤,例如 -

LP x 是大正数
国会议员 x 为中等正值
S x 很小
明尼苏达州 x 为中等负值
闪电网络 x 是大负数
  • 知识库- 它存储专家提供的 IF-THEN 规则。

  • 推理引擎- 它通过对输入和 IF-THEN 规则进行模糊推理来模拟人类推理过程。

  • 去模糊化模块- 它将推理引擎获得的模糊集转换为清晰的值。

模糊逻辑系统

隶属函数适用于变量的模糊集。

会员功能

隶属函数允许您量化语言术语并以图形方式表示模糊集。论域 X 上的模糊集 A的隶属函数定义为 μ A :X → [0,1]。

这里, X的每个元素被映射为0到1之间的值。它被称为隶属值隶属度它量化X中的元素对模糊集A的隶属度。

  • x 轴代表论域。
  • y 轴表示 [0, 1] 区间的隶属度。

可以有多个适用于模糊数值的隶属函数。使用简单的隶属函数,因为使用复杂的函数不会增加输出的精度。

LP、MP、S、MNLN的所有隶属函数如下所示 -

FL会员功能

三角形隶属函数形状在梯形、单例和高斯等各种其他隶属函数形状中最常见。

此处,5 级模糊器的输入从 -10 伏到 +10 伏变化。因此相应的输出也会改变。

模糊逻辑系统的示例

让我们考虑一个具有 5 级模糊逻辑系统的空调系统。该系统通过比较室温和目标温度值来调节空调的温度。

模糊逻辑交流系统

算法

  • 定义语言变量和术语(开始)
  • 为他们构建隶属函数。(开始)
  • 构建规则知识库(开始)
  • 使用隶属函数将清晰数据转换为模糊数据集。(模糊化)
  • 评估规则库中的规则。(推理引擎)
  • 合并每个规则的结果。(推理引擎)
  • 将输出数据转换为非模糊值。(去模糊化)

发展

步骤 1 - 定义语言变量和术语

语言变量是简单单词或句子形式的输入和输出变量。对于室温,冷、暖、热等都是语言术语。

温度 (t) = {非常冷、寒冷、温暖、非常温暖、炎热}

该集合的每个成员都是一个语言术语,它可以覆盖总体温度值的一部分。

步骤 2 - 为他们构建隶属函数

温度变量的隶属函数如下所示 -

AC系统的MF

Step3 - 构建知识库规则

创建室温值与空调系统预期提供的目标温度值的矩阵。

房间温度 /目标 很冷 寒冷的 温暖的 热的 很热
很冷 不用找了
寒冷的 凉爽的 不用找了
温暖的 凉爽的 凉爽的 不用找了
热的 凉爽的 凉爽的 凉爽的 不用找了
很热 凉爽的 凉爽的 凉爽的 凉爽的 不用找了

以 IF-THEN-ELSE 结构的形式将一组规则构建到知识库中。

先生。没有。 健康)状况 行动
1 如果温度=(冷或非常冷)并且目标=温暖那么
2 IF 温度=(热或非常热)AND 目标=温暖 THEN 凉爽的
3 IF(温度=温暖)AND(目标=温暖)那么 不用找了

步骤 4 - 获取模糊值

模糊集运算执行规则的评估。OR 和AND 的运算分别是Max 和Min。综合所有评估结果,形成最终结果。这个结果是一个模糊值。

步骤 5 - 执行去模糊化

然后根据输出变量的隶属函数执行去模糊化。

去模糊值

模糊逻辑的应用领域

模糊逻辑的关键应用领域如下 -

汽车系统

  • 自动变速箱
  • 四轮转向
  • 车辆环境控制

消费电子产品

  • 高保真系统
  • 复印机
  • 静态相机和摄像机
  • 电视

国内商品

  • 微波炉
  • 冰箱
  • 烤面包机
  • 吸尘机
  • 洗衣机

环境控制

  • 空调/烘干机/加热器
  • 加湿器

FLS 的优点

  • 模糊推理中的数学概念非常简单。

  • 由于模糊逻辑的灵活性,您只需添加或删除规则即可修改 FLS。

  • 模糊逻辑系统可以接受不精确、扭曲、有噪声的输入信息。

  • FLS 易于构建和理解。

  • 模糊逻辑是生活各个领域(包括医学)复杂问题的解决方案,因为它类似于人类推理和决策。

FLS 的缺点

  • 模糊系统设计没有系统的方法。
  • 它们只有在简单的情况下才能被理解。
  • 它们适用于解决精度要求不高的问题。

人工智能-自然语言处理

自然语言处理(NLP)是指使用英语等自然语言与智能系统进行通信的人工智能方法。

当您希望机器人等智能系统按照您的指令执行时,当您想听取基于对话的临床专家系统的决定等时,需要进行自然语言处理。

NLP 领域涉及让计算机使用人类使用的自然语言执行有用的任务。NLP 系统的输入和输出可以是 -

  • 演讲
  • 书面文字

NLP 的组成部分

NLP 有两个组成部分 -

自然语言理解(NLU)

理解涉及以下任务 -

  • 将给定的自然语言输入映射为有用的表示。
  • 分析语言的不同方面。

自然语言生成(NLG)

它是从某种内部表征中以自然语言的形式产生有意义的短语和句子的过程。

它涉及 -

  • 文本规划- 它包括从知识库中检索相关内容。

  • 句子规划- 它包括选择所需的单词、形成有意义的短语、设定句子的基调。

  • 文本实现- 将句子计划映射到句子结构。

NLU 比 NLG 更难。

NLU 的难点

NL具有极其丰富的形式和结构。

这是非常模糊的。可能存在不同程度的歧义 -

  • 词汇歧义- 它处于非常原始的水平,例如单词水平。

  • 例如,将“board”一词视为名词还是动词?

  • 语法级别歧义- 可以用不同的方式解析句子。

  • 例如,“他举起了戴着红帽子的甲虫。” − 他是用帽子举起甲虫还是举起一只带有红色帽子的甲虫?

  • 指称歧义- 使用代词指代某事物。例如,里玛去了高里。她说:“我累了。” − 到底谁累了?

  • 一种输入可能意味着不同的含义。

  • 许多输入可能意味着相同的事情。

自然语言处理术语

  • 音系学- 它是系统地组织声音的研究。

  • 形态学- 它是对原始有意义单位的单词构造的研究。

  • 词素- 它是语言中意义的原始单位。

  • 语法- 指排列单词来造句。它还涉及确定单词在句子和短语中的结构作用。

  • 语义学- 它涉及单词的含义以及如何将单词组合成有意义的短语和句子。

  • 语用学- 它涉及在不SymPy况下使用和理解句子以及句子的解释如何受到影响。

  • 话语- 它涉及前一个句子如何影响下一个句子的解释。

  • 世界知识- 它包括关于世界的一般知识。

NLP 的步骤

一般有五个步骤 -

  • 词法分析- 它涉及识别和分析单词的结构。语言词典是指语言中单词和短语的集合。词法分析是将整个文本块划分为段落、句子和单词。

  • 句法分析(解析) - 它涉及对句子中的单词进行语法分析,并以显示单词之间关系的方式排列单词。像“The school go to boy”这样的句子被英语句法分析器拒绝。

自然语言处理步骤
  • 语义分析- 它从文本中提取确切的含义或字典含义。检查文本的意义。它是通过映射任务域中的句法结构和对象来完成的。语义分析器忽略诸如“热冰淇淋”之类的句子。

  • 话语整合- 任何句子的含义取决于它之前的句子的含义。此外,它还带来了紧接后续句子的含义。

  • 实用分析- 在此期间,所说的话被重新解释为它的实际含义。它涉及派生语言中需要现实世界知识的那些方面。

句法分析的实施方面

研究人员开发了许多用于句法分析的算法,但我们只考虑以下简单方法 -

  • 上下文无关语法
  • 自上而下的解析器

让我们详细看看它们 -

上下文无关语法

它是由重写规则左侧带有单个符号的规则组成的语法。让我们创建语法来解析一个句子 -

“鸟儿啄食谷物”

文章 (DET) − a | 一个 | 这

名词- 鸟 | 鸟类 | 粮食| 谷物

名词短语 (NP) - 冠词 + 名词 | 冠词+形容词+名词

= 检测 N | 检测调整 N

动词- 啄 | 啄食 | 啄

动词短语 (VP) − NP V | 电压NP

形容词 (ADJ) − 美丽 | 小| 叽叽喳喳

解析树将句子分解为结构化部分,以便计算机可以轻松理解和处理它。为了让解析算法构建这个解析树,需要构建一组重写规则,描述哪些树结构是合法的。

这些规则规定,树中的某个符号可以通过一系列其他符号进行扩展。根据一阶逻辑规则,如果有两个字符串名词短语(NP)和动词短语(VP),那么NP和VP组合而成的字符串就是一个句子。句子的重写规则如下 -

S → NP VP

NP→DET N| 检测调整 N

VP → V NP

Lexocon -

DET→a | 这

ADJ → 美丽 | 栖息

N → 鸟 | 鸟类 | 粮食| 谷物

V → 啄 | 啄 | 啄食

可以创建解析树,如下所示 -

自然语言处理步骤

现在考虑上面的重写规则。由于 V 可以被“peck”或“pecks”两者替换,因此诸如“The Bird peck thegrains”之类的句子可能会被错误地允许。即主谓一致错误被认可为正确。

优点- 最简单的语法风格,因此被广泛使用。

缺点 -

  • 它们的精度不高。例如,“Thegrainspeckthebird”根据解析器来说在语法上是正确的,但即使它没有意义,解析器也会将其视为正确的句子。

  • 为了达到高精度,需要准备多套语法。它可能需要一套完全不同的规则来解析单数和复数变体、被动句等,这可能导致创建大量难以管理的规则。

自上而下的解析器

在这里,解析器从 S 符号开始,尝试将其重写为与输入句子中单词的类别相匹配的终结符号序列,直到它完全由终结符号组成。

然后用输入句子检查它​​们是否匹配。如果不是,则使用一组不同的规则重新开始该过程。重复此操作,直到找到描述句子结构的特定规则。

优点- 实施起来很简单。

缺点 -

  • 它效率低下,因为如果发生错误则必须重复搜索过程。
  • 工作速度慢。

人工智能 - 专家系统

专家系统(ES)是人工智能的重要研究领域之一。它是由斯坦福大学计算机科学系的研究人员介绍的。

什么是专家系统?

专家系统是为解决特定领域的复杂问题而开发的计算机应用程序,具有非凡的人类智能和专业知识水平。

专家系统的特点

  • 高性能
  • 可以理解
  • 可靠的
  • 反应灵敏

专家系统的能力

专家系统能够 -

  • 提供建议
  • 指导和协助人类决策
  • 示范
  • 得出解决方案
  • 诊断
  • 解释
  • 解释输入
  • 预测结果
  • 证明结论的合理性
  • 建议替代方案