🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Thread View: sci.math.num-analysis
3 messages
3 total messages Started by samer Takriti Wed, 30 Sep 1992 13:47
A point in a polyhedron: in or out. Using Linear Programming
#678
Author: samer Takriti
Date: Wed, 30 Sep 1992 13:47
13 lines
1143 bytes
I asked a couple of days ago on how to apply the method described
by Preparata and Shamos for a set of points in R^m, but I have not
received a single answer. It looks that the methods described in this
book can be applied to R^2 only. 
When somebody asked this question a while ago, I suggested using 
Linear Programming instead of "shooting" rays. A lot of people criticized
Linear Programming because "the complexity of the method described 
by Preparat and Shamos is O(n)". Well, solving a linear program with
three constraints and n variables is O(n). So, again, I insist that
using Linear Programming is better than "shooting rays" in the region
specially that it gives the representation of the given point in terms
of the corner points.
-Samer
Re: A point in a polyhedron: in or out. Using Linear Programming
#690
Author: Laurence James Edwards
Date: Thu, 01 Oct 1992 00:57
49 lines
3271 bytes
In article <5C1-w=_@engin.umich.edu>, takriti@engin.umich.edu (samer Takriti) writes:
|> I have received many answers referring to "Computational Geometry,
|> an introduction" by Preparata and Shamos. Thanks.
|> It looks to me that he methods proposed by this book can be applied
|> in R^2 only. Applying these methods in higher dimensions would 
|> increase the complexity of the algorithm (exponential complexity).
|> For instance, given n+1 points in R^m (n > m) and assume that the
|> origin is one of these points, the number of m-1 dimensional facets
|> of the convex hull is nCm which creates a combinatorial problem.
|> Is there a method that can check for the inclusion of a point in
|> a polytope in R^n that does not need an exponential time ? (I mean
|> methods that depend on ray shooting).

In article <jg1-wr=@engin.umich.edu>, takriti@engin.umich.edu (samer Takriti) writes:
|> I asked a couple of days ago on how to apply the method described
|> by Preparata and Shamos for a set of points in R^m, but I have not
|> received a single answer. It looks that the methods described in this
|> book can be applied to R^2 only.

The way to apply it to R^3 is to intersect the polyhedron with
a plane that passes through the point in question. Now construct a 
representation of the polygon of intersection. Now you can use the ray
shooting method or the binary search method. Constructing the polygon
I would think is O(n) in the number of vertices but I haven't really given
it much thought.

|> When somebody asked this question a while ago, I suggested using 
|> Linear Programming instead of "shooting" rays. A lot of people criticized
|> Linear Programming because "the complexity of the method described 
|> by Preparat and Shamos is O(n)". Well, solving a linear program with
|> three constraints and n variables is O(n). So, again, I insist that
|> using Linear Programming is better than "shooting rays" in the region
|> specially that it gives the representation of the given point in terms
|> of the corner points.
|> -Samer

I don't remember what the linear programming algorithm you gave was, but
the simplex algorithm is worst case exponential in the number of dimensions
and the number of constraints (faces). See "Algorithms in Combinatorial
Geometry" by Edelsbrunner pg 238. A worst case polynomial time
algorithm by Khachiyan is mentioned but it is not clear if there is a
practical implementation.

My somewhat shallow understanding of linear programming is that it gives you
an extremal point on a polytope. The original question related to determining
whether a point is in a polygon, finding a representation of the point was
not in question, you already have it to start with.

Larry Edwards
Re: A point in a polyhedron: in or out. Using Linear Programming
#726
Author: M. J. Saltzman
Date: Fri, 02 Oct 1992 18:04
65 lines
3990 bytes
In article <1992Oct1.005727.11567@leland.Stanford.EDU> ledwards@leland.Stanford.EDU (Laurence James Edwards) writes:
>[...]
>In article <jg1-wr=@engin.umich.edu>, takriti@engin.umich.edu (samer Takriti) writes:
>|> I asked a couple of days ago on how to apply the method described
>|> by Preparata and Shamos for a set of points in R^m, but I have not
>|> received a single answer. It looks that the methods described in this
>|> book can be applied to R^2 only.
>[...]
>|> When somebody asked this question a while ago, I suggested using 
>|> Linear Programming instead of "shooting" rays. A lot of people criticized
>|> Linear Programming because "the complexity of the method described 
>|> by Preparat and Shamos is O(n)". Well, solving a linear program with
>|> three constraints and n variables is O(n). So, again, I insist that
>|> using Linear Programming is better than "shooting rays" in the region
>|> specially that it gives the representation of the given point in terms
>|> of the corner points.
>|> -Samer
>
>I don't remember what the linear programming algorithm you gave was, but
>the simplex algorithm is worst case exponential in the number of dimensions
>and the number of constraints (faces). See "Algorithms in Combinatorial
>Geometry" by Edelsbrunner pg 238. A worst case polynomial time
>algorithm by Khachiyan is mentioned but it is not clear if there is a
>practical implementation.

First, Megiddo (in JACM 31, 1984) gives an algorithm that runs in time
linear in the number of constraints, if the number of dimensions is
fixed (if the number of constraints is fixed and the number of
variables is not, you can solve the dual.  Second, although the
worst-case running time of the simplex method is exponential, its
average running time is not.  It may very well do the job that Takriti
wants efficiently enough for his purposes (see below).  Third,
although Khachiyan's algorithm does not seem to be practical, Newton
barrier methods (related to Karmarkar's algorithm) are polynomial, and
are practical for many applications (but not necessarily this one).

>My somewhat shallow understanding of linear programming is that it gives you
>an extremal point on a polytope. The original question related to determining
>whether a point is in a polygon, finding a representation of the point was
>not in question, you already have it to start with.

Given a representation of a polytope as a system of inequalities, LP
can tell you if a feasible solution or nonnegative feasible solution
or a direction of unboundedness (wrt a linear cost function) exists,
find a feasible solution, find a nonnegative feasible solution find a
minimum-cost feasible solution (with a linear cost function).  Testing
whether a point is inside a polytope with this representation is
trivially easy--just test if your point satisfies all the inequalities.

If the representation is as the convex hull of extreme points and
rays, the story is a little different.  In this case, the system of
inequalities is to find a convex combination of extreme points and
positive combination of extreme rays that represents the point in
question.  This is also a LP, and its size is polynomially related to
the size of the inequality representation (if both representations are
minimal).  I think it is this method that Takriti has in mind.

>
>Larry Edwards


-- 
		Matthew Saltzman
		Clemson University Math Sciences
		mjs@clemson.edu
Thread Navigation

This is a paginated view of messages in the thread with full content displayed inline.

Messages are displayed in chronological order, with the original post highlighted in green.

Use pagination controls to navigate through all messages in large threads.

Back to All Threads