Я пытался формализовать объединение двух автоматов с конечным состоянием без использования эпсилон-переходов. Я хочу создать новое начальное начальное состояние для новых автоматов и из этого нового начального состояния создать переходы в достижимые состояния из начального состояния отдельных автоматов, скопировав эти переходы.
Учитывая FSA
M1 = <Σ1, Q_1, q0_1, ->_1>
где Σ1 = алфавит, Q_1 — набор состояний, q0_1 — начальное состояние, а ->_1 — переходы M1.
Учитывая другой FSA
M2 = <Σ2, Q_2, q0_2, ->_2>
где Σ2 — алфавит, Q_2 — набор состояний, q0_2 — начальное состояние, а ->_2 — переходы M2.
Теперь я определил FSA M+ = M1 ∪ M2 как FSA:
M_+ = <Σ+, Q_+, q0_+, ->_+>
Σ+ = Σ1 ∪ Σ2 - alphabet of both
Q_+ = Q_1 ∪ Q_2 ∪ {q0_+},
q0+ is the new initial start state
->_+ = ->_1 ∪ ->_2 ∪ ->_C
Я обнаружил проблемы с определением ->_C - новых переходов в достижимые состояния M1 и M2. Я определил тип ->_C следующим образом: Q x 2^Σ x 2^Q. Это должен быть набор, однако я не уверен, как определить его формально. Любая помощь будет очень признательна.