32
搜搜搜 搜搜搜 (Search Theor (Search Theor y) y) 搜搜搜搜搜搜搜搜搜搜搜搜搜 搜搜搜搜搜搜搜搜搜搜搜搜搜

教案要点 文 件 名: 051OR02.PPT ;搜索论.XLS 上节习题: 051ORL01.PPT 授课时间:第二讲 授课内容:搜索论(一) 预备知识:解析几何、微积分

  • View
    306

  • Download
    6

Embed Size (px)

Citation preview

Page 1: 教案要点 文 件 名: 051OR02.PPT ;搜索论.XLS 上节习题: 051ORL01.PPT 授课时间:第二讲 授课内容:搜索论(一) 预备知识:解析几何、微积分

搜索论搜索论(Search Theory)(Search Theory)

绍兴文理学院工学院计算机系绍兴文理学院工学院计算机系

Page 2: 教案要点 文 件 名: 051OR02.PPT ;搜索论.XLS 上节习题: 051ORL01.PPT 授课时间:第二讲 授课内容:搜索论(一) 预备知识:解析几何、微积分

搜索论搜索论何何谓搜索论谓搜索论搜索论的应用搜索论的应用搜搜索索策略策略找零点找零点

找极值点找极值点0.6180.618 法法瞎子爬山法瞎子爬山法后记后记

Page 3: 教案要点 文 件 名: 051OR02.PPT ;搜索论.XLS 上节习题: 051ORL01.PPT 授课时间:第二讲 授课内容:搜索论(一) 预备知识:解析几何、微积分

何谓“搜索何谓“搜索论”论” 《搜索论》是顺应第二次世界大战中战争的《搜索论》是顺应第二次世界大战中战争的需要而出现的运筹学分支。主要研究在资源需要而出现的运筹学分支。主要研究在资源和探测手段受到限制的情况下,设计寻找某和探测手段受到限制的情况下,设计寻找某种目标的最优方案,及有关的理论和方法。种目标的最优方案,及有关的理论和方法。

在第二次世界大战中,同盟国的空军和海军在第二次世界大战中,同盟国的空军和海军针对轴心国的潜艇活动,研究如何甄别、舰针对轴心国的潜艇活动,研究如何甄别、舰队运输和兵力如何部署等的过程中产生的。队运输和兵力如何部署等的过程中产生的。

战后《搜索论》在实际应用中也取得了不少战后《搜索论》在实际应用中也取得了不少成效,例如二十世纪六十年代,美国寻找在成效,例如二十世纪六十年代,美国寻找在大西洋失踪的核潜艇“打谷者号”和“蝎子大西洋失踪的核潜艇“打谷者号”和“蝎子号”,以及在地中海寻找丢失的氢弹,都是号”,以及在地中海寻找丢失的氢弹,都是成功应用《搜索论》的范例。成功应用《搜索论》的范例。

Page 4: 教案要点 文 件 名: 051OR02.PPT ;搜索论.XLS 上节习题: 051ORL01.PPT 授课时间:第二讲 授课内容:搜索论(一) 预备知识:解析几何、微积分

搜索论的应用搜索论的应用美军寻找在大西洋失美军寻找在大西洋失踪的两艘核潜艇踪的两艘核潜艇

美军寻找丢失的氢弹美军寻找丢失的氢弹找油田找油田找故障点找故障点找零点找零点找极值点找极值点

Page 5: 教案要点 文 件 名: 051OR02.PPT ;搜索论.XLS 上节习题: 051ORL01.PPT 授课时间:第二讲 授课内容:搜索论(一) 预备知识:解析几何、微积分

找油田的应用找油田的应用地质结构(李四光)地质结构(李四光)打探井打探井人造地震法人造地震法

无功而返 油油

水水

有油有油

是是水水

Page 6: 教案要点 文 件 名: 051OR02.PPT ;搜索论.XLS 上节习题: 051ORL01.PPT 授课时间:第二讲 授课内容:搜索论(一) 预备知识:解析几何、微积分

搜索故障点搜索故障点找漏气点、断路点找漏气点、断路点编程中编程中 DEBUGDEBUG找暗堡、防空阵地找暗堡、防空阵地雷达、声纳雷达、声纳医生对病人诊断医生对病人诊断文字校对文字校对

让计算机来算让计算机来算

Page 7: 教案要点 文 件 名: 051OR02.PPT ;搜索论.XLS 上节习题: 051ORL01.PPT 授课时间:第二讲 授课内容:搜索论(一) 预备知识:解析几何、微积分

找函数的零点找函数的零点预备知识预备知识秦九韶法秦九韶法对分法对分法切线法切线法

弦线法弦线法联合法联合法其它方法其它方法实际例子实际例子

Page 8: 教案要点 文 件 名: 051OR02.PPT ;搜索论.XLS 上节习题: 051ORL01.PPT 授课时间:第二讲 授课内容:搜索论(一) 预备知识:解析几何、微积分

预备知识预备知识y=f(x)y=f(x) 是闭区间是闭区间 [[a,b]a,b] 上的连续函上的连续函数数 ,,在区间两端异号即:在区间两端异号即:f(a)f(b)<0, f(a)f(b)<0, 则 有零点。则 有零点。在开区间内必在开区间内必

a

(a,f(a))

b

(b,f(b))

会在端点吗?会在端点吗?不会!不会!零点唯一吗?零点唯一吗?未必!未必!零点有奇数个吗?零点有奇数个吗?未必!未必!

Page 9: 教案要点 文 件 名: 051OR02.PPT ;搜索论.XLS 上节习题: 051ORL01.PPT 授课时间:第二讲 授课内容:搜索论(一) 预备知识:解析几何、微积分

函数与导数函数与导数连续函数在闭区间两端异号连续函数在闭区间两端异号则 必有零点。则 必有零点。

一个函数在它的导数不变号一个函数在它的导数不变号的区间内 。的区间内 。

在开区间内在开区间内

函数函数 y=f(x)y=f(x) 在在 ((xx00,f(x,f(x00)))) 处处的切线斜率是:的切线斜率是:

严格单调严格单调

函数函数 y=f(x)y=f(x) 在在 ((xx00,f(x,f(x00)))) 处处的切线方程是:的切线方程是:

ff’’(x(x00))

y=f(xy=f(x00)+ ? (x-)+ ? (x-xx00))

ff’’(x(x00

))

Page 10: 教案要点 文 件 名: 051OR02.PPT ;搜索论.XLS 上节习题: 051ORL01.PPT 授课时间:第二讲 授课内容:搜索论(一) 预备知识:解析几何、微积分

函数与导数函数与导数连续函数在闭区间两端异号连续函数在闭区间两端异号则 必有零点。则 必有零点。

一个函数在它的导数不变号一个函数在它的导数不变号的区间内 。的区间内 。

在开区间内在开区间内

严格单调严格单调

两点两点 ((xx11,y,y11),(x),(x22,y,y22)) 连线方连线方程是:程是:

))(()( 000 xxxfxfy

]0[)( 12112

121

xxxxxx

yyyy

函数函数 y=f(x)y=f(x) 在在 ((xx00,f(x,f(x00))))处的切线方程是:处的切线方程是:

Page 11: 教案要点 文 件 名: 051OR02.PPT ;搜索论.XLS 上节习题: 051ORL01.PPT 授课时间:第二讲 授课内容:搜索论(一) 预备知识:解析几何、微积分

找函数的零点找函数的零点算法一算法一 ::秦九韶秦九韶 --霍纳法:区间霍纳法:区间 [[a,b]a,b] 上连上连续函数续函数 f(x)f(x) 若两端函数值若两端函数值 f(a)·f(b)<0 (f(a)·f(b)<0 ( 异异号号 ),),则其内至少有一个零点。区间十等分……。则其内至少有一个零点。区间十等分……。如如 [3,4][3,4] 中有根,查中有根,查 3.1,3.2,…,3.93.1,3.2,…,3.9处的函数处的函数值,若有一点为值,若有一点为 0[0[或绝对值足够小或绝对值足够小 ]] 则找到,否则找到,否则这十个小区间中必有一个两端的函数值是异号的。则这十个小区间中必有一个两端的函数值是异号的。在此小区间中继续,即把它再十等分……。直到有在此小区间中继续,即把它再十等分……。直到有一个分点的函数值为一个分点的函数值为 0[0[或绝对值足够小或绝对值足够小 ]] ,或小,或小区间的长度已足够短的时取中点区间的长度已足够短的时取中点,,结束。结束。

Page 12: 教案要点 文 件 名: 051OR02.PPT ;搜索论.XLS 上节习题: 051ORL01.PPT 授课时间:第二讲 授课内容:搜索论(一) 预备知识:解析几何、微积分

找函数的零点找函数的零点算法二算法二 ::对分法对分法 ::若连续函数若连续函数 f(x)f(x) 在在区间区间 [[a,b]a,b] 两端函数值两端函数值f(a)·f(b)<0(f(a)·f(b)<0( 异号异号 ),),则其内至少有则其内至少有一个零点。区间对分……一个零点。区间对分……S1:S1: 令令 xx(a+b)/2,(a+b)/2, 若若 b-a<ε,b-a<ε, 转转 S4,S4,否则转否则转 S2;S2;

S2:S2: 若若 f(x)=0,f(x)=0, 转转 S4 ,S4 ,否则转否则转 S3;S3;

S3:S3: 若若 f(x)·f(a)f(x)·f(a)<0,0, 令令 bbx,x,否则令否则令 aax,x, 转转

S1; S1;

S4:S4:输出输出 x,x,结束。结束。

Page 13: 教案要点 文 件 名: 051OR02.PPT ;搜索论.XLS 上节习题: 051ORL01.PPT 授课时间:第二讲 授课内容:搜索论(一) 预备知识:解析几何、微积分

算法三:切线法算法三:切线法 函数函数 y=f(x)y=f(x) 在在 x=ax=a 处的切线斜率:处的切线斜率:

a

(a,f(a)))a(f

)a(fac

c=a-f(a)/f’(a)

f ’ f ’ (a)(a) 切线过点切线过点 ((a,f(a)),a,f(a)), 其方程其方程

是:是: 函数函数 y=f(x)y=f(x) 在在 x=ax=a 处的切线与处的切线与 xx 轴的交轴的交点的纵坐标点的纵坐标 ::

y-f(a)=f ’y-f(a)=f ’ (a)(x-(a)(x-a)a)

,,横坐横坐标标 ::

00

y=f(x)

这个这个 cc往往比往往比 aa更靠近零更靠近零点点 ..

Page 14: 教案要点 文 件 名: 051OR02.PPT ;搜索论.XLS 上节习题: 051ORL01.PPT 授课时间:第二讲 授课内容:搜索论(一) 预备知识:解析几何、微积分

算法三:切线法算法三:切线法选选一端引切线,与一端引切线,与 xx 轴的交点会更“好”些!轴的交点会更“好”些!

f(a) - - + +f(b) + + - -f'(a) + + - -f'(b) + + - -f"(a) + - + -f"(b) + - + -

b a a b

从 f(x)f"(x)>0 的一端引切线切线从

Page 15: 教案要点 文 件 名: 051OR02.PPT ;搜索论.XLS 上节习题: 051ORL01.PPT 授课时间:第二讲 授课内容:搜索论(一) 预备知识:解析几何、微积分

算法三:切线法算法三:切线法选一端选一端 aa引切线,与引切线,与 xx 轴的交点轴的交点的横坐标的横坐标 c:c:

a

(a,f(a)))a(f

)a(fac

c=a-f(a)/f’(a)

以 c 为新的 a 继续做,直到 f(a)足够靠近0了为止。

Page 16: 教案要点 文 件 名: 051OR02.PPT ;搜索论.XLS 上节习题: 051ORL01.PPT 授课时间:第二讲 授课内容:搜索论(一) 预备知识:解析几何、微积分

算法三:切线法算法三:切线法S1:S1: 若若 f(a)f”(a)<0,f(a)f”(a)<0, 则则 aab,b,转转 S2;S2;S2:S2: 若若 ||f(a)|<ε,f(a)|<ε, 转转 S4;S4;S3:aS3:aa-f(a)/f’(a),a-f(a)/f’(a), 转转 S2;S2;S4:S4: 输出输出 a,a, 结束。结束。

a

Page 17: 教案要点 文 件 名: 051OR02.PPT ;搜索论.XLS 上节习题: 051ORL01.PPT 授课时间:第二讲 授课内容:搜索论(一) 预备知识:解析几何、微积分

算法三:切线法算法三:切线法f(x)=xf(x)=x33+2x+2x22-3x-7-3x-7 在在 [1.8,1.9],[1.8,1.9],f”(x)=6x+4>0,f(1.8)=f”(x)=6x+4>0,f(1.8)= -- 0.088,0.088,应从应从 bb起起 ,, 但但 f(a)f(a)很接近很接近 0,0, 从从 aa起。起。

0)c(f,80632.192.13

088.08.1

)a(f

)a(fac

80631.12/)dc(x* ,0)d(f

,80630.101868.14

00030.080632.1

)c(f

)c(fcd

根为取

Page 18: 教案要点 文 件 名: 051OR02.PPT ;搜索论.XLS 上节习题: 051ORL01.PPT 授课时间:第二讲 授课内容:搜索论(一) 预备知识:解析几何、微积分

算法四:弦线法算法四:弦线法 函数函数 y=f(x)y=f(x) 在区间在区间 [[a,b]a,b] 的两端异号,的两端异号,连接点连接点 ((a,f(a)),(b,f(b))a,f(a)),(b,f(b)) 的线段的线段 (( 弦弦 )) ::

a b

)()()(

)( axab

afbfafy

c

弦与弦与 xx 轴交于点轴交于点((c,0)c,0) ::

)()(

))((

)()(

))((

afbf

abbfb

afbf

abafac

cc 点为新的点为新的 bb继续。继续。

Page 19: 教案要点 文 件 名: 051OR02.PPT ;搜索论.XLS 上节习题: 051ORL01.PPT 授课时间:第二讲 授课内容:搜索论(一) 预备知识:解析几何、微积分

算法四:弦线法算法四:弦线法画连接点画连接点 ((a,f(a)),(b,f(b))a,f(a)),(b,f(b)) 的线的线段段 (( 弦弦 ),), 与与 xx 轴交于点轴交于点 ((c,0);c,0);

a b

)a(f)b(f

)ab)(b(fb

)a(f)b(f

)ab)(a(fac

若 f(c) 与 f(a)异号 ,以 [a,c]为新的区间继续

做 ,……。c

Page 20: 教案要点 文 件 名: 051OR02.PPT ;搜索论.XLS 上节习题: 051ORL01.PPT 授课时间:第二讲 授课内容:搜索论(一) 预备知识:解析几何、微积分

算法四:弦线法算法四:弦线法 选一端引弦线选一端引弦线 ,, 与与 xx 轴的交点替换另一端!轴的交点替换另一端!

图f(a)f(b)<0

a b a b a b a b

f(a) - - + +f(b) + + - -f'(a) + + - -f'(b) + + - -f"(a) + - + -f"(b) + - + -

b a a b

从 f(x)f"(x)>0 的一端引弦线弦线从

Page 21: 教案要点 文 件 名: 051OR02.PPT ;搜索论.XLS 上节习题: 051ORL01.PPT 授课时间:第二讲 授课内容:搜索论(一) 预备知识:解析几何、微积分

算法四:弦线法算法四:弦线法

缺点:有一头停滞不进。缺点:有一头停滞不进。

a bc

f(b)f”(b)>0,f(b)f”(b)>0, 选选 bb 点:点:

Page 22: 教案要点 文 件 名: 051OR02.PPT ;搜索论.XLS 上节习题: 051ORL01.PPT 授课时间:第二讲 授课内容:搜索论(一) 预备知识:解析几何、微积分

算法五:联合法算法五:联合法如图同时用弦线法从左如图同时用弦线法从左边,用切线法从右边,边,用切线法从右边,联合“夹攻”。联合“夹攻”。

a ba1

b1

Page 23: 教案要点 文 件 名: 051OR02.PPT ;搜索论.XLS 上节习题: 051ORL01.PPT 授课时间:第二讲 授课内容:搜索论(一) 预备知识:解析几何、微积分

算法五:联合法算法五:联合法如如 f(a)f(b)<0,f(b)f”(b)>0,f(a)f(b)<0,f(b)f”(b)>0, 从从 bb 出发。出发。具体算法:具体算法:S1:S1: 若若 b-a<ε,b-a<ε, 令令 xx(a+b)/2,(a+b)/2, 转转S3,S3,否则转否则转 S2;S2;

S2:S2: 令令 aab-f(b)(b-a)/(f(b)-b-f(b)(b-a)/(f(b)-

f(a)),f(a)),

bbb-f(b)/f’(b),b-f(b)/f’(b), 转转 S1;S1;

S3:S3:输出输出 x,x,结束。结束。

Page 24: 教案要点 文 件 名: 051OR02.PPT ;搜索论.XLS 上节习题: 051ORL01.PPT 授课时间:第二讲 授课内容:搜索论(一) 预备知识:解析几何、微积分

找函数的零点找函数的零点找函数的零点前面我们介绍了五种算找函数的零点前面我们介绍了五种算法:秦九韶法:秦九韶 --霍纳法、对分法、切线法、霍纳法、对分法、切线法、弦线法和联合法。弦线法和联合法。

其它还有抛物线法、林士谔其它还有抛物线法、林士谔 --赵访熊赵访熊法法 ((劈因子法劈因子法 ))、下降法等。进一步的、下降法等。进一步的研究可以参看《研究可以参看《计算方法计算方法》方面的书。》方面的书。

在在 ExcelExcel 中怎么做呢?用上述五种算中怎么做呢?用上述五种算法、用法、用单变量求解单变量求解、、规划求解规划求解等。等。

Page 25: 教案要点 文 件 名: 051OR02.PPT ;搜索论.XLS 上节习题: 051ORL01.PPT 授课时间:第二讲 授课内容:搜索论(一) 预备知识:解析几何、微积分

思考思考讨论一下有多少种方法求讨论一下有多少种方法求①①用计算器、查表、手算……用计算器、查表、手算……②②用计算机:用计算机:附件附件计算器计算器OfficeOfficeExcelExcel用计算机语言编程用计算机语言编程③③求求 y=xy=x22-7-7 在在 [2,3][2,3] 中的中的零点。零点。

7

Page 26: 教案要点 文 件 名: 051OR02.PPT ;搜索论.XLS 上节习题: 051ORL01.PPT 授课时间:第二讲 授课内容:搜索论(一) 预备知识:解析几何、微积分

求求 77 的平方的平方根根计算器求计算器求 7用计算机:用计算机:附件附件计算器计算器

Page 27: 教案要点 文 件 名: 051OR02.PPT ;搜索论.XLS 上节习题: 051ORL01.PPT 授课时间:第二讲 授课内容:搜索论(一) 预备知识:解析几何、微积分

用用 ExcelExcel 的解的解法法利用函数利用函数 MAXMAX 和和 MINMIN

可以找到一批单元格中可以找到一批单元格中最大最大 (( 小小 )) 者。利用“规者。利用“规划求解”也可解决大量划求解”也可解决大量求极值的问题。求极值的问题。

Page 28: 教案要点 文 件 名: 051OR02.PPT ;搜索论.XLS 上节习题: 051ORL01.PPT 授课时间:第二讲 授课内容:搜索论(一) 预备知识:解析几何、微积分

求求 77 的平方的平方根根用计算机:用计算机: OfficeOfficeExcelExcel用公式:用公式:==SQRT(7)SQRT(7)

Page 29: 教案要点 文 件 名: 051OR02.PPT ;搜索论.XLS 上节习题: 051ORL01.PPT 授课时间:第二讲 授课内容:搜索论(一) 预备知识:解析几何、微积分

求求 77 的平方的平方根根用计算机:用计算机: OfficeOfficeExcelExcel用单变量求解、规划求解用单变量求解、规划求解

Page 30: 教案要点 文 件 名: 051OR02.PPT ;搜索论.XLS 上节习题: 051ORL01.PPT 授课时间:第二讲 授课内容:搜索论(一) 预备知识:解析几何、微积分

求求 77 的平方的平方根根用计算机:用计算机: OfficeOfficeExcelExcel

秦九韶法秦九韶法对分法对分法作图法逼近作图法逼近

Page 31: 教案要点 文 件 名: 051OR02.PPT ;搜索论.XLS 上节习题: 051ORL01.PPT 授课时间:第二讲 授课内容:搜索论(一) 预备知识:解析几何、微积分

a f(a) f'(a) )('

)(

af

afac

求求 77 的平方的平方根根用切线法用切线法求求 y=xy=x22-7-7 在在 [2,3][2,3] 中的中的零点即 。零点即 。7 3

2 6 8/38/3 1/9 16/3 127/48

127/48 1/2304 127/24 ####2.645751 32257/12192

选哪端?选哪端?

3

  1   121922

Page 32: 教案要点 文 件 名: 051OR02.PPT ;搜索论.XLS 上节习题: 051ORL01.PPT 授课时间:第二讲 授课内容:搜索论(一) 预备知识:解析几何、微积分

补充作业补充作业分别用五种算法:秦九韶分别用五种算法:秦九韶 --霍纳法、霍纳法、对分法、切线法、弦线法和联合法找对分法、切线法、弦线法和联合法找如下函数在指定区间内的零点。如下函数在指定区间内的零点。①① y=x·sinx-0.7y=x·sinx-0.7 在在 [6,7][6,7]②② y=xy=x33+3x+3x22-2x-9-2x-9 在在 [1,2][1,2]