Home Article Practice 自动机入门

自动机入门

2024-05-24 13:50  views:429  source:白可    

自动机入门
首先理解一下自动机是用来干什么的:自动机是一个对信号序列进行判定的数学模型。
这句话涉及到的名词比较多,逐一解释一下。
信号序列是指一连串有顺序的信号,
例如字符串从前到后的每一个字符、
数组从 1 到 n 的每一个数、数从高到低的每一位等。
【判定】是指针对某一个命题给出或真或假的回答。
有时我们需要对一个信号序列进行判定。
一个简单的例子就是判定一个二进制数是奇数还是偶数,
较复杂的例子例如判定一个字符串是否回文,
判定一个字符串是不是某个特定字符串的子序列等等。
自动机的工作原理和地图很类似。
假设你在你家,然后你从你家到学校,
按顺序经过了很多路口。每个路口都有岔路,
而你在所有这些路口的选择就构成了一个序列。
例如,你的选择序列是【家门-右拐-
萍水西街-尚园街-古墩路-地铁站-下宁桥】,
那你按顺序经过的路口可能是【家-
家门口-萍水西街竞舟北路口-萍水西
街尚圆街路口-尚园街古墩路口-古墩路中
-三坝地铁站-下宁桥地铁站】。可以发现
上学的选择序列不止这一个。同样要去地铁站,
你还可以从竞舟北路绕道,或者横穿文鼎苑抄近路。
而我们如果找到一个选择序列,就可以
在地图上比划出这个选择序列能不能去学校。
比如,如果一个选择序列是【家门-右拐-
萍水西街-尚园街-古墩路-地铁站-
钱江路-四号线站台-联庄】,那么它就
不会带你去同一个学校,但是仍旧可能是一
个可被接受的序列,因为目标地点可能不止一个。
也就是说,我们通过这个地图和一组目的地,
将信号序列分成了三类,一类是无法识别的
信号序列(例如【家门-???】),一类是能
去学校的信号序列,另一类是不能的信号序列。
我们将所有合法的信号序列分成了两类,完成了
一个判定问题。
既然自动机是一个数学模型,那么显然不可能
是一张地图。对地图进行抽象之后,可以简化
为一个有向图。因此,自动机的结构就是一张有向图。
而自动机的工作方式和流程图类似,不同的是:
自动机的每一个结点都是一个判定结点;自动机
的结点只是一个单纯的状态而非任务;自动机的边
可以接受多种字符(不局限于 T 或 F)。



Disclaimer: The above articles are added by users themselves and are only for typing and communication purposes. They do not represent the views of this website, and this website does not assume any legal responsibility. This statement is hereby made! If there is any infringement of your rights, please contact us promptly to delete it.

字符:    改为:
去打字就可以设置个性皮肤啦!(O ^ ~ ^ O)