Degree of reaction: Difference between revisions

From formulasearchengine
Jump to navigation Jump to search
en>Magioladitis
m checkwiki error 44, added orphan tag using AWB (8246)
 
No edit summary
Line 1: Line 1:
A '''kinetic convex hull''' data structure is a [[kinetic data structure]] that maintains the [[convex hull]] of a set of continuously moving points.<ref name="BGH99" />


==The 2D case==
The best known data structure for the 2 dimensional kinetic convex hull problem is by Basch, [[Leonidas J. Guibas|Guibas]], and Hershberger. This data structure is [[Kinetic data structure#Performance|responsive]], [[Kinetic data structure#Performance|efficient]], [[Kinetic data structure#Performance|compact]] and [[Kinetic data structure#Performance|local]].<ref name="BGH99" />


There are also several fees taken from the cash value of the policy to cover insurance company expenses managing the investments. We all know how important life insurance is; however due to its costs many choose to take the risk of not being covered. Getting good quotes usually only takes a few minutes. accumulate cash value and usually pay out only in the event of your death. Depending on if the certificate was signed by a treating physician or the medical examiner may well determine what if any questions are raised by the insurance carrier. Do you have a plan in place to protect your family financially if you should die prematurely. If you plan on having a family, then you will want to get enough [http://Www.google.co.uk/search?hl=en&gl=us&tbm=nws&q=life+insurance&gs_l=news life insurance] to take care of them if something happens to you. <br><br>Hence they should be treated as post-tax deductions or taken out of the employee's salary after the tax has been computed and subtracted. Figuring out how much life insurance to buy can be tricky. Occasionally is surprising to find out that there is a vast difference in cost between the many insurance companies. Account Value: This is the accumulated gross value of all the investments contributed to the policy which include the income after deducting all the current monthly expenses. Reports are made to keep the track of the credit report and also to create the rating certificate that helps one in selecting the best company on the market. We provide the following types of life insurance policies:. However, with reports of employment growth and a still-volatile economy, there are reasons to believe that term life insurance rates may rise. <br><br>Such people tend to believe that they cannot get depression life insurance or overweight life insurance. Further, these people do not possess habits injurious to health i. The reality is that a deal that might make sense for someone in their 20s, who has 40 or more years to allow an investment to grow may be completely wrong for someone much older. You can use an amortization schedule to determine how long you would like to choose to repay the loan. So to keep making money, you need your teams to keep selling policies. These mortgage payments decrease over time as they are paid off over the insured's lifetime. There are so many different kinds of plans that offers a wide array of features and benefits that it is no wonder many people end up with the wrong insurance, too much or too little.  <br><br>Because the hundreds of years get passed, the insurance coverage sector has included various kinds of insurance coverage and characteristics. However, it appears that they may be on the rise again. Try this website for great information and low rate car insurance quotes. If your business has dealings with insurance brokers for various covers such as for your insurance, professional liability etc, then it's the easiest way to get the best deal. For example we know that it is primarily used to cover financial responsibilities. Would be the best term life insurance companies far too high priced. Its very easy to get a term life insurance quote online and compare term life insurance company prices at your convenience and comparing between different companies will make you able to choose the term insurance rate that suits your budget in the best manner. <br><br>Nicotine can lead to some dangerous diseases like cardiovascular disease or hypertension. Preparation is key to making sure that loved ones are properly protected in the event of devastation. Writing your life insurance in trust is normally a straightforward matter of filling in a form when you take out the policy and there is normally no charge for setting it up. The following will give you a better understanding of this free benefit. You have to ensure that you get a term insurance policy with fixed premium. The most popular term life insurance policies are the 10 year term policy, the 15 year term policy, the 20 year term policy, the 25 year term policy and the 30 year term policy. However, the rates for this policy can be higher than for term life where a medical exam is necessary. <br><br>It  is timely because the first group of the Baby Boom generation will turn 65, in 2011. This policy has a level death benefit as well which is paid upon the death of the insured. Online marketing has made the exchange of information so easy these days. Many people wonder what happens when you apply for life insurance. The brokers will also check out your spot and assist you to with all the vital paperwork. Young, recently married individuals, fall into this category with regards to life insurance Chico at the same time. Disclosure would be required by advisers to employers of the total potential adviser remuneration.  <br><br>That alone will be worth thousands to you, because in the long term when it comes down to you and the mirror, you need to get results for "yourself" first and foremost, and by getting to the truth of where the client is at, will certainly help you open sales, if not now, down the track. This is additional money that you put forth, and them the insurance firm will invest it for you. When you choose insurance, life insurance premiums may be lower if you select an option such as paying for your policy annually instead of monthly – insurance providers offer all kinds of incentives and kickbacks which can make life insurance more affordable. Why your investment portion of the policy that's where. As a general rule, the premiums for a [http://www.americanconsumernews.com/2009/01/cavalcade-of-risk-69-risk-management-and-uncertainty-quotes.html term life policy] are just a fraction of what it would be for a whole life plan even if the coverage amount is the same. Whole life is insurance along with some kind of investments. The IRS calls this the 'pretax deduction' in which the resulting effect becomes a tax credit in favor of the employee.
===The data structure===
The [[Duality (projective geometry)|dual]] of a convex hull of a set of points is the upper and lower envelopes of the dual set of lines. Therefore, maintaining the upper and lower envelopes of a set of moving lines is equivalent to maintaining the convex hull of a set of moving points. Computing upper and lower envelopes are equivalent problems, so computing the upper envelope of a set of lines is equivalent to computing the convex hull of a set of moving points.
The upper envelope of a set of static lines can be computed using a [[divide and conquer algorithm]] which partitions the lines into two sets of equal size, calls itself recursively on the two sets to find their upper envelopes, and then merges the two resulting upper envelopes. The merge step is performed using a [[Sweep line algorithm|vertical line sweep]]. Call the first set of points blue and the second set of points red.
 
The standard line sweep algorithm for merging upper envelopes sweeps though all of vertices of the red and blue upper envelopes, from left to right. The most recently encountered red and blue points are maintained as the line sweeps. When a point is encountered, the algorithm checks if the point is above or below the segment following the last encountered point of the opposite color. If it is above, that point is added to the merged upper envelope. If it of a different color than the last added point, the red and blue envelopes have crossed, so the intersection point is also added to the merged upper envelope.<ref>John Hershberger, Finding the upper envelope of n line segments in O(n log n) time,Information Processing Letters  Volume 33, Issue 4, 21 December 1989, Pages 169–174</ref>
 
The sequence of edges and vertices resulting from this algorithm is only dependent on the ordering of points, and the results of the line-point comparisons. Thus, the result can be certified with the following certificates:
*x-certificates (<math><_x</math>) are used to certify the order the vertices of the red and blue envelopes. They are the certificates for a [[kinetic sorted list]] on the set of vertices. Since each point involves 2 lines, and the certificate involves 2 points, each certificate involves 4 lines.
*y-certificates (<math><_y</math>) are used certify that a vertex is above or below an edge. The certificates appear for all comparisons that would occur during the algorithm.
As long as all of these certificates are hold, the merge steps will be executed identically, so the resulting upper envelope will be the same. A kinetic data structure for upper envelopes can be created by using these certificates to certify the static upper envelope algorithm. However, this scheme is not local, because one line many be involved in many y-certificates if it remains on top or bottom as many points from the other envelope are encountered.
 
Thus, it is necessary to introduce a s-certificates (<math><_s</math>) which certifies that the slope of a line is greater than or less than the slope of another line.  
Having the following certificates for all points ab is sufficient to certify the sequence of edges and vertices resulting from a merge, with only O(1) certificates per line:<ref name="BGH99" />[[File:Kinetic convex hull, detection of intersections.png|thumb|540px|right|alt=A picture of the certificates in several difference cases|The certificates certify structure of the intersection of the red and blue envelopes by certifying intersections(top left) or the absence of intersections(top right and bottom). The arrows indicate which elements are being compared by the certificate.]]
#<math>x[ab]</math>: <math>ab<_x ab.next</math>. <math>ab.next</math> denotes vertex closest to <math>ab</math> on its right. This certificate is stored for all points <math>ab</math> which have a different color than the point, <math>ab.next</math>, which follows them.
#<math>yli[ab]</math>: <math>ab<_y ce(ab)</math> or <math>ab>_y ce(ab)</math>. This certificate is stored for all points <math>ab</math> such that <math>b</math> intersects <math>ce(ab)</math>. <math>ce(ab)</math> denotes the contender edge of <math>ab</math>, the edge from the other envelope that is above or below <math>ab</math>.
#<math>yri[lb]</math>: <math>ab<_y ce(ab)</math> or <math>ab>_y ce(ab)</math>. This certificate is stored for all points <math>ab</math> such that <math>a</math>  intersects <math>ce(ab)</math>.
#<math>yt[ab]</math>: <math>ce(ab)<_yab</math>. This certificate is stored for all points <math>ab</math> for which <math>a<_sce(ab)<_s b</math> and <math>ce(ab)<_yab</math>.
#<math>srt[ab]</math>: <math>a<_sce(ab)</math>. This certificate is stored for all points <math>ab</math> for which <math>a<_sce(ab)<_s b</math> and <math>ce(ab)<_yab</math>.
#<math>srt[ab]</math>: <math>ce(ab)<_s b</math>. This certificate is stored for all points <math>ab</math> for which <math>a<_sce(ab)<_s b</math> and <math>ce(ab)<_yab</math>.
#<math>sl[ab]</math>: <math>b<_sce(ab)</math>. This certificate is stored for all points <math>ab</math> for which <math>b<_sce(ab)</math> and <math>ab<_yce(ab)</math>.
#<math>sr[ab]</math>: <math>ce(ab)<_sa</math>. This certificate is stored for all points <math>ab</math> for which <math>ce(ab)<_sa</math> and <math>ab<_yce(ab)</math>.
 
The first certificate, <math>x[ab]</math>, certifies the x-ordering of the points in the red and blue envelopes. The second and third certificates, <math>yli[ab]</math> and <math>yri[ab]</math>, certify intersections of the red and blue envelopes. The remaining 5 certificates, <math>yt[ab]</math>, <math>srt[ab]</math>, <math>srt[ab]</math>, <math>sl[ab]</math>, and <math>sr[ab]</math> place edges that are not in the upper envelopes in the sequence of slopes of the edges that are above it. If the slope is at the start or end of the sequence, <math>sl</math> or <math>sr</math> certify this. If it is in the middle of the sequence  <math>slt</math>, and <math>srt</math> certify this, and <math>yt</math> certifies that the intersection point of the two lines that the edge's slope is in between, is above it. These one or three certificates suffice to prove that all of the edges are above this line. Unlike the previous scheme all lines are only involved in a constant number of certificates. Whenever of these certificates fail, the merged envelope and certificates can be updated in O(1) time.
 
The kinetic data structure for convex hull is constructed by using these certificates to certify the recursive merge of the upper envelopes. Whenever certificates fail, their merge is updated, and if the envelope resulting from the merge changes, the changes are propagated up through all merges that depend on the result of the merge.<ref name="BGH99" />
 
=== Performance ===
This data structure is [[Kinetic data structure#Performance|responsive]], [[Kinetic data structure#Performance|local]], [[Kinetic data structure#Performance|compact]], and [[Kinetic data structure#Performance|efficient]]. This is due to the logarithmic depth of the merges used to certify the upper envelope.<ref name="BGH99" />
*'''Responsive:''' When a certificate fails, it takes O(1) to fix the merge it certifies. If the resulting envelope changes, the change must be propagated up to all merges that depend on the result of the changed merge. There are O(log n) such mergers, so the update can can be performed in O(log n) time total.
*'''Local:''' Each line is involved in a most O(log n) certificates. This is because each line is involved in a constant number of certificates in each merge, and each line is in O(log n) merges total.
*'''Compactness:''' The maximum number of certificates used in this data structure is O(n log n). This is because each merge involves a number of certificates linear to the number of lines merged. Certifying an upper envelope of n lines requires certificates for the merge upper envelope of the two subsets of n/2 lines, and certificates for the merge of the envelopes. Thus the number of certificates, C(n), required to certify the  upper envelope of n lines satisfies the recurrence C(n)=2C(n/2)+O(n), with C(1)=O(1). By the [[master theorem]] the C(n)=O(n log n).
*'''Efficiency:''' The maximum number of events processed by this algorithm on [[Kinetic data structure#Types of Trajectories|algebraic]] or [[Kinetic data structure#Types of Trajectories|pseudo-algebraic]] trajectories is near quadratic, <math>O(n^{2+\epsilon})</math> for all <math>\epsilon>0</math>.<ref name="ASS96">
P. K. Agarwal, O. Schwarzkopf, and Micha Sharir. The overlay of lower envelopes and its applications. Discrete Comput. Geom., 15:1–13, 1996.
</ref><ref name="Sha94">
Micha Sharir. Almost tight upper bounds for lower envelopes in higher dimensions. Discrete Comput. Geom., 12:327–345, 1994.
</ref> Convex hulls of linearly moving points can change <math>\Omega(n^2)</math> times.<ref name="AGHV01">
Pankaj K. Agarwal, Leonidas J. Guibas, John Hershberger, and Eric Veach. Maintaining the extent of a moving point set. Discrete and Computational Geometry, 26(3):353–374, 2001.
</ref> Thus this data structure is efficient.
 
==Higher dimensions==
Finding an [[Kinetic data structure#Performance|efficient]] kinetic data structure for maintaining the convex hull of moving points in dimensions higher than 2 is an open problem.<ref name="BGH99">
Julien Basch, Leonidas J. Guibas, and John Hershberger. Data structures for mobile data. J. Algorithms, 31(1):1{28, 1999. [http://graphics.stanford.edu/courses/cs268-11-spring/notes/kinetic.pdf]
</ref>
 
== Related Problems ==
Kinetic convex hull can be used to solve the following related problems:<ref>P. K. Agarwal, L. J. Guibas, J. Hershberger, and E. Verach. Maintaining the extent of a moving set of points.</ref>
*[[Kinetic diameter]]
*[[Kinetic width]]
*[[Kinetic minimum box]]
*[[Kinetic smallest enclosing disk]]
 
== References ==
{{Reflist}}
 
[[Category:Articles created via the Article Wizard]]
[[Category:Kinetic data structures]]
[[Category:Convex hull algorithms]]

Revision as of 16:02, 3 February 2014

A kinetic convex hull data structure is a kinetic data structure that maintains the convex hull of a set of continuously moving points.[1]

The 2D case

The best known data structure for the 2 dimensional kinetic convex hull problem is by Basch, Guibas, and Hershberger. This data structure is responsive, efficient, compact and local.[1]

The data structure

The dual of a convex hull of a set of points is the upper and lower envelopes of the dual set of lines. Therefore, maintaining the upper and lower envelopes of a set of moving lines is equivalent to maintaining the convex hull of a set of moving points. Computing upper and lower envelopes are equivalent problems, so computing the upper envelope of a set of lines is equivalent to computing the convex hull of a set of moving points. The upper envelope of a set of static lines can be computed using a divide and conquer algorithm which partitions the lines into two sets of equal size, calls itself recursively on the two sets to find their upper envelopes, and then merges the two resulting upper envelopes. The merge step is performed using a vertical line sweep. Call the first set of points blue and the second set of points red.

The standard line sweep algorithm for merging upper envelopes sweeps though all of vertices of the red and blue upper envelopes, from left to right. The most recently encountered red and blue points are maintained as the line sweeps. When a point is encountered, the algorithm checks if the point is above or below the segment following the last encountered point of the opposite color. If it is above, that point is added to the merged upper envelope. If it of a different color than the last added point, the red and blue envelopes have crossed, so the intersection point is also added to the merged upper envelope.[2]

The sequence of edges and vertices resulting from this algorithm is only dependent on the ordering of points, and the results of the line-point comparisons. Thus, the result can be certified with the following certificates:

  • x-certificates () are used to certify the order the vertices of the red and blue envelopes. They are the certificates for a kinetic sorted list on the set of vertices. Since each point involves 2 lines, and the certificate involves 2 points, each certificate involves 4 lines.
  • y-certificates () are used certify that a vertex is above or below an edge. The certificates appear for all comparisons that would occur during the algorithm.

As long as all of these certificates are hold, the merge steps will be executed identically, so the resulting upper envelope will be the same. A kinetic data structure for upper envelopes can be created by using these certificates to certify the static upper envelope algorithm. However, this scheme is not local, because one line many be involved in many y-certificates if it remains on top or bottom as many points from the other envelope are encountered.

Thus, it is necessary to introduce a s-certificates () which certifies that the slope of a line is greater than or less than the slope of another line.

Having the following certificates for all points ab is sufficient to certify the sequence of edges and vertices resulting from a merge, with only O(1) certificates per line:[1]

A picture of the certificates in several difference cases
The certificates certify structure of the intersection of the red and blue envelopes by certifying intersections(top left) or the absence of intersections(top right and bottom). The arrows indicate which elements are being compared by the certificate.
  1. : . denotes vertex closest to on its right. This certificate is stored for all points which have a different color than the point, , which follows them.
  2. : or . This certificate is stored for all points such that intersects . denotes the contender edge of , the edge from the other envelope that is above or below .
  3. : or . This certificate is stored for all points such that intersects .
  4. : . This certificate is stored for all points for which and .
  5. : . This certificate is stored for all points for which and .
  6. : . This certificate is stored for all points for which and .
  7. : . This certificate is stored for all points for which and .
  8. : . This certificate is stored for all points for which and .

The first certificate, , certifies the x-ordering of the points in the red and blue envelopes. The second and third certificates, and , certify intersections of the red and blue envelopes. The remaining 5 certificates, , , , , and place edges that are not in the upper envelopes in the sequence of slopes of the edges that are above it. If the slope is at the start or end of the sequence, or certify this. If it is in the middle of the sequence , and certify this, and certifies that the intersection point of the two lines that the edge's slope is in between, is above it. These one or three certificates suffice to prove that all of the edges are above this line. Unlike the previous scheme all lines are only involved in a constant number of certificates. Whenever of these certificates fail, the merged envelope and certificates can be updated in O(1) time.

The kinetic data structure for convex hull is constructed by using these certificates to certify the recursive merge of the upper envelopes. Whenever certificates fail, their merge is updated, and if the envelope resulting from the merge changes, the changes are propagated up through all merges that depend on the result of the merge.[1]

Performance

This data structure is responsive, local, compact, and efficient. This is due to the logarithmic depth of the merges used to certify the upper envelope.[1]

  • Responsive: When a certificate fails, it takes O(1) to fix the merge it certifies. If the resulting envelope changes, the change must be propagated up to all merges that depend on the result of the changed merge. There are O(log n) such mergers, so the update can can be performed in O(log n) time total.
  • Local: Each line is involved in a most O(log n) certificates. This is because each line is involved in a constant number of certificates in each merge, and each line is in O(log n) merges total.
  • Compactness: The maximum number of certificates used in this data structure is O(n log n). This is because each merge involves a number of certificates linear to the number of lines merged. Certifying an upper envelope of n lines requires certificates for the merge upper envelope of the two subsets of n/2 lines, and certificates for the merge of the envelopes. Thus the number of certificates, C(n), required to certify the upper envelope of n lines satisfies the recurrence C(n)=2C(n/2)+O(n), with C(1)=O(1). By the master theorem the C(n)=O(n log n).
  • Efficiency: The maximum number of events processed by this algorithm on algebraic or pseudo-algebraic trajectories is near quadratic, for all .[3][4] Convex hulls of linearly moving points can change times.[5] Thus this data structure is efficient.

Higher dimensions

Finding an efficient kinetic data structure for maintaining the convex hull of moving points in dimensions higher than 2 is an open problem.[1]

Related Problems

Kinetic convex hull can be used to solve the following related problems:[6]

References

43 year old Petroleum Engineer Harry from Deep River, usually spends time with hobbies and interests like renting movies, property developers in singapore new condominium and vehicle racing. Constantly enjoys going to destinations like Camino Real de Tierra Adentro.

  1. 1.0 1.1 1.2 1.3 1.4 1.5 Julien Basch, Leonidas J. Guibas, and John Hershberger. Data structures for mobile data. J. Algorithms, 31(1):1{28, 1999. [1]
  2. John Hershberger, Finding the upper envelope of n line segments in O(n log n) time,Information Processing Letters Volume 33, Issue 4, 21 December 1989, Pages 169–174
  3. P. K. Agarwal, O. Schwarzkopf, and Micha Sharir. The overlay of lower envelopes and its applications. Discrete Comput. Geom., 15:1–13, 1996.
  4. Micha Sharir. Almost tight upper bounds for lower envelopes in higher dimensions. Discrete Comput. Geom., 12:327–345, 1994.
  5. Pankaj K. Agarwal, Leonidas J. Guibas, John Hershberger, and Eric Veach. Maintaining the extent of a moving point set. Discrete and Computational Geometry, 26(3):353–374, 2001.
  6. P. K. Agarwal, L. J. Guibas, J. Hershberger, and E. Verach. Maintaining the extent of a moving set of points.