Talk:Convex hull
From Wikipedia, the free encyclopedia
The following paragraph was in the convex article, but since it's about convex hulls it would be better suited to this convex hull article. I'm leaving it on the Talk page for now, however, as I don't think it would add anything useful to this article either. --Zundark 10:43, 16 Dec 2003 (UTC)
- One application of convex hulls is found in efficiency frontier analysis. Efficiency is assumed to be a monotonic function of each of finitely many real variables. Each one of finitely many data points is in exactly one hull, and is considered more efficient than all data points in hulls contained within its own hull. A particle whose velocity vector has a value of a for all coordinates representing maximized variables, and a value less than a for all minimized variables, will pass through the hulls in increasing order of efficiency.
The Convex Hull article is inaccurate. Convex Hulls of 2D polygons are clearly Omega(n log n) by reduction to sorting: pick values x_i, compute convex hull of (x_i, x_i^2). Find point with smallest x, output the rest in order. Since a parabola is convex, the convex hull of the subset of the points will have all of them. For that to be the case, the output permutation will be such that points are output in order. If convex hulls were possible in Omega(n), then it would be possible to sort points in Omega(n). By a decision tree model, sorting points is Omega(n log n), and so is the convex hull.
- You better read more carefully. First, The O(n) is not for 2D polygons, but for 2D simple polygons. Second, how do you make a polygon from points (x_i, x_i^2)? mikka (t) 02:10, 20 July 2005 (UTC)
-
- Connect (x_1, x_1^2) to (x_n, x_n^2), and you'll have a simple convex polygon. And for every non-simple polygon, there is a simple polygon with the same vertex set, so the simple/non-simple polygon distinction is pointless (because convex hull really only cares about the vertex set)
- You are wrong. Sorry, I have no intentions to teach you math. get yourself a book in computational geometry. mikka (t)
- So, while mikka is correct, the article could certainly use some explanation of how the algorithm for finding the convex hull of a simple polygon (or simple polyline) works. Simply stating that the problem has an O(n) solution isn't very interesting (though it does imply that constructing a simple polygon from a set of points is Omega(n log n)). A good web resource on some algorithms is at http://cgm.cs.mcgill.ca/~athens/cs601/ Cgray4 11:51, 2005 August 8 (UTC)
- You are wrong. Sorry, I have no intentions to teach you math. get yourself a book in computational geometry. mikka (t)
- Connect (x_1, x_1^2) to (x_n, x_n^2), and you'll have a simple convex polygon. And for every non-simple polygon, there is a simple polygon with the same vertex set, so the simple/non-simple polygon distinction is pointless (because convex hull really only cares about the vertex set)
A more up-to-date reference is: http://www.cs.umd.edu/~mount/754/Lects/754lects.pdf (Lecture 4)69.216.96.64 14:50, 15 September 2005 (UTC)
I don't think I understand the purpose of this parenthetical after the first sentence: "(Note that X may be the union of any set of objects made of points)." Even if there is a reason for this sentiment, we should try to find a better way to express it. Dchudz 16:53, 2 August 2006 (UTC)
[edit] Infinite dimensional?
A change today added a mention of convex hulls in infinite dimensional vector spaces. But, if one has a convex hull of infinitely many points in an infinite dimensional space, does one take all convex combinations for which the set of weights forms a series summing to one, or only those convex combinations with finite support? That is, is (1/2,1/4,1/8,...) a member of the convex hull of (1,0,0,...), (0,1,0,...), (0,0,1,...), ...? The definition of a convex hull as the minimal convex set containing a set of points, and the definition of a convex set as containing the line segment connecting any two of its points, leads to the finite support version. But, on the other hand, the definition of convex combination and of a convex hull as the set of all convex combinations seems to be stated in a way that would imply the other version. Perhaps this should be stated here more explicitly? —David Eppstein (talk) 00:12, 24 May 2008 (UTC)
- I see no bigger problem with a vector space of infinite dimension than with a vector space of finite dimension. In each case there is an infinite number of points, and the convex hull is the set of sums of convex combinations of finite number of points. The number of points in a convex combination is not tied in any way to the dimension of the space. Oleg Alexandrov (talk) 04:53, 24 May 2008 (UTC)
- I agree that's the right definition. But our convex combination article doesn't clearly state that it's a combination of only finitely many; one could read it as allowing infinitely-supported combinations. —David Eppstein (talk) 06:45, 24 May 2008 (UTC)
- Well, there is the number n there, which implies that the number of points is finite. I clarified that more there. Also, the possibility of an infinite amount of points is ruled out by the fact that it is impossible to talk about an infinite sum unless you have some kind of norm/topology which is not always the case in real vector spaces. Oleg Alexandrov (talk) 14:55, 24 May 2008 (UTC)
- Much better. I still have a quibble: now convex combinations are defined only for finite sets of points, while here we say that the convex hull is the set of convex combinations of all of the points, so we can only define convex hulls of finitely many points. Two possible fixes: (1) in the convex combination article, define a convex combination of infinitely many points to be a weighted sum with finite support, or (2) here, define the convex hull as the set of convex combinations of finite subsets of the points. I think (1) would be preferable, but I'm not sure about it. —David Eppstein (talk) 15:34, 24 May 2008 (UTC)
-
- David, I reverted your edit since I believe a definition using finite support convex combinations of an infinite number of points is not that usual (I think). I understand your point after I read this convex hull article. The recent changes to it made the definition unclear. The convex hull is not the convex combination of all points in the space, but rather the set of all possible convex combinations of finite tuples of points. I hope after my revert to the text this is more clear. Oleg Alexandrov (talk) 04:05, 25 May 2008 (UTC)
-
- Much better. I still have a quibble: now convex combinations are defined only for finite sets of points, while here we say that the convex hull is the set of convex combinations of all of the points, so we can only define convex hulls of finitely many points. Two possible fixes: (1) in the convex combination article, define a convex combination of infinitely many points to be a weighted sum with finite support, or (2) here, define the convex hull as the set of convex combinations of finite subsets of the points. I think (1) would be preferable, but I'm not sure about it. —David Eppstein (talk) 15:34, 24 May 2008 (UTC)
- Well, there is the number n there, which implies that the number of points is finite. I clarified that more there. Also, the possibility of an infinite amount of points is ruled out by the fact that it is impossible to talk about an infinite sum unless you have some kind of norm/topology which is not always the case in real vector spaces. Oleg Alexandrov (talk) 14:55, 24 May 2008 (UTC)
- I agree that's the right definition. But our convex combination article doesn't clearly state that it's a combination of only finitely many; one could read it as allowing infinitely-supported combinations. —David Eppstein (talk) 06:45, 24 May 2008 (UTC)