Search Results for

    Show / Hide Table of Contents

    Class markov::SimpleModel

    Simplified Model representation.

    This base class has a predifined transition type (SimpleTransition) and implementations for calculate_cost_difference and apply_transition. These implementations make no assumptions about the model and they are, as a result, typically inefficient (i.e., calculating the whole calculate_cost in lieu of only the changed parts). The base class is provided as a means for rapid prototyping because it requires less interfaces to be implemented.

    Inheritance
    markov::Model
    markov::SimpleModel
    Inherited Members
    get_benchmark_properties
    estimate_max_cost_diff
    has_initial_configuration
    Model
    configure
    state_only_memory_estimate
    get_term_count
    get_sweep_size
    init
    get_initial_configuration_state
    render_state
    calculate_cost
    apply_transition
    estimate_min_cost_diff
    get_scale_factor
    is_empty
    set_step_limit
    is_rescaled
    state_memory_estimate
    rescale
    render
    get_random_transition
    get_const_cost
    configure
    get_random_state
    match_version
    ~BaseModel
    configure
    BaseModel
    render
    ~Component
    Component
    get_status
    param
    get_class_name

    Methods

    get_identifier()

    Returns the identifier string of the model type (e.g., "ising").

    Declaration
    std::string markov::SimpleModel<State>::get_identifier() const override=0

    get_version()

    Returns the version of the input format this implementation expects.

    Declaration
    std::string markov::SimpleModel<State>::get_version() const override=0

    calculate_cost_difference()

    Default calculate_cost_difference implementation.

    This computes the expected difference of a transition by invoking calculate_cost twice. This is almost always inefficient (at the very least, one could cache the value for the starting point). SimpleModel therefore only serves the purpose of rapidly writing a base implementation to check against.

    Note

    This relies on using SimpleTransition with the model - such that both the start and end state of the transition can easily be accessed.

    Declaration
    Cost_T markov::SimpleModel<State>::calculate_cost_difference(const State_T&state, const Transition_T&transition) const override

    apply_transition()

    Default apply_transition implementation.

    Since SimpleTransition has Transition as a base, we can just use its apply method (which, in turn, will set state to to()).

    Declaration
    virtual void markov::SimpleModel<State>::apply_transition(const Transition_T&transition, State_T&state) const override
    In This Article
    Back to top Generated with Doxygen and DocFX