INT201 形式语言与自动机笔记(下)

L6 Context-Free Languages 上下文无关语言

Context-Free Grammar (CFG)

是一组用于生成字符串模式的递归规则。上下文无关的语法可以描述所有的常规语言,但它们不能描述所有可能的语言。

e.g

遵循这些规则,我们可以生成一种语言:

上下文无关文法 Context Free Grammar

上下文无关的语法是一个4元组G = (V, Σ, R, S),其中

1. V是一个有限集合,它的元素叫做 Variable,
2. Σ是一个有限集合,它的元素称为 Terminal,
3. V∩Σ =∅,
4. S是V的一个元素;它被称为start variable,
5. R是一个有限集合,它的元素称为rules。每条rule 的形式是A→w,其中A∈V, w∈(V∪Σ)*

e.g1

e.g2

e.g3

e.g4

 正则语言属于上下文无关语言

 语法分析树

e.g1

边缘/结果

Derivation派生/推导

 e.g1

e.g2

e.g3

歧义性 ambiguity

e.g1

用CFG获取字符串和语言

CFG的语言

定义

例1(?)

例2(?)

Palindrome 回文

例3

正则语言是上下文无关的

以Σ为字母表,以L≥Σ *为Regular语言。那么L是一种无关上下文的语言(所有Regular语言都是无关上下文的)。

例1(?)

例2(?)

Chomsky Normal Form (CNF) 乔姆斯基范式

定义

每一个上下文无关语法G = (V, Σ, R, S) 都是乔姆斯基范式,如果R中的每个规则都有以下三种形式之一:

•A→BC,其中A、B、C是V的元素,B≠S, C≠S。
•a→x,其中a是V的元素,a是Σ的元素。
•S→ε,其中S为起始变量

原因

更容易使用

理论

让Σ成为一个字母,让L \displaystyle \subseteq Σ *成为一个无上下文的语言。存在一种乔姆斯基范式的上下文无关语法,其语言为L(每个CFL都可以用CNF中的一个CFG来描述)。

证明

给定CFG G = (V, Σ, R, S),逐一替换所有非“乔姆斯基”规则。

•启动变量(RHS规则不允许) 也就是在规则的末尾,不能再出现开始变量。也就是说,规则的右侧不能再包含起始符号。
•ε-规则(当A不是启动变量时不允许A→ε)
•所有其他违规行为(A→B、A→aBc、A→BCDE)

把CFG转化成CNF

步骤

步骤1。从规则的右侧删除start变量。

步骤2。去掉 ε-rules A→ε,其中A∈V−{S}

当删除A→ε-rules 时,插入所有新的替换:

步骤3。移除单位规则A→B,其中A∈V。

步骤4。消除所有右边有两个以上符号的规则。

第5步。消除所有形式为A→ab的规则,其中A和b不都是变量。

Closure property of CFG

理论1:

如果𝐿1and𝐿2是上下文无关的语言,那么它们的联合𝐿1∪𝐿2也是上下文无关的。

理论2:

如果𝐿1and𝐿2是无关上下文的语言,它们的联合𝐿1°𝐿2也是无关上下文的。(?)

理论3: 

如果𝐿1 is是与上下文无关的语言,它们的Kleene闭包𝐿* 1也是与上下文无关的。(?)

Syntactic parsing 语法解析(optional)

用上下文无关语法解析自然语言

例1

Pushdown Automata下推自动机

下推自动机可以接受的语言类别正是上下文无关的语言类别(有限自动机适用于常规语言)。

成分:tape, stack, state control

tape, tape head, stack, stack head, state control

PDA和NFA唯一的区别就是多了stack

PDA Definition

1.六元组

7元组

e.g1 六元组

 $是压箱底的,平时不用

 e.g2

e.g3 7元组

瞬时描述

PDA接受的语言

e.g1

CFL构造PDA

e.g1

e.g2

e.g3 

确定性下推自动机 DPDA

例12中,q0是把前半部分压进去,q1是做前后部分的匹配,q2是可接受状态

e.g1

DPDA能识别RL

Lec 9 Turing Machine and Variants

Properties of Turing Machine

TM Configuration 格局

TM Transitions

TM Computation

Yields产生

可识别 

 可判定(可计算)

e.g1

e.g2

Language accepted by TM

Decider

Multi-tape TM 多带图灵机

Multi-tape TM equivalent to 1-tape TM  

单带图灵机和多带实际上是等价的,只是提速和简化了

Nondeterministic TM (NTM)

 e.g1

NTM equivalent to TM

因为等价性,以后尽可能用高级工具,多带NTM

 

 在有穷的时间内吧所有的分支都走完

Address

Simulating NTM by DTM

Encoding

Encoding of Graph

TM to decide the connectedness of a Graph

Lec 10 Recognizable/Decidable Languages

set

Countable set

Uncountable set 

                             

Cantor’s Diagonalization Method康托的对角化方法

对角线法(zig-zag)                                                                                                                           补充:区间,实数,无理数都是不可数集                           

Church-Turing Thesis

任何在算法上可计算的问题同样可由图灵机计算,或者说,每个有效计算都可以由一台图灵机完成

存在不可图灵识别(non Turing-recognizable)的语言

推论1:图灵机的数量是可数的(因为这些二进制数字和特殊符号是可数的)

命题2:语言的数量是不可数的

由此,我们再次得出一个推论:图灵不可识别的语言是存在的

Decidability 可判定性

Acceptance problem for computation model

Acceptance problem for Language LDFA

Acceptance problem for Language LNFA

Acceptance problem for Language LCFG

一个空的CFG是可判定的

The Language LTM is Turing-recognizable

The Language LTM is undecidable

我们不知道通用图灵机是否会停止工作。与我们之前看到的所有机器不同,TM可能永远运行下去。

Instance of non Turing-recognizable languages 关于非图灵识别语言的实例

Universal Turing Machine 通用图灵机

存在一个TM U,它接受一个图灵机描述和输入磁带,并在输入磁带上模拟给定图灵机的一个步骤。(如下图)其中:TM U的输入格式为:<M,w>,其中M是对指定TM的描述,w是(转换后)的输入。

Examples of decidable languages

对问题的相关语言无法被一个图灵机识别,因为该图灵机无法对该语言所有输入都能做到停机判断(存在输入导致图灵机无法停机)

Existence of undecidable language and non-Turing recognizable language

不可识别问题:问题的相关语言不能被TM识别 其中注意:一个不可判定语言是可以被识别的

Lec 11 Reducibility and Undecidable Languages

Ruducibility 规约性

Mapping Reduction

The Halting Problem and other undecidable languages

Halting problem for TMs is undecidable

Emptiness of TMs is undecidable

Rice’s Theorem

Non-trivial Properties

Rice’s Theorem

Applications

Non-Applications

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/605499.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

热钱涌向线控底盘!XYZ全栈集成引领新风向

在车身、底盘部分&#xff0c;中央计算区域控制带动传统车控、底盘及动力控制ECU市场迎来新一轮技术升级和域融合窗口期。线控制动、转向及空气悬架&#xff0c;正在加速与智能驾驶融合并进一步提升驾乘体验。 12月13-15日&#xff0c;2023&#xff08;第七届&#xff09;高工…

树莓派3B+ /+ CSI摄像头 + FFmpeg + SRS 实现直播推流

简介&#xff1a; 手头有一个树莓派3B 和一块CSI摄像头&#xff0c;想要实现一个推拉流直播的效果。 所需材料&#xff1a;开发板&#xff08;我用的是树莓派3B&#xff09;、CIS摄像头、云服务器&#xff08;用来搭建SRS服务器&#xff09; 具体实现思路&#xff1a; 使用…

[排序算法] 如何解决快速排序特殊情况效率低的问题------三路划分

前言 在[C/C]排序算法 快速排序 (递归与非递归)一文中,对于快速排序的单趟排序一共讲了三种方法: hoare、挖坑法、双指针法 ,这三种方法实现的快速排序虽然在一般情况下效率很高,但是如果待排序数据存在大量重复数据,那这几种方法的效率就很低,而为了解决快速排序在这样特殊情况…

XCode Build报错

XCode Build时报以下错误 B/BL out of range 143266484 (max /-128MB) 错误提示表明生成的机器代码太大&#xff0c;超出了限制 需要在XCode工程中添加宏定义&#xff0c;使得生成的可执行文件超过限制 步骤&#xff1a; 在项目设置页面中&#xff0c;选择 “Build Settings…

labelme的安装

首先尝试在(openmmlab)的python3.8的环境下安装&#xff08;失败&#xff09;。应该是我环境其他部分不对&#xff0c;和python版本应该没什么关系。&#xff08;后续&#xff0c;创建新的环境后成功&#xff0c;可直接看最后一部分。&#xff09; 首先安装是没问题的 pip in…

浅谈智能照明系统调试阶段节能方案的探究与产品选型

贾丽丽 安科瑞电气股份有限公司 上海嘉定 201801 【摘要】针对当今智能照明系统调试完成前能源浪费的问题&#xff0c;本文结合工程案例&#xff0c;分析研究了智能照明系统调试阶段的节能方法&#xff0c;提出了采用时间控制器来解决能源及人工浪费等问题的方式。实践证明&a…

基于spark的个性化招聘推荐系统

介绍 本就业推荐系统是一个基于Spark框架的个性化推荐平台&#xff0c;使用Python Django框架、Vue和Element-Plus UI组件库构建而成。该系统通过Scrapy爬虫框架抓取招聘网站的职位数据&#xff0c;用户可以根据关键词查询符合条件的职位信息&#xff0c;同时还提供了基于协同…

QT应用篇:QT自定义最小化托盘显示和操作

将应用程序最小化到托盘任务栏中,可以使用Qt框架中的QSystemTrayIcon类。该类允许应用程序在关闭窗口后最小化到系统托盘,保持在后台运行,同时可以显示应用程序图标、添加右键菜单功能以及发送消息通知等。通过学习这些技术,能够为自己的Qt应用程序增加更多的交互性和便利性…

关于Js深拷贝的三种方法详细讲解

目录 前言 一、pandas是什么&#xff1f; 二、使用步骤 1.利用函数递归来实现深拷贝 2.利用引入lodash包 3.利用JSON字符串转换 总结 前言 当涉及到JavaScript数据拷贝的时候&#xff0c;深拷贝是一个非常关键的概念。在JavaScript中&#xff0c;对象和数组被认为是引用类型&a…

结构体(structure)的认识

前言——————希望现在在努力的各位都能感动以后享受成功的自己&#xff01; 今天我们来了解了解一下结构体&#xff0c;结构体又有什么奥妙呢&#xff0c;废话不多说&#xff0c;何为结构体呢&#xff1f;------->结构是⼀些值的集合&#xff0c;这些值称为成员变量。结…

每日算法打卡:子矩阵的和 day 8

文章目录 原题链接题目描述输入格式输出格式数据范围输入样例&#xff1a;输出样例&#xff1a; 题目分析示例代码 原题链接 796. 子矩阵的和 题目难度&#xff1a;简单 题目描述 输入一个 n 行 m 列的整数矩阵&#xff0c;再输入 q 个询问&#xff0c;每个询问包含四个整数…

即时设计:设计稿与PPT完美结合,让您的创意作品更具影响力

PPT助手 更多内容 在设计领域&#xff0c;将设计稿与PPT结合起来&#xff0c;可以让您的作品更具吸引力和影响力。为了满足这一需求&#xff0c;我们向您推荐一款强大的设计工具&#xff0c;它可以将设计稿导出为PPT文件&#xff0c;支持线上预览和编辑&#xff0c;让您的创意…

2024年大数据不完全预测

人工智能的进步可能是2024年的主要推动力&#xff0c;也凸显出大数据的挑战——如何存储、管理、管理和使用大数据——从未如此紧迫。&#xff0c;因为如果作为基石的数据失控&#xff0c;人工智能就没有意义了。当然反之亦然。 人工智能的进步可能是2024年的主要推动力&#…

【leetcode】力扣算法之相交链表【中等难度】

题目描述 给你两个单链表的头节点 headA 和 headB &#xff0c;请你找出并返回两个单链表相交的起始节点。如果两个链表不存在相交节点&#xff0c;返回 null 。 图示两个链表在节点 c1 开始相交&#xff1a; 题目数据 保证 整个链式结构中不存在环。 注意&#xff0c;函数…

如何解决海量数据的问题

近年来&#xff0c;高并发、分布式以及大数据成了后端开发者绕不开的话题&#xff0c;招聘软件上几呼都写着有高并发、大数据等项目经历优先时。很多人实际项目往往都是 CRUD&#xff0c;也没机会接触到这些场景啊。 但是&#xff0c;有位伟人曾经说过&#xff1a;没有条件&am…

并发(9)

目录 50.AQS的核心思想是什么&#xff1f; 51.AQS有哪些核心方法&#xff1f; 52.AQS定义什么样的资源获取方式&#xff1f; 53.AQS底层使用了什么样的设计模式&#xff1f; 54.什么是可重入&#xff0c;什么是可重入锁&#xff1f;他用来解决什么问题&#xff1f; 55.Ree…

小程序实现绘制图片 保存到手机

HTML <template><view><canvas canvas-id"myCanvas" :style"{height:380px,width:wWidthpx,background:#FFFFFF}"></canvas><view class"textCenter"><button click"saveCanvas">保存图片</b…

三代半导体材料有何区别

什么是半导体材料 半导体材料是制作半导体器件和集成电路的电子材料&#xff0c;是半导体工业的基础。利用半导体材料制作的各种各样的半导体器件和集成电路&#xff0c;促进了现代信息社会的飞速发展。 绝缘体、半导体和导体的典型电导率范围 半导体材料的研究开始于19世纪初…

什么是消费增值?如何做到增值?

在当今的商业世界&#xff0c;消费观念正在经历一场深刻的变革。传统的消费模式中&#xff0c;消费者购买商品后&#xff0c;交易即结束&#xff0c;消费者与商品的关系仅停留在使用层面。然而&#xff0c;随着消费增值模式的出现&#xff0c;这一观念正在被颠覆。这一模式将消…

React 元素拖拽教程 react-dnd 实现拖拽

实现效果 下面是实际的项目中的应用&#xff0c;涉及业务逻辑代码比较繁琐&#xff0c;下文只说明其基本原理&#xff0c;有疑问的地方请留言 h5原生的拖拽处理起来过分的繁琐&#xff0c;而社区已经提供了成熟的库 react-dnd 来帮助我们实现这些细节&#xff0c;我们只需要关…