Graceful realization failure #123

Open
opened 2025-10-07 20:36:05 +00:00 by glen · 1 comment
Owner

To date, there is no guideline for behavior when the engine is unable to realize an Assembly, either because it is mathematically unrealizable or because the engine was insufficiently powerful to find a realization that in fact exists. Since dyna3 may well be used to explore assemblies whose realizability is in doubt, we should choose the sort of behavior that will be attempted in such a case.

First, there must be clear indication of the overall status that the assembly is in an unrealized state (currently there is a text message, but we may want something more salient, like an overall shading of the workspace in which the views appear (since in general we can't know what views the user may have open).

Second, there should be guidance as to what sort of configuration the geometric entities will be in after the failed attempt at realization. A likely candidate for this is some sort of "closest miss" to realizing the Assembly that the engine was able to find. Of course there are many possible versions of closeness:

  • Greatest number of constraints "exactly" satisfied
  • Vector of "quantity of failure" values for each constraint as close to 0 as possible in some metric (L^2, L^1, L^\infty norms come to mind)
  • User prioritization or weighting of constraints respected as far as possible
  • ... presumably there are others
To date, there is no guideline for behavior when the engine is unable to realize an Assembly, either because it is mathematically unrealizable or because the engine was insufficiently powerful to find a realization that in fact exists. Since dyna3 may well be used to explore assemblies whose realizability is in doubt, we should choose the sort of behavior that will be attempted in such a case. First, there must be clear indication of the overall status that the assembly is in an unrealized state (currently there is a text message, but we may want something more salient, like an overall shading of the workspace in which the views appear (since in general we can't know what views the user may have open). Second, there should be guidance as to what sort of configuration the geometric entities will be in after the failed attempt at realization. A likely candidate for this is some sort of "closest miss" to realizing the Assembly that the engine was able to find. Of course there are many possible versions of closeness: * Greatest number of constraints "exactly" satisfied * Vector of "quantity of failure" values for each constraint as close to 0 as possible in some metric ($L^2$, $L^1$, $L^\infty$ norms come to mind) * User prioritization or weighting of constraints respected as far as possible * ... presumably there are others
glen added the
design
label 2025-10-07 20:36:05 +00:00
Author
Owner

I feel strongly that in the first two bullets in the opening post, absent any explicit designation by the user, there should not be any status difference between different constraints in their participation in the optimization. This desideratum is in contrast to the current optimization behavior, in which (for example) a constrained curvature will be respected exactly, even in case of failure, whereas a constrained inversive distance is allowed to be off in the "nearest miss" configuration generated.

I feel strongly that in the first two bullets in the opening post, absent any explicit designation by the user, there should not be any status difference between different constraints in their participation in the optimization. This desideratum is in contrast to the current optimization behavior, in which (for example) a constrained curvature will be respected exactly, even in case of failure, whereas a constrained inversive distance is allowed to be off in the "nearest miss" configuration generated.
Sign in to join this conversation.
No description provided.