算法-有穷自动机

算法-有穷自动机

 

1.      简介

有穷自动机作为一种识别装置,它能准确地识别正规集,即识别正规文法所定义的语言和正规式所表示的集合。

  有穷自动机分为两类:确定的有穷自动机(DFA:DeterministicFiniteAutomata)和不确定的有穷自动机(NFA:NondeterministicFiniteAutomata)。

 

1.1.    确定的有穷自动机(DFA)

一个确定的有穷自动机(DFA)M是一个五元组:M=(K,Σ,f,S,Z)其中:

1.K是一个有穷集,它的每个元素称为一个状态;

2.Σ是一个有穷字母表,它的每个元素称为一个输入字符,所以也称Σ为输入符号字母表;

3.f是转换函数,是在k×Σ→K上的映像,即,如f(ki,a)=kj(ki∈k,kj∈k)就意味着,当前状态为ki,输入字符为a时,将转换到一状态kj,我们把kj称作ki的一个后继状态;

4.S∈K是惟一的一个初态;

5.ZK,是一个终态集,终态也称可接受状态或结束状态。

 

例    DFAM=({S,U,V,Q},{a,b},f,S,{Q})其中f定义为:

  f(S,a)=U   f(V,a)=U

  f(S,b)=V   f(V,b)=Q

  f(U,a)=Q   f(Q,a)=Q

  f(U,b)=V   f(Q,b)=Q

 

  一个DFA可以表示成一个状态图(或称状态转换图)。假定DFA有m个状态,n个输入字符,那么这个状态图含有m个结点,每个结点最多有n个弧射出,整个图含有惟一一个初态结点和若干个终态结点,初态结点冠以“”或标以“—”,终态结点用双圈表示或标以“+”,若f(ki,a)=kj,则从状态结点ki到状态结点kj,画标记为a的弧。

 

转载于:https://www.cnblogs.com/wodeboke-y/p/9134120.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值