Artificial Intelligence 简明教程

Artificial Intelligence - Quick Guide

Artificial Intelligence - Overview

自从电脑或机器被发明以来,它们执行各种任务的能力呈指数增长。人类在不同的工作域、越来越快的速度和不断减小的体积方面发展了计算机系统的功能。

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

What is Artificial Intelligence?

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

人工智能是一种 making a computer, a computer-controlled robot, or a software think intelligently 的方式,它以与人类聪明才智相似的思维方式进行。

人工智能是通过研究人脑的思考方式和人类在试图解决问题的过程中学习、决策和工作的来实现的,然后使用这项研究的结果作为开发智能软件和系统基础。

Philosophy of AI

在利用计算机系统功能的同时,人类的好奇心让他开始思考,“机器是否能像人类一样思考和行为?”

因此,人工智能的开发始于在机器中创造出与我们在人类中发现和重视的类似智能的意图。

Goals of AI

  1. To Create Expert Systems − 该系统表现出智能行为、学习、展示、解释并建议其用户。

  2. To Implement Human Intelligence in Machines − 创造像人类一样理解、思考、学习和表现的系统。

What Contributes to AI?

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

在以下领域中,一个或多个领域有助于构建一个智能系统。

components of ai

Programming Without and With AI

有无人工智能的编程在以下方面有所不同−

Programming Without AI

Programming With AI

没有人工智能的计算机程序可以回答它要解决的 specific 问题。

装有 AI 的计算机程序可以回答它旨在解决的 generic 问题。

对该程序做修改,会导致其结构发生变化。

人工智能程序可以通过将高度独立的信息拼凑在一起,来吸收新修改。因此,您可以在不影响其结构的前提下修改程序,即使修改的是很小一部分信息。

修改并没有那么简单。它可能会对程序产生不利影响。

快速且简单的程序修改。

What is AI Technique?

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

  1. 它的体积巨大,几乎无法想象。

  2. 它没有组织好或格式化好。

  3. It keeps changing constantly.

人工智能技术是一种高效组织和使用知识的方法,方法如下:

  1. 为提供知识的人员所感知。

  2. 可以轻松修改以纠正错误。

  3. 尽管它不完整或不准确,但它在许多情况下都很有用。

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

Applications of AI

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

  1. Gaming - 人工智能在象棋、扑克、井字棋等策略游戏中发挥着至关重要的作用,机器可以根据启发式知识想到大量可能的局面。

  2. Natural Language Processing - 可以与理解人类自然语言的计算机进行交互。

  3. Expert Systems - 有些应用程序集成了机器、软件和特殊信息,以提供推理和建议。它们为用户提供解释和建议。

  4. Vision Systems - 这些系统理解、解释和理解计算机上的视觉输入。例如,一架侦察飞机拍照,这些照片用于找出空间信息或该区域的地图。医生使用临床专家系统来诊断患者。警察使用可以将罪犯的脸与法医绘制的存储画像进行识别的计算机软件。

  5. Speech Recognition - 当人类与某些智能系统交谈时,它们能够收听和理解语言的句子及其含义。它可以处理不同的口音、俚语、背景噪音、人类因感冒等导致的噪音变化。

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

  7. Intelligent Robots - 机器人能够执行人给予的任务。它们有传感器,可以从现实世界中检测物理数据,例如光、热、温度、运动、声音、碰撞和压力。它们有高效的处理器、多个传感器和巨大的存储空间,可以表现出智能。此外,它们能够从错误中学习,并且可以适应新的环境。

History of AI

以下是人工智能在 20 世纪的历史:

Year

Milestone / Innovation

1923

卡雷尔·恰佩克的戏剧“罗素姆万用机器人”(RUR)在伦敦首演,第一次在英语中使用单词“机器人”。

1943

奠定神经网络基础。

1945

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

1950

艾伦·图灵引入了用于评估智能的图灵测试,并发表了《计算机制与智能》。克劳德·香农发表了《国际象棋博弈的详细分析》作为一项搜索。

1956

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

1958

约翰·麦卡锡为人工智能发明了 LISP 编程语言。

1964

丹尼·鲍勃罗在麻省理工学院的论文表明,计算机能够理解足够的自然语言,以便正确地解决代数文字问题。

1965

麻省理工学院的约瑟夫·魏赞鲍姆构建了 ELIZA,一个能够用英语进行对话的交互式程序。

1969

斯坦福研究所的科学家开发了配备了运动、感知和问题解决功能的机器人 Shakey。

1973

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

1979

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

1985

哈罗德·科恩创建并展示了绘图程序 Aaron。

1990

人工智能所有领域的重大进展:机器学习的重要演示,基于案例的推理,多代理计划,调度,数据挖掘,网络爬虫,自然语言理解和翻译,视觉,虚拟现实游戏

1997

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

2000

互动机器人宠物开始在市场上出售。麻省理工学院展示了 Kismet,这是一款带有可以表达情绪的脸的机器人。机器人 Nomad 探索了南极洲的偏远地区,并发现了陨石。

Artificial Intelligence - Intelligent Systems

在研究人工智能时,你需要知道什么是智能。本章涵盖了智能的理念、类型和构成要素。

What is Intelligence?

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

Types of Intelligence

正如美国发展心理学家 Howard Gardner 所描述的,可以分为多种类型−

Intelligence

Description

Example

Linguistic intelligence

用语音(语音声音)、语言(语法)和语义(含义)的机制来说话、识别和使用的能力。

Narrators, Orators

Musical intelligence

用声音形成含义、并与之交流和理解含义的能力,理解音高和韵律。

Musicians, Singers, Composers

Logical-mathematical intelligence

在没有动作或对象的情况下,使用和理解关系的能力。理解复杂抽象的概念。

Mathematicians, Scientists

Spatial intelligence

感知视觉或空间信息、改变它并重新创造视觉图像(不涉及对象),构建 3D 图像,并移动和旋转它们的能力。

Map readers, Astronauts, Physicists

Bodily-Kinesthetic intelligence

使用全部或部分身体来解决问题或设计产品的能力,控制高级及低级运动技能并控制物体。

Players, Dancers

Intra-personal intelligence

区分自身情感、意图和动机的能力。

Gautam Buddhha

Interpersonal intelligence

识别和区分他人情感、信仰和意图的能力。

Mass Communicators, Interviewers

您可以说,当一台机器或系统至少配备了一种至多全部智能时,它就是 artificially intelligent

What is Intelligence Composed of?

智能是无形的。它由以下部分组成:

  1. Reasoning

  2. Learning

  3. Problem Solving

  4. Perception

  5. Linguistic Intelligence

intelligence

让我们简单了解一下所有组成部分:

  1. Reasoning − 这是使我们能够提供判断、做出决策并进行预测的基础的一组流程。大致有以下两种类型−

Inductive Reasoning

Deductive Reasoning

进行具体观察以形成概括的陈述。

从概括的陈述开始,并检验可能性以得出具体、合乎逻辑的结论。

即使陈述中所有前提条件都为真,归纳推理也允许结论为假。

如果某事对某类事物普遍适用,那么它对该类事物的所有成员也适用。

Example − "Nita is a teacher. Nita is studious. Therefore, All teachers are studious."

Example − "All women of age above 60 years are grandmothers. Shalini is 65 years. Therefore, Shalini is a grandmother."

  1. Learning − It is the activity of gaining knowledge or skill by studying, practising, being taught, or experiencing something. Learning enhances the awareness of the subjects of the study. The ability of learning is possessed by humans, some animals, and AI-enabled systems. Learning is categorized as − Auditory Learning − It is learning by listening and hearing. For example, students listening to recorded audio lectures. Episodic Learning − To learn by remembering sequences of events that one has witnessed or experienced. This is linear and orderly. Motor Learning − It is learning by precise movement of muscles. For example, picking objects, Writing, etc. Observational Learning − To learn by watching and imitating others. For example, child tries to learn by mimicking her parent. Perceptual Learning − It is learning to recognize stimuli that one has seen before. For example, identifying and classifying objects and situations. Relational Learning − It involves learning to differentiate among various stimuli on the basis of relational properties, rather than absolute properties. For Example, Adding ‘little less’ salt at the time of cooking potatoes that came up salty last time, when cooked with adding say a tablespoon of salt. Spatial Learning − It is learning through visual stimuli such as images, colors, maps, etc. For Example, A person can create roadmap in mind before actually following the road. Stimulus-Response Learning − It is learning to perform a particular behavior when a certain stimulus is present. For example, a dog raises its ear on hearing doorbell.

  2. Problem Solving − It is the process in which one perceives and tries to arrive at a desired solution from a present situation by taking some path, which is blocked by known or unknown hurdles. Problem solving also includes decision making, which is the process of selecting the best suitable alternative out of multiple alternatives to reach the desired goal are available.

  3. Perception − It is the process of acquiring, interpreting, selecting, and organizing sensory information. Perception presumes sensing. In humans, perception is aided by sensory organs. In the domain of AI, perception mechanism puts the data acquired by the sensors together in a meaningful manner.

  4. Linguistic Intelligence − It is one’s ability to use, comprehend, speak, and write the verbal and written language. It is important in interpersonal communication.

Difference between Human and Machine Intelligence

  1. 人类通过模式识别来感知信息,而机器则通过规则和数据来感知。

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

  3. 即便缺少或者扭曲了所感知物体的部分,人类仍然能够推断出完整的物体;而机器却无法正确地做到这一点。

Artificial Intelligence - Research Areas

人工智能领域在深度和广度方面很大。进行当中,我们研究了人工智能领域中普遍的繁荣的研究范围——

research areas of ai

Speech and Voice Recognition

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

Speech Recognition

Voice Recognition

语音识别的目标是理解和理解说的话是什么。

语音识别的目标是识别是谁在说话。

它用于免提计算、地图或菜单导航。

它用于通过分析其语调、音高、口音等来识别一个人。

对于语音识别而言,机器不需要训练,因为它不依赖于说话者。

这个识别系统需要训练,因为它面向于个人。

与说话者无关的语音识别系统很难开发。

与说话者有关的语音识别系统相对容易开发。

Working of Speech and Voice Recognition Systems

通过麦克风说出用户输入的内容,转到系统的声卡。转换器将模拟信号转化为语音处理的等效数字信号。数据库用于比较声音模式以识别单词。最后,逆向反馈被提供给数据库。

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

Real Life Applications of Research Areas

在人工智能为普通人日常生活提供服务的应用程序中,存在很多领域——

Sr.No.

Research Areas

Real Life Application

1

示例:航班跟踪系统、临床系统。

2

示例:Google Now 特性、语音识别、自动语音输出。

3

示例:模式识别系统,如面部识别、字符识别、笔迹识别。

4

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

5

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

Task Classification of AI

人工智能领域分为以下内容:

task domains of ai

人工智能的任务域

Mundane (Ordinary) Tasks

Formal Tasks

Expert Tasks

Perception Computer VisionSpeech, Voice

MathematicsGeometryLogicIntegration and Differentiation

EngineeringFault FindingManufacturingMonitoring

自然语言处理理解语言生成语言翻译

Games GoChess (Deep Blue)Ckeckers

Scientific Analysis

Common Sense

Verification

Financial Analysis

Reasoning

Theorem Proving

Medical Diagnosis

Planing

Creativity

Robotics Locomotive

人类从出生开始学习 mundane (ordinary) tasks 。他们通过感知、说话、使用语言和运动来学习。他们先学习基础任务,再学习专业任务。

对于人类来说,最容易学习的是平凡的任务。在尝试让机器执行平凡的任务之前,平凡的任务也被认为容易学习。早期,所有的 AI 工作都集中在平凡的任务域。

后来,事实证明,对于平凡的任务,机器需要更多的知识、更复杂的知识表示和更复杂的算法。这就是为什么 why AI work is more prospering in the Expert Tasks domain 现在需要专家知识,但是专业任务域不需要常识,更容易表示和处理。

AI - Agents & Environments

人工智能系统由一个代理及其环境组成。代理在自身环境中行为。该环境中可能包含其他代理。

What are Agent and Environment?

agent 是能够通过 sensors 感知自身环境并通过 effectors. 对自身环境执行操作的任何事物。

  1. 一个 human agent 具有传感器,例如眼睛、耳朵、鼻子、舌头和皮肤,以及其他器官,例如手、腿、嘴巴,用于效应器。

  2. 一个 robotic agent 用摄像头和红外测距仪替换传感器,以及各种电机和驱动器用于效应器。

  3. 一个 software agent 将编码的位串作为其程序和操作。

agent environment

Agent Terminology

  1. Performance Measure of Agent − 这是决定智能体成功程度的标准。

  2. Behavior of Agent − 这是智能体在任何给定的知觉序列后执行的动作。

  3. Percept − 这是智能体在特定时间点的感知输入。

  4. Percept Sequence − 这是到目前为止智能体感知到所有事物的历史记录。

  5. Agent Function − 这是从知觉序列到动作的映射。

Rationality

理性的状态便是合理的、明智的,并且具有良好的判断力。

理性涉及预期行为和结果,具体取决于代理感知的内容。执行操作以获取有用信息是理性行为的重要组成部分。

What is Ideal Rational Agent?

理想理性代理能够执行预期行为以根据以下内容最大程度地提升其绩效衡量:

  1. Its percept sequence

  2. Its built-in knowledge base

代理的理性性取决于以下因素:

  1. performance measures ,用于确定成功程度。

  2. 代理至今的 Percept Sequence

  3. 代理的 prior knowledge about the environment

  4. 代理能够执行的 actions

理性代理始终执行正确操作,其中正确操作意味着代理在给定的感知序列中取得最大成功率的操作。代理解决的问题以绩效衡量、环境、执行器和传感器 (PEAS) 为特征。

The Structure of Intelligent Agents

代理的结构可视为:

  1. 代理 = 架构 + 代理程序

  2. 架构 = 代理执行的机器。

  3. 代理程序 = 代理函数的执行。

Simple Reflex Agents

  1. 他们仅根据当前的感知选择操作。

  2. 仅当根据当前的感知做出正确的决定时,它们才是理性的。

  3. 他们的环境可完全观察到。

Condition-Action Rule - 这是将状态(条件)映射到操作的规则。

simple reflex agent

Model Based Reflex Agents

他们运用世界模型来选择自己的行为。他们维持一个内部状态。

Model −关于“世界上事情发生方式”的知识。

Internal State −它是当前状态中不可观察方面的表示形式,取决于概念历史。

Updating the state requires the information about −

  1. How the world evolves.

  2. 代理的行为如何影响世界。

model based reflex agents

Goal Based Agents

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

Goal −它是预期情况的描述。

goal based agents

Utility Based Agents

他们基于每个状态的偏好(效用)选择行为。

目标不充分,何时 −

  1. 有冲突的目标,其中只有几个可以实现。

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

utility based agents

The Nature of Environments

一些程序完全在 artificial environment 运行,限于键盘输入、数据库、计算机文件系统和屏幕上的字符输出。

相反,一些软件代理(软件机器人或软机器人)存在于丰富、无限的软机器人域中。模拟器具有 very detailed, complex environment 。软件代理需要实时从一系列长动作中进行选择。一个软机器人设计用于扫描客户的在线偏好,向客户展示有趣物品,它在 realartificial 环境中工作。

最著名的 artificial environmentTuring Test environment ,其中一个真实代理和一个人工智能代理在平等的条件下被测试。这是一个非常具有挑战性的环境,因为软件代理很难像人类一样表现出色。

Turing Test

系统智能行为的成功可以用图灵测试来衡量。

两名人员和一台待评估的机器参加测试。在这两个人中,一个人扮演测试者。他们每个人都坐在不同的房间里。测试人员不知道谁是机器,谁是人类。他通过输入问题并将其发送给这两个智能体来进行询问,然后他接收输入的响应。

此测试旨在愚弄测试人员。如果测试人员无法根据人类响应来确定机器的响应,则认为该机器是智能的。

Properties of Environment

环境具有多重属性−

  1. Discrete / Continuous −如果环境的独特、清晰定义状态的数量有限,则环境是离散的(例如,国际象棋);否则是连续的(例如,驾驶)。

  2. Observable / Partially Observable − 如果根据感知可以确定每个时间点的环境的完整状态,则可以观测到该状态;否则,该状态只能被部分观测到。

  3. Static / Dynamic − 如果在代理执行操作时环境保持不变,则该环境是静态的;否则,该环境是动态的。

  4. Single agent / Multiple agents − 环境中可能包含其他代理,这些代理可能与该代理的类型相同或不同。

  5. Accessible / Inaccessible − 如果代理的传感仪器可以获取环境的完整状态,则该代理可以访问该环境。

  6. Deterministic / Non-deterministic − 如果环境的下一个状态完全由当前状态和代理的操作决定,则该环境是确定性的;否则,该环境是非确定性的。

  7. Episodic / Non-episodic − 在阶段性环境中,每个阶段都包含代理感知然后执行操作的过程。其操作的质量仅取决于阶段本身。后续阶段不依赖于前一阶段的操作。阶段性环境之所以简单得多,是因为代理不需要进行超前思考。

搜索是人工智能中解决问题的一种通用技术。它包括一些单人游戏,如棋牌类游戏、数独、填字游戏等。搜索算法可以帮助你在这些游戏中搜索特定位置。

Single Agent Pathfinding Problems

3X3 八方棋、4X4 十五方棋和 5X5 二十四方棋之类的游戏是单代理寻径难题。它们包含一个带空格的瓷砖矩阵。玩家需要通过将瓷砖垂直或水平地滑入空格中来排列瓷砖,以达到实现某个目标的目的。

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

Search Terminology

  1. Problem Space − 它是在其中执行搜索的环境。(状态集合和用于更改这些状态的运算符集合)

  2. Problem Instance − 它等于初始状态 + 目标状态。

  3. Problem Space Graph − 它表示问题状态。状态显示为节点,而运算符显示为边。

  4. Depth of a problem − 从初始状态到目标状态的最短路径的长度或最短运算符序列的长度。

  5. Space Complexity − 存储在内存中的最大节点数。

  6. Time Complexity − 创建的最大节点数。

  7. Admissibility − 算法始终找到最优解的特性。

  8. Branching Factor − 问题空间图中子节点的平均数。

  9. Depth − 从初始状态到目标状态的最短路径的长度。

Brute-Force Search Strategies

它们非常简单,因为它们不需要任何特定领域的知识。它们在可能的状态较少时工作正常。

要求 −

  1. State description

  2. 一组有效运算符

  3. Initial state

  4. Goal state description

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

如果 branching factor (给定节点的平均子节点数)= b 且深度 = d,则第 d 级节点数 = bd。

在最坏情况下创建的节点总数为 b + b2 + b3 + … + bd。

Disadvantage − 由于每级节点都将用于创建下一级节点,因此会占用很多内存空间。存储节点所需的空间呈指数级增长。

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

breadth first search

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

由于每个迭代中从根节点到叶节点都会存储在单一路径上的节点,因此存储节点所需的空间是线性的。当分支系数为 b、深度为 m 时,存储空间为 bm。

Disadvantage − 该算法可能不会终止,而会在一条路径上无限延续。解决此问题的方法是选择截止深度。如果理想的截止深度为 d,而所选的截止深度小于 d,则此算法可能会失败。如果所选的截止深度大于 d,则执行时间会增加。

其复杂度取决于路径数目。它不能检查重复节点。

depth first search

它从初始状态向前搜索,从目标状态向后搜索,直至两者相遇以识别一个共有状态。

从初始状态的路径与从目标状态的反向路径连接。每项搜索只进行到总路径的一半。

按照到达节点的路径成本递增进行排序。它始终展开成本最低的节点。如果每个转换都有相同的成本,则它与广度优先搜索相同。

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

Disadvantage − 可能会存在多条成本 ≤ C* 的长路径。一致代价搜索必须探索所有这些路径。

它执行到第 1 级的深度优先搜索,然后重新开始,执行到第 2 级的完整深度优先搜索,并一直持续到找到解决方案。

在生成所有较低级别的节点之前,它永远不会创建节点。它只保存一个节点栈。该算法在深度处找到解决方案 d 时结束。在深度 d 处创建的节点数为 bd,在深度 d-1 处创建的节点数为 bd-1。

interactive deepening df search

Comparison of Various Algorithms Complexities

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

Criterion

Breadth First

Depth First

Bidirectional

Uniform Cost

Interactive Deepening

Time

bd

bm

bd/2

bd

bd

Space

bd

bm

bd/2

bd

bd

Optimality

Yes

No

Yes

Yes

Yes

Completeness

Yes

No

Yes

Yes

Yes

Informed (Heuristic) Search Strategies

要解决具有大量可能状态的大型问题,需要增加特定于问题的信息,以提高搜索算法的效率。

Heuristic Evaluation Functions

它们计算两个状态之间最佳路径的成本。通过计算每个图块从其目标状态所进行的移动数量,并为所有图块添加这些移动数量,即可计算出滑动拼图游戏的试探函数。

它按照试探值来展开节点。它创建两个列表:已展开节点的封闭列表和已创建但未展开节点的开放列表。

在每个迭代中,展开一个具有最小试探值的节点,创建并置于封闭列表中其所有子节点。然后,将试探函数应用到子节点,并根据它们的试探值将它们置于开放列表中。较短的路径将会保存,而较长的路径则会被丢弃。

这是 A* 搜索中最著名的形式。它避免展开已经很昂贵的路径,但会首先展开最有希望的路径。

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

  1. g(n) 为到达该节点的(截至目前为止的)成本

  2. h(n) 为从该节点到达目标的估计成本

  3. f(n) 为通过 n 到达目标的路径的估计总成本。通过增加 f(n) 使用优先级队列来实现它。

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

Disadvantage − 它可能会陷入循环。它不是最优的。

Local Search Algorithms

它们从可能的解决方案开始,然后移至相邻的解决方案。即使在它们结束之前在任何时候中断,它们也可以返回一个有效解决方案。

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

函数 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

Disadvantage − 此算法既不完整,也不是最优的。

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

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

函数 BeamSearch(问题,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

Simulated Annealing

退火是加热和冷却金属以更改其内部结构,从而改变其物理特性的过程。当金属冷却时,其新的结构会凝结,该金属会保持其新得到的特性。在模拟退火过程中,温度保持可变。

我们最初将温度设置得很高,然后随着算法的进行,我们允许它慢慢“冷却”。在温度高时,算法通常会接受较差的解决方案。

开始

  1. 初始化 k = 0;L = 整数变量数;

  2. 从 i → j,搜索性能差异 Δ。

  3. 如果 Δ ⇐ 0 则接受,否则如果 exp(-Δ/T(k)) > random(0,1),则接受;

  4. 对 L(k) 个步骤重复步骤 1 和 2。

  5. k = k + 1;

对步骤 1 至步骤 4 执行重复操作,直至达到标准。

结束

Travelling Salesman Problem

在此算法中,目标是找到一条低成本的路线,从一个城市开始,途中依次访问所有城市,并在同一起始城市结束。

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
travelling salesman

Artificial Intelligence - Fuzzy Logic Systems

模糊逻辑系统(FLS)根据不完整、模棱两可、扭曲或不准确(模糊)的输入生成可接受但明确的输出。

What is Fuzzy Logic?

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

计算机可以理解的传统逻辑块获取精确的输入,并生成明确的 TRUE 或 FALSE 输出,这相当于人类的 YES 或 NO。

模糊逻辑的发明者 Lotfi Zadeh 观察到,与计算机不同,人类决策包括 YES 和 NO 之间的可能性范围,例如 -

CERTAINLY YES

POSSIBLY YES

CANNOT SAY

POSSIBLY NO

CERTAINLY NO

模糊逻辑基于输入的可能性水平来实现明确的输出。

Implementation

  1. 它可以在具有不同大小和功能的系统中实现,范围从小型微控制器到大型网络化工作站控制系统。

  2. 它可以在硬件、软件或两者结合中实现。

Why Fuzzy Logic?

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

  1. 它可以控制机器和消费产品。

  2. 它可能不会给出准确的推理,但可以给出自对的推理。

  3. 模糊逻辑有助于处理工程中的不确定性。

Fuzzy Logic Systems Architecture

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

  1. Fuzzification Module - 它将作为清晰数字的系统输入转换为模糊集。它将输入信号分为五个步骤,例如 -

LP

x is Large Positive

MP

x is Medium Positive

S

x is Small

MN

x is Medium Negative

LN

x is Large Negative

  1. Knowledge Base - 它存储专家提供的 IF-THEN 规则。

  2. Inference Engine − 通过对输入和 IF-THEN 规则进行模糊推理来模拟人类推理过程。

  3. Defuzzification Module − 将推理引擎得到的模糊集合转化为清晰值。

fuzzylogic system

membership functions work on 模糊变量集。

Membership Function

隶属度函数可以让您量化语言术语并在图形上表示模糊集合。在论域 X 上模糊集合 A 的一个 membership function 被定义为 μA:X → [0,1]。

在这里,X 的每个元素都被映射到 0 和 1 之间的一个值。它称为 membership valuedegree of membership 。它量化元素在 X 中对模糊集合 A 的隶属程度。

  1. x 轴代表论域。

  2. y 轴代表 [0, 1] 区间内的隶属程度。

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

LP, MP, S, MN,LN 的所有隶属度函数如下所示−

membership functions

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

在此,对 5 级模糊器的输入变化范围从 -10 伏特到 +10 伏特。因此相应的输出也发生变化。

Example of a Fuzzy Logic System

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

fuzzylogic ac system

Algorithm

  1. 定义语言变量和术语(开始)

  2. 为其构建隶属度函数。(开始)

  3. 构建规则知识库(开始)

  4. 使用隶属度函数将清晰数据转换为模糊数据集。(模糊化)

  5. 在规则库中评估规则。(推理引擎)

  6. 组合每条规则中的结果。(推理引擎)

  7. 将输出数据转换为非模糊值。(去模糊化)

Development

Step 1 − Define linguistic variables and terms

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

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

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

Step 2 − Construct membership functions for them

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

membership function ac

Step3 − Construct knowledge base rules

针对空气调节系统期望提供的室温值与目标温度值创建矩阵。

RoomTemp. /Target

Very_Cold

Cold

Warm

Hot

Very_Hot

Very_Cold

No_Change

Heat

Heat

Heat

Heat

Cold

Cool

No_Change

Heat

Heat

Heat

Warm

Cool

Cool

No_Change

Heat

Heat

Hot

Cool

Cool

Cool

No_Change

Heat

Very_Hot

Cool

Cool

Cool

Cool

No_Change

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

Sr. No.

Condition

Action

1

如果温度=(冷或非常冷)且目标=暖,那么

Heat

2

如果温度=(热或非常热)且目标=暖,那么

Cool

3

如果 (温度=暖)且 (目标=暖),那么

No_Change

Step 4 − Obtain fuzzy value

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

Step 5 − Perform defuzzification

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

defuzzified value

Application Areas of Fuzzy Logic

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

Automotive Systems

  1. Automatic Gearboxes

  2. Four-Wheel Steering

  3. Vehicle environment control

Consumer Electronic Goods

  1. Hi-Fi Systems

  2. Photocopiers

  3. Still and Video Cameras

  4. Television

Domestic Goods

  1. Microwave Ovens

  2. Refrigerators

  3. Toasters

  4. Vacuum Cleaners

  5. Washing Machines

Environment Control

  1. Air Conditioners/Dryers/Heaters

  2. Humidifiers

Advantages of FLSs

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

  2. 由于模糊逻辑的灵活性,您可以通过添加或删除规则来修改 FLS。

  3. 模糊逻辑系统可以接收到不精确、扭曲和有噪声的输入信息。

  4. FLS 易于构建和理解。

  5. 模糊逻辑是解决所有生活领域(包括医学)的复杂问题的一种方法,因为它类似于人类推理和决策。

Disadvantages of FLSs

  1. 没有一个关于模糊系统设计的系统方法。

  2. 只有简单时它们才是可以理解的。

  3. 它们适用于不需要高精度的那些问题。

AI - Natural Language Processing

自然语言处理 (NLP) 指的是使用自然语言(例如英语)与智能系统进行交流的人工智能方法。

当您希望像机器人这样的智能系统根据您的说明执行操作时,当您希望从基于对话的临床专家系统中听到决策时,需要进行自然语言处理。

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

  1. Speech

  2. Written Text

Components of NLP

NLP 有两个部分,如下所示 −

Natural Language Understanding (NLU)

理解涉及以下任务 −

  1. 将给定的自然语言输入映射到有用的表示形式。

  2. 分析该语言的不同方面。

Natural Language Generation (NLG)

它是以自然语言的形式生成有意义的短语和句子的过程。

它涉及 −

  1. Text planning − 它包括从知识库中检索相关内容。

  2. Sentence planning − 它包括选择所需的单词,形成有意义的短语,设置句子的语调。

  3. Text Realization − 它将句子计划映射到句子结构中。

NLU 难于 NLG。

Difficulties in NLU

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

它非常含糊。含糊可能存在多个层级 −

  1. Lexical ambiguity − 像词级之类的非常原始的层级。

  2. 例如,将词“board”视为名词还是动词?

  3. Syntax Level ambiguity − 可以通过不同方式来分析句子。

  4. 例如,“He lifted the beetle with red cap.” − 他是用帽子抬甲虫还是他抬了一只带有红色罩盖的甲虫?

  5. Referential ambiguity − 使用代词来指代某物。例如,Rima 去见了 Gauri。她说:“我累了”。− 到底是谁累了?

  6. 一个输入可以表示不同的含义。

  7. 许多输入可能表示相同的含义。

NLP Terminology

  1. Phonology - 这是按系统方式组织声音的研究。

  2. Morphology - 这是从原始有意义的单位构词的研究。

  3. Morpheme − 它是语言中含义的原始单位。

  4. Syntax − 它指的是排列词语以构成一个句子。它还涉及确定词语在句子和短语中的结构性作用。

  5. Semantics − 它涉及词语的含义以及如何将词语组合成有意义的短语和句子。

  6. Pragmatics − 它处理在不同情况下使用和理解句子,以及如何受句意的影响。

  7. Discourse − 它处理如何由直接前面的句子影响下一个句子的解释。

  8. World Knowledge − 它包括对世界的常识。

Steps in NLP

共有五个常规步骤 −

  1. Lexical Analysis − 它涉及识别和分析词的结构。一门语言的词库指语言中的词和短语的集合。词法分析是将整个文本块划分为段落、句子和词。

  2. Syntactic Analysis (Parsing) − 它涉及对句子中的词进行语法分析,以及以显示词之间关系的方式排列词。英语语法分析器会拒绝“The school goes to boy”之类的句子。

steps in nlp
  1. Semantic Analysis − 它从文本中提取确切的含义或词典含义。检查文本是否有意义。通过将句法结构和任务域中的对象进行映射来完成。语义分析器会忽略“hot ice-cream”之类的句子。

  2. Discourse Integration − 任何句子的含义都取决于它前面句子的含义。此外,它还可以得出紧接在它之后的句子的含义。

  3. Pragmatic Analysis − 在此期间,重新解释所说的内容的实际含义。它涉及推导出需要实际世界知识的语言方面。

Implementation Aspects of Syntactic Analysis

研究人员为语法分析开发了许多算法,但我们只考虑以下简单的方法 −

  1. Context-Free Grammar

  2. Top-Down Parser

让我们详细了解它们 −

Context-Free Grammar

这是语法,它由重写规则一侧的一个符号组成的规则。我们来创建一个用于分析一个句子 − 的语法

“The bird pecks the grains”

Articles (DET) − a | an | the

Nouns − bird | birds | grain | grains

Noun Phrase (NP) − Article + Noun | Article + Adjective + Noun

DET N | DET ADJ N

Verbs − pecks | pecking | pecked

Verb Phrase (VP) − NP V | V NP

Adjectives (ADJ) − beautiful | small | chirping

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

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

S → NP VP

NP → DET N | DET ADJ N

VP → V NP

Lexocon −

DET → a | the

ADJ → beautiful | perching

N → bird | birds | grain | grains

V → peck | pecks | pecking

语法树可以如以下所示创建 −

nlp parsing tree

现在考虑一下以上的重写规则。既然 V 可以被“peck”或“pecks”替换,那么类似于“The bird peck the grains”这样的句子就会被错误地允许。例如,主谓一致错误会被批准为正确。

Merit − 语法的最简单风格,因此被广泛使用。

Demerits −

  1. 它们不高度精确。例如,“The grains peck the bird”,对于解析器来说是语法上正确的,但即使它没有意义,解析器也会认为它是一个正确的句子。

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

Top-Down Parser

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

然后使用输入句子检查这些内容,看看是否匹配。如果没有,则使用不同的规则集再次重新开始该过程。重复此操作,直到找到描述句子结构的特定规则为止。

Merit − 实现简单。

Demerits −

  1. 这是低效的,因为如果发生错误,则必须重复搜索过程。

  2. Slow speed of working.

Artificial Intelligence - Expert Systems

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

What are Expert Systems?

专家系统是一种计算机应用程序,旨在解决特定领域的复杂问题,达到非凡的人类智力和专业知识水平。

Characteristics of Expert Systems

  1. High performance

  2. Understandable

  3. Reliable

  4. Highly responsive

Capabilities of Expert Systems

专家系统有能力 −

  1. Advising

  2. 指导和帮助人类决策

  3. Demonstrating

  4. Deriving a solution

  5. Diagnosing

  6. Explaining

  7. Interpreting input

  8. Predicting results

  9. Justifying the conclusion

  10. 为问题提出备选方案

它们无法 −

  1. Substituting human decision makers

  2. Possessing human capabilities

  3. 针对不足的知识库生成准确的输出

  4. Refining their own knowledge

Components of Expert Systems

专家系统的组成如下:

  1. Knowledge Base

  2. Inference Engine

  3. User Interface

让我们逐一简要了解它们:

expert system

Knowledge Base

包含领域特定且高质量的知识。

获得智能需要知识。任何专家系统的成功在很大程度上取决于其高度准确和精确的知识集合。

What is Knowledge?

数据是事实的集合。信息被组织为与任务领域相关的数据和事实。 Data, information,past experience 结合在一起称为知识。

Components of Knowledge Base

专家系统的知识库是事实和启发式知识的存储库。

  1. Factual Knowledge − 这是知识工程师和任务领域学者广泛接受的信息。

  2. Heuristic Knowledge − 这与实践、准确的判断、一个人的评估能力和猜测有关。

Knowledge representation

这是用来组织和规范知识库中的知识的方法。它采用 IF-THEN-ELSE 规则的形式。

Knowledge Acquisition

任何专家系统的成功在很大程度上取决于存储在知识库中的信息的质量、完整性和准确性。

知识库由来自各个专家、学者和 Knowledge Engineers 的读物组成。知识工程师是一个具有同理心、快速学习和案例分析技能的人。

他通过记录、访谈和观察专家在工作中的表现等方式从主题专家那里获取信息。然后,他以有意义的方式对信息进行分类和组织,采用 IF-THEN-ELSE 规则的形式,供干涉机器使用。知识工程师还监督专家系统的开发。

Inference Engine

推理引擎使用高效的过程和规则对于得到正确、无瑕疵的解决方案至关重要。

在基于知识的专家系统中,推理引擎获取知识库中的知识并对其进行操作以得出特定解决方案。

在基于规则的专家系统中,它:

  1. 重复对事实应用规则,这些事实是从早先的规则应用中获得的。

  2. 根据需要将新知识添加到知识库中。

  3. 在多条规则适用于特定情况时解决规则冲突。

为了推荐解决方案,推理引擎使用以下策略:

  1. Forward Chaining

  2. Backward Chaining

Forward Chaining

专家系统的一种策略是回答问题 “What can happen next?”

在此,推理引擎遵循条件和推导链,最终推导出结果。它考虑所有事实和规则,并在得出解决方案之前对它们进行排序。

该策略用于得出结论、结果或作用。例如,预测股票市场状态是利率变化的作用。

forward chaining

Backward Chaining

专家系统采用此策略可以发现问题的答案 “Why this happened?”

基于已经发生的情况,推理引擎尝试找出过去导致此结果的情况。该策略用于找出原因或理由。例如,人类血癌的诊断。

backward chaining

User Interface

用户界面提供了 ES 用户和 ES 本身之间的交互。它通常是自然语言处理,以便任务领域精通的用户使用。ES 的用户不必一定是人工智能专家。

它解释了 ES 如何得出特定建议。说明可能以以下形式出现−

  1. 屏幕上显示的自然语言。

  2. 自然语言中的口头叙述。

  3. 屏幕上显示的规则编号列表。

用户界面可以轻松追踪推论的可信度。

Requirements of Efficient ES User Interface

  1. 它应该帮助用户以最短的方式实现目标。

  2. 它应该设计为适用于用户现有或理想的工作实践。

  3. 其技术应该适应用户的需求,而不是相反。

  4. 它应该有效利用用户输入。

Expert Systems Limitations

没有一项技术可以提供简单而完整的解决方案。大型系统成本高昂,需要大量开发时间和计算机资源。ES 有其局限性,包括 −

  1. Limitations of the technology

  2. Difficult knowledge acquisition

  3. ES 难以维护

  4. High development costs

Applications of Expert System

下表显示了可以应用 ES 的位置。

Application

Description

Design Domain

照相机镜头设计、汽车设计。

Medical Domain

从观察到的数据中推断出疾病原因,在人类身上实施医疗操作的诊断系统。

Monitoring Systems

例如,对长石油管道进行泄漏监测,将数据与观察到的系统或规定的行为持续比较。

Process Control Systems

基于监测控制物理过程。

Knowledge Domain

找出车辆和计算机中的故障。

Finance/Commerce

检测可能的欺诈、可疑交易、股票市场交易、航空公司排班,货运排班。

Expert System Technology

有几项 ES 技术可供使用。专家系统技术包括 −

  1. Expert System Development Environment − ES 开发环境包括硬件和工具。它们是 −工作站、小型机、大型机。高级符号编程语言,例如 *L*表 *P*rogrammation (LISP) 和 *P*rogrammation en *LOG*ique (PROLOG)。大型数据库。

  2. Tools − 它们很大程度上减少了开发专家系统的精力和成本。多窗口的强大编辑器和调试工具。它们提供快速原型制作,具有模型、知识表示和推理设计的内置定义。

  3. Shells − Shell 不过是无知识库的专家系统。Shell 向开发者提供知识获取、推理引擎、用户界面和解释程序。例如,下面给出了一些 Shell −Java Expert System Shell (JESS) 为创建专家系统提供了完全开发的 Java API。Vidwan,1993 年在孟买国家软件技术中心开发的一个 Shell。它能够以 IF-THEN 规则的形式对知识进行编码。

Development of Expert Systems: General Steps

ES 开发的过程是迭代的。ES 开发的步骤包括 −

Identify Problem Domain

  1. 该问题必须适合专家系统来解决。

  2. 为 ES 项目找到任务域中的专家。

  3. 建立系统的成本效益。

Design the System

  1. Identify the ES Technology

  2. 了解和建立与其他系统和数据库的集成度。

  3. 认识到如何以最佳方式表示领域知识的概念。

Develop the Prototype

从知识库来看:知识工程师的工作是 −

  1. 从专家那里获得领域知识。

  2. 以 If-THEN-ELSE 规则的形式表示它。

Test and Refine the Prototype

  1. 知识工程师使用示例案例来测试原型,以发现性能中的不足。

  2. 最终用户对 ES 的样机进行测试。

Develop and Complete the ES

  1. 测试并确保 ES 与其环境中的所有元素(包括最终用户、数据库和其他信息系统)进行互动。

  2. 恰当地记录 ES 项目。

  3. 培训用户使用 ES。

Maintain the System

  1. 通过定期审查和更新使知识库保持最新状态。

  2. 满足其他信息系统的新接口,随着这些系统的发展。

Benefits of Expert Systems

  1. Availability − 由于软件批量生产,它们很容易获得。

  2. Less Production Cost − 生产成本合理。这使它们具有可负担性。

  3. Speed − 它们提供极高的速度。它们减少了个人投入工作的数量。

  4. Less Error Rate − 与人为错误相比,错误率低。

  5. Reducing Risk − 它们可以在对人类危险的环境中工作。

  6. Steady response − 它们稳定工作,不会出现情绪化、紧张或疲劳。

Artificial Intelligence - Robotics

机器人技术是人工智能的一个领域,它涉及创建智能和高效机器人。

What are Robots?

机器人是在真实世界环境中工作的代理。

Objective

机器人的目的是通过感知、拾取、移动、修改对象的物理属性、销毁对象或产生影响,从而操纵对象,从而使人力自由执行重复功能,而不会感到厌烦、分心或疲惫。

What is Robotics?

机器人技术是人工智能的一个分支,由电气工程学、机械工程学和计算机科学组成,用于设计、构建和应用机器人。

Aspects of Robotics

  1. 机器人具有旨在完成特定任务的 mechanical construction ,形式或形状。

  2. 它们具有为机器提供动力和控制的 electrical components

  3. 它们包含一定级别的 computer program ,它决定了机器人做什么、何时以及如何做。

Difference in Robot System and Other AI Program

以下是两者的区别−

AI Programs

Robots

它们通常在计算机模拟的世界中运作。

它们在真实的物理世界中运作

人工智能程序的输入是以符号和规则的形式进行的。

机器人输入是以语音波形或图像形式的模拟信号

它们需要通用计算机来进行操作。

它们需要带有传感器和执行器的特殊硬件。

Robot Locomotion

运动是使机器人能够在其环境中移动的机制。有许多不同类型的运动 −

  1. Legged

  2. Wheeled

  3. 有腿和有轮运动的结合

  4. Tracked slip/skid

Legged Locomotion

  1. 在走、跳、慢跑、跳跃、爬升或下降等演示中,这种类型的运动会消耗更多电力。

  2. 它需要更多的电机来完成运动。它适用于粗糙和光滑的地形,在不规则或过光滑的表面上,轮式运动会消耗更多电力。由于稳定性问题,其实施起来有点困难。

  3. 它有各种一、二、四和六条腿。如果一个机器人有多条腿,那么腿部的协调对于运动是必要的。

机器人可以行走的总 gaits (每个总腿部抬起和释放事件的周期性序列)的数量取决于其腿部的数量。

如果一个机器人有 k 条腿,那么可能的事件数为 N = (2k-1)!。

在两足机器人的情况下(k=2),可能的事件数为 N = (2k-1)! = (2*2-1)! = 3! = 6。

因此,有六个可能的不同事件 −

  1. Lifting the Left leg

  2. Releasing the Left leg

  3. Lifting the Right leg

  4. Releasing the Right leg

  5. 同时抬起两条腿

  6. 同时释放两条腿

在 k=6 条腿的情况下,有 39916800 个可能的事件。因此机器人的复杂度与腿数成正比。

bipedal robot

Wheeled Locomotion

它需要较少的电机来完成运动。它很容易实现,因为在轮子较多的情况下,稳定性问题较少。与腿部运动相比,它具有节能性。

  1. Standard wheel − 在车轮轴和接触点周围旋转

  2. Castor wheel − 在车轮轴和偏置转向接头周围旋转。

  3. Swedish 45o and Swedish 90o wheels − 全向轮,围绕接触点、车轮轴和滚轮旋转。

  4. Ball or spherical wheel − 全方位车轮,技术上难以实现。

wheeled robot

Slip/Skid Locomotion

在这种类型中,车辆使用履带,就像坦克一样。通过以相同或相反的方向以不同的速度移动履带来操纵机器人。由于履带和地面之间的接触面积大,因此提供了稳定性。

tracked robot

Components of a Robot

机器人的构建需要以下方面:

  1. Power Supply - 机器人由电池、太阳能、液压或气动电源供电。

  2. Actuators − 它们将能量转化为运动。

  3. Electric motors (AC/DC) − 它们需要旋转运动。

  4. Pneumatic Air Muscles − 当空气被吸入时,它们会收缩近 40%。

  5. Muscle Wires − 当电流通过它们时,它们会收缩 5%。

  6. Piezo Motors and Ultrasonic Motors − 最适合工业机器人。

  7. Sensors − 它们提供了任务环境的实时信息知识。机器人配备了视觉传感器,用于计算环境中的深度。触觉传感器模仿人手指尖的触觉感受器的机械特性。

Computer Vision

这是一项人工智能技术,机器人可以借此“看见”。计算机视觉在安全、安保、健康、访问和娱乐领域发挥着至关重要的作用。

计算机视觉从单幅图像或图像阵列中自动提取、分析和理解有用的信息。此过程涉及开发算法以实现自动视觉理解。

Hardware of Computer Vision System

这涉及:

  1. Power supply

  2. 诸如摄像头之类的图像采集设备

  3. A processor

  4. A software

  5. 用于监控系统的显示设备

  6. 诸如相机支架、电缆和连接器之类的附件

Tasks of Computer Vision

  1. OCR − 在计算机领域,光学字符识别器是一种软件,用于将扫描文档转换为可编辑文本,与扫描仪配合使用。

  2. Face Detection − 许多最先进的摄像头都具有此功能,可读取人脸并拍摄出完美的表情照片。它用于允许用户在正确匹配时访问软件。

  3. Object Recognition − 它们被安装在超市、照相机、宝马、通用汽车和沃尔沃等高端汽车上。

  4. Estimating Position − 它正在估算物体相对于照相机的方位,就像人体中肿瘤方位。

Application Domains of Computer Vision

  1. Agriculture

  2. Autonomous vehicles

  3. Biometrics

  4. Character recognition

  5. Forensics, security, and surveillance

  6. Industrial quality inspection

  7. Face recognition

  8. Gesture analysis

  9. Geoscience

  10. Medical imagery

  11. Pollution monitoring

  12. Process control

  13. Remote sensing

  14. Robotics

  15. Transport

Applications of Robotics

机器人一直在以下领域发挥关键作用:

  1. Industries − 机器人用于搬运材料、切割、焊接、彩色涂层、钻孔、抛光等。

  2. Military − 在战争期间,自主机器人可以到达无法接近和危险的区域。由国防研究与发展组织 (DRDO) 开发的 Daksh 机器人在安全摧毁威胁生命的物体方面发挥着作用。

  3. Medicine − 机器人能够同时执行数以百计的临床测试、康复永久性残疾人士,以及执行开颅肿瘤切除术等复杂手术。

  4. Exploration − 用于太空探索的机器人攀岩者和用于海洋探索的水下无人机仅举几例。

  5. Entertainment − 迪士尼的工程师们已经为电影制作创造了数百个机器人。

Artificial Intelligence - Neural Networks

人工智能中的另一个研究领域神经网络,其灵感源自人体神经系统的自然神经网络。

What are Artificial Neural Networks (ANNs)?

首台神经计算机的发明者罗伯特·海希特-尼尔森博士将神经网络定义为 −

Basic Structure of ANNs

人工神经网络的想法基于这样的信念:通过建立正确的连接,可以用硅和电线来模仿人脑的工作方式,就像活动中的 neuronsdendrites 一样。

人脑由 860 亿个被称为 neurons. 的神经细胞组成。它们通过 Axons. 与其他数千个细胞相连。来自外部环境的刺激或来自感觉器官的输入被树突接受。这些输入会产生电脉冲,这些脉冲会迅速通过神经网络传播。然后神经元可以将消息发送到其他神经元来处理问题,或者不将其转发。

neuron

人工神经网络由多个 nodes 组成,它们模仿人脑的生物 neurons 。神经元通过链接相互连接,并相互交互。节点可以获取输入数据并在数据上执行简单运算。这些运算的结果会传递给其他神经元。每个节点的输出被称为它的 activationnode value.

每个链接都与 weight. 相关联,人工神经网络具有学习能力,这种学习能力可以通过改变权重值来实现。下图显示了一个简单的人工神经网络 −

atypical ann

Types of Artificial Neural Networks

有两种人工神经网络拓扑 − FeedForwardFeedback.

FeedForward ANN

在此人工神经网络中,信息流是单向的。一个单元向另一个单元发送信息,而它不会从该单元接收任何信息。没有反馈环路。它们用于模式生成/识别/分类。它们的输入和输出是固定的。

feed forward ann

FeedBack ANN

在此处,允许使用反馈环路。它们用于内容可寻址内存。

feedback ann

Working of ANNs

在所示拓扑图中,每个箭头表示两个神经元之间的连接,并指示信息的流动路径。每个连接都有一个权重,这是一个整数,用于控制两个神经元之间的信号。

如果网络生成“良好或理想”的输出,则无需调整权重。但是,如果网络生成“不良或不理想”的输出或错误,则系统将为了改进后续结果而改变权重。

Machine Learning in ANNs

人工神经网络能够学习并且需要进行训练。有几种学习策略 -

  1. Supervised Learning - 涉及到一个比人工神经网络本身更博学的老师。例如,老师提供一些示例数据,而老师已经知道答案。例如,模式识别。人工神经网络在识别的过程中不断猜测。然后老师向人工神经网络提供答案。然后网络将猜测与老师的“正确”答案进行比较,并根据错误进行调整。

  2. Unsupervised Learning - 当没有包含已知答案的示例数据集时需要。例如,搜索隐藏模式。在这种情况下,群集即根据一些未知模式将一组元素划分为组,是基于现有的数据集进行的。

  3. Reinforcement Learning - 此策略建立在观察之上。人工神经网络通过观察其环境来做出决策。如果观察结果是否定的,则网络调整其权重,以便下次能够做出不同的所需决策。

Back Propagation Algorithm

这是训练或学习算法。它通过示例进行学习。如果您向算法提交网络将要执行操作的示例,它将更改网络的权重,以便在完成训练后针对特定的输入生成所需的输出。

反向传播网络非常适合简单的模式识别和映射任务。

Bayesian Networks (BN)

这些是用于表示一组随机变量之间的概率关系的图形结构。贝叶斯网络也称为 Belief NetworksBayes Nets. BNs 推理不确定的域。

在这些网络中,每个节点表示具有特定命题的随机变量。例如,在医学诊断域中,节点“癌症”表示患者患有癌症的命题。

连接节点的边表示这些随机变量之间的概率依赖性。如果两个节点中有一个正在影响另一个,则必须按照效果的方向直接连接它们。变量之间的关系强度由与每个节点关联的概率来量化。

BN 中的弧上只有一个约束,即您不能仅仅通过遵循有向弧而返回到一个节点。因此,BN 被称为有向无环图 (DAG)。

BN 能够同时处理多值变量。BN 变量由两个维度组成 -

  1. Range of prepositions

  2. 分配给每个命题的概率。

考虑离散随机变量的有限集 X = {X1, X2, …,Xn},其中每个变量 Xi 可以从有限集 Val(Xi) 中取值。如果从变量 Xi 到变量 Xj 有一个有向链接,则变量 Xi 将成为变量 Xj 的父节点,显示变量之间的直接依赖性。

BN 的结构非常适合于结合先验知识和观察到的数据。BN 可用于学习因果关系并了解各种问题域,以及预测未来事件,即使在数据缺失的情况下也是如此。

Building a Bayesian Network

知识工程师可以构建贝叶斯网络。知识工程师在构建它时需要采取一些步骤。

Example problem - 肺癌。一名患者一直患有呼吸急促。他去看医生,怀疑自己患有肺癌。医生知道,除了肺癌之外,患者还有可能患上多种其他疾病,例如结核病和支气管炎。

Gather Relevant Information of Problem

  1. 患者是否吸烟?如果是的,则患癌症和支气管炎的可能性很高。

  2. 患者是否接触空气污染?如果是,是哪种空气污染?

  3. 进行 X 射线透视,透视结果为正,表示该患者患有肺结核或肺癌。

Identify Interesting Variables

知识工程师试图回答以下问题:

  1. Which nodes to represent?

  2. 这些变量可以取什么值?它可以处于哪些状态?

现在,让我们考虑仅具有离散值的节点。此变量一次必须采用其中一个值。

Common types of discrete nodes are

  1. Boolean nodes − 它们表示命题,取二进制值真 (T) 和假 (F)。

  2. Ordered values − 一个节点 Pollution(污染)表示并取值 {low, medium, high},描述患者的污染暴露程度。

  3. Integral values − 一个名为 Age(年龄)的节点表示患者年龄,可能的取值范围为 1 到 120。即使处于早期阶段,也在做出建模选择。

肺癌示例中可能的节点和值 −

Node Name

Type

Value

Nodes Creation

Polution

Binary

{LOW, HIGH, MEDIUM}

Smoker

Boolean

{TRUE, FASLE}

Lung-Cancer

Boolean

{TRUE, FASLE}

X-Ray

Binary

Create Arcs between Nodes

网络拓扑应捕获变量之间的定性关系。

例如,什么导致患者患有肺癌?- 污染和吸烟。然后从节点 Pollution 和节点 Smoker 添加指向节点 Lung-Cancer 的弧线。

类似的,如果患者患有肺癌,那么 X 射线结果将为正。然后从节点 Lung-Cancer 添加弧线,指向节点 X-Ray。

bn node arc creation

Specify Topology

根据惯例,BN 的布局使得弧线从上向下指向。节点 X 的父节点集合由 Parents(X) 给出。

节点 Lung-Cancer 具有两个父节点(原因或起因):Pollution 和 Smoker,而 Smoker 节点是 X-Ray 节点的 ancestor 。类似地,X-Ray 是节点 Lung-Cancer 的子节点(后果或影响),以及节点 Smoker 和 Pollution 的 successor

Conditional Probabilities

现在量化相连节点之间的关系:此过程通过为每个节点指定一个条件概率分布来完成。由于此处仅考虑离散变量,因此采用 Conditional Probability Table (CPT). 形式

首先,对于每个节点,我们需要查看父节点值的各种可能组合。这种组合被称为父集的 instantiation 。对于父节点值的每个不同实例,我们需要指定子节点将采用的概率。

例如,肺癌节点的父节点是污染和吸烟。它们采用可能的取值 = {(H,T),(H,F),(L,T),(L,F)}。CPT 指定对于这四个案例中的每一个案例,癌症的概率分别为 <0.05,0.02,0.03,0.001>。

每个节点都将具有如下关联的条件概率 −

probabilities

Applications of Neural Networks

它们可以执行对于人类来说很容易但对于机器来说很难的任务 −

  1. Aerospace − 飞机自动驾驶,飞机故障检测。

  2. Automotive − 汽车引导系统。

  3. Military − 武器定位和操纵、目标跟踪、物体分类、面部识别、信号/图像识别。

  4. Electronics − 代码序列预测、集成电路芯片布局、芯片故障分析、机器视觉、语音合成。

  5. Financial − 房地产评估、贷款顾问、抵押筛查、公司债券评级、投资组合交易计划、公司财务分析、货币价值预测、文档阅读器、信贷申请评估器。

  6. Industrial − 制造过程控制、产品设计和分析、质量检测系统、焊缝质量分析、纸张质量预测、化学产品设计分析、化学工艺系统的动态建模、机器维护分析、项目投标、规划和管理。

  7. Medical − 癌细胞分析、脑电图和心电图分析、假肢设计、移植时间优化器。

  8. Speech − 语音识别、语音分类、文本到语音转换。

  9. Telecommunications − 图像和数据压缩、自动信息服务、实时口语翻译。

  10. Transportation − 卡车制动系统诊断、车辆调度、路径系统。

  11. Software − 面部识别的模式识别、光学字符识别等。

  12. Time Series Prediction − ANN 用于对股票和自然灾害进行预测。

  13. Signal Processing − 神经网络可以接受训练来处理音频信号,并在助听器中对其进行适当地过滤。

  14. Control − ANN 通常用于对物理车辆进行转向决策。

  15. Anomaly Detection − 由于 ANN 精于识别模式,因此还可以对 ANN 进行训练以在出现不符合模式的异常时生成输出。

Artificial Intelligence - Issues

AI 的发展速度令人难以置信,有时甚至像魔术一样。研究人员和开发人员有一种观点,认为 AI 可能变得无比强大,以致人类很难控制。

人类向 AI 系统输入了他们掌握的每一种可能的智慧,开发出了 AI 系统,但人类自身现在看来受到了威胁。

Threat to Privacy

理论上,能识别语音和理解自然语言的 AI 程序能够理解电子邮件和电话中的每一场对话。

Threat to Human Dignity

AI 系统已经开始在一些行业取代人类。它不应取代在道德相关行业中处在尊贵职位的人员,如护士、外科医生、法官、警察等。

Threat to Safety

自完善的 AI 系统可能会变得比人类更强大,很难阻止它们实现自己的目标,这可能导致意外后果。

Artificial Intelligence - Terminology

以下是 AI 领域中常用术语列表 −

Sr.No

Term & Meaning

1

Agent Agent 是能够自主、有目的地且朝一个或多个目标进行推理的系统或软件程序。它们也称为助手、中介、机器人、智能人、软件代理。

2

Autonomous Robot 不受外部控制或影响且能够独立控制自己的机器人。

3

Backward Chaining 为问题的理由/原因进行反向工作的策略。

4

Blackboard 这是计算机内部的内存,用于在协作专家系统之间进行通信。

5

Environment 这是由代理居住的真实或计算世界的一部分。

6

Forward Chaining 为问题结论/解决方案进行正向工作的策略。

7

Heuristics 这是基于试错、评估和实验的知识。

8

Knowledge Engineering 从人类专家和其他资源获取知识。

9

Percepts 这是代理从环境中获取信息的形式。

10

Pruning 在人工智能系统中覆盖不必要且不相关的考虑因素。

11

Rule 这是专家系统中表示知识库的一种形式。它采用 IF-THEN-ELSE 形式。

12

Shell 外壳是一种软件,有助于设计专家系统的推理引擎、知识库和用户界面。

13

Task 这是代理试图实现的目标。

14

Turing Test 艾伦·图灵开发的一项测试,用于测试机器的智能与人类智能相比如何。