#16191: FiniteStateMachine: implement final_word_out
-------------------------------------+-------------------------------------
Reporter: cheuberg | Owner:
Type: task | Status: needs_review
Priority: major | Milestone: sage-6.3
Component: finite state | Resolution:
machines | Merged in:
Keywords: | Reviewers:
finite_state_machine | Work issues:
Authors: | Commit:
Report Upstream: N/A | c3f2b335d22977e7ba2460cd9721553ca5274fbc
Branch: u/skropf/fsm | Stopgaps:
/final-word-out-problems |
Dependencies: #16206, #16207, |
#16253, #16145#16254 |
-------------------------------------+-------------------------------------
Changes (by skropf):
* status: new => needs_review
* commit: => c3f2b335d22977e7ba2460cd9721553ca5274fbc
* branch: => u/skropf/fsm/final-word-out-problems
Old description:
> Implement {{{FSMState.final_word_out}}} in order to accomodate
> subsequential transducers in this package. A transducer is said to be
> subsequential if it is deterministic, every state
> is final and it has a final output word for each final state, i.e., when
> reading an input and reaching some final state along some path, then the
> final output word of this state is appended to the output labels
> collected along the path.
>
> This will facilitate various transducers, e.g., when we currently have to
> read a sufficiently large number of zeros in order to flush some more
> output.
>
> final_word_out is introduced in #16253.
> However, final_word_out is not implemented everywhere. Currently it is
> implemented in
> * {{{FiniteStateMachine.process}}} (#16206)
> * and in the LaTeX output (#16207),
> * {{{FiniteStateMachine.composition}}} (#16254),
> * {{{FiniteStateMachine.output_projection}}} (#16254),
> * {{{FiniteStateMachine.prepone_output}}} (#16254),
> * {{{FiniteStateMachine.product_FiniteStateMachine}}} (#16254),
> * {{{Transducer.cartesian_product}}} (#16254),
> but not in
> * {{{FiniteStateMachine.determine_alphabets}}},
> * {{{FiniteStateMachine.equivalence_classes}}},
> * {{{FiniteStateMachine.transposition}}},
> * {{{Transducer.intersection}}} and
> * {{{Transducer.simplification}}}.
>
> Once final_word_out is implemented,
> {{{FiniteStateMachine.asymptotic_moments}}} (cf. #16145) should also be
> modified: enforce that all states are final and simplify the examples by
> introducing final output words.
New description:
Implement {{{FSMState.final_word_out}}} in order to accomodate
subsequential transducers in this package. A transducer is said to be
subsequential if it is deterministic, every state
is final and it has a final output word for each final state, i.e., when
reading an input and reaching some final state along some path, then the
final output word of this state is appended to the output labels collected
along the path.
This will facilitate various transducers, e.g., when we currently have to
read a sufficiently large number of zeros in order to flush some more
output.
final_word_out is introduced in #16253. Now final_word_out is implemented
everywhere (or there is a {{{NotImplementedError}}}, see #16548).
--
--
Ticket URL: <http://trac.sagemath.org/ticket/16191#comment:7>
Sage <http://www.sagemath.org>
Sage: Creating a Viable Open Source Alternative to Magma, Maple, Mathematica,
and MATLAB
--
You received this message because you are subscribed to the Google Groups
"sage-trac" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/sage-trac.
For more options, visit https://groups.google.com/d/optout.