繁体   English   中英

用二进制编写的一组{1,2,4,8,..,2 ^ n}的DFA

[英]DFA for a set {1,2,4,8,..,2^n} written in binary

我必须为一个集合构造一个最小的确定性有限状态自动机(DFA):

L = {1,2,2 2,2 3,2 4 ....,2 n个 },其中数字1,2,2 2,2 3,2 4 ....,2 n个写在二进制和输入字母= {0,1}并且'n'是一个非负整数。

我已将最小DFA构造为:-

在此处输入图片说明

此DFA的正则表达式(RegEx)应为:-10 *,因为语言包含字符串{1,10,100,1000,....}

现在,我很困惑是否应该为给定set(Language)的每个字符串考虑唯一的表示形式。
在这里,字符串“ 1”具有无限多个表示形式,例如{1,01,001,0001,.....}类似地,通过初始添加零,我可以为集合的每个字符串获得许多表示形式。
因此,如果考虑到这一点,那么我得到的正则表达式为0 * 10 *。
根据此RegEx,我的等效最低DFA为:-
在此处输入图片说明

因此,我的问题是:根据我最初编写的集合的给定描述,哪种DFA是正确的。 我应该提到的是,所有字符串都应以“ 1”开头,或者每个字符串都具有用于语言精确描述的唯一表示形式,这样我就可以为给定的集合获得唯一的最小DFA。
请帮忙!

我将使用第二个数字,因为它更灵活,如果您需要将数字存储在内存字段大于您的数字(位数)的情况下,则需要添加初始零以进行存储它。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM