#16255: FiniteStateMachine.with_final_word_out: New method
-------------------------------------+-------------------------------------
       Reporter:  cheuberg           |        Owner:
           Type:  enhancement        |       Status:  needs_review
       Priority:  major              |    Milestone:  sage-6.2
      Component:  combinatorics      |   Resolution:
       Keywords:                     |    Merged in:
  finite_state_machine               |    Reviewers:
        Authors:  Clemens Heuberger  |  Work issues:
Report Upstream:  N/A                |       Commit:
         Branch:                     |  2c11f6a0024ee6c7a663ea687c9d44c6b987b348
  u/cheuberg/fsm/with_final_word_out |     Stopgaps:
   Dependencies:  #16145, #16206,    |
  #16207, #16253                     |
-------------------------------------+-------------------------------------
Changes (by cheuberg):

 * status:  new => needs_review
 * commit:   => 2c11f6a0024ee6c7a663ea687c9d44c6b987b348
 * branch:   => u/cheuberg/fsm/with_final_word_out


Old description:

> Constructs a finite state machine with final output words for all states
> by implicitly reading trailing letters until a final state is reached.
>
> This is e.g. useful for finite state machines operating on digit
> expansions: there, it is sometimes required to read a sufficient number
> of trailing zeros (at the most significant positions) in order to reach a
> final state and to flush all carries. In this case, this method
> constructs an essentially equivalent finite state machine in the sense
> that it not longer requires adding sufficiently many trailing zeros.
> However, it is the responsibility of the user to make sure that if adding
> trailing zeros to the input anyway, the output is equivalent.
>
> Patch is in preparation.

New description:

 Constructs a finite state machine with final output words for all states
 by implicitly reading trailing letters until a final state is reached.

 This is e.g. useful for finite state machines operating on digit
 expansions: there, it is sometimes required to read a sufficient number of
 trailing zeros (at the most significant positions) in order to reach a
 final state and to flush all carries. In this case, this method constructs
 an essentially equivalent finite state machine in the sense that it not
 longer requires adding sufficiently many trailing zeros. However, it is
 the responsibility of the user to make sure that if adding trailing zeros
 to the input anyway, the output is equivalent.

--

Comment:

 Last 10 new commits:
 
||[http://git.sagemath.org/sage.git/commit/?id=d5d08ccee022ab4d4e0502178d079d1ae34374a0
 d5d08cc]||{{{Deleted a check for consistency in _latex_}}}||
 
||[http://git.sagemath.org/sage.git/commit/?id=0469d11d6d267ce2b34f4ebb9610bb22f499fd68
 0469d11]||{{{reworded ValueError (joined sentences)}}}||
 
||[http://git.sagemath.org/sage.git/commit/?id=df6f9fb81cb5af8e4599d42402fec4f53ef95560
 df6f9fb]||{{{reviewer patch: line breaks in documentation}}}||
 
||[http://git.sagemath.org/sage.git/commit/?id=bbe08665bb5210b4d6365f09dd76b4d671ab6084
 bbe0866]||{{{reworded two docstrings}}}||
 
||[http://git.sagemath.org/sage.git/commit/?id=21392c5654e857c534bd812219665953841ad073
 21392c5]||{{{added doctests to FSMState.deepcopy to check that deepcopy of
 a property works}}}||
 
||[http://git.sagemath.org/sage.git/commit/?id=696f66ec9e1bb2bf6d1fc4f484261dd3a10b0e56
 696f66e]||{{{FiniteStateMachine.with_final_word_out: New method}}}||
 
||[http://git.sagemath.org/sage.git/commit/?id=c15e3d8e3b99d719287de72ddacaf019b45090e4
 c15e3d8]||{{{Small changes in the documentation of
 with_final_word_out}}}||
 
||[http://git.sagemath.org/sage.git/commit/?id=031226880a9c4e1722f1fa886ee9bf7dc5628834
 0312268]||{{{line break in docstring}}}||
 
||[http://git.sagemath.org/sage.git/commit/?id=e0963c47ac8a1a3b467e5852b3b9c85b69099982
 e0963c4]||{{{FiniteStateMachine.with_final_word_out: replace "loop" by
 "cycle"}}}||
 
||[http://git.sagemath.org/sage.git/commit/?id=2c11f6a0024ee6c7a663ea687c9d44c6b987b348
 2c11f6a]||{{{FiniteStateMachine.with_final_word_out: only support
 transitions with input labels of length 1}}}||

--
Ticket URL: <http://trac.sagemath.org/ticket/16255#comment:1>
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.

Reply via email to