Beispiel #1
0
    SparseRLModel<E>::SparseRLModel(const E & exp, const double discount, const bool toSync) :
            S(exp.getS()), A(exp.getA()), experience_(exp), transitions_(A, SparseMatrix2D(S, S)),
            rewards_(S, A), rand_(Impl::Seeder::getSeed())
    {
        setDiscount(discount);

        if ( toSync ) {
            sync();
            // Sync does not touch state-action pairs which have never been
            // seen. To keep the model consistent we set all of them as
            // self-absorbing.
            for ( size_t a = 0; a < A; ++a ) {
                for ( size_t s = 0; s < S; ++s )
                    if ( experience_.getVisitsSum(s, a) == 0ul )
                        transitions_[a].insert(s, s) = 1.0;
                // We don't bother making it compressed since it is bound
                // to change eventually anyway
            }
        }
        else {
            // Make transition matrix true probability
            for ( size_t a = 0; a < A; ++a )
                transitions_[a].setIdentity();
        }
    }
Beispiel #2
0
void CBOrder::setOrder(CBOrder order)
{
    setId(order._id);
    setLocation(order._location);
    setCustomer(order._customer);
    setDisabledTagsSet(order._disabledTagsSet);
    setDiscount(order._discount);
    setSummation(order._summation);
    setCreatedTime(order._createdTime);
    setSubmitedTime(order._submitedTime);
    setMemo(order._memo);
    setRecordSavedPath(order._recordSavedPath);
    setStatus(order._status);
}