#16191: FiniteStateMachine: implement final_word_out
--------------------------------------------------+------------------------
Reporter: cheuberg | Owner:
Type: task | Status: new
Priority: major | Milestone: sage-6.2
Component: combinatorics | Resolution:
Keywords: finite_state_machine | Merged in:
Authors: | Reviewers:
Report Upstream: N/A | Work issues:
Branch: | Commit:
Dependencies: #16206, #16207, #16253, #16254 | Stopgaps:
--------------------------------------------------+------------------------
Changes (by skropf):
* dependencies: #16206, #16207 => #16206, #16207, #16253, #16254
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.
>
> Once this is implemented, {{{FiniteStateMachine.asymptotic_moments}}}
> (cf. #16145) should be modified: enforce that all states are final and
> simplify the examples by introducing final output words.
>
> I do know that Sara Kropf is working on that; I currently need a ticket
> number in order to include a warning in
> {{{FiniteStateMachine.asymptotic_moments}}} (cf. #16145).
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.
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.
--
--
Ticket URL: <http://trac.sagemath.org/ticket/16191#comment:3>
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.