Ticket #24 (closed defect: invalid)
PRCTL: time- and reward- bounded until, malfunction
| Reported by: | ivan.zapreev | Owned by: | ivan.zapreev |
|---|---|---|---|
| Priority: | major | Milestone: | MRMC v1.2.2 |
| Component: | Core | Version: | 1.2.2 |
| Keywords: | Cc: |
Description (last modified by ivan.zapreev) (diff)
In
test/functional_tests/dtmrm/prctl/operators/time_reward_interval_until/prctl_andova_state_01
test case we are getting for
P{>0.1}[ tt U[0,10][0,9] sd ]
the following probabilities
Result: ( 1.660156250000000e-01, 0.0e+00, 3.320312500000000e-01, 0.0e+00, 0.0e+00, 0.0e+00, 6.660156250000000e-01, 0.0e+00, 0.0e+00, 0.0e+00, 0.0e+00, 0.0e+00, 1.0e+00 )
states = {1, 3, 7, 13, }
This is just wrong because staying in 13 for 10 time units will give you reward equal to
10 which is greater than 9!
The problem is in the "transient.c" file in the method:
double * dtmrm_bounded_until(bitset *phi, bitset *psi, float subi, float supi, float subj, float supj)
There
//ERROR: This is totally wrong ! what if the node has a self loop !?
//or phi is valid here and we can go further to another psi node!?
if( get1b.b &&
( subi <= 0 ) && ( supi >= 0 ) &&
( subj <= 0 ) && ( supj >= 0 ) )
{
result[i]=1.0;
continue;
}
Change History
Note: See
TracTickets for help on using
tickets.

