JMU形式化建模

形式化建模与分析复习归纳

可能存在部分错误,需读者自行判断。

简答题

1. 串行系统的程序正确性定义

Q表示一段串行程序,x是Q的输入,z是Q的输出,且Q合法的输入要求由 φ ( x ) φ(x) φ(x)来约束,合法的输出由 ψ ( x , z ) ψ(x,z) ψ(x,z)来约束,则称Q具有:
部分正确性: φ ( x ) ∧ Q 终止 → ψ ( x , z ) \varphi (x) \land Q_{终止} \rightarrow \psi(x,z) φ(x)Q终止ψ(x,z)
终止性: ψ ( x ) → Q 终止 \psi(x) \rightarrow Q_{终止} ψ(x)Q终止
完全正确性: φ ( x ) → Q 终止 ∧ ψ ( x , z ) \varphi(x) \rightarrow Q_{终止} \land \psi(x,z) φ(x)Q终止ψ(x,z)
 

2. 有限状态机的不足之处

  1. 状态数很多,组合、进行复合时,状态数会呈几何倍数增加,使得状态图规模非常庞大
  2. 有限状态机模型在系统所处的每个状态上,在任何时刻最多执行一个操作。因此有限状态机只可以描述持续性接受输入,描述并发能力弱
  3. 状态数是有限的,只能描述有限状态,不能描述无限状态的系统
  4. 状态之间不存在结构信息,因此不能描述系统的结构特性
     

3. Petri 网模型上迁移间的关系、几种特殊Petri 网对各类关系的描述能力。

  • 迁移间的关系:

    1. 顺序关系:$M[t_1>M’,且M’[t_2>, \lnot M[t_2> $
       
      请添加图片描述

    2. 并行/并发关系:
      M [ t 1 > M ′ , 且 M ′ [ t 2 > M ′ ′ ′ M[t_1>M',且M'[t_2>M''' M[t1>M,M[t2>M′′′

      M [ t 2 > M ′ ′ , 且 M ′ ′ [ t 1 > M ′ ′ ′ M[t_2>M'',且M''[t_1>M''' M[t2>M′′,M′′[t1>M′′′
       
      请添加图片描述

     

    1. 冲突关系:
      M [ t 1 > M ′ , 且 M [ t 2 > M ′ ′ M[t_1>M',且M[t_2>M'' M[t1>M,M[t2>M′′

      ¬ M ′ [ t 2 > , 且 M ′ ′ [ t 1 > \lnot M'[t_2>,且M''[t_1> ¬M[t2>,M′′[t1>
       
      请添加图片描述

     

    1. 混惑关系:
      当前M=(1,1,0,1,0,0),且同一时刻 t 1 , t 3 t_1,t_3 t1,t3都可发生。
      1.若 t 3 t_3 t3先引发,则 t 1 , t 2 t_1,t_2 t1,t2存在混惑
      2.若 t 1 t_1 t1先引发,再引发 t 3 t_3 t3,则不会存在混惑
      以上两种情况初态相同,终态相同,但一种有冲突发生,一种没有
      ∴ \therefore 仅从初态和终态无法观察出是否发生过冲突的情况,成为混惑
       
      请添加图片描述
  • 特殊Petri 网对各类关系的描述能力:

    1. 状态机: 顺序,并发,冲突,不混惑
    2. 标记图: 顺序,并发,不冲突
    3. 自由选择网: 顺序,并发,冲突,不混惑
    4. 扩展的自由选择网: 顺序,并发,冲突,混惑(对称混惑)
    5. 非对称的自由选择网: 顺序,并发,冲突,混惑(非对称混惑)

4. Statecharts 中状态节点的类型

S t a t e c h a r t s 的状态 { 基态 / 原子态 / 简单状态 层次态 / “或”状态 并发态 / “与”状态 Statecharts的状态 \begin{cases} 基态/原子态/简单状态\\ \\ 层次态/“或”状态\\ \\ 并发态/“与”状态 \end{cases} Statecharts的状态 基态/原子态/简单状态层次态/“状态并发态/“状态

分析证明题

5. 命题逻辑的演绎证明法:

  1. 直接证明法:
    运用推理常用的规则,直接从前提推导出结论
  2. 间接证明法
    给定前提 𝐺 1 , 𝐺 2 , ⋯ , 𝐺 𝑛 {𝐺_1,𝐺_2,⋯,𝐺_𝑛} G1,G2,,Gn,则 ( 𝐺 1 ∧ 𝐺 2 ∧ ⋯ ∧ 𝐺 𝑛 ) → 𝑆 (𝐺_1∧𝐺_2∧⋯∧𝐺_𝑛)→𝑆 (G1G2Gn)S为重言式当且仅当 ( 𝐺 1 ∧ 𝐺 2 ∧ ⋯ ∧ 𝐺 𝑛 ∧ ¬ 𝑆 ) (𝐺_1∧𝐺_2∧⋯∧𝐺_𝑛∧¬𝑆) (G1G2Gn¬S)为矛盾式。
    即将结论的反当作条件进行证明,若矛盾则成立。
  3. 归结推理法(子句归结法)
    将题目条件转换为合取范式,将其中的析取式提取出来,与结论的反构成子句集合,之后利用子句集合不断证明,直至出现矛盾式。
    请添加图片描述
  • 例题: P → ( Q ∨ R ) , ¬ S → ¬ Q , P ∧ ¬ S ⊢ R P \rightarrow (Q \lor R), \lnot S \rightarrow \lnot Q, P \land \lnot S \vdash R P(QR),¬S¬Q,P¬SR
    直接证明法:
    请添加图片描述

间接证明法:
请添加图片描述

归结推理法(子句归结法):
请添加图片描述

  • 例题:
  1. ( P ∨ Q ) ∧ ( P ∨ R ) ⊢ P ∨ ( Q ∨ R ) (P \lor Q) \land (P \lor R) \vdash P \lor (Q \lor R) (PQ)(PR)P(QR)
    归结推理法:
    请添加图片描述

  2. P ∧ ( Q ↔ R ) ⊢ ( P ∧ Q ) ↔ ( P ∧ R ) P \land (Q \leftrightarrow R) \vdash (P \land Q) \leftrightarrow (P \land R) P(QR)(PQ)(PR)
    直接证明法:
    请添加图片描述

请添加图片描述

  • 部分公式:
    P Q P ↔ Q 0 0 1 0 1 0 1 0 0 1 1 1 \begin{array}{c|c|c} P & Q & P \leftrightarrow Q \\ \hline 0 &0 &1 \\ 0 &1 &0 \\ 1 &0 &0 \\ 1 &1 &1 \\ \end{array} P0011Q0101PQ1001
    P Q P → Q 0 0 1 0 1 1 1 0 0 1 1 1 \begin{array}{c|c|c} P & Q & P \rightarrow Q \\ \hline 0 &0 &1 \\ 0 &1 &1 \\ 1 &0 &0 \\ 1 &1 &1 \\ \end{array} P0011Q0101PQ1101
    P ↔ Q ⇔ P → Q ∧ Q → P P \leftrightarrow Q \Leftrightarrow P \rightarrow Q \land Q \rightarrow P PQPQQP
    P → Q ⇔ ¬ P ∨ Q P \rightarrow Q \Leftrightarrow \lnot P \lor Q PQ¬PQ

6. 谓词逻辑

  1. 文字描述转谓词逻辑描述

    • 例题:所有哺乳动物都是脊椎动物,并非所有哺乳动物都是胎生动物,因此有些脊椎动物不是胎生的。
      请添加图片描述
  2. 谓词逻辑证明

    • 例题1: ⊢ ∃ X ⋅ ( P ( X ) → ∀ Y ⋅ P ( Y ) ) \vdash \exists X \cdot (P(X) \rightarrow \forall Y \cdot P(Y) ) X(P(X)YP(Y))
      归结推理法:
      请添加图片描述

    • 例题2: P ( a , b ) ∧ ∀ X ⋅ ( ∃ Y ⋅ P ( Y , X ) ∨ P ( X , Y ) → P ( X , X ) ) ⊢ P ( a , a ) P(a,b) \land \forall X \cdot (\exists Y \cdot P(Y,X) \lor P(X,Y) \rightarrow P(X,X)) \vdash P(a,a) P(a,b)X(YP(Y,X)P(X,Y)P(X,X))P(a,a)
      直接证明法:
      请添加图片描述

    归结推理法:
    请添加图片描述

    • 例题3:
      请添加图片描述

    间接证明法:
    请添加图片描述

7. Floyd 前后断言法

  1. 归纳断言法: 证明部分正确性。

    1. 建立断言:
      P i ( X , Y ) P_i(X,Y) Pi(X,Y) i i i处的断言(程序的每个循环处)
      φ ( X ) \varphi (X) φ(X):开始处断言
      ψ ( X , Z ) \psi (X,Z) ψ(X,Z):结束处断言

    2. 建立检验条件:
      R j ( X , Y ) R_j(X,Y) Rj(X,Y):通过通路 j j j的条件
      r j ( X , Y ) r_j(X,Y) rj(X,Y):通过通路 j j j后变量组 Y Y Y的值

      • 设通路 j j j连接断点 i i i k k k,则检验条件为:
        P i ( X , Y ) ∧ R j ( X , Y ) → P k ( X , r j ( X , Y ) ) P_i(X,Y) \land R_j(X,Y) \rightarrow P_k(X,r_j(X,Y)) Pi(X,Y)Rj(X,Y)Pk(X,rj(X,Y))
      • 如果通路 j j j的入口点为程序的开始处,则检验条件为:
        φ ( X ) ∧ R j ( X , Y ) → P k ( X , r j ( X , Y ) ) \varphi (X) \land R_j(X,Y) \rightarrow P_k(X,r_j(X,Y)) φ(X)Rj(X,Y)Pk(X,rj(X,Y))
      • 如果通路 j j j的结束点为程序的结束处,则检验条件为:
        P i ( X , Y ) ∧ R j ( X , Y ) → ψ ( X , Z ) P_i(X,Y) \land R_j(X,Y) \rightarrow \psi (X,Z) Pi(X,Y)Rj(X,Y)ψ(X,Z)
    3. 证明检验条件:
      证明第2步中得到的所有检验条件。

    • 例题1:
      请添加图片描述
      请添加图片描述
      请添加图片描述
      请添加图片描述
    • 例题2:
      请添加图片描述

    利用归纳断言法证明其部分正确性
    请添加图片描述

    • 例题3:
      请添加图片描述

    请添加图片描述

  2. 良序集法: 证明终止性。

    1. 建断言:
      为程序开始处及每个循环中设置断点,并为每个断点处建立断言,且循环处断言应为循环不变式。
      q i ( X , Y ) q_i(X,Y) qi(X,Y) i i i处的断言(程序的每个循环处)
      φ ( X ) \varphi (X) φ(X):开始处断言。

    2. 选取良序集 ( W , < ) (W,<) (W,<),并在断点处定义一个函数 f i ( X , Y ) f_i(X,Y) fi(X,Y)

    3. 证断言是良断言:
      R j ( X , Y ) R_j(X,Y) Rj(X,Y):通过通路 j j j的条件
      r j ( X , Y ) r_j(X,Y) rj(X,Y):通过通路 j j j后变量组 Y Y Y的值
      对于每条从程序入口到断点 k k k的通路 j j j,有:
      φ ( X ) ∧ R j ( X , Y ) → q k ( X , r j ( X , Y ) ) \varphi (X) \land R_j(X,Y) \rightarrow q_k(X,r_j(X,Y)) φ(X)Rj(X,Y)qk(X,rj(X,Y))
      对于每条从断点 i i i到断点 k k k的通路 j j j,有:
      q i ( X , Y ) ∧ R j ( X , Y ) → q k ( X , r j ( X , Y ) ) q_i(X,Y) \land R_j(X,Y) \rightarrow q_k(X,r_j(X,Y)) qi(X,Y)Rj(X,Y)qk(X,rj(X,Y))

    4. 证所定义函数为良函数:
      即对于每个循环处断点 i i i都有:
      q i ( X , Y ) → f i ( X , Y ) ∈ W q_i(X,Y) \rightarrow f_i(X,Y) \in W qi(X,Y)fi(X,Y)W

    5. 证每条通路上终止条件成立:
      即对于每条断点 i i i出发并回到断点 i i i的通路 j j j,有:
      q i ( X , Y ) ∧ R i ( X , Y ) → f i ( X , r i ( X , Y ) ) < f i ( X , Y ) q_i(X,Y) \land R_i(X,Y) \rightarrow f_i(X,r_i(X,Y)) \lt f_i(X,Y) qi(X,Y)Ri(X,Y)fi(X,ri(X,Y))<fi(X,Y)

    • 例题1:
      请添加图片描述

    利用良序集法证明其终止性
    请添加图片描述

  3. 完全正确性: 同时满足部分正确性和终止性。

    • 例题1:
      请添加图片描述

    请添加图片描述

    请添加图片描述

8. Hoare 公理化方法

证明程序部分正确性。
P i ( X , Y ) P_i(X,Y) Pi(X,Y) i i i处的断言(程序的每个循环处)
φ ( X ) \varphi (X) φ(X):开始处断言
ψ ( X , Z ) \psi (X,Z) ψ(X,Z):结束处断言
程序Q的部分正确性可以表示为: { φ ( X ) } Q { ψ ( X , Z ) } \{ \varphi (X) \} Q \{ \psi (X,Z) \} {φ(X)}Q{ψ(X,Z)}

  1. 赋值公理:
    设执行赋值语句 Y : = g ( X , Y ) Y:=g(X,Y) Y:=g(X,Y) 满足:
    { P ( X , g ( X , Y ) ) } Y : = g ( X , Y ) { P ( X , Y ) } \{ P(X,g(X,Y)) \}Y:=g(X,Y) \{P(X,Y) \} {P(X,g(X,Y))}Y:=g(X,Y){P(X,Y)}

  2. 顺序规则:
    设执行语句序列 Q 1 ; Q 2 Q_1;Q_2 Q1;Q2 推理规则为:
    { P } Q 1 { S } , { S } Q 2 { R } { P } Q 1 ; Q 2 { R } \frac {\{ P\}Q_1\{ S\},\{ S\}Q_2\{ R\}} {\{ P\}Q_1;Q_2\{ R\}} {P}Q1;Q2{R}{P}Q1{S},{S}Q2{R}

  3. 条件规则:
    设执行条件语句 i f   B   t h e n   Q 1   e l s e   Q 2 if~B~then~Q_1~else~Q_2 if B then Q1 else Q2 推理规则为:
    { P ∧ B } Q 1 { R } , { P ∧ ¬ B } Q 2 { R } { P } i f   B   t h e n   Q 1   e l s e   Q 2 { R } \frac {\{ P \land B \}Q_1\{ R\},\{ P \land \lnot B\}Q_2\{ R\}} {\{ P\}if~B~then~Q_1~else~Q_2\{ R\}} {P}if B then Q1 else Q2{R}{PB}Q1{R},{P¬B}Q2{R}

  4. 循环规则:
    设执行循环语句 w h i l e   B   d o   Q while~B~do~Q while B do Q 推理规则为:
    { P ∧ B } Q { P } { P } w h i l e   B   d o   Q { P ∧ ¬ B } \frac {\{ P \land B\}Q\{ P\}} {\{ P\}while~B~do~Q\{ P \land \lnot B\}} {P}while B do Q{P¬B}{PB}Q{P}

  5. 推断规则:
    设执行程序段Q,推理规则为:
    { P } → { B } , { B } Q { R } { P } Q { R } \frac {\{ P\} \rightarrow \{ B\},\{ B\}Q\{ R\}} {\{ P\}Q\{ R\}} {P}Q{R}{P}{B},{B}Q{R}
    或 或
    { P } Q { B } , { B } → { R } { P } Q { R } \frac {\{ P\}Q\{ B\},\{ B\} \rightarrow \{ R\}} {\{ P\}Q\{ R\}} {P}Q{R}{P}Q{B},{B}{R}

  6. 证明形式:

    1. 自顶向下:
      请添加图片描述

    2. 自底向上:
      请添加图片描述

  • 例题1:
    请添加图片描述

请添加图片描述

请添加图片描述

自顶向下证明:
请添加图片描述

  • 例题2:
    请添加图片描述

自底向上证明:
请添加图片描述

  • 例题3:
    请添加图片描述

自底向上证明:
请添加图片描述

9. Dijstra 最弱前置谓词法

证明程序完全正确性。
w p ( Q , ψ ) wp(Q,\psi) wp(Q,ψ): 使程序 Q Q Q执行能够终止,且终止后 ψ \psi ψ成立的最弱的那个谓词公式。
w p ( Q , ψ ) wp(Q,\psi) wp(Q,ψ): ∀ P ( X ) ,满足  P ( X ) → Q 终止 ∧ ψ ( X ) ,都有  P ( X ) → w p ( Q , ψ ) \forall P(X),满足~ P(X) \rightarrow Q_{终止} \land \psi(X),都有~P(X)\rightarrow wp(Q, \psi) P(X),满足 P(X)Q终止ψ(X),都有 P(X)wp(Q,ψ)

  1. 最弱前置法基本思想:
    找到 w p ( Q , ψ ) ,若 φ ( X ) → w p ( Q , ψ ) ,则 φ ( X ) → Q 终止 ∧ ψ ( X , Z ) 找到wp(Q, \psi), 若\varphi(X) \rightarrow wp(Q, \psi), 则 \varphi (X) \rightarrow Q_{终止} \land \psi (X, Z) 找到wp(Q,ψ),若φ(X)wp(Q,ψ),则φ(X)Q终止ψ(X,Z)

  2. 谓词交换函数 w p wp wp的性质:

    1. 异常排除定律:
      对任何语句Q,恒有:
      w p ( Q , f a l s e ) = f a l s e wp(Q,false)=false wp(Q,false)=false
    2. 单调定律:
      R 1 → R 2 R_1 \rightarrow R_2 R1R2,则对任何语句Q,恒有:
      w p ( Q , R 1 ) → w p ( Q , R 2 ) wp(Q,R_1) \rightarrow wp(Q,R_2) wp(Q,R1)wp(Q,R2)
    3. 与分布定律:
      对任何语句 Q Q Q,以及任何后置条件 R 1 R_1 R1 R 2 R_2 R2,恒有:
      w p ( Q , R 1 ) ∧ w p ( Q , R 2 ) = w p ( Q , R 1 ∧ R 2 ) wp(Q,R_1) \land wp(Q,R_2) = wp(Q,R_1 \land R_2) wp(Q,R1)wp(Q,R2)=wp(Q,R1R2)
    4. 或分布定律:
      对任何语句 Q Q Q,以及任何后置条件 R 1 R_1 R1 R 2 R_2 R2,恒有:
      w p ( Q , R 1 ) ∨ w p ( Q , R 2 ) → w p ( Q , R 1 ∨ R 2 ) wp(Q,R_1) \lor wp(Q,R_2) \rightarrow wp(Q,R_1 \lor R_2) wp(Q,R1)wp(Q,R2)wp(Q,R1R2)
  3. 基本语句成分的谓词变换函数:

    1. 简单赋值语句:
      形如: x : = e x:=e x:=e
      w p ( x : = e , R ) = R [ e / x ] wp(x:=e,R)=R[e/x] wp(x:=e,R)=R[e/x]
      请添加图片描述

    2. 序列语句:
      形如: S 1 ; S 2 ; ⋯   ; S n S_1;S_2; \cdots ;S_n S1;S2;;Sn
      w p ( S 1 ; S 2 , R ) = w p ( S 1 , w p ( S 2 , R ) ) wp(S_1;S_2,R)=wp(S_1,wp(S_2,R)) wp(S1;S2,R)=wp(S1,wp(S2,R))
      请添加图片描述

    3. 条件语句:
      形如:
      请添加图片描述

    w p ( I F , R ) = B B ∧ ∀ i : 1 ≤ i ≤ n ⋅ B i → w p ( S i , R ) wp(IF,R)=BB \land \forall i :1 \le i \le n \cdot B_i \rightarrow wp(S_i,R) wp(IF,R)=BBi:1inBiwp(Si,R)
    其中 B B BB BB表示 B 1 ∨ B 2 ∨ ⋯ ∨ B n B_1 \lor B_2 \lor \cdots \lor B_n B1B2Bn
    请添加图片描述

    若有缺省条件不一定执行则有:
    w p ( I F , R ) = ( ∀ i : 1 ≤ i ≤ n ⋅ B i → w p ( S i , R ) ) ∧ ( ¬ B B → R ) wp(IF,R)=\big( \forall i :1 \le i \le n \cdot B_i \rightarrow wp(S_i,R) \big) \land (\lnot BB \rightarrow R) wp(IF,R)=(i:1inBiwp(Si,R))(¬BBR)
    上式有没有缺省条件都能用。

    1. 循环语句:
      形如:
      请添加图片描述

    设谓词P以及一个依赖于程序变量的整型函数f,满足:
    { P ∧ B i → w p ( S i , P ) P ∧ B B → f > 0 P ∧ B i ∧ f ≤ f 0 + 1 → w p ( S i , f ≤ f 0 ) P ∧ ¬ B B → R \begin{cases} P \land B_i \rightarrow wp(S_i,P) \\ P \land BB \rightarrow f \gt 0\\ P \land B_i \land f \le f_0 + 1 \rightarrow wp(S_i,f \le f_0) \\ P \land \lnot BB \rightarrow R \\ \end{cases} PBiwp(Si,P)PBBf>0PBiff0+1wp(Si,ff0)P¬BBR
    则, P → w p ( D O , R ) P \rightarrow wp(DO,R) Pwp(DO,R)

    • 例题1:
      请添加图片描述

    请添加图片描述

    • 例题2:
      请添加图片描述

    o d d ( x ) : x odd(x):x odd(x)x是否为奇数
    请添加图片描述

    • 例题3:
      请添加图片描述

    请添加图片描述

10. 有限状态机

有限状态机五元组 M = ( Q , ∑ , δ , q 0 , F ) M=(Q, \small\sum , \delta ,q_0,F) M=(Q,,δ,q0,F)

  1. 确定有限状态机(DFA):

    1. Q = { q 0 , q 1 , ⋯   , q n } Q=\{q_0,q_1,\cdots,q_n\} Q={q0,q1,,qn} 是有限状态集合。在任一确定时刻,有限状态机只能处于一个确定的状态 q i q_i qi
    2. ∑ = { σ 1 , σ 2 , ⋯   , σ n } \small\sum=\{\sigma_1, \sigma_2 , \cdots , \sigma_n\} ={σ1,σ2,,σn} 是有限输入字符集合。在任一确定时刻,有限状态机只能接收一个确定的输入 σ i \sigma_i σi
    3. δ : Q × ∑ → Q \delta:Q \times \small\sum \rightarrow Q δ:Q×Q 是状态转移函数(单值部分映射)。 如果在某一确定时刻,有限状态机处于某一状态 q i ∈ Q q_i \in Q qiQ,并接收一个输入字符 σ i ∈ ∑ \sigma_i \in \small\sum σi ,那么下一时刻将处于一个确定的状态 q ′ = δ ( q i , σ i ) ∈ Q q'=\delta(q_i, \sigma_i) \in Q q=δ(qi,σi)Q
    4. q 0 ∈ Q q_0 \in Q q0Q唯一的初始状态,有限状态机由此状态开始接收输入。
    5. F ⊆ Q F \subseteq Q FQ 是终结状态集合(可空),有限状态机在到达终态后不再接收输入。
  2. 非确定有限状态机(NFA)

    1. Q = { q 0 , q 1 , ⋯   , q n } Q=\{q_0,q_1,\cdots,q_n\} Q={q0,q1,,qn} 是有限状态集合。在任一确定时刻,有限状态机只能处于一个确定的状态 q i q_i qi
    2. ∑ = { σ 1 , σ 2 , ⋯   , σ n } \small\sum=\{\sigma_1, \sigma_2 , \cdots , \sigma_n\} ={σ1,σ2,,σn} 是有限输入字符集合。在任一确定时刻,有限状态机只能接收一个确定的输入 σ i \sigma_i σi
    3. δ : Q × ∑ → 2 Q \delta:Q \times \small\sum \rightarrow 2^Q δ:Q×2Q 是状态转移函数(非单值部分映射)。 如果在某一确定时刻,有限状态机处于某一状态 q i ∈ Q q_i \in Q qiQ,并接收一个输入字符 σ i ∈ ∑ \sigma_i \in \small\sum σi ,那么下一时刻将处于一个确定的状态 q ′ = δ ( q i , σ i ) ∈ Q q'=\delta(q_i, \sigma_i) \in Q q=δ(qi,σi)Q
    4. q 0 ∈ Q q_0 \in Q q0Q非空的初始状态集合,有限状态机由此状态开始接收输入。
    5. F ⊆ Q F \subseteq Q FQ 是终结状态集合(可空),有限状态机在到达终态后不再接收输入。
  3. 字符串
    请添加图片描述

    1. 字符串的长度:
      字符串中所包含的字母的个数,用 ∣   ∣ |~|   表示。
      例如:字符串 a a b b aabb aabb的长度为4,记作 ∣ a a b b ∣ = 4 |aabb|=4 aabb=4。空串 ε \varepsilon ε 的长度为0。
    2. 字符串的连接:
      依次把两个字符串拼接在一起,用“ ⋅ \cdot ”表示,实际应用中连接符号可略去不写。字符串的连接仍为字符串。除非连接的是空串,否则连接不满足交换律。
      例如:对于空串的连接, α ⋅ ε = ε ⋅ α = ε α = α ε \alpha \cdot \varepsilon = \varepsilon \cdot \alpha = \varepsilon \alpha = \alpha \varepsilon αε=εα=εα=αε
      字符串 α = a a b b , β = a b a b , α ⋅ β = a a b b a b a b , β ⋅ α = a b a b a a b b \alpha =aabb, \beta =abab, \alpha \cdot \beta=aabbabab, \beta \cdot \alpha=ababaabb α=aabb,β=abab,αβ=aabbabab,βα=ababaabb
    3. 字符串的重复连接:
      对于正整数 n n n 和字符串 α \alpha α,重复地将其依次拼接 n n n 次,称为字符串 α \alpha α n n n 次重复连接,记为 a n a^n an
  • 题型

    1. 给出定义形式的一个有限状态机,画出其状态转移图、状态转移表、状态转移矩阵;或给出状态转移图形式的有限状态机,写出其定义形式。
    • 例题1:
      请添加图片描述

    • 例题2
      请添加图片描述

    1. 写出有限状态机所接受的语言集合。
    • 例题1:
      请添加图片描述

    L ( M ) = { ( + ∣ − ) s D I G m . D I G n E ( + ∣ − ) t D I G r ∣ m 、 n 、 r > 0 , s 、 t ∈ [ 0 , 1 ] } L(M)=\{(+|-)^s DIG^m . DIG^n E(+|-)^tDIG^r|m、n、r \gt 0, s、t \in [0,1] \} L(M)={(+)sDIGm.DIGnE(+)tDIGrmnr>0,st[0,1]}

    • 例题2:
      请添加图片描述

    L ( M ) = { ε , ( 10 ∣ 01 ) m ∣ m > 0 } L(M)=\{ \varepsilon ,(10|01)^m | m \gt 0\} L(M)={ε,(10∣01)mm>0}

    • 例题3:
      请添加图片描述

    L ( M ) = { ( 1 ∣ 01 ∣ 001 ) n 00 0 m ∣ n , m ≥ 0 } L(M)=\{(1|01|001)^n000^m|n,m \ge 0\} L(M)={(1∣01∣001)n000mn,m0} L ( M ) = { ( 0 ∣ 1 ) n 00 0 m ∣ n , m ≥ 0 } L(M)=\{(0|1)^n000^m|n,m \ge 0\} L(M)={(0∣1)n000mn,m0}

    • 例题4:
      请添加图片描述

    L ( M ) = { ( 00 ∣ 11 ∣ 01 ∣ 10 ) ( 0 ∣ 1 ) n ∣ n ≥ 0 } L(M)=\{(00|11|01|10)(0|1)^n|n \ge 0\} L(M)={(00∣11∣01∣10)(0∣1)nn0} L ( M ) = { ( 0 ∣ 1 ) n ∣ n ≥ 2 } L(M)=\{(0|1)^n|n \ge 2\} L(M)={(0∣1)nn2}

11. petri 网

请添加图片描述

请添加图片描述

标记或令牌用位置中的黑点或数字表示。
请添加图片描述

  1. 化简

    1. 化简规则:
      请添加图片描述

    请添加图片描述

    请添加图片描述

    请添加图片描述

    • 例题1:
      请添加图片描述

    请添加图片描述

  2. 覆盖树生成

    1. 构造算法:
      请添加图片描述
    • 例题1:
      请添加图片描述

    请添加图片描述

    • 例题2:
      请添加图片描述

    • 例题3:
      请添加图片描述

    请添加图片描述

  3. 有界性、活性、可逆性分析。(可结合化简或覆盖树)

    1. 活性
      请添加图片描述

    2. 有界性
      请添加图片描述

    3. 可逆性
      请添加图片描述

    4. 通过覆盖树判断

      1. 有界性:
        若存在任一位置的令牌数为 ω \omega ω ,则是无界的;否则就是所有令牌数中最大的令牌数的有界的。
        例如:
        请添加图片描述

      a a a:因为最大令牌数是2,所以它是2有界的。
      b b b:因为出现了 ω \omega ω 所以它是无界的。

      1. 活性:
        l 4 l_4 l4 :若覆盖树上所有迁移 t t t 都可以无限次引发,则说明是 l 4 l_4 l4 活的。
        l 3 l_3 l3 :若覆盖树上某个分支中有迁移 t i t_i ti 可以无限次引发,则说明 t i t_i ti l 3 l_3 l3 活的。
        l 2 l_2 l2 :若覆盖树上有迁移 t i t_i ti 只能引发 k k k k ∈ Z , k ≥ 2 k\in Z,k \ge 2 kZ,k2 (或者说引发的次数受到其他的迁移 t t t影响),则说明 t i t_i ti l 2 l_2 l2 活的。
        l 1 l_1 l1 :若覆盖树上有迁移 t i t_i ti 只能引发一次,则说明 t i t_i ti l 1 l_1 l1 活的。
        l 0 l_0 l0:若覆盖树上没有出现petri网中的某个迁移 t i t_i ti 则它是 l 0 l_0 l0 活的(死的)。
        例如:
        请添加图片描述

      a a a:因为覆盖树中 t 2 t_2 t2 没有出现,所以是 l 0 l_0 l0 活的(死的)。
      b b b:因为覆盖树中所有迁移都只出现一次,且没有发生循环,所以是 l 1 l_1 l1 活的。
      c c c:因为覆盖树中 t 1 , t 2 t_1,t_2 t1,t2 在两个分支中均只出现了两次,且没有发生循环,所以是 l 1 l_1 l1 活的。
      d d d t 1 t_1 t1 无法引发没有覆盖树,是 l 0 l_0 l0 活的(死的)
      e e e:因为覆盖树中 M 1 = M 3 M_1=M_3 M1=M3 所以它们之间会产生循环,使得 t 2 , t 3 t_2,t_3 t2,t3 无限次引发,所以 t 2 , t 3 t_2,t_3 t2,t3 l 3 l_3 l3 活的;但是 t 1 t_1 t1 只出现了一次,所以 t 1 t_1 t1 l 1 l_1 l1 活的,因为 l 1 < l 3 l_1 \lt l_3 l1<l3 所以这个petri网是 l 1 l_1 l1 活的。
      f f f:因为覆盖树中 M 2 = M 4 M_2=M_4 M2=M4 所以它们之间会产生循环,使得 t 1 , t 2 t_1,t_2 t1,t2 无限次引发,且不存在其他分支,所以这个petri网是 l 4 l_4 l4 活的。
      g g g:因为覆盖树中 M 0 = M 2 M_0=M_2 M0=M2 所以它们之间会产生循环,使得 t 1 , t 2 t_1,t_2 t1,t2 无限次引发; M 4 = M 1 M_4=M_1 M4=M1 所以它们之间会产生循环,使得 t 3 , t 4 t_3,t_4 t3,t4 无限次引发,所以在 M 0 → M 1 → M 3 → M 4 ( M 1 ) → M 2 ( M 0 ) → ⋯ M_0 \rightarrow M_1 \rightarrow M_3 \rightarrow M_4(M_1) \rightarrow M_2(M_0) \rightarrow \cdots M0M1M3M4(M1)M2(M0) t 1 , t 2 , t 3 , t 4 t_1,t_2,t_3,t_4 t1,t2,t3,t4 会无限引发的,所以这个petri网是 l 4 l_4 l4 活的。
      h h h:因为覆盖树中 M 1 = M 3 M_1=M_3 M1=M3 所以它们之间会产生循环,使得 t 1 t_1 t1 无限次引发,所以 t 1 t_1 t1 l 3 l_3 l3 活的; M 4 = M 5 M_4=M_5 M4=M5 所以它们之间会产生循环,使得 t 3 t_3 t3 不断引发,所以 t 3 t_3 t3 l 3 l_3 l3 活的;但 t 3 t_3 t3 引发会使得 P 2 P_2 P2 中的令牌数不断减少,最终会停止,所以存在一个下界,所以 t 3 t_3 t3 l 2 l_2 l2 活的; t 1 t_1 t1 只引发了一次,所以 t 1 t_1 t1 l 1 l_1 l1 活的;所以综上这个petri网是 l 1 l_1 l1 活的。

      1. 可逆性:
        若覆盖树最后的叶子节点是根节点 M 0 M_0 M0 则说明是可逆的;反之不可逆。
        例如:
        请添加图片描述

      请添加图片描述

应用题

12. 有限状态机、Moore 机、Mealy 机设计

  1. 有限状态机设计
  • 例题1:
    请添加图片描述

  • 例题2:
    请添加图片描述

  • 例题3:
    请添加图片描述

  1. Moore 机设计
    请添加图片描述

例如:
请添加图片描述

到达状态时输出。

  • 例题1:
    请添加图片描述
  1. Mealy 机设计
    请添加图片描述

例如:
请添加图片描述

状态转移时输出。

  • 例题1:
    请添加图片描述

13. Statecharts 设计电梯控制系统

给条件,给节点,进行连线
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述

14. Petri 网设计

  1. 哲学家就餐:
    请添加图片描述

  2. 例题生产线:
    请添加图片描述

  3. 课后生产线:
    请添加图片描述

  4. 生产者消费者:
    请添加图片描述

  5. 消防员灭火
    请添加图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值