<div dir="ltr">This problem can be considered as an instance of the more general SAT problem, in which you're trying to find a satisfying assignment to a predicate. You might want to give that approach a try, though it does require changes in representation. Here's a *very* simple example:<div><br></div><div><div>   Prelude> :m Data.SBV</div><div>   Prelude Data.SBV> let f (x, y, z) = 0 .<= x &&& y .>= 2 &&& z .<= x+(y::SInteger)</div><div>   Prelude Data.SBV> sat f</div><div>   Satisfiable. Model:</div><div>     s0 = 0 :: Integer</div><div>     s1 = 2 :: Integer</div><div>     s2 = 2 :: Integer</div></div><div><br></div><div>Your "f" is probably going to be much more complicated, but if you can afford to move to symbolic types, then SBV can bridge the gap and a SAT/SMT solver can give you the required points. Or tell you if there isn't any, like in the following example:</div><div><br></div><div><div>   Prelude Data.SBV> sat $ \x y -> x .> y &&& x .< (y::SInteger)</div><div>   Unsatisfiable</div></div><div><br></div><div>-Levent.</div></div><div class="gmail_extra"><br><div class="gmail_quote">On Thu, Oct 29, 2015 at 2:01 AM, martin <span dir="ltr"><<a href="mailto:martin.drautzburg@web.de" target="_blank">martin.drautzburg@web.de</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hello all,<br>
<br>
I hope this is not a too silly question. It goes like this:<br>
<br>
Suppose I have a shape defined as<br>
<br>
(x,y,z) -> Bool<br>
<br>
how can I find a Point inside this shape? Obviously I could iterate through all possible x,y and z, but this appears<br>
very expensive.<br>
<br>
There may be no point at all at x=0. With brute force iteration I would have no clue that the False I am receiving with<br>
(0,1,1) is caused by x=0 and I may nedlessly try all combinations of y and z without ever receiving a True.<br>
<br>
Are there any alternative ways of finding points inside a shape?<br>
<br>
_______________________________________________<br>
Haskell-Cafe mailing list<br>
<a href="mailto:Haskell-Cafe@haskell.org">Haskell-Cafe@haskell.org</a><br>
<a href="http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe" rel="noreferrer" target="_blank">http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe</a><br>
</blockquote></div><br></div>