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(); } }
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); }