极限法——解决几何最优化问题的捷径【信息技术】.docVIP

极限法——解决几何最优化问题的捷径【信息技术】.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
极限法——解决几何最优化问题的捷径 长郡中学 金恺 【关键字】最优值 极限 无穷小 微调 【概述】 在平面几何问题中我们经常会遇到一些求极值的问题。在这些问题中,自变量和目标函数可能涉及到坐标、斜率、长度、角度、周长、面积等等一些复杂的量,而且往往自变量还有一些复杂的约束条件,因此直接用函数求极值的方法是行不通或极其复杂的。 这些问题中,变量往往有无穷多种取值方案(比如说点的取值范围可能是整个平面或在某条直线上),所以无法枚举每一种取值方案来找最值,这时往往能够通过极限法证明:自变量取某些非特殊情况值时目标函数不可能是最优的——因为这时经过微调一个无穷小量能够使得目标函数的值变得更优,从而剩下有限种特殊的取值情况可能成为最优解,通过枚举所有特殊情况就能找到目标函数的最优解了。 在另一些同类问题中,本来就可以通过枚举有限个取值情况求出最优解,但是枚举的量很大,时间复杂度较高,我们也可尝试通过极限法来大大减少需要枚举的情况,从而降低时间复杂度。 以上就是极限法的大致思想,它的作用简而言之就是化无限为有限,变有限为少量。 正文 极限法的应用实例非常的多,比如经典的最小矩形问题,就是通过极限法证明了:最小矩形的某条边必须过两个已知点,从而大大减少了需要枚举的矩形数目。 然而极限法用起来的确有较大的困难,有时候证明起来非常困难,可能情况比较复杂,也可能不知道如何调整,需要用到三角函数之类的比较复杂的数学知识,因此真正掌握它需要扎实的数学功底,极强的观察力以及必要的经验是必不可少的。 下面就来用极限法解决一些典型问题,从实例的分析中一步一步深入地认识极限法的用途和用法。 例题一、巧克力 糖果厂凸起的N≤50)边形巧克力,Kiddy和Carlson买了一块想成两。两的大小必须相等,找出用以分巧克力的分割线的最短长度。 设∠C=γ,∠CAB=α,∠CBA=β。当α≠β时,可以证明:把分割线L稍微旋转一个无穷小量θ到L’并保持L’两边的面积相等,能够使L’的长度小于L。证明如下: 不妨设αβ,旋转后L’仍与原来的两边相交(因为仅旋转了一个无穷小量),交点为A’、B’,∠CA’B’=α+θ,∠CBA=β-θ。 在三角形ABC中,有正弦定理: 在三角形A’B’C中,有正弦定理: 由于L和L’都是分割线,所以SABC=SA’B’C,即 所以L2L’2,即L’L。如果A、B所在的两边平行(即C在无穷远处),也有相同的结论(如图3)。 因此若βα时,L不可能为最短的分割线。同理,当βα时,L也不可能是最短的。若L是不过P的顶点的最短的分割线,那么L与P的两个夹角必然相等。 这就是我们希望得到的,因为枚举L两个端点所在的边后,L的斜率就确定了,再根据L的两边面积相等,就可以直接算出L的位置。得到了这些结论后,已能够设计出O(N 2)的算法。 小结:通过此题,我们已经初次接触到了极限法,并利用它得到了一个极其简单的结论。使得自变量的取值范围从无穷多条直线减少到了有限条,从而通过简单的穷举法解决。 例题二、(3≤n≤10000)个重合点,要求一条直线,使得所有点到这条直线的距离和最小。,求min{f(l)}。 试题分析:最容易想到的做法是枚举所有的直线,得到最优值。但平面中的直线有无穷多条,怎样的直线才有可能是我们要找的那一条呢? ⑴可以规定直线l经过某一个已知点。因为:若l不经过任何一个已知点,则l两侧肯定有一侧的点数不少于另一侧,设多的一侧有a个点,少的一侧有b个点,将l往点多的那侧平移一个微量△到l’,则f(l’)-f(l)=b△-a△=(b-a)△≤0,故f(l’)≤f(l)。(如图4) 这样不断的往同一个方向平移,直到遇到第一个已知点,移动到l’’。可知f(l’’)≤f(l)。 ⑵可以再规定直线l经过两个已知点。原因如下:根据⑴,设l过V1,而不过其它点(如图5):记Li为Vi到V1的距离,αi为Vi到V1的连线与Vi到l的垂线的夹角。 设直线绕V1逆时针旋转一个很小的角度α(α(0+)到l’,l顺时针旋转相同的角度α到l’’。 (如图6)只要α足够小,就能使旋转过程中不碰到其它已知点。 如果αi=0,那么不论直线旋转到l’还是l’’,Vi到直线的距离都严格减小了。(如图7)αi≠0,则旋转后的夹角分别变为αi+α,αi –α。由于 所以 将每点所作的改变量相加可以得出:;而由直线l的最优性可以知道:,,矛盾。 因此,可以规定直线l必过两个已知点。 至此,待枚举的直线就变为了有限条,因此我们可以得到一个有效的算法了: min(∞ 枚举两个点 ①根据两个点确定直线h ②计算直线now(f(h) ③若nowmin则l(h,min(now 通过极限法,我们已经将需考虑的直线从无线条转化为了有限的n2条,从而能够设计出一个有效算法解决本题。此算法

文档评论(0)

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档