-
Notifications
You must be signed in to change notification settings - Fork 3
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
How to deal with empty Terms and/or Zero/One BDDs #4
Comments
Would specific degenerated reliability functions do the job? https://en.wikipedia.org/wiki/Degenerate_distribution |
This I am not sure. By definition, a reliability function should be 1 at time 0 and 0 at infinity. So both degenerated function either violate the condition at 1 or at infinity. Consider for example the evaluator for the first moment and a constant 1 function (not to mix with constant failure rate). The area below the curve is then infinity. I think we should check what happens to our framework. One may be able to tolerate degenerated functions, giving the user respective strange results. I am just unsure whether all our approximations etc. terminate. Should we go ahead and enable degenerated functions? Then we should possibly create a branch and check all functions. |
Another possibility would be to throw an Exception (not a RuntimeException) as soon as you cannot handle it:
public ReliabilityFunction convert() throws DegeneratedBDDException;
… Am 07.07.2017 um 10:16 schrieb Michael Glass ***@***.***>:
This I am not sure. By definition, a reliability function should be 1 at time 0 and 0 at infinity. So both degenerated function either violate the condition at 1 or at infinity. Consider for example the evaluator for the first moment and a constant 1 function (not to mix with constant failure rate). The area below the curve is then infinity. I think we should check what happens to our framework. One may be able to tolerate degenerated functions, giving the user respective strange results. I am just unsure whether all our approximations etc. terminate. Should we go ahead and enable degenerated functions? Then we should possibly create a branch and check all functions.
Follow-up question would then be: Should we create a marker for ReliabilityFunctions that decay to a degenerated function? Something like "isDegenerated?"? This could ease the consideration also for tests. Several functions can be easily configured to become degenerated (Linear term with empty lhs).
—
You are receiving this because you were assigned.
Reply to this email directly, view it on GitHub, or mute the thread.
|
Hmmmm. So this basically means we would only capture this when converting something to ReliabilityFunction. But we could also just create a new ReliabilityFunction. :D Also, for example the Moment Evaluator would benefit from being able to ask the Function whether the assumptions will hold; otherwise, we would have to integrate this check in every class. Lots of options. |
We have a rich processing chain that directly derives reliability functions from terms and/or BDDs. However, if we pass e.g. a zero or a one BDD, the functions will typically observe a system that fails at time 0 or will never fail. Both situations are against the assumption of a reliability function to be 1 at time 0 and 0 at infinity. We need to think about a concept to resolve this throughout JReliability.
The text was updated successfully, but these errors were encountered: