软件理论基础考试复习

软件理论基础考试复习

14个填空、4个简答、4~5个解答

1. 填空

  1. 直觉主义逻辑常采用三值逻辑来处理命题的真实,包括?

    真(True):表示命题是确定为真的

    假(False):表示命题是确定为假的

    未知(Unknown)或者可疑(?):表示命题的真值尚不确定,既不能被证明为真也不能被证明为假

  2. 四种简单模态判断分别是:同素材的?

    同素材的必然肯定判断、通素材的必然否定判断、同素材的可能肯定判断、同素材的可能否定判断

    补充:

    ​ 同素材的必然P、必然非P、可能P和可能非P四种简单模态判断之间,也存在着一种真假制约关系,即对当关系。这种对当关系同A、E、I、O四种基础性质判断间的对当关系是非常相似的。

    • A型判断:直接陈述了一个事实。例如,“这个苹果是红色的”就是一个A型判断
    • E型判断:解释一个概念的含义。例如,“‘正义’是指公平和公正的原则”就是一个E型判断
    • I型判断:表明两个事件之间的条件关系。例如,“如果今天下雨,那么地面会湿”就是一个I型判断
    • O型判断:表明两个属性的对立性。例如,“一个物体不能同时是热的和冷的”就是一个O型判断

  3. LTL的元性质?

    完备性:任何可以用LTL表述的有效性质都可以通过该公理系统得到证明

    封闭性:通过公理系统推导出的所有公式也是LTL公式

    决定性:存在算法(如tableau方法或模型检验方法)可以判定一个LTL公式是否为有效(即在所有可能的时间序列中始终为真)

    可判定性:对于一些特定问题,比如是否存在一个模型满足给定的LTL公式,存在可计算的解决方案

    补充:

    • LTL,线性时序逻辑,是一种用于描述系统行为随时间演变的逻辑系统,特别适用于模型检查和验证领域
    • LTL有一套形式化的公理系统,通常包括推理规则公理集合,用来确保逻辑系统的健全性和一致性
    • CTL,计算树逻辑,是一种时序逻辑,专门设计用来描述和验证树状结构(特别是状态空间搜索树)中的路径性质
    • CTL不仅可以表达线性时序逻辑(LTL)中的某些特性,还能表达路径的存在性和全局性质
    • CTL的元性质:完备性、封闭性、可判定性、下推性质

2. 简答题

  1. 无类别λ演算和带类型λ演算的区别包括?

    • 类型系统:
      • 无类型λ演算:没有类型系统,因此不能防止非法操作
      • 带类型λ演算:有类型系统,类型系统可以检查程序是否符合类型规则,确保类型安全
    • 安全性:
      • 无类型λ演算:缺乏类型检查,可能导致运行时错误
      • 带类型λ演算:通过类型检查可以在编译时捕捉到大部分类型错误,提供更高的安全性
    • 表达能力:
      • 无类型λ演算:
        • 表达能力非常强,可以表示任何可计算函数,是图灵完全的
        • 由于没有类型限制,可能导致难以理解和调试程序中的错误
      • 带类型λ演算:
        • 表达能力同样很强,但由于类型限制,一些不符合类型的表达式不能被表示
        • 类型系统可以帮助捕捉一些编程错误,提供更多的结构和清晰性
    • 类型推断:
      • 无类型λ演算:没有类型推断,因为没有类型系统
      • 带类型λ演算:有些带类型λ演算系统支持类型推断,可以自动推导出表达式的类型,减少显式类型注释的需求
    • 用途:
      • 无类型λ演算:多用于理论研究,如研究计算的基本性质、计算模型等
      • 带类型λ演算:广泛用于实际编程语言的设计和实现,类型系统可以帮助提高程序的可靠性和可维护性
  2. 写出P类问题及NP类问题的定义以及它们之间的关系

    P类问题:P类问题是指可以在多项式时间内由确定性图灵机解决的问题。(P表示确定的图灵机在多项式时间(步数)内可判定的语言类,这些语言对应的问题成为P类问题,这种语言称为多项式可判定的)

    NP类问题:NP类问题是指可以在多项式时间内由非确定性图灵机解决的问题。(NP表示不确定的图灵机在多项式时间(步数)内可判定的语言类,这些语言对应的问题成为NP类问题,也称这些问题是NP复杂的,或者NP困难的,这种语言称为非确定性多项式可判定的)

    **关系:**包含关系,P类问题是NP类问题的一个子集,即P⊆NP。

    补充

  3. 简述图灵机的形式化定义

    一个图灵机可以形式化地定义为一个七元组:

    1. Q:有限状态集合
    2. Σ :输入字母表
    3. Γ :带符号表,且 Σ⊆Γ
    4. δ :移动函数,定义为 δ:Q×Γ→Q×Γ×{L,R}
    5. q0:开始状态
    6. B:空白符
    7. F:终止状态集合
  4. 乔姆斯文法体系

    乔姆斯基文法体系将形式语言分为四个层次,从最严格的到最宽松的,依次为0型、1型、2型和3型文法。每种类型的文法都有不同的产生规则,具体如下:

    1. 0型文法 - 无限制文法 - 短语结构文法
      • 定义:最一般的形式文法,没有任何限制,可以生成所有递归可枚举语言
      • 产生式形式:α→β,其中 α和 β 是任意的字符串,且 α至少包含一个非终结符
      • 语言特性:所有可以被图灵机识别的语言
    2. 1型文法 - 上下文相关文法
      • 定义:每个产生式都要求在特定上下文中进行替换,生成的语言为上下文相关语言
      • 产生式形式:αAβ→αγβ,其中 A是一个非终结符,α、β 和 γ 是任意字符串,且 γ 至少与 A 一样长
      • 特殊情况:形式 S→ϵ允许的前提是 S 不出现在任何产生式的右侧
      • 语言特性:可以由线性有界非确定性图灵机识别的语言
    3. 2型文法 - 上下文无关文法
      • 定义:每个产生式的左侧必须是一个单一的非终结符,生成的语言为上下文无关语言
      • 产生式形式:A→β,其中 A是一个非终结符,β 是任意字符串
      • 语言特性:可以由非确定性下推自动机识别的语言
    4. 3型文法 - 正规文法
      • 定义:每个产生式要么是一个终结符后跟一个非终结符,要么是一个单一的终结符,生成的语言为正规语言
      • 产生式形式:
        • 右线性文法:A→aB或 A→aA,其中 A 和 B 是非终结符,a 是终结符
        • 左线性文法:A→Ba或 A→aA
      • 语言特性:可以由有限状态自动机识别的语言
  5. Ackerman函数

    阿克曼函数是一个递归函数,通常定义如下:

    • 当 m=0时,函数值为 n+1。
    • 当 m>0 且 n=0时,函数值为 A(m−1, 1)。
    • 当 m>0且 n>0 时,函数值为 A(m−1, A(m, n−1))。

    补充:

    意义和性质

    1. 计算复杂性:阿克曼函数的增长速度极其快,超出了任何多项式或指数函数。这使得它成为计算复杂性理论中的一个典型例子,用于展示某些算法或计算过程中可能遇到的极端复杂性
    2. 不可计算性:虽然阿克曼函数是完全可计算的,但它展示了如何通过简单的递归规则构造出复杂性极高的函数,它也启发了其他不可计算函数的研究
    3. 实际应用:在计算机科学中,阿克曼函数用于测试编译器和系统的性能,特别是它们处理递归调用的效率
  6. 请给出∑上的下列语言的形式表示:

    1. 所有以xx开头,以yy结尾的串
    2. 所有包含子串???的串
    3. 所有正数第?个字符是X的串

    相关知识:

    ​ {}^n:n次幂,集合中的元素出现n次

    ​ {}^+:正闭包,集合中的元素至少出现1次

    ​ {}^*:克林闭包,集合中的元素出现任意次(包含0次)

  1. 请给出G的每个语法范畴代表的集合:

    1. S–>aSa|aaSaa|aAa

    2. A–>bA|bbbA|bB

    3. B–>cB|cC

    4. C–>ccC|DD

    5. D–>dD|d

3. 解答题

3.1 构造与某RE等价的FA(画图)(Tompson构造法)

  1. 定理

  2. 例题


3.2 写出语法分析树(画图)

最左派生(规范派生):

最右派生:

二义性:

自顶向下的分析和自底向上的分析:

自顶向下:文法—>符号串

自底向上:符号串—>文法

3.3 根据给定的NFA,构造与之等价的DFA(表格、图)

  1. 例题

    NFA:

    转化后的DFA(包含不可达状态的,考试不用写这么多):


  2. 考题


  3. 终止状态

    NFA中q3是终止状态,则在转化后的DFA中,终止状态是包含NFA终止状态 q3 的所有状态

3.4 表达式的规约过程

  1. 资料

    https://www.cnblogs.com/liumuqiu/p/8965687.html

  2. 例题1(β变换)

  3. 例题2

3.5 极小化DFA(简单描述、表格、图)

相关知识:

例题1:

图画错了,这个q5是非终止态

例题2:

图画错了,这个q5是非终止态

例题3:

例题4:

3.6 补充作业题


上述简答题中,要求给出的是语言的形式表示

下面这道题的要求的给出的是语言的文法

(1)写错了,应该是

S—>0A|0

A—>0|1|0A|1A

例题:

作业题:


例题:

作业题:

例题:

作业题:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值