让我们给出一些明显的方法来恢复产品自动机的一个“因素”。如果和甲 = 阿 1 × 阿 2表示产品自动机,然后如果我们定义
π 1((q ,q ')):= q
即只是忘记A 2Ai=(Qi,δi,q0i,Fi),i=1,2A=A1×A2
π1((q,q′)):=q
A2,或投影到所述第二组件,我们有
,此外,如果我们想知道
δ 1(q ,X )挑选一些
q ' ∈ Q 2和计算在产品自动机
π ((δ 1(q ,X ),δ 2(q ',X ))= δ 1(qQ1=π(Q1×Q2)δ1(q,x)q′∈Q2,因此我们也可以恢复
A 1中的过渡。
π((δ1(q,x),δ2(q′,x))=δ1(q,x)A1
因此,如果我们知道自动机是笛卡尔(或外部)乘积自动机,则可以轻松地恢复因子。
但是我想这不是您想到的其他问题。这里出现两个问题(以下是自动机同构,我是指同构作为状态图,即与初始状态或最终状态无关,因为您说的是这里的语言无关紧要):
1)给定任何自动机,它与有限数量的自动机的乘积自动机同构(即可以某种方式分解),这种分解本质上是唯一的吗?(假设这些因素无法进一步分解,否则显然无法分解)。更presicely如果
用于不可分解自动机甲我,乙 Ĵ执行此暗示ķ = 升和甲我 ≅ 乙π (我)对于某些重排序
A1×…×Ak≅B1×…×Bl
Ai,Bjk=lAi≅Bπ(i)π:{1,…k}→{1,…k}
A,BCA=B×C
很容易得出这种情况的必要条件,但是我看不到有任何简单容易的足以使某些自动机成为另一个因素的标准。
π1((δ1(q,x),δ2(q′,x))=δ1(q,x)=δ1(π1(q,q′),x)
for all
q∈Q1,q′∈Q2 and hence
π is a state graph homomorphism of
A1×A2 onto
A2. So we define:
An automaton A divides an automaton B if there exists a state graph homomorphism B onto A.
Really interesting gets this notion if we consider the transition monoids of the automata, then this definition is equivalent to that there exists a surjective homomorphism from the transition monoid of B to that of A.
More generally, we say that a monoid M divides a monoid N if M is the image of some morphism from a submonoid of N. And this notion is widely used, and given the relation between DEA and finite monoids closely related to you question on the decomposition of automata. If you want to find out more, check out these resources:
H. Straubing, P. Weil An introduction to finite automata and their connection to logic,
Course website with lots of information.
Remark: There is also another notion of "quotienting", see wikipedia:quotient automaton, but this is just a rule for collapsing states and used in learning/language inference algorithms or state minimization.