mealy: make output_assignment the default for reduce_mealy
* spot/twaalgos/mealy_machine.hh: Here. Also cite the FORTE paper. * doc/spot.bib (renkin.22.forte): New entry.
This commit is contained in:
parent
b0165cf39c
commit
de9041bb31
2 changed files with 38 additions and 20 deletions
|
|
@ -1,5 +1,5 @@
|
|||
// -*- coding: utf-8 -*-
|
||||
// Copyright (C) 2021 Laboratoire de Recherche et Développement
|
||||
// Copyright (C) 2021-2022 Laboratoire de Recherche et Développement
|
||||
// de l'Epita (LRDE).
|
||||
//
|
||||
// This file is part of Spot, a model checking library.
|
||||
|
|
@ -87,28 +87,30 @@ namespace spot
|
|||
unsplit_mealy(const const_twa_graph_ptr& m);
|
||||
|
||||
/// \brief reduce an (in)completely specified mealy machine
|
||||
/// Based on signature inclusion or equality. This is not guaranteed
|
||||
/// to find the minimal number of states but is usually faster.
|
||||
/// This also comes at another drawback:
|
||||
/// All applicable sequences have to be infinite. Finite
|
||||
/// traces are disregarded
|
||||
/// \param mm The mealy machine to be minimized, has to be unsplit
|
||||
///
|
||||
/// This is a bisimulation based reduction, that optionally use
|
||||
/// inclusion between signatures to force some output when there is
|
||||
/// a choice in order to favor more reductions. Only infinite
|
||||
/// traces are considered. See \cite renkin.22.forte for details.
|
||||
///
|
||||
/// \param mm The mealy machine to be minimized, has to be unsplit.
|
||||
/// \param output_assignment Whether or not to use output assignment
|
||||
/// \return A specialization of \c mm. Note that if mm is separated,
|
||||
/// the returned machine is separated as well.
|
||||
/// \note See todo TACAS22 Effective reductions of mealy machines
|
||||
/// @{
|
||||
/// @{
|
||||
SPOT_API twa_graph_ptr
|
||||
reduce_mealy(const const_twa_graph_ptr& mm,
|
||||
bool output_assignment = false);
|
||||
bool output_assignment = true);
|
||||
|
||||
SPOT_API void
|
||||
reduce_mealy_here(twa_graph_ptr& mm,
|
||||
bool output_assignment = false);
|
||||
bool output_assignment = true);
|
||||
/// @}
|
||||
|
||||
/// \brief Minimizes an (in)completely specified mealy machine
|
||||
/// The approach is described in \todo TACAS
|
||||
///
|
||||
/// The approach is described in \cite renkin.22.forte.
|
||||
///
|
||||
/// \param premin Use reduce_mealy before applying the
|
||||
/// main algorithm if demanded AND
|
||||
/// the original machine has no finite trace.
|
||||
|
|
@ -159,4 +161,4 @@ namespace spot
|
|||
SPOT_API void
|
||||
simplify_mealy_here(twa_graph_ptr& m, synthesis_info& si,
|
||||
bool split_out);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue