zoukankan      html  css  js  c++  java
  • 三分模版

    三分查找,用来比较不同坐标处值的大小关系(比较的这两点通常是分布在极值点两侧的),来确定区间内的极值。

    三分应用于最优化问题的求解。在解题时没必要给出证明,只要知道问题不满足单调性,就可以尝试用三分搜索极值点,而且三分整数很少见,因为除非能够证明这种策略是正确的(即完全符合凸函数的性质,但是通常极值点不会在整点取得,如果三分整数,那么函数也不是连续的了),否则很可能会错误,而三分应用在小数中是最常见的,比如说三分角度,三分坐标等等。

    一些函数的常用结论:

    1、如果一个函数是若干个开口向上的二次函数的最大值 这个函数只能先减后增

    2、如果一个函数是若干个开口向下的二次函数的最小值 这个函数只能先增后减

    模版:

    凸函数求极大值:

    while (l + eps < r) {
            double lm = l + (r-l) / 3;
            double rm = r - (r-l) / 3;
            if (f(lm) > f(rm))
                r = rm;
            else
                l = lm;
        }
        //凸点:    l
        cout << f(l) << endl;

    凹函数求极小值:

    while (l + eps < r) {
            double m1 = l + (r-l) / 3;
            double m2 = r - (r-l) / 3;
            if (f(m1) > f(m2))
                l = m1;
            else
                r = m2;
        }
        // 凹点:   l
        cout << f(l) << endl;
  • 相关阅读:
    设计模式(四)多例模式
    python之decode、encode及codecs模块
    python pyqt
    python读取命令行参数的方法
    python urllib、urlparse、urllib2、cookielib
    百度文档免费下载
    python之控制台(console)颜色显示
    python修改注册表
    python之爬虫
    xmlns和xsi之schemaLocation
  • 原文地址:https://www.cnblogs.com/-Ackerman/p/12318158.html
Copyright © 2011-2022 走看看