DFA的过渡Monoid成员资格


9

给定完整的DFA,我们可以为每个定义函数的集合,并使用,。我们可以将此概念推广为单词和,其中表示函数组成。此外,我们将表示为而是单半体。A=(Q,Γ,δ,F)faaΓfa:QQfa(q)=δ(q,a)w=a1,,amfw=fa1famG={fwwΓ}G

[ 在标准教科书中,通常称为过渡monoid,但在此我为了清晰起见而复制了该定义。]G

问题是,给定一个函数,我们可以确定(理想情况下是多项式时间),如果是这种情况(即,存在使得),则是否是多项式长,还是可以指数长? f:QQfGwf=fww

[我想这样的词确实可能成倍地长,但是我正在寻找一个简单的例子。]

Answers:


9

可判定性

这是可以决定的。仅存在有限多个可能的功能,所以可以建模此作为一个图可达性问题,每个功能一个顶点和边缘,如果存在使得。然后,测试函数是否在简化为测试从在图形中是否可到达。您可以使用广度优先找到最短的此类单词。但是,运行时间在可能是指数的。f:QQgh一个ΓH=F一个GGGGFϵ

字长

最短的单词可能会成倍增长。这是此类DFA的示例。令为前素数。这样,状态将为形式其中和。使用一元字母和转换函数定义DFA,并给出函数通过p1个pķķ一世X一世{1个ķ}X一世{01个p一世-1个}Γ={0}δ一世X0=一世X+1个p一世F0

f0(i,x)=(i,x+1modpi).

现在考虑函数由下式给出g:QQ

g(i,x)=(i,x1modpi).

可以使用中文余数定理证明其中,而是最短的此类单词。此外,,因此在呈指数增长。g=f0nn=p1×p2××pk10n|Q|=p1++pknQ

因此,没有希望输出这种单词的多项式时间算法。但是,这仍然为确定是否在中提供了多项式时间算法的可能性。gG

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.