数学 外文翻译 外文文献 英文文献 具体数学Word文档下载推荐.docx
- 文档编号:16533203
- 上传时间:2022-11-24
- 格式:DOCX
- 页数:16
- 大小:83.24KB
数学 外文翻译 外文文献 英文文献 具体数学Word文档下载推荐.docx
《数学 外文翻译 外文文献 英文文献 具体数学Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《数学 外文翻译 外文文献 英文文献 具体数学Word文档下载推荐.docx(16页珍藏版)》请在冰豆网上搜索。
我们可能会推测当n是偶数的时候J(n)=n=2;
而且当n=2的时候结论验证了假设:
J
(2)=1。
但是其他一些数字比较小的情况告诉我们|当n=4和n=6的时候这个假设错误了。
于是我们回到了起点;
让我们试着来个更好的猜测。
呃...,J(n)看起来总是奇数。
而且事实上,这个现象的原因是:
围成的圆圈的第一轮消灭了所有的编号是偶数的人。
之后我们又回到了与我们开始的时候类似的情形,除了人数只有原来一半的人,而且他们的编号改变了。
所以,让我们假设最开始有2n个人,在第一轮结束后,我们剩下
而且3将是下一个出局的。
这个就像是以n个人开始的情况,除了每个人的编号变为两倍减一。
那就是,
J(2n)=2J(n)-1;
当n≥1:
我们现在可以快速的计算一下当n比较大的时候的值。
例如,我们知道J(10)=5,所以
J(20)=2J(10)-1=2*5-1=9:
同样可知J(40)=17,进一步我们可以推算出
J(5*2M)=2M+1+1
但是,奇数的情况呢?
当有2n+1个人的时候,编号是1的人会在第2n个人出局后紧接着出局,然后,我们剩下
我们再次获得了形如n个人的情况,但是这次他们的编号是两倍加一。
所以
J(2n+1)=2J(n)+1;
当n≥1;
与等式J
(1)=1组合,我们得到一个定义了J的所有取值的递推式:
J
(1)=1;
J(2n)=2J(n)-1;
这个公式不是从J(n-1)计算J(n),这个递归式更加的“高效”,因为他以2为因子使n递减了一半或更多。
我们可以计算J(1;
000;
000),如上所示,我们只要应用19次
(1)式。
但是,我们依旧要寻找一个闭合形式的公式,因为那样会更加快速和更有意义。
总之,这是非常重要的事情。
用我们的递归式,我们可以很快地建造一张较小取值的表。
可能我们可以通过这张表看出模式并猜出结果。
瞧!
看起来我们可以以2的幂分组(通过表中的竖线);
在每组的开始,J(n)总是1,而且在一组内以2递增。
所以,如果我们把n写成形如n=2M+J的公式,当2M是不超过n的2的最大次幂,且l是剩余的数。
这样我们的递归式的解法看起来是
J(2M+L)=2L+1当m≥0且0≤L<
2M
(2)
(注意如果2M≥n<
2M+1,那么余下的数l=n-2M满足不等式0≤L<
2M+1-2M=2M.)
我们现在必须证明
(2)式。
如我们以前使用的数学归纳法一样,但是这次我们的数学归纳是基于变量m的。
当m=0我们一定有l=0;
因此
(2)式的基础就变成了J
(1)=1,这时是正确的。
通过l是奇数还是偶数,这次的归纳证明分两部分。
如果m>
0且2M+L=2n那么l是偶数。
且通过
(1)式和归纳法假设可得
J(2M+L)=2J(2M-1+L/2)-1=2(2L/2+1)-1=2l+1;
这个就是我们想要的。
奇数的情况证明方法类似,当2M+L=2L+1。
我们可能也注意到式子
(1)还表达了这样一个关系
J(2n+1)-J(2n)=2
总之,这个数学归纳法证明完毕,且
(2)式被证明了。
为了展示解法
(2)式,让我们来计算一下J(100)。
在这个例子中,我们有100=26+36,所以J(100)=2*36+1=73
现在,我们解决了艰难的部分(解决问题)。
我们再说点轻松的:
每解决一个问题都可以泛化,使得可以应用一大类问题。
当我们已经掌握一项技巧,完整的研究它,看看借助它我们可以走多远是非常值得的。
所以,在这节的余下部分,我们将会研究我们的解法
(2)式以及研究递归式
(1)的一些扩展。
这些研究将会展示出所有这样问题的结构和基础。
在我们寻找解法的时候,2的幂起到了重要的作用,所以很自然的,我们想用2的基数表示n和J(n)。
假设n的二进制表达式是
n=(bmbm-1...b1b0)2;
也就是
n=bm2m+bm-12m-1+....b12+b0
每个bi取值是0或1,且最高位bm是1.回想一下n=2M+L我们先后得到如下表达式,
n=(1bm-1bm-2...b1b0)2
L=(0bm-1bm-2...b1b0)2
2L=(bm-1bm-2...b1b0)2
2L+1=(bm-1bm-2...b1b01)2
J(n)=(bm-1bm-2...b1b0m)2
(最后一个式子是因为J(n)=2l+1以及bm=2L+1以及bm=1。
)我们已经证明
J((bm-1bm-2...b1b0)2)=(bm-1bm-2...b1b0m)2;
(3)
这样,用计算机编程的专业术语解释就是我们从n计算J(n)只需要做一位循环左移!
多么神奇。
例如,如果n=100=(1100100)2,那么J(n)=J(1100100)2=(1001001)2,也就是64+8+1=73。
如果我们从一开始就一直用二进制方法研究,我们可能会立即就发现这个模式。
如果我们以n个人开始,迭代J函数m+1次,计算机将会作m+1次的一位循环左移;
所以当n是一个(m+1)位的数字,我们可能希望最后又得到n。
但是实际上不是。
举个例子,当n=13,我们有J(1101)2=(1011)2,但是之后J(1011)2
=(111)2,这时处理过程中断了;
当0出现在首位的时候会被忽略。
事实上,根据定义,J(n)必须总是≤n,因为J(n)是存活着的人的编号;
所以如果J(n)<
n我们决不可能通过继续迭代回溯到n。
重复的应用过程J产生一个递减的序列值,最终到达一个“固定的值”,也就是当J(n)=n的时候。
这种循环位移特点使得很容易观察出来这个固定的值将会是多少:
迭代这个方法足够多的次数,总会产生每个位都是1的模式,其值为2v(n)-1,当v(n)是1-位在整个二进制序列的出现的次数。
所以,当v(13)=3,我们有
2或更多的J
J(J(...J(13)...))=23−1=7;
同样的
8或更多
J(J(...J(101101101101011)2...))=210−1=1023;
很奇怪,但是是正确的。
让我们回到这个问题的最初猜想,也就是当n是偶数的时候J(n)=n=2。
一般而言这个结论是明显但不正确的,但我们现在可以看看它到底在什么情况下是正确的:
J(n)=n=2;
2l+1=(2m+l)/2
l=1/3(2m-2)
如果这个式子l=1/3(2m-2)是一个整数,那么n=2m+l将会是一个解,因为l会小于2m不难验证当m是奇数,2m-2是3的倍数,但当m是偶数的时候不成立。
(我们将会在第四章研究这个问题。
)所以有无穷多个解可以满足J(n)=n/2,以如下形式开头:
注意这个模式中最右边的一列。
这些二进制数一位循环左移的结果和一位循环右移的结果一样。
(结果都是减半)。
好了,我们对函数J了解的全面了;
下一步是将这个问题一般化。
如果我们的问题得到一个像
(1)的递归式,但是常数不同,将会发生什么?
我们可能就没有这么幸运能猜到答案了,因为答案可能很复杂。
让我们通过引入常量α,β和γ12研究这个问题,并尝试为较一般的递归式找到一个闭合形式的公式
f
(1)=α;
f(2n)=2f(n)+β,当n≥1;
(4)
f(2n+1)=2f(n)+γ,当n≥1.
(我们开始的递归式中α=1,β=−1,且γ=1。
)以f
(1)=α开始计算,我们可以构建出来接下来的广义形式递归式的对n取值较小的表:
可以看出来α的系数是小于n的最大的2的幂。
另外,在2的幂的范围内,β的系数每次减1,直到0。
而γ的系数则从0开始每次增加1。
所以,我们的表达式f(n)的形式是
f(n)=A(n)α+B(n)β+C(n)γ,(6)
通过与之相关的α,β和γ分离,可得
A(n)=2m;
B(n)=2m−1−l;
C(n)=l.(7)
这里跟以往一样,n=2m+l且0≤l<
2m,当n≥1。
使用数学归纳法证明(6)式和(7)式并不是一件非常艰难的事情,但是这个计算过程是繁杂而且没有技术含量的。
而且现在有个更好的方法来计算,通过带入选定具体的值,然后对比计算他们。
13让我们通过具体的例子α=1,β=γ=0来说明这个方法,当假设f(n)等于A(n):
递归式(4)变为
A
(1)=1;
A(2n)=2A(n);
当n≥1;
A(2n+1)=2A(n);
可以肯定的是,A(2m+l)=2m是正确的(通过对m进行数学归纳法可以证明)。
接下来,我们将反用递归式(4)以及解法(6)式。
我们以一个简单的f(n)函数开始,看看是否存在常数(α,β,γ)可以确定它。
将常函数f(n)=1带入递归式(4)可得
1=α;
2=2·
1+β;
3=2·
1+γ;
所以取值(α,β,γ)=(1,−1,−1)满足这些等式,且有A(n)−B(n)−C(n)=f(n)=1。
同样我们可以带入f(n)=n:
2n=2·
n+β;
2n+1=2·
n+γ;
当α=1,β=2且γ=1的时候,这些等式对于所有的n成立,所以我们不必用数学归纳法证明这些参数满足f(n)=n。
我们已经知道f(n)=n在这个例子中是解,因为递归式(4)为每个n的取值唯一的定义了f(n)。
现在我们已经完成了核心的部分!
我们已经表示了(6)式的函数A(n),B(n)以及C(n),他们解决了广义的(4)式,满足公式
A(n)=2m,当n=2m+l且0≤l<
2m;
A(n)−B(n)−C(n)=1;
A(n)+C(n)=n.
我们的对于(7)式的推测可以通过如下的式子立即解出来:
C(n)=n−A(n)=l以及B(n)=A(n)−1−C(n)=2m−1−l。
这个过程已经接近于展示一个惊奇、有用的repertoiremethod来解决递归式问题。
首先,我们要寻找我们的解法中已知的通用参数;
这给予了我们能解得各个部分的特例。
我们需要跟独立的参数数量(在这个例子中是三个,α,β和γ)同样多的独立的特解。
练习16和20提供了更多的相关例子。
我们知道原来的递归式J有一个神奇的解法,也就是二进制:
J(bmbm−1...b1b0)2=(bm−1...b1b0bm)2,当bm=1.
那么,广义的Josephus递归式也能如此神奇么?
当然,为什么不呢?
我们可以把这个广义的递归式(4)重写成如下形式
f
(1)=α;
f(2n+j)=2f(n)+βj,当j=0,1且n(8)
若我们设β0=β且β1=γ。
这个递归式的展开式,二进制表示如下:
f(bmbm−1...b1b0)2=2f(bmbm−1...b1)2+βb0
=4f(bmbm−1...b2)2+2βb1+βb1
=2mf(bm)2+2m−1βbm−1+..+βb0
=2mα+2m−1βbm−1+...+βb0.
假设我们现在不管162的基数标记,随便让数字取代二进制中的0和1。
这样就会得到
f(bmbm−1...b1b0)2=(αβbm−1βbm−2...βb1+βb0)2.(9)
好了。
如果我们把(5)式换一种写法17,我们会更早些看到这个模式:
举个例子,当n=100=(1100100)2的时候,我们原来的Josephus取值为α=1,β=−1,且γ=1带入后构造
结论跟之前一样。
这个循环左移的特点之所以能满足是因为每个二进制数据块(10...000)2在表示n的时候的时候转化为
(1−1...−1−1)2=(00...01)2.
所以我们改变曾给出的对递归式(8)的精简的解法(9)式。
如果我们已经不受约束了,我们就可以使它更加一般化18,所以递归式
f(j)=aj,当1≤j<
d;
f(dn+j)=cf(n)+βj当0≤j<
d且n≥1,(10)
如同之前的那个,除了我们的起始的数字的基数是d,产生值是基数c。
所以,这个基数改变了的解法是
f(bmbm−1...b1b0)d=(αbmβbm−1βbm−2...βb1βb0)c.(11)
例如,假设一个幸运的巧合19下我们获得了一个递归式
f
(1)=34
f
(2)=5,
f(3n)=10f(n)+76当n≥1
f(3n+1)=10f(n)−2当n≥1
f(3n+2)=10f(n)+8,当n≥1
假设我们想计算f(19)。
这里我们有d=3和c=10。
现在19=(201)3,通过这个基数改变了的解法,我们把数字一位一位的替换,把每个数字从基于基数3的表示方法替换为基数是10的。
所以,使2变为5,并假设0和1变成76和-2,代入
f(19)=f(201)3=(576−2)10=1258,
这就是我们的结果。
所以Josephus以及犹太—罗马战争留给我们一些有趣的广义递归式。
1.RecurrentProblems
THISCHAPTEREXPLORESthreesampleproblemsthatgiveafeelfor
what'
stocome.Theyhavetwotraitsincommon:
They'
veallbeeninvesti-gatedrepeatedlybymathematicians;
andtheirsolutionsallusetheideaof
recurrence,inwhichthesolutiontoeachproblemdependsonthesolutions
tosmallerinstancesofthesameproblem.
1.3THEJOSEPHUSPROBLEM
InourOurnalintroductoryexampleisavariantofanancientproblemnamedforFlaviusJosephus,avariation,westartwithnpeoplenumbered1tonaroundacircle,andweeliminateeverysecondremainingpersonuntilonlyonesurvives.Forexample,here'
sthestartingcongurationforn=10:
Theeliminationorderis2,4,6,8,10,3,7,1,9,so5survives.Theproblem:
Determinethesurvivor'
snumber,J(n).
WejustsawthatJ(10)=5.WemightconjecturethatJ(n)=n=2whenniseven;
andthecasen=2supportstheconjecture:
J
(2)=1.Butafewothersmallcasesdissuadeus|theconjecturefailsforn=4andn=6.
It'
sbacktothedrawingboard;
let'
strytomakeabetterguess.Hmmm:
:
J(n)alwaysseemstobeodd.Andinfact,there'
sagoodreasonforthis:
Thersttriparoundthecircleeliminatesalltheevennumbers.Furthermore,ifnitselfisanevennumber,wearriveatasituationsimilartowhatwebeganwith,exceptthatthereareonlyhalfasmanypeople,andtheirnumbershavechanged.
Solet'
ssupposethatwehave2npeopleoriginally.Aftertherstgo-round,we'
releftwith
nd3willbethenexttogo.Thisisjustlikestartingoutwithnpeople,exceptthateachperson'
snumberhasbeendoubledanddecreasedby1.Thatis,
Wecannowgoquicklytolargen.Forexample,weknowthatJ(10)=5,so
SimilarlyJ(40)=17,andwecandeducethatJ(5*2M)=2M+1+1
Butwhatabouttheoddcase?
With2n+1people,itturnsoutthatpersonnumber1iswipedoutjustafterpersonnumber2n,andwe'
Againwealmosthavetheoriginalsituationwithnpeople,butthistimetheirnumbersaredoubledandincreasedby1.Thus
forn≥1;
CombiningtheseequationswithJ
(1)=1givesusarecurrencethatdenesJinallcases:
forn≥1;
InsteadofgettingJ(n)fromJ(n-1),thisrecurrenceismuchmoreeffcient,"
becauseitreducesnbyafactorof2ormoreeachtimeit'
sapplied.WecouldcomputeJ(1000000),say,withonly19applicationsof(1.8).Butstill,weseekaclosedform,becausethatwillbeevenquickerandmoreinformative.Afterall,thisisamatteroflifeordeath.
Ourrecurrencemakesitpossibletobuildatableofsmallvaluesveryquickly.Perhapswe'
llbeabletospotapatternandguesstheanswer.
Voila!
Itseemswecangroupbypowersof2(markedbyverticallinesinthetable);
J(n)isalways1atthebeginningofagroupanditincreasesby2withinagroup.Soifwewritenintheformn=2M+J,where2Misthelargestpowerof2notexceedingnandwhereliswhat'
sleft,thesolutiontoourrecurrenceseemstobe
J(2M+L)=2L+1form≥0and0≤L<
(Noticethatif2M≥n<
2M+1,theremainderl=n
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数学 外文翻译 外文文献 英文文献 具体数学 外文 翻译 文献 英文 具体