当前位置:首页 » 操作系统 » 算法是谁

算法是谁

发布时间: 2025-07-30 02:48:09

1. 圆周率的计算方法是如何发展的

在不同的历史时期,受制于生产力发展水平和科技发展水平,π 的计算方法、计算效率、准确度各不相同。圆周率(π)的计算方法的探索主要有实验时期、几何法时期、分析法时期、计算机时代。

1、实验时期——对圆周率的估算:

一块古巴比伦石匾(约产于公元前1900年至1600年)清楚地记载了圆周率 = 25/8 = 3.125。同一时期的古埃及文物,莱因德数学纸草书(Rhind Mathematical Papyrus)也表明圆周率等于分数16/9的平方,约等于3.1605。埃及人似乎在更早的时候就知道圆周率了。

英国作家 John Taylor (1781–1864) 在其名着《金字塔》(《The Great Pyramid: Why was it built, and who built it?》)中指出,造于公元前2500年左右的胡夫金字塔和圆周率有关。例如,金字塔的周长和高度之比等于圆周率的两倍,正好等于圆的周长和半径之比。公元前800至600年成文的古印度宗教巨着《百道梵书》(Satapatha Brahmana)显示了圆周率等于分数339/108,约等于3.139。


2. 谁能解释基因演算法

基因算法 1975年 John Holland 学者所提出
成为非常着名的算法
Genetic Algorithm (GA)
基因算法 又称: 遗传算法
基因算法的概念
将问题编码成 染色体的型式
基因: 0 or 1
染色体: x = 0 1 0 0 1 1 0
设计 适应函数 (fitness function)
f(x) :适应函数,给一 x 可得一 适应值 f(x)
适应值愈高, 表愈适应环境
基因算法三个基本动作
选择(Selection)与复制 (Reproction):
X = 0 1 0 0 1 1 0
选择 适应值高 之染色体
复制成多个染色体
基因算法三个基本动作
交换 (crossover):
父:0 1 0 0 1 1 0 0 1 1 1 0 1 0
母:1 0 1 1 0 0 1 1 0 0 0 1 0 1
交换 基因算法三个基本动作
突变 (mutation):
0 1 0 0 1 1 0
1 选择 产生初始族群
计算适应値 复制 交换
突变 产生下一子代
是否满足 停止条件
产生最适个体
否是 基因算法 基本架构图
取材自:辅仁大学资管系林文修老师
选择与 基因操作阶段
评估阶段 初始阶段 生成下一世代
问题否是 生成母体
评估适应函数
符合停止条件?
选择 复制 交换 突变
开始 结束 编码 适应函数
领域知识 表现型 基因型
解码 基因算法 之流程图
取材自:辅仁大学资管系林文修老师
算法步骤 Step1:随机产生N个染色体
Step2:利用适应函数算出每个染色体的适应值
Step3 : 选择与复制: 选择 适应值高 之染色体 复制成多个染色体
Step4:利用交换及突变的动作产生新的染色体
Step5:测试新染色体的适应值是否达到门槛值
是:则 停止
否:则 Go to Step3
范例1 假设 x 在 (0,31) 之间,y = x ,求 x = ,y 可得最大值
将问题编码成 基因的型式
x : 0 0 0 0 0~1 1 1 1 1
设计 适应函数 (fitness function)
f (x) = y = x
范例1 <Step 1, 2, 3>
取4组染色体 x f (x) f (x) /m 复制个数
0 1 1 1 0 (14) 196 0.71 1
1 1 0 0 0 (24) 576 2.07 2
1 0 0 0 1 (17) 289 1.04 1
0 0 1 1 1 ( 7) 49 0.18 0
m = = 278
196+576+289+49
4 范例1 <Step 4.1> 交换
x f (x)
0 1 1 1 0 0 1 0 0 0 (8) 8 = 64
1 1 0 0 0 1 1 1 1 0 (30) 30 = 900
1 1 0 0 0 1 1 0 0 1 (25) 25 = 625
1 0 0 0 1 1 0 0 0 0 (16) 16 = 256
交换 交换 范例1 <Step 4.1> 交换
交换点 下一子代 x f (x)
0 1 1 1 0 2 0 1 0 0 0 8 64
1 1 0 0 0 2 1 1 1 1 0 30 900
1 1 0 0 0 4 1 1 0 0 1 25 625
1 0 0 0 1 4 1 0 0 0 0 16 256
范例1 <Step4.2>突变 (机率0.1)
4个染色体× 5个基因 = 20个基因
20 × 0.1 = 2 有2个基因要突变
1 st:0 1 0 0 0 0 1 1 0 0 (12)
第一个染色体之第3基因突变
3 rd:1 1 0 0 1 1 0 0 0 1 (17)
第三个染色体之第2基因突变
范例1 <Step5>
停止条件有三种可能方法:
设定繁衍代数 (ex:1000代)
收敛 (ex:最佳适应值已50代未改进)
适应值达到门槛
否则,Go to Step3
编码(coding)-1
运用基因演化算法的目的是求问题的解,在初始阶段的编码步骤是把与问题相关变数的值(或称为问题解)以特定编码的方式将其组合成一条染色体 (chromosome,或称为字串string),每一条染色体即代表一可能的问题解答,
最简单而且被广泛使用的是标准二进位编码法(Standard binary encoding)。这种编码法是将染色体内的每个基因用二进位码{0,1}来表示,而编码后的染色体即是一串由01组合字串(string)。

3. 模拟退火算法是一种什么算法

模拟退火算法(Simulate Anneal Arithmetic,SAA)是一种通用概率算法,用来在一个大的搜寻空间内找寻命题的最优解。模拟退火是S.Kirkpatrick, C.D.Gelatt和M.P.Vecchi在1983年所发明。而V.Čern&amp;yacute;在1985年也独立发明此算法。模拟退火算法是解决TSP问题的有效方法之一。

产生新解的方式很多,以二进制编码为例,假如一个解为01001101,可以随机选取一位进行取反。假如选中了第3位,则第3位按位取反,新解为01101101。这个过程有点类似于遗传算法中的基因突变。上述算法描述中每个温度值只产生了一次新解,实际问题中可以产生多次。

算法的关键在于Metropolis准则。如果新解的函数值较小,自然要把新解作为当前解;如果新解函数值较大,则它仍有一定概率被选作当前解。这个概率与df有关,df越大,说明新解越差,它被选作当前解的概率也越小;此外,这个概率还和当前温度有关,当前温度越高,概率越大(类似于分子热运动越剧烈)。

热点内容
汉语编程编译器下载 发布:2025-07-30 16:21:46 浏览:122
宣传学校文案脚本 发布:2025-07-30 16:10:43 浏览:673
阿里云服务器受攻击 发布:2025-07-30 15:42:01 浏览:900
sql语言的两种方式 发布:2025-07-30 14:59:24 浏览:462
android的4大组件 发布:2025-07-30 14:40:39 浏览:438
压缩语段疫情 发布:2025-07-30 14:31:50 浏览:180
计算机数据存储格式 发布:2025-07-30 14:01:51 浏览:915
java内存动态编译 发布:2025-07-30 13:51:44 浏览:234
小车哪些配置需要装定位 发布:2025-07-30 13:46:49 浏览:371
电脑服务器忙原因 发布:2025-07-30 13:35:29 浏览:842