数学建模社区-数学中国
标题:
#每日一数模#坚持60天,I can deserve it !
[打印本页]
作者:
赤眸
时间:
2015-12-3 09:24
标题:
#每日一数模#坚持60天,I can deserve it !
第一次看到这样的活动,感觉很兴奋,这样的活动既锻炼了自己的意志,也让每天的生活过的充实有意义。虽然不知道最后的结果如何,但我会尽力而为的! 给自己一个承诺,给自己一个希望,给自己一个挑战!
-First day
作者:
赤眸
时间:
2015-12-4 17:28
数学建模所需的基础知识:1. 高等数学+线性代数;2: 概率论与数理统计;3:若要把数据分析、从数据推动的角度建模的工作融会贯通,建议补充阅读计量经济学;4:脑海中储存足够的数学模型和数学建模算法与程序;5:熟练运用Matlab/SAS/Lingo数据分析与统计的软件;6:培养阅读论文,提炼核心思想的能力;7:当然,还要经常实战操练!
好了,既然已经有明确的方向了,就要朝着这个方向一步步的走下去!
-Second day
作者:
赤眸
时间:
2015-12-5 19:38
对于任何一本教材,一份资料里介绍的一种数学模型的建立,或者一种算法,你都要问自己三个问题:
1. 这个模型叫什么名字?
2. 这个模型属于什么类型,能够解决具有哪类特征的问题?
3. 这个模型的具体操作步骤怎么实现?
下面举一个小例子:
我对优化模型的认识:
1. 模型名字:优化模型,也叫数学规划,包括线性规划、目标规划、整数规划、非线性规划、动态规划等等各自能够解决决策变量为整数或实数,目标函数为线性或者非线性的问题,是最常见的数模问题。
2. 这是优化类模型,能解决问题的特征是问题要求某些量达到最大或最小,比如销售量最大化,森林火灾造成的损失最小等等,而且我们可以人为地控制某些变量,比如员工的上班时间,原材料的投入量,消防队员救援的策略等等。只要是存在可控制的量和要达到最优的目标,这就是一个优化问题。
3. 比较标准的优化问题,就像教材上对它的分类一样,可以直接用lingo软件解决,而复杂的非标准而有很多细节的优化问题则需要手动操作和很多其他灵活的处理,或者还需要用动态规划的方法弄清楚问题发展过程后加以解决,总的来说,优化问题的建模分为这么几个步骤:
a. 找到可以控制的决策变量;找到待优化的优化目标;
b. 寻找决策变量对优化目标的影响,写出目标函数;
c. 对目标函数用求导等数学工具求出最值和对应的决策变量的取值;
d. 回到原问题予以解答。
学习了优化模型后,让我体会到学数模最关键的是要用心去做,用心去想,并及时去用软件实践,沉下心来,用心思考,不断积累知识,最终在数模的道路上越走越远!
-Third day
作者:
赤眸
时间:
2015-12-5 19:47
对于任何一本教材,一份资料里介绍的一种数学模型的建立,或者一种算法,你都要问自己三个问题:
1. 这个模型叫什么名字?
2. 这个模型属于什么类型,能够解决具有哪类特征的问题?
3. 这个模型的具体操作步骤怎么实现?
下面用优化模型来举例:
1. 模型名字:优化模型,也叫数学规划,包括线性规划、目标规划、整数规划、非线性规划、动态规划等等各自能够解决决策变量为整数或实数,目标函数为线性或者非线性的问题,是最常见的数模问题。
2. 这是优化类模型,能解决问题的特征是问题要求某些量达到最大或最小,比如销售量最大化,森林火灾造成的损失最小等等,而且我们可以人为地控制某些变量,比如员工的上班时间,原材料的投入量,消防队员救援的策略等等。只要是存在可控制的量和要达到最优的目标,这就是一个优化问题。
3. 比较标准的优化问题,就像教材上对它的分类一样,可以直接用lingo软件解决,而复杂的非标准而有很多细节的优化问题则需要手动操作和很多其他灵活的处理,或者还需要用动态规划的方法弄清楚问题发展过程后加以解决,总的来说,优化问题的建模分为这么几个步骤:
a. 找到可以控制的决策变量;找到待优化的优化目标;
b. 寻找决策变量对优化目标的影响,写出目标函数;
c. 对目标函数用求导等数学工具求出最值和对应的决策变量的取值;
d. 回到原问题予以解答。
这次学习让我体会到学习数模最关键的是要用心去做,用心去想,不断积累知识。坚持,会让我在数模的道路上越走越远!
-Third day
作者:
百年孤独
时间:
2015-12-5 20:00
大家 加油
作者:
赤眸
时间:
2015-12-5 20:06
对于任何一本教材,一份资料里介绍的一种数学模型的建立,或者一种算法,你都要问自己三个问题:
1. 这个模型叫什么名字?
2. 这个模型属于什么类型,能够解决具有哪类特征的问题?
3. 这个模型的具体操作步骤怎么实现?
下面用优化模型来举例说明:
1. 模型名字:优化模型,也叫数学规划,包括线性规划、目标规划、整数规划、非线性规划、动态规划等等各自能够解决决策变量为整数或实数,目标函数为线性或者非线性的问题,是最常见的数模问题。
2. 这是优化类模型,能解决问题的特征是问题要求某些量达到最大或最小,比如销售量最大化,森林火灾造成的损失最小等等,而且我们可以人为地控制某些变量,比如员工的上班时间,原材料的投入量,消防队员救援的策略等等。只要是存在可控制的量和要达到最优的目标,这就是一个优化问题。
3. 比较标准的优化问题,就像教材上对它的分类一样,可以直接用lingo软件解决,而复杂的非标准而有很多细节的优化问题则需要手动操作和很多其他灵活的处理,或者还需要用动态规划的方法弄清楚问题发展过程后加以解决,总的来说,优化问题的建模分为这么几个步骤:
a. 找到可以控制的决策变量;找到待优化的优化目标;
b. 寻找决策变量对优化目标的影响,写出目标函数;
c. 对目标函数用求导等数学工具求出最值和对应的决策变量的取值;
d. 回到原问题予以解答。
通过这次学习,使我体会到学数模最关键的是要用心去做,用心去想,不断的积累知识,才能在数学建模的道路上越走越远!
-Third day
作者:
赤眸
时间:
2015-12-5 20:12
对于任何一本教材,一份资料里介绍的一种数学模型的建立,或者一种算法,你都要问自己三个问题:
1. 这个模型叫什么名字?
2. 这个模型属于什么类型,能够解决具有哪类特征的问题?
3. 这个模型的具体操作步骤怎么实现?
下面用优化模型来举例:
1. 模型名字:优化模型,也叫数学规划,包括线性规划、目标规划、整数规划、非线性规划、动态规划等等各自能够解决决策变量为整数或实数,目标函数为线性或者非线性的问题,是最常见的数模问题。
2. 这是优化类模型,能解决问题的特征是问题要求某些量达到最大或最小,比如销售量最大化,森林火灾造成的损失最小等等,而且我们可以人为地控制某些变量,比如员工的上班时间,原材料的投入量,消防队员救援的策略等等。只要是存在可控制的量和要达到最优的目标,这就是一个优化问题。
3. 比较标准的优化问题,就像教材上对它的分类一样,可以直接用lingo软件解决,而复杂的非标准而有很多细节的优化问题则需要手动操作和很多其他灵活的处理,或者还需要用动态规划的方法弄清楚问题发展过程后加以解决,总的来说,优化问题的建模分为这么几个步骤:
a. 找到可以控制的决策变量;找到待优化的优化目标;
b. 寻找决策变量对优化目标的影响,写出目标函数;
c. 对目标函数用求导等数学工具求出最值和对应的决策变量的取值;
d. 回到原问题予以解答。
通过本次学习,让我体会到学数模最关键的是要用心去做,用心去想,并及时积累所学知识,才能让我在数学建模的道路上越走越远。
-Third day
作者:
赤眸
时间:
2015-12-5 20:15
对于任何一本教材,一份资料里介绍的一种数学模型的建立,或者一种算法,你都要问自己三个问题:
1. 这个模型叫什么名字?
2. 这个模型属于什么类型,能够解决具有哪类特征的问题?
3. 这个模型的具体操作步骤怎么实现?
-Third day
作者:
赤眸
时间:
2015-12-6 21:05
数学模型分类:
1. 优化类问题:我们常常需要对某些行为进行决策,这些是我们可以控制的因素,这些因素一般来说会定量化地影响我们的某些目标值,比如投入决定产出,价格决定销量等等。这时,如何确定我们的决策变量,进而使得我们的目标值达到最优就是我们利用数学模型来解决的问题。这里,有一些是标准化过了的数学规划问题,而实际问题往往会更加复杂,这时候,就需要我们凭借经验将这些问题化简,进而达到我们能够处理的地步,这中间往往没有统一的处理办法,具体问题具体分析,而这个也体现了一个数模人的实力;
2. 评价类问题:每个行业都有它的评价标准和准则,那么这些标准应该有其自身的形成机制,数学模型就是形成这一机制的方法。如何根据成分指标评价一瓶葡萄酒?如何根据员工表现评价年终奖评定?如何评价一名NBA球员在球场上的效率?这些问题都需要设计评价算法来对这些对象进行评价。数学模型的评价方法的一个优势在于,它能够最大程度上客观地反映被评价对象的优劣程度以及符合评价指标的多少,能够体现公平的原则;
3. 预测类问题: 未来的情况往往可以根据当前的一些量予以推测和判断,这些当前的量再加上失去发展的机制,就能够推算出未来可能的情况。预测的方法有很多,大多是前人总结的经典模型,可以拿来直接套用,而自己推断事物发展的机制进行算法设计然后预测有时候能够更加真实地反映未来的可能趋势,当然,有的模型根据事物发展的机理,有的直接通过数据分析的手段,这些都是可行的,关键看你有没有定量地把握事物的本质。
所以平时我们可以结合着对解决问题类型的分类慢慢学习,多多思考,使自己解决问题的能力得到真正的提高。
-fourth day
作者:
赤眸
时间:
2015-12-6 23:41
数学模型分类
1. 优化类问题:我们常常需要对某些行为进行决策,这些是我们可以控制的因素,这些因素一般来说会定量化地影响我们的某些目标值,比如投入决定产出,价格决定销量等等。这时,如何确定我们的决策变量,进而使得我们的目标值达到最优就是我们利用数学模型来解决的问题。这里,有一些是标准化过了的数学规划问题,而实际问题往往会更加复杂,这时候,就需要我们凭借经验将这些问题化简,进而达到我们能够处理的地步,这中间往往没有统一的处理办法,具体问题具体分析,而这个也体现了一个数模人的实力;
2. 评价类问题:每个行业都有它的评价标准和准则,那么这些标准应该有其自身的形成机制,数学模型就是形成这一机制的方法。如何根据成分指标评价一瓶葡萄酒?如何根据员工表现评价年终奖评定?如何评价一名NBA球员在球场上的效率?这些问题都需要设计评价算法来对这些对象进行评价。数学模型的评价方法的一个优势在于,它能够最大程度上客观地反映被评价对象的优劣程度以及符合评价指标的多少,能够体现公平的原则;
3. 预测类问题: 未来的情况往往可以根据当前的一些量予以推测和判断,这些当前的量再加上失去发展的机制,就能够推算出未来可能的情况。预测的方法有很多,大多是前人总结的经典模型,可以拿来直接套用,而自己推断事物发展的机制进行算法设计然后预测有时候能够更加真实地反映未来的可能趋势,当然,有的模型根据事物发展的机理,有的直接通过数据分析的手段,这些都是可行的,关键看你有没有定量地把握事物的本质。
我们可以结合着对解决问题类型的分类慢慢学习,多多思考,使自己解决问题的能力得到真正的提高。
-Fourth day
作者:
赤眸
时间:
2015-12-6 23:44
数学模型分类
1. 优化类问题:我们常常需要对某些行为进行决策,这些是我们可以控制的因素,这些因素一般来说会定量化地影响我们的某些目标值,比如投入决定产出,价格决定销量等等。这时,如何确定我们的决策变量,进而使得我们的目标值达到最优就是我们利用数学模型来解决的问题。这里,有一些是标准化过了的数学规划问题,而实际问题往往会更加复杂,这时候,就需要我们凭借经验将这些问题化简,进而达到我们能够处理的地步,这中间往往没有统一的处理办法,具体问题具体分析,而这个也体现了一个数模人的实力;
-Fourth day
作者:
赤眸
时间:
2015-12-7 20:31
怎样问数学模型问题:
首先,问题是怎么产生的?
问题的产生来源于建模的过程。也就是:
实际问题→数学模型→数学求解→问题回答
我们可以想一下自己的问题到底是从哪里来的,无非出自于这四个步骤中间:
1. 对一个实际问题没有思路,找不到一个模型可以解决;
2. 知道用哪个数学模型,但是模型的建立过程遇到困难,设计不出相应的算法;
3. 建立模型以后,发现求解有困难,找不到现成的算法或者自己不知道设计;
4. 发现得到的结果回答问题比较奇怪,却不知问题出在哪里。
这是在建立一个模型,解决一道题目时,会“卡壳”的地方,也就是问题所在。根据此,我们可以把提问分成三类:
1. 问题思路:可以是询问某类问题怎么解答,也可以是具体的题目寻求思路,这时,我们可以根据我们的经验,告诉提问者最合适的模型,提出一些思考方向,让大家能够提高解题效率,慢慢地培养大家自己分析问题的能力,真正在数模能力上有所提高;
2. 具体模型的相关疑问:知道用哪个模型,却不知道怎么建立和求解,或者求解结果不好也不知怎么改进,在这个过程中遇到的问题大多是由于对模型的数学机理还没有完全明白,不知道如何将书上的模型和具体题目相对应来求解,我们版主会根据我们的经验指出这些模型怎么用,有哪些关键点,这样大家真正去领会这个模型的涵义,问题也就迎刃而解;
3. 细节问题:某个软件如何安装、操作,某个算法的参数怎么调整,程序报错等等,这些操作层面的问题希望大家自己尝试过再提,安装这类技术性问题我们有经验的版主会及时予以解答,至于程序报错可能等多的需要同学们自己多多调试,因为我们的回答会帮你解决当前的问题,但是程序调试能力是自己时间积累的结果。
第一类问题对应于建模的第一步:找模型;第二类问题对应于后面几步:建模和解模;第三类的问题可以说是千奇百怪了,因为具体操作过程中会涉及到各种困难等着大家去克服。
-Fifth day
作者:
赤眸
时间:
2015-12-8 17:16
数学建模比赛组队的建议
数学模型的组队非常重要,三个人的团队一定要有分工明确而且互有合作,三个人都有其各自的特长,这样在某方面的问题的处理上才会保持高效率。三个人的分工可以分为这几个方面:
数学员:学习过很多数模相关的方法、知识,无论是对实际问题还是数学理论都有着比较敏感的思维能力,知道一个问题该怎样一步步经过化简而变为数学问题,而在数学上又有哪些相关的方法能够求解,他可以不会编程,但是要精通算法,能够一定程度上帮助程序员想算法,总之,数学员要做到的是能够把一个问题清晰地用数学关系定义,然后给出求解的方向;
程序员:负责实现数学员的想法,因为作为数学员,要完成大部分的模型建立工作,因此调试程序这类工作就必须交给程序员来分担了,一些程序细节程序员必须非常明白,需要出图,出数据的地方必须能够非常迅速地给出;ACM的参赛选手是个不错的选择,他们的程序调试能力能够节约大量的时间,提高在有限时间内工作的工作效率;
写手:在全文的写作中,数学员负责搭建模型的框架结构,程序员负责计算结果并与数学员讨论,进而形成模型部分的全部内容,而写手要做的。就是在此基础之上,将所有的图表,文字以一定的结构形式予以表达,注意写手时刻要从评委,也就是论文阅读者的角度考虑问题,在全文中形成一个完整地逻辑框架。同时要做好排版的工作,最终能够把数学员建立的模型和程序员算出的结果以最清晰的方式体现在论文中。因为论文是评委能够唯一看到的成果,所以写手的水平直接决定了获奖的高低,重要性也不言而喻了。
三个人至少都能够擅长一方面的工作,同时相互之间也有交叉,这样,不至于在任何一个环节卡壳而没有人能够解决。因为每一项工作的工作量都比较庞大,因此,在准备的过程中就应该按照这个分工去准备而不要想着通吃。这样才真正达到了团队协作的效果。比赛流程:对于比赛流程,在三天的国赛里,我们应该用这样一种安排方式:
第一天:定题+资料查找+模型框架:这一部分是我们模型的基础,能够完成这部分内容基本上模型的整体构架就确定下来了。
第二天:全面求解与调整框架:把自己对模型框架的搭建用各种手段实现。
第三天:论文初稿+摘要+反复修改全文:把模型变成论文并反复修改。
我相信通过上述的步骤和队员间的相互配合和信任,最后收获的不仅仅是荣誉!
Sixth day
作者:
赤眸
时间:
2015-12-9 19:47
学习数模到最后参加数模比赛是一个持久战,在这持续很长的时间里除了坚持,有恒心,有毅力之外,还有一点重要的,就是状态的调整,良好的状态是成功的保证。比赛前,我们在知识,心态,身体状态上都应该达到一个比较协调的状态,才能有能力应对三天三夜的挑战,下面就我自己的一些参赛经验分享一些临近比赛我们应该做的调整,以帮助大家在临门一脚的时候调整好比赛状态。
还剩10天
这个时候其实离最后比赛还有一段,所以,对照一下数模的能力要求和自己队伍三个人的配合情况,查漏补缺,在一些重要而自己有没有掌握的一些知识点上再花些功夫,应该能够达到比较好的提高的效果。比如,优化,评价,预测三类模型,一定不能有知识空白的地方,或多或少应该都有了解才是。
还剩5天
一般来说,书本上的知识要变成自身内化的能力至少需要两个月以上的时间,所以这个时候再去学习新的模型、算法、读新的文章对你能力的提高已经没有大的用处了,最多能给自己增添一些信心。所以,在离比赛还有3、5天的时候,可以尝试着对自己已经学过的知识作一下总结,翻看一下之前的笔记、资料,包括一切你曾经学过的论文,书籍,ppt等等,以浏览的方式进行,不必深入,因为深入的东西应该平时积累好了才是。此时,就像放电影一样在脑海里走一遍,能把之前积累过的东西活化,进而更容易、熟练地在比赛中用到。这时遇到不懂或者模糊的也大胆地跳过去,因为你要坚信,你不会的肯定不会考,考了的话你也可以用其他的知识跳过它!完全以一种放松的心态去应对,如果平时积累足够,应该会发现自己对比赛的信息会越来越足的!
还剩1天
这个时候是放松的大好时机!今天既不要看书,也不要调程序!而是队伍里面三个人一起找个公园,找间教室,一起聊聊天,扯扯蛋,找个商店逛逛买点这几天可能用到的咖啡、面包之类的,然后彻底的放松一下,或者做一些简单的体育运动项目也可以,只要别耗掉太多体能就行。比赛前一天晚上,找一个馆子,一起好好吃一顿,算是饯行一样,大家同心协力,抱着统一的目标,一起努力去克服困难,解决问题。无论结果如何,这种一起努力思考的过程是很值得享受和回味的,大家可以在比赛中好好体验。
好了,今天就说到这里,总之要做到临阵不乱,静下心来,心平气和地参加比赛,把它看做是一次团队作战的实践,日后遇到的困难、挑战、科研任务或是工作的一次模拟,用心对待它,无论结果如何,用心做过的事情,肯定会有意想不到的收获在未来的某一天回馈给你!
-seventh day
作者:
赤眸
时间:
2015-12-10 17:37
优化模型和算法的重要意义:
最优化: 在一定条件下,寻求使目标最大(小)的决策
最优化是工程技术、经济管理、科学研究、社会生活中经常遇到的问题, 如:资源分配、生产计划、结构设计、运输方案。
解决优化问题的手段:
经验积累,主观判断
作试验,比优劣
建立数学模型,求解最优策略
优化问题三要素:决策变量;目标函数;约束条件
优化模型的简单分类:
线性规划(LP) 目标和约束均为线性函数
非线性规划(NLP) 目标或约束中存在非线性函数
二次规划(QP) 目标为二次函数、约束为线性
整数规划(IP) 决策变量(全部或部分)为整数
整数线性规划(ILP),整数非线性规划(INLP)
纯整数规划(PIP), 混合整数规划(MIP)
一般整数规划,0-1(整数)规划。
-Eighth day
作者:
赤眸
时间:
2015-12-11 20:42
商人过河问题:
三名商人各带一个随从乘船渡河,一只小船只能容纳两人,由他们自己划行。
随从们密约,在河的任一岸,一旦随从的人数比商人多就杀人越货。
但是如何乘船渡河的大权掌握在商人们的手中。
问题分析(多步决策过程)
决策:每一步(此岸到彼岸或彼岸到此岸)船上的人员
要求:在安全的前提下(两岸的随从数不比商人多),经有限步使全体人员过河.
(答案下回揭晓...)
-Nineth day
作者:
赤眸
时间:
2015-12-12 20:35
分枝定界法(B&B: Branch and Bound)
基本思想:隐式地枚举一切可行解(“分而治之”)
所谓分枝,就是逐次对解空间(可行域)进行划分;而所谓定界,是指对于每个分枝(或称子域),要计算原问题的最优解的下界(对极小化问题). 这些下界用来在求解过程中判定是否需要对目前的分枝进一步划分,也就是尽可能去掉一些明显的非最优点,避免完全枚举.
对于极小化问题,在子域上解LP,其最优值是IP限定在该子域时的下界;IP任意可行点的函数值是IP的上界。
-Tenth day
作者:
赤眸
时间:
2015-12-13 17:57
LINGO模型的优点:
1、尽量使用实数优化,减少整数约束和整数变量
2、尽量使用光滑优化,减少非光滑约束的个数
如:尽量少使用绝对值、符号函数、多个变量求最大/最小值、四舍五入、取整函数等
3、尽量使用线性模型,减少非线性约束和非线性变量的个数 (如x/y <5 改为x<5y)
4、合理设定变量上下界,尽可能给出变量初始值
5、模型中使用的参数数量级要适当 (如小于103)
建模时需要注意的几个基本问题
1、尽量使用实数优化,减少整数约束和整数变量
2、尽量使用光滑优化,减少非光滑约束的个数
如:尽量少使用绝对值、符号函数、多个变量求最大/最小值、四舍五入、取整函数等
3、尽量使用线性模型,减少非线性约束和非线性变量的个数 (如x/y <5 改为x<5y)
4、合理设定变量上下界,尽可能给出变量初始值
5、模型中使用的参数数量级要适当 (如小于103)
-The 11st day
作者:
赤眸
时间:
2015-12-14 20:53
数学模型——航行问题
甲乙两地相距750千米,船从甲到乙顺水航行需30小时,从乙到甲逆水航行需50小时,问船的速度是多少?
用 x 表示船速,y 表示水速,列出方程:
(x+y)*30=750; (x-y)*50=750
解得:x=20;y=5
答:船速每小时20千米/小时
航行问题建立数学模型的基本步骤
作出简化假设(船速、水速为常数);
用符号表示有关量(x, y表示船速和水速);
用物理定律(匀速运动的距离等于速度乘以
时间)列出数学式子(二元一次方程);
求解得到数学解答(x=20, y=5);
回答原问题(船速每小时20千米/小时)。
The 12th day
作者:
赤眸
时间:
2015-12-15 20:44
数学建模的重要意义
电子计算机的出现及飞速发展;
数学以空前的广度和深度向一切领域渗透;
在一般工程技术领域数学建模仍然大有用武之地;
在高新技术领域数学建模几乎是必不可少的工具;
数学进入一些新领域,为数学建模开辟了许多处女地。
数学建模的具体应用:
分析与设计;
预报与决策;
控制与优化;
规划与管理;
计算机技术;
知识经济。
The 13th day
作者:
赤眸
时间:
2015-12-16 13:21
数学建模的基本方法
机理分析:根据对客观事物特性的认识,找出反映内部机理的数量规律。
测试分析:将对象看作“黑箱”,通过对量测数据的统计分析,找出与数据拟合最好的模型。
二者结合:用机理分析建立模型结构,用测试分析确定模型参数。
注意:机理分析没有统一的方法,主要通过实例研究 (Case Studies)来学习。
怎样学习数学建模
数学建模与其说是一门技术,不如说是一门艺术。技术大致有章可循,艺术无法归纳成普遍适用的准则
。
1、具有想象力,洞察力和判断力。
2、学习、分析、评价、改进别人作过的模型。
3、亲自动手,认真作几个实际题目。
共勉!
- The 14th day
作者:
赤眸
时间:
2015-12-17 14:27
Malthus模型是由英国统计学家马尔萨斯(T R Malthus)于1798年提出的人口模型:
dN(t)dt=rN(t),N(t=t0)=N0 (1)
式中r 代表出生率,假设为常数,
N(t) 为t 时刻的人口数量.方程(1)的解为:
N(t)=N0er(t-t0)(2)
(2)表示人口增长将按指数规律增长,称为Malthus人口指数增长模型,简称Malthus模型.实践证明当人口数量不太大时,Malthus模型能够很好的说明人口总数的增长情况.
------Malthus模型公式为:
y=C0*e^rt,
其中c0为人口基数,
e为自然是2.71828……,
r为人口增长率,
t为时间.
-The 15th day
作者:
赤眸
时间:
2015-12-18 13:59
静 态 优 化 模 型:
现实世界中普遍存在着优化问题;
静态优化问题指最优解是数(不是函数);
建立静态优化模型的关键之一是根据建模目的确定恰当的目标函数;
求解静态优化模型一般用微分法。
人们在工程技术科学研究和经济管理等诸多领域中经常遇到最优化问题.例如, 商品经营者制定价格使得销售利润最高,结构设计要在满足强度要求等条件下,使所用材料的总重量最轻;企业集团订购生产资料时要使订货费用最低;资 源分配要使得总效益最大;体育比赛要使成绩最佳;运输方案的安排问题中要使运 输成本最小且收益最大;编制生产计划要在满足工艺流程需求的条件下,降低成本 使总利润最高.对普遍存在的最优化问题,建立数学模型,用计算机进行模拟求解,提供定量的、科学的最优决策方案,对经济与社会发展具有重要的意义。
-The 16th day
作者:
赤眸
时间:
2015-12-19 17:28
数学规划:
是运筹学的一个重要分支,也是现代数学的一门重要学科。其基本思想出现在19世纪初,并由美国哈佛大学的Robert Dorfman于20世纪40年代末提出。数学规划的研究对象是数值最优化问题,这是一类古老的数学问题。古典的微分法已可以用来解决某些简单的非线性最优化问题。直到20世纪40年代以后,由于大量实际问题的需要和电子计算机的高速发展,数学规划才得以迅速发展起来,并成为一门十分活跃的新兴学科。今天,数学规划的应用极为普遍,它的理论和方法已经渗透到自然科学、社会科学和工程技术中。根据问题的性质和处理方法的差异,数学规划可分成许多不同的分支,如线性规划、非线性规划、多目标规划、动态规划、参数规划、组合优化和整数规划、随机规划、模糊规划、非光滑优化、多层规划、全局优化、变分不等式与互补问题等。
-The 17th day
作者:
赤眸
时间:
2015-12-19 23:47
主成分分析法介绍:
主成分分析(principal components analysis,PCA)又称:主分量分析,主成分回归分析法。旨在利用降维的思想,把多指标转化为少数几个综合指标。它是一个线性变换。这个变换把数据变换到一个新的坐标系统中,使得任何数据投影的第一大方差在第一个坐标(称为第一主成分)上,第二大方差在第二个坐标(第二主成分)上,依次类推。主成分分析经常用减少数据集的维数,同时保持数据集的对方差贡献最大的特征。这是通过保留低阶主成分,忽略高阶主成分做到的。这样低阶成分往往能够保留住数据的最重要方面。但是,这也不是一定的,要视具体应用而定。
-The 17th day
作者:
赤眸
时间:
2015-12-20 11:35
数学规划的模型:
数学规划模型的一般形式是:
optf(X)
s.t.=\begin{cases}g_i(X)\le0,&i=1,2,\cdots,m\\h_j(X)=0&,j=1,2,\cdots,l\end{cases}
上式中,X=(x_1,x_2,\cdots,x_n)^T是未知向量,称为决策变量;f(X)称为目标函数;gi(X)与hj(X)称为约束函数。f(X)、gi(X)与hj(X)均为X的数量函数。
符号opt表示对函数f(X)求最优化结果。如果要求f(X)最大,则optf(X)记为maxf(X)。如果要求f(X)最小,则optf(X)记为minf(X)。
符号s.t.为subject to的缩写,意思是受约束于或受限于m个不等式约束条件g_i(X)\le0,i=1,2,\cdots,m,以及l个等式约束条件h_j(X)=0,j=1,2,\cdots,l。
于是数学规划问题可以表述为:求满足约束条件的x * ,使f(X * )成为最优,而将X * 称为数学规划问题的最优解,将f * = f(X * )称为最优值。
-The 18th day
作者:
赤眸
时间:
2015-12-21 12:23
数学规划的研究:
数学规划论包括丰富和具体的研究方向:线性规划、非线性规划、对偶规划、几何规划、整数规划、动态规划及多目标规划等。数学规划论在社会和经济的管理和计划、军事的指挥和实施、工业产品和系统的设计与运行等诸多领域,有着十分广泛的应用。
Schmit于1960年提出把数学规划同有限元方法相结合,使结构优化设计学科的发展正式启动,逐步形成了结构优化的规划法分支,后来他同Farshi及以后他又同Fluery等在结构优化设计中的规划法中吸收了准则法的优点,根据力学特性和工程直觉,他们提出了建立近似显式模型的近似概念法,包括很多行之有效的措施,如近似显式逼近、设计变量连接、有效约束粗选、倒数变量的引入、采用对偶求解技术等,使优化效率得到了显著的改善。许多优化模型因此可以处理成线性规划问题、二次规划问题及对偶规划问题,借助于数学规划中成熟的算法,可以对大多数实际工程问题进行求解。
工程优化问题要求优化算法具有可靠性、通用性、有效性、健壮性、准确性和方便性,根据这些特性的要求,我们通过对于智能结构最优控制的研究体会到,Schmit等对由结构优化设计建立优化模型和采用优化算法进行求解所做的工作完全适用于智能结构最优控制的建模与求解。
-The 19th day
作者:
赤眸
时间:
2015-12-22 10:09
数学规划的案例分析:
案例一:生产安排问题[3]
某工厂生产甲、乙两种产品,生产每件产品需要的原材料、能源消耗、劳动力及所获利润见表。
表 生产每件产品所需的量和利润
品种 原材料/kg 能源消耗/百元 劳动力/人 利润/千元
甲 2 1 4 5
乙 3 6 2 6
现有库存原材料1400kg,能源消耗总额不超过2400百元,劳动力满员为2000人,试安排生产任务(生产甲、乙产品各多少件),使获得的利润最大,并求出最大利润。
模型建立
设安排生产甲产品x件,乙产品y件,相应的利润为S,则此问题的数学模型为
maxS = 5x + 6y
s.t.=\begin{cases}2x+3y\le1400\\x+6y\le2400\\4x+2y\le2000\\x\ge0,y\ge0,x,y\in Z\end{cases}
上述数学模型称为数学规划模型,其中x、y称为决策变量,函数S=5x+6y称为目标函数,这些不等式组构成的限制条件称为约束条件,记为s.t.。
决策变量、目标函数和约束条件是数学规划模型的三个要素,若目标函数和约束条件均为线性的数学规划问题称为线性规划,否则称为非线性规划。
-The 20th day~
作者:
赤眸
时间:
2015-12-23 14:24
动态模型:
描述对象特征随时间(空间)的演变过程;
分析对象特征的变化规律;
预报对象特征的未来性态;
研究控制对象特征的手段。
微分方程建模:
根据函数及其变化率之间的关系确定函数;
根据建模目的和问题分析作出简化假设;
按照内在规律或用类比法建立微分方程。
-The 21th day
作者:
赤眸
时间:
2015-12-24 15:48
SIR模型:
SIR模型是传染病模型中最经典的模型,其中S表示易感者,I表示感染者,R表示移出者。
模型中把传染病流行范围内的人群分成三类:S类,易感者(Susceptible),指未得病者,但缺乏免疫能力,与感病者接触后容易受到感染;I类,感病者(Infective),指染上传染病的人,它可以传播给S类成员;R类,移出者(Removal),指被隔离,或因病愈而具有免疫力的人。
传染病模型有着悠久的历史,一般认为始于1760年Daniel Bernoulli在他的一篇论文中对接种预防天花的研究.真正的确定性传染病数学模型研究的前进步伐早在20世纪初就开始了,Hamer, Ross等人在建立传染病数学模型的研究中做出了大量的工作.直到1927年Kermack与McKendrick在研究流行于伦敦的黑死病时提出了的SIR仓室模型,并于1932年继而建立了SIS模型,在对这些模型的研究基础上提出了传染病动力学中的阈值理论.Kermack与McKendrick的SIR模型是传染病模型中最经典、最基本的模型,为传染病动力学的研究做出了奠基性的贡献.
-The 22th day
作者:
赤眸
时间:
2015-12-25 09:51
索洛经济增长模型概述:
索洛经济增长模型(Solow Growth Model)是罗伯特·索洛所提出的发展经济学中著名的模型,又称作新古典经济增长模型、外生经济增长模型,是在新古典经济学框架内的经济增长模型。
正当1987年世界股票市场暴跌之时,瑞典皇家科学院宣布该年度诺贝尔经济学奖授于一直与里根政府的经济政策唱反调,主张政府必须有效地干预市场经济的美国麻省理工学院教授罗伯特·索洛(Robert M·Solow)许多经济学界人士认为,纽约股票市场的这场大动荡,恰恰证实了索洛坚持的理论,使他的经济增长理论成为当今世界热门研究课题之一。可是,他的这一理论———表明各种不同因素是如何对经济增长和发展产生影响的长期经济增长模型,早在30年前他在一篇题为《对经济增长理论的贡献》的论文中就提出来了。
索洛模型变量:
外生变量:储蓄率、人口增长率、技术进步率
内生变量:投资
-The 23th day
作者:
赤眸
时间:
2015-12-26 09:33
索洛经济增长模型的基本假定:
索洛在构建他的经济增长模型时,既汲取了哈罗德—多马经济增长模型的优点,又屏弃了后者的那些令人疑惑的假设条件。
索洛认为,哈罗德—多马模型只不过是一种长期经济体系中的“刀刃平衡”,其中,储蓄率、资本—产出比率和劳动力增长率是主要参数。这些参数值若稍有偏离,其结果不是增加失业,就是导致长期通货彭胀。用哈罗德的话来说,这种“刀刃平衡”是以保证增长率(用Gw表示,它取决于家庭和企业的储蓄与投资的习惯)和自然增长率(用Gn表示,在技术不变的情况下,它取决于劳动力的增加)的相等来支撑的。
索洛指出,Gw和Gn之间的这种脆弱的平衡,关健在于哈罗德—多马模型的劳动力不能取代资本,生产中的劳动力与资本比例是固定的假设。倘若放弃这种假设,Gw和Gn之间的“刀刃平衡”也就随之消失。基于这一思路,索洛建立了一种没有固定生产比例假设的长期增长模型。
该模型的假设条件包括:
1.只生产一种产品,此产品既可用于消费也可用于投资。
2.产出是一种资本折旧后的净产出,即该模型考虑资本折旧。
3.规模报酬不变,即生产函数是一阶齐次关系式。
4.两种生产要素(劳动力和资本)按其边际实物生产力付酬。
5.价格和工资是可变的。
6.劳动力永远是充分就业的。
7.劳动力与资本可相互替代。
8.存在技术进步。
在这些条件下,索洛建立的模型向人们显示出:在技术系数可变的情况下,人均资本量具有随时间推移而向均衡状态的人均资本量自行调整的倾向(图一,k1与k2逐渐趋向ko),即,当人均资本量大于其均衡状态时(k2),人均资本量会有逐渐减小的趋势,即资本的增加就会比劳动力的增加慢得多;反之,亦然。索洛是人均资本量入手集中分析均衡(即稳定状态)增长路径的。
-The 24th day
作者:
赤眸
时间:
2015-12-27 09:44
索洛经济增长模型的基本框架:
索洛把经济中的全部产出看成仅仅是一种产品的产出。其每年生产量用Y(t)表示,代表社会的实际收入,其中一部分被消费掉,其余部分用于储蓄和投资。用于储蓄的占总产品比例s固定不变,即储蓄量为sY(t)。K(t)是资本存量。这种资本存量的增加量就是净投资,即dk/dt或\dot{K}因此,索洛模型的基本方程式可以写成:
\dot{K}=sY (1)
因产出是用资本和劳动力生产的,技术能力可用生产函数来反应:
Y=F(K,L) (2)且该函数满足假设规模报酬不变。
把(2)式代入(1)式,有:
\dot{K}=sF(K,L) (3)
其中,L代表劳动力。
由于人口的增长是外生变量,劳动力以一个不变增长率n增加。因此:
L(t)=L^{nt}_{oe} (4)
索洛把n看成是在没有技术进步情况下的哈罗德的自然增长率(Gn),把L(t)看成是在t时期可利用的劳动力供给。(4)式的右边表明劳动力从0期到t期的综合增长率。我们还可以把(4)式看作是劳动力的供给曲线,“它说的是以指数增长的劳动力完全无弹性地得到就业。劳动力供给曲线是一条纵向线,它随着劳动力按(4)式的增长而向右移动。于是,调整实际工资率以使全部可利用的劳动力得到雇佣,而边际生产力等式决定着这种实际上得到控制的工资率”。
把(4)式代入(3)式,索洛给出下列基本方程式:
K=sF(K,L^{nt}_{oe}) (5)
他把这个方程式作为在全部可利用的劳动力得到充分利用的情况下决定必须遵循的资本积累的时间轨迹方程式。资本存量和劳动力的时间轨迹一经确知,相应的实际产出的时间轨迹就可根据生产函数计算出来。实际工资率的时间轨迹可用边际生产力等式确定,即w=\frac{\partial F(K,L)}{\partial L} (6)
索洛把经济增长过程概括为:“在任何时候,可利用的劳动力供给都由等式(4)给定,而且可利用的资本存量也是一个已知数。既然生产要素的实际报酬可调整而使劳动力和资本得以充分利用,我们就能利用生产函数等式(2)求出当期产出量。于是,储蓄倾向告诉我们多少净产出将用于储蓄和投资,从而我们得知当期的资本净积累,再加之已积累的存货,这就为下一期提供了可利用的资本”。
-The 25th day
作者:
赤眸
时间:
2015-12-28 14:48
索洛增长模型表明的基本含义:
人均资本拥有量的变化率ḱ取决于人均收入储蓄率sf(k)和按照既定的资本劳动比配备每一新增长人口所需资本量nk之间的差额。
索洛增长模型sf(k)=ḱ+nk还表明另一个含义。一个社会中的人均储蓄率sf(k)有两个用途:
一是用于人均资本拥有量的增加量ḱ,即为每个人配备更多的资本装备,这被称作“资本的深化”;
二是用于为每一新增人口提供平均的资本装备nk,这被称作“资本的广化”。换句话说,经济中的全部储蓄转化为投资后,一部分用于提高人均资本拥有量(资本的深化),另一部分则用于为新增人口提供平均数量的资本装备(资本的广化)。
-The 26th day
作者:
赤眸
时间:
2015-12-29 09:10
索洛模型的意义与不足:
作为创立新古典经济增长模型的先躯,索洛教授在构造他的长期增长模型过程中,不仅保留了哈罗德—多马模型的主要特征(如齐次资本函数、比例储蓄函数以及既定的劳动力增长率),而且还在理论模型的现实性方面有新的突破。主要表现在以下几个方面:
1.他在分析经济增长的过程中采用了一种连续性生产函数,从此人们称其为新古典生产函数。
2.劳动力与资本之间可相互替代的假设使得经济增长过程具有调整能力,从而该理论模型更接近于现实。
3.长期增长率是由劳动力增加和技术进步决定的,前者不仅指劳动力数量的增加,而且还含有劳动力素质与技术能力的提高,所以,索洛的长期增长模型打破了一直为人们所奉行的“资本积累是经济增长的最主要的因素”的理论,向人们展示,长期经济增长除了要有资本以外,更重要的是靠技术的进步、教育和训练水平的提高。
在一定程度上说,技术进步、劳动力质量的提高比增加资本对经济增长的作用更大。这种观点在他30年后获奖前夕接受采访时又得到进一步阐述。他说,除了纯粹的农业国以外,这一理论对所有国家都适用。“发展中国家不能把本国经济的发展仅仅依赖于资本和劳动力的增长上。发展中国家,特别是起步较晚国家,要更多地研究如何在现有工业的基础上逐步提高劳动生产率、技术和教育进程。这样就能有效地跟上世界经济的发展”(顾耀铭,1987)许多国家都相继接受了他的理论,在中高等教育、研究与发展(R&D)等方面,政府不断增加投资和提供税收刺激措施,成效显著。
当然,作为一种理论模式,索洛的长期增长模型也并非尽善尽美。正如森(Sen,1970)教授指出的那样,索洛的模型也有其不足之处:
1.索洛的增长模型考虑的仅仅是哈罗德的Gw和Gn之间的均衡问题,而忽略了G和Gw之间的均衡。
2.索洛的模型没有投资函数,此函数一旦引入,哈罗德模型的不稳定性问题即会出现于索洛的模型中。森教授认为,劳动力和资本间的替代性假设似乎并不是新古典学派和新凯恩斯学派对增长研究之不同的关键所在,其主要差异在于索洛模型没有考虑投资函数以及由此产生的企业家对将来预期的重要性。
3.索洛假设要素价格是可变的,这也会给稳定增长的路径设置障碍。例如,利息率由于流动陷井问题而不会下降到低于一定的最低水平;反过来,这也许使资本—产出比率不能提高到实现均衡增长路径所必需的水平。
4.索洛模型是以提高劳动生产率的技术进步为假定前提构建的。然而,这一假定只是柯布一道格拉斯生产函数型哈罗德中性技术进步的一个特例,没有任何经济证据。
5.索洛增长模型的另一假设是“资本是同质的且易变的”,但事实上,资本品是高度异质的,因此而出现不能简单加总问题。结果,当存在多种多样的资本品时,稳定增长路径是很难实现的。
-The 27th day
作者:
赤眸
时间:
2015-12-30 09:07
对索洛模型的总结和评论:
1.主要结论
(1)无论从任何一点出发,经济向平衡增长路径收敛,在平衡增长路径上,每个变量的增长率都是常数。
(2)在其他外生变量相似的条件下,人均资本低的经济有更快的人均资本的提高,人均收入低的经济有更高的增长率。
(3)人均产出(Y/L)的增长来源于人均资本存量和技术进步,但只有技术进步才能够导致人均产出的永久性增长。
(4)通过调节储蓄率可以实现人均最优消费和最优资本存量的“黄金律”增长。
(5)储蓄率的变化只会暂时性地影响增长率,而不会永久性地影响;储蓄率的显著变化对平衡增长路径上的产出变化只有较小的影响,且作用缓慢。
2.批评
(1)未能够解释长期经济增长的真正来源。把技术进步(劳动的有效性)看成为外生给定的,而这恰恰是长期经济增长的关键。因此,索洛模型是通过“假定的增长”来解释增长的。
(2)理论预测与实际数据不符。如果资本取得的市场收益大致体现了其对产出的贡献,那么实物资本积累的变化既不能很好地解释世界经济增长,也不能说明国家间的收入差距。
例如:根据C-D生产函数,y = f(k) = ka,一般的a=1/3,设穷国变量带*,若y/y*=10,则k / k * = 101 / a = 1000。(如此大的资本存量差异!)
资本的边际产品MPk = f'(k) = aka − 1 = ay(a − 1) / a,若y/y*=10,则MPk / MP * k = 1 / 100。(如此高的资本报酬率差异!)
-The 28th day
作者:
赤眸
时间:
2015-12-31 09:48
差分方程:
在数学上,递推关系(recurrence relation),也就是差分方程(difference equation),是一种递推地定义一个序列的方程式:序列的每一项目是定义为前一项的函数。某些简单定义的递推关系式可能会表现出非常复杂的(混沌的)性质,他们属于数学中的非线性分析领域。
所谓解一个递推关系式,也就是求其解析解,即关于n的非递归函数。
性质
性质1 Δk(xn+yn)=Δkxn+Δkyn
性质2 Δk(cxn)=cΔkxn
性质3 Δkxn=∑(-1)jCjkXn+k-j
性质4 数列的通项为n的无限次可导函数,对任意k>=1,存在η,有 Δkxn=f(k)(η)
差分方程
定义8.1 方程关于数列的k阶差分方程:
xn-a1xn-1-a2xn-2-……akxn-k=b (n=k,k+1,……)
其中a1,a2,------ak 为常数, ak≠0. 若b=0,则该方程是齐次方程
关于λ 的代数方程
λk-a1λk-1-------ak-1λ-ak=0
为对应的特征方程,根为特征值。
意义
差分方程是微分方程的离散化。一个微分方程不一定可以解出精确的解,把它变成差分方程,就可以求出近似的解来。
比如 dy+y*dx=0,y(0)=1 是一个微分方程, x取值[0,1]
(注:解为y(x)=e^(-x));
要实现微分方程的离散化,可以把x的区间分割为许多小区间 [0,1/n],[1/n,2/n],...[(n-1)/n,1]
这样上述微分方程可以离散化为:
差分方程
差分方程
y((k+1)/n)-y(k/n)+y(k/n)*(1/n)=0, k=0,1,2,...,n-1 (n 个离散方程组)
利用y(0)=1的条件,以及上面的差分方程,就可以计算出 y(k/n) 的近似值了。
§1 基本理论1. 差分
2. 任意数列{xn },定义差分算子Δ如下:
Δxn=xn+1-xn
对新数列再应用差分算子,有
Δ2xn=Δ(Δkxn).
-The 29th day
作者:
赤眸
时间:
2016-1-1 16:27
层次分析法:
所谓层次分析法,是指将一个复杂的多目标决策问题作为一个系统,将目标分解为多个目标或准则,进而分解为多指标(或准则、约束)的若干层次,通过定性指标模糊量化方法算出层次单排序(权数)和总排序,以作为目标(多指标)、多方案优化决策的系统方法。
层次分析法是将决策问题按总目标、各层子目标、评价准则直至具体的备投方案的顺序分解为不同的层次结构,然后得用求解判断矩阵特征向量的办法,求得每一层次的各元素对上一层次某元素的优先权重,最后再加权和的方法递阶归并各备择方案对总目标的最终权重,此最终权重最大者即为最优方案。这里所谓“优先权重”是一种相对的量度,它表明各备择方案在某一特点的评价准则或子目标,标下优越程度的相对量度,以及各子目标对上一层目标而言重要程度的相对量度。层次分析法比较适合于具有分层交错评价指标的目标系统,而且目标值又难于定量描述的决策问题。其用法是构造判断矩阵,求出其最大特征值。及其所对应的特征向量W,归一化后,即为某一层次指标对于上一层次某相关指标的相对重要性权值。
应用实例
1、建立递阶层次结构;
2、构造两两比较判断矩阵;(正互反矩阵)
对各指标之间进行两两对比之后,然后按9分位比率排定各评价指标的相对优劣顺序,依次构造出评价指标的判断矩阵。
3、针对某一个标准,计算各备选元素的权重;
关于判断矩阵权重计算的方法有两种,即几何平均法(根法)和规范列平均法(和法)。
(1)几何平均法(根法)
计算矩阵A各行各个元素的乘积,得到一个n行一列的矩阵B;
计算矩阵每个元素的n次方根得到矩阵C;
对矩阵C进行归一化处理得到矩阵D;
该矩阵D即为所求权重向量。
(2)规范列平均法(和法)
矩阵A每一列归一化得到矩阵B;
将矩阵B每一行元素的平均值得到一个一列n行的矩阵C;
矩阵C即为所求权重向量。
The 30th day~
(Hqppy new year)
作者:
赤眸
时间:
2016-1-2 11:14
概率模型:
给定一个用户的查询串,相对于该串存在一个包含所有相关文档的集合。我们把这样的集合看作是一个理想的结果文档集,在给出理想结果集后,我们能很容易得到结果文档。这样我们可以把查询处理看作是对理想结果文档集属性的处理。问题是我们并不能确切地知道这些属性,我们所知道的是存在索引术语来表示这些属性。由于在查询期间这些属性都是不可见的,这就需要在初始阶段来估计这些属性。这种初始阶段的估计允许我们对首次检索的文档集合返回理想的结果集,并产生一个初步的概率描述。
概率模型的处理过程:
为了提高理想结果集的描述概率,系统需要与用户进行交互式(feedback)操作。具体处理过程如下:用户大致浏览一下结果文档,决定哪些是相关的,哪些是不相关的;然后系统利用该信息重新定义理想结果集的概率描述;重复以上操作,就会越来越接近真正的结果文档集。
-The 31th day
作者:
赤眸
时间:
2016-1-3 15:22
概率模型:
是基于以下理论:给定一个用户的查询串 和集合中的文档 概率模型来估计用户查询串与文档 相关的概率。概率模型假设这种概率只决定于查询串和文档。更进一步说,该模型假定存在一个所有文档的集合,即相对于查询串 的结果文档子集,这种理想的集合用R表示,集合中的文档是被预料与查询串相关的。这种假设存在着缺点,因为他没有明确定义计算相关度的概率,下面将给出这种概率的定义。
在概率模型中索引术语的权重都是二元的,例如: 。查询串 是索引术语集合的子集。设R是相关文档集合(初始的猜测集合), 是R的补集(非相关文档的集合)。 表示文档 与查询串 相关的概率, 表示文档 与查询串 不相关的概率。文档 对于查询串 的相关度值定义为: ,根据Bayesian定律
代表从相关文档集合R中随机选取文档 的概率。 表示从整个集合中随机选取一篇文档作为相关文档的概率。类似定义 , 。因为对于集合中所有的文档 和 是相同的,所以,
假设索引术语是相互独立的则:
表示集合R中随机选取的文档中出现索引术语 的概率, 表示集合R中随机选取的文档中不出现索引术语 的概率,类似定义了 , 。取对数,根据 ,我们最后可以得到:
这是在概率模型中计算相关度的一个关键的表达式。
由于我们在开始时并不知道集合R,因此必须设计一个初始化计算 和 的算法。有许多方法可以计算它们的值。
算法:
在查询的开始间段只定义了查询串,还没有得到结果文档集。我们不得不作一些简单的假设,例如:(a)假定 对所有的索引术语 来说是常数(一般等于0.5);(b)假定索引术语在非相关文档中的分布可以由索引术语在集合中所有文档中的分布来近似表示。这两种假设用公式表示如下:
表示出现索引术语 的文档的数目,N是集合中总的文档的数目。在上面的假设下,我们可以得到部分包含查询串的文档,并为他们提供一个初始的相关概率。
优点:
概率模型的优点在于,文档可以按照他们相关概率递减的顺序来计算秩(rank)。他的缺点在于:开始时需要猜想把文档分为相关和不相关的两个集合,实际上这种模型没有考虑索引术语在文档中的频率(因为所有的权重都是二元的),而索引术语都是相互独立的。
-The 32th day
作者:
赤眸
时间:
2016-1-4 19:14
蛛网模型:
蛛网模型的基本假定是:商品的本期产量Qts决定于前一期的价格Pt-1,即供给函数为Qts=f(Pt-1),商品本期的需求量Qtd决定于本期的价格Pt,即需求函数为Qtd=f(Pt)。
根据以上的假设条件,蛛网模型可以用以下三个联立的方程式来表示:
Qtd=α-β·Pt
Qts=-δ+γ·Pt-1
Qtd=Qts
其中,α、β、δ和γ均为常数且均大于零。
由于区别了经济变量的时间先后,因此,蛛网模型是一个动态模型。
数学推导
Qtd=α-β·Pt
Qts=-δ+γ·Pt-1
Qtd=Qts
三个方程联立得
Pt=(α+δ)/β-(γ/β)Pt-1
Pt-1迭代后得
Pt=(α+δ)/β∑(-γ/β)^i+(-γ/β)^t·P0
即
Pt=[1-(-γ/β)^t](α+δ)/(β+γ)+(-γ/β)^t·P0 (*)。
价值
西方经济学家认为,蛛网模型解释了某些生产周期较长的商品的产量和价格的波动的情况,是一个有意义的动态分析模型.但是,这个模型还是一个很简单的和有缺陷的模型.这是因为,根据该模型分析,造成产量和价格波动的主要原因是:生产者总是根据上一期的价格来决定下一期的产量,这样,上一期的价格同时也就是生产者对下一期的预期价格.而事实上,在每一期,生产者只能按照本期的市场价格来出售由预期价格(即上一期价格)所决定的产量.这种实际价格和预期的价格不吻合,造成了产量和价格的波动.但是,这种解释是不全面的.因为生产者从自己的经验中,会逐步修正自己的预期价格,使预期价格接近实际价格,从而使实际产量接近市场的实际需求量.
-The 33th day
作者:
赤眸
时间:
2016-1-5 16:39
蛛网模型详细介绍:
收敛型蛛网
供给弹性<需求弹性,或,供给曲线斜率绝对值>需求曲线斜率绝对值,此时即(*)中(-γ/β)^t一项趋于0,Pt趋于(α+δ)/(β+γ)。因为需求弹性大,表明价格变化相对较小,进而由价格引起的供给变化则更小,再进而由供给引起的价格变化则更小
相对于价格轴(注意:这里是把Y轴作为参考轴系讨论的,下文所说的“斜率‘”陡峭“都是以价格轴为参考轴而言的,与我们正常数学上以X轴为参考轴不同),需求曲线斜率的绝对值大于供给曲线斜率的绝对值。当市场由于受到干扰偏离原有的均衡状态以后,实际价格和实际产量会围绕均衡水平上下波动,但波动的幅度越来越小,最后会回复到原来的均衡点。
假定,在第一期由于某种外在原因的干扰,如恶劣的气候条件,实际产量由均衡水平Qe减少为Q1。根据需求曲线,消费者愿意支付P1的价格购买全部的产量Q1,于是,实际价格上升为P1。根据第一期的较高的价格水平P1,按照供给曲线,生产者将第二期的产量增加为Q2。
在第二期,生产者为了出售全部的产量Q2,接受消费者所愿意支付的价格P2,于是,实际价格下降为P2。根据第二期的较低的价格水平P2,生产者将第三期的产量减少为Q3。
在第三期,消费者愿意支付P3的价格购买全部的产量Q3,于是,实际价格又上升为P3。根据第三期的较高的价格水平P3,生产者又将第四期的产量增加为Q4。
如此循环下去,如前图所示,实际产量和实际价格的波动的幅度越来越小,最后恢复到均衡点E所代表的水平。
由此可见,图中的均衡点E所代表的均衡状态是稳定的。也就是说,由于外在的原因,当价格和产量偏离均衡数值(Pe和Qe)后,经济制度中存在着自发的因素,能使价格和产量自动地恢复均衡状态。在图中,产量和价格变化的途径形成了一个蜘蛛网似的图形,这就是蛛网模型名称的由来。
在这里,我们看到,除第一期受到外在原因干扰外,其它各期都不会再受新的外在原因干扰,从而前一期的价格能够唯一决定下一期的产量。
按照动态的逻辑顺序,我们还看到,生产者错误地根据上一期的价格决定供给量,消费者被动地消费生产者提供的全部生产量,而价格则由盲目生产出来的数量所决定。
在图中,供求曲线各自只画了一条,但是,经济学在前面已经指出,供给的变动,不仅是指供给量沿着既定供给曲线的变动,还包括供给曲线的变动。需求的变动亦是如此。
那么,经济学又是如何保证供求曲线在多个时期里,不受外在原因的干扰和盲目决策的影响,始终保持不变呢?而如果供求曲线本身也会随着时期的不同而移动,那么,又如何保证蛛网是收敛型的呢?
发散型蛛网
供给弹性>需求弹性,或,供给曲线斜率绝对值<需求曲线斜率绝对值,此时即(*)中(-γ/β)^t一项趋于无穷,Pt趋于发散。
相对于价格轴,需求曲线斜率的绝对值小于供给曲线斜率的绝对值。当市场由于受到外力的干扰偏离原有的均衡状态以后,实际价格和实际产量上下波动的幅度会越来越大,偏离均衡点越来越远。其原有的均衡状态是不稳定的。
这种情况意味着产量可以无限供给,价格可以无限提高。
稳定型蛛网
供给弹性=需求弹性,或供给曲线斜率的绝对值等于需求曲线斜率的绝对值,此时即(*)中(-γ/β)^t一项=±1。
当市场由于受到外力的干扰偏离原有的均衡状态以后,实际产量和实际价格始终按同一幅度围绕均衡点上下波动,既不进一步偏离均衡点,也不逐步地趋向均衡点1。
蛛网模型事例:
关于这一点,西方经济学家阿西玛普罗斯举出了以下的事例:
在美国,1972年由于暴风雨的恶劣气候,土豆产量大幅度下降,从而土豆价格上涨.随着土豆价格的上涨,农场主便扩大土豆的种植面积,使土豆产量在1974年达到历史最高水平.结果,土豆供给量大幅度增加导致土豆价格又急剧下降.以缅因州土豆为例,0.4536千克土豆的价格由1974年5月的13美分降为1975年3月的2美分,该价格比平均生产成本还低.这种现象可以用蛛网模型来解释.作为补充,阿西玛又举了一个特殊的例子来说明蛛网模型的缺陷:在普林斯爱德华岛屿,当农场主们都因土豆价格下降而缩减土豆的种植面积时,惟有一个农场主不是这样做.因为这个农场主根据长期的经营经验,相信土豆价格将上升,而眼下正是自己增加土豆生产的时候.可见,这个农场主的预期和行为与蛛网模型所分析的情况是不吻合的.
-The 34th day
作者:
赤眸
时间:
2016-1-6 11:03
回归分析模型定义:
回归分析(regression analysis)是确定两种或两种以上变量间相互依赖的定量关系的一种统计分析方法。运用十分广泛,回归分析按照涉及的变量的多少,分为一元回归和多元回归分析;在线性回归中,按照自变量的多少,可分为简单回归分析和多重回归分析;按照自变量和因变量之间的关系类型,可分为线性回归分析和非线性回归分析。如果在回归分析中,只包括一个自变量和一个因变量,且二者的关系可用一条直线近似表示,这种回归分析称为一元线性回归分析。如果回归分析中包括两个或两个以上的自变量,且因变量和自变量之间是线性关系,则称为多元线性回归分析。
回归分析是应用极其广泛的数据分析方法之一。它基于观测数据建立变量间适当的依赖关系,以分析数据内在规律,并可用于预报、控制等问题。
方差齐性
线性关系
效应累加
变量无测量误差
变量服从多元正态分布
观察独立
模型完整(没有包含不该进入的变量、也没有漏掉应该进入的变量)
误差项独立且服从(0,1)正态分布。
现实数据常常不能完全符合上述假定。因此,统计学家研究出许多的回归模型来解决线性回归模型假定过程的约束。
研究一个或多个随机变量Y1 ,Y2 ,…,Yi与另一些变量X1、X2,…,Xk之间的关系的统计方法,又称多重回归分析。通常称Y1,Y2,…,Yi为因变量,X1、X2,…,Xk为自变量。回归分析是一类数学模型,特别当因变量和自变量为线性关系时,它是一种特殊的线性模型。最简单的情形是一个自变量和一个因变量,且它们大体上有线性关系,这叫一元线性回归,即模型为Y=a+bX+ε,这里X是自变量,Y是因变量,ε是随机误差,通常假定随机误差的均值为0,方差为σ^2(σ^2大于0)σ^2与X的值无关。若进一步假定随机误差遵从正态分布,就叫做正态线性模型。一般的情形,它有k个自变量和一个因变量,因变量的值可以分解为两部分:一部分是由于自变量的影响,即表示为自变量的函数,其中函数形式已知,但含一些未知参数;另一部分是由于其他未被考虑的因素和随机性的影响,即随机误差。当函数形式为未知参数的线性函数时,称线性回归分析模型;当函数形式为未知参数的非线性函数时,称为非线性回归分析模型。当自变量的个数大于1时称为多元回归,当因变量个数大于1时称为多重回归。
回归分析的主要内容为:
①从一组数据出发,确定某些变量之间的定量关系式,即建立数学模型并估计其中的未知参数。估计参数的常用方法是最小二乘法。
②对这些关系式的可信程度进行检验。
③在许多自变量共同影响着一个因变量的关系中,判断哪个(或哪些)自变量的影响是显著的,哪些自变量的影响是不显著的,将影响显著的自变量入模型中,而剔除影响不显著的变量,通常用逐步回归、向前回归和向后回归等方法。
④利用所求的关系式对某一生产过程进行预测或控制。回归分析的应用是非常广泛的,统计软件包使各种回归方法计算十分方便。
在回归分析中,把变量分为两类。一类是因变量,它们通常是实际问题中所关心的一类指标,通常用Y表示;而影响因变量取值的的另一类变量称为自变量,用X来表示。
回归分析研究的主要问题是:
(1)确定Y与X间的定量关系表达式,这种表达式称为回归方程;
(2)对求得的回归方程的可信度进行检验;
(3)判断自变量X对因变量Y有无影响;
(4)利用所求得的回归方程进行预测和控制。
注意问题:
应用回归预测法时应首先确定变量之间是否存在相关关系。如果变量之间不存在相关关系,对这些变量应用回归预测法就会得出错误的结果。
正确应用回归分析预测时应注意:
①用定性分析判断现象之间的依存关系;
②避免回归预测的任意外推;
③应用合适的数据资料;
-The 35th day
作者:
赤眸
时间:
2016-1-7 14:29
回归分析模型的步骤:
确定变量
明确预测的具体目标,也就确定了因变量。如预测具体目标是下一年度的销售量,那么销售量Y就是因变量。通过市场调查和查阅资料,寻找与预测目标的相关影响因素,即自变量,并从中选出主要的影响因素。
建立预测模型
依据自变量和因变量的历史统计资料进行计算,在此基础上建立回归分析方程,即回归分析预测模型。
进行相关分析
回归分析是对具有因果关系的影响因素(自变量)和预测对象(因变量)所进行的数理统计分析处理。只有当自变量与因变量确实存在某种关系时,建立的回归方程才有意义。因此,作为自变量的因素与作为因变量的预测对象是否有关,相关程度如何,以及判断这种相关程度的把握性多大,就成为进行回归分析必须要解决的问题。进行相关分析,一般要求出相关关系,以相关系数的大小来判断自变量和因变量的相关的程度。
计算预测误差
回归预测模型是否可用于实际预测,取决于对回归预测模型的检验和对预测误差的计算。回归方程只有通过各种检验,且预测误差较小,才能将回归方程作为预测模型进行预测。
确定预测值
利用回归预测模型计算预测值,并对预测值进行综合分析,确定最后的预测值。
应用:
相关分析研究的是现象之间是否相关、相关的方向和密切程度,一般不区别自变量或因变量。而回归分析则要分析现象之间相关的具体形式,确定其因果关系,并用数学模型来表现其具体关系。比如说,从相关分析中我们可以得知“质量”和“用户满意度”变量密切相关,但是这两个变量之间到底是哪个变量受哪个变量的影响,影响程度如何,则需要通过回归分析方法来确定。
一般来说,回归分析是通过规定因变量和自变量来确定变量之间的因果关系,建立回归模型,并根据实测数据来求解模型的各个参数,然后评价回归模型是否能够很好的拟合实测数据;如果能够很好的拟合,则可以根据自变量作进一步预测。
例如,如果要研究质量和用户满意度之间的因果关系,从实践意义上讲,产品质量会影响用户的满意情况,因此设用户满意度为因变量,记为Y;质量为自变量,记为X。根据图8-3的散点图,可以建立下面的线性关系: Y=A+BX+§
式中:A和B为待定参数,A为回归直线的截距;B为回归直线的斜率,表示X变化一个单位时,Y的平均变化情况;§为依赖于用户满意度的随机误差项。
对于经验回归方程: y=0.857+0.836x
回归直线在y轴上的截距为0.857、斜率0.836,即质量每提高一分,用户满意度平均上升0.836分;或者说质量每提高1分对用户满意度的贡献是0.836分。
上面所示的例子是简单的一个自变量的线性回归问题,在数据分析的时候,也可以将此推广到多个自变量的多元回归,具体的回归过程和意义请参考相关的统计学书籍。此外,在SPSS的结果输出里,还可以汇报R2,F检验值和T检验值。R2又称为方程的确定性系数(coefficient of determination),表示方程中变量X对Y的解释程度。R2取值在0到1之间,越接近1,表明方程中X对Y的解释能力越强。通常将R2乘以100%来表示回归方程解释Y变化的百分比。F检验是通过方差分析表输出的,通过显著性水平(significant level)检验回归方程的线性关系是否显著。一般来说,显著性水平在0.05以上,均有意义。当F检验通过时,意味着方程中至少有一个回归系数是显著的,但是并不一定所有的回归系数都是显著的,这样就需要通过T检验来验证回归系数的显著性。同样地,T检验可以通过显著性水平或查表来确定。在上面所示的例子中,各参数的意义如表8-2所示。
线性回归方程检验
指标
显著性水平
意义
R2
0.89
“质量”解释了89%的“用户满意度”的变化程度
F
276.82
0.001
回归方程的线性关系显著
T
16.64
0.001
回归方程的系数显著
示例 SIM手机用户满意度与相关变量线性回归分析
我们以SIM手机的用户满意度与相关变量的线性回归分析为例,来进一步说明线性回归的应用。从实践意义讲上,手机的用户满意度应该与产品的质量、价格和形象有关,因此我们以“用户满意度”为因变量,“质量”、“形象”和“价格”为自变量,作线性回归分析。利用SPSS软件的回归分析,得到回归方程如下:
用户满意度=0.008×形象+0.645×质量+0.221×价格
对于SIM手机来说,质量对其用户满意度的贡献比较大,质量每提高1分,用户满意度将提高0.645分;其次是价格,用户对价格的评价每提高1分,其满意度将提高0.221分;而形象对产品用户满意度的贡献相对较小,形象每提高1分,用户满意度仅提高0.008分。
-The 36th day
作者:
赤眸
时间:
2016-1-8 10:54
TransCAD核心--交通规划模型:
TransCAD以交通规划“四阶段法”为基础,提供了完善的交通规划模型算法。其中包括需求预测模型、公交模型、OD矩阵推算、路径模型、路网分析模型、物流模型等。
1.“四阶段法”交通规划模型
◇ 出行产生/吸引模型
交叉分类法:交叉分类法是根据一定的社会经济特点将一个城区的人口划分为若干类型。然后,经验地估计每种类型的家庭或出行者的平均出行率,由此产生的出行率表,可用于预测该研究区的出行产生量。
回归分析模型:普遍采用两种回归分析模型。第一种,使用以交通小区为标准的集计数据,将每个家庭的平均出行量作为因变量,小区特征属性的平均值作为说明变量(自变量)。第二种,使用以单个的家庭或出行者为标准的非集计数据,以每个家庭或出行者的出行量作为因变量,家庭和出行者的特征属性作为说明变量(自变量)。
离散选择法: 离散选择法是使用非集计的家庭或单个出行者的数据估算它们的出行概率。再将所得的结论集计起来即为预测的出行产生量
◇ 产生/吸引平衡模型
保持出行产生量不变:保持出行产生量不变,调整出行吸引量,使得吸引总量与产生总量相等。
保持出行吸引量不变:保持出行吸引量不变,调整出行产生量,使出行产生总量与吸引总量相等。
用户指定出行总量系数:同时调整出行产生量和出行吸引量,使产生量和吸引量之和等于出行总量乘以用户给定系数之积。
用户指定的出行总量:同时调整出行产生量和吸引量,使产生量和吸引量之和等于用户给定的值。
◇ 出行分布模型
增长系数法:是通过对现有的矩阵乘以系数实现的(增长系数由未来的出行产生量除以出行现状的产生量计算得出的)。在无法获悉路网交通小区间距离、出行时间或综合费用等信息时,常常使用该方法。
—— 常增长系数法
—— 出行产生受约束的增长系数法
—— 出行吸引受约束的增长系数法
—— 全约束增长系数(Fratar福来特法 )
重力模型:主要的原理——两个地区之间的空间交流量与出行产生量/吸引量的乘积成正比,与两地之间的交通阻抗成反比。该模型需要流量矩阵、阻抗矩阵(反映小区间的距离、时间或出行费用等),还有估算的未来出行产生量和吸引量。重力模型较清楚地表达了空间交流量与交通小区间阻抗的相互关系。
—— 出行产生受约束
—— 出行吸引受约束
—— 全约束的重力模型
调校重力模型:根据基准年的路网状况估算阻抗函数的参数,从而尽可能使重力模型与基准年产生量/吸引量、基准年的出行距离分布相接近。
—— 指数函数
—— 幂函数
—— gamma函数
三维比例的出行分布模型:将考虑更多一维的约束条件。该模型,调整一组小区的出行产生量/吸引量,使该组小区的产生量/吸引量之和等于用户指定的数值。它可以分别应用于增长系数模型和重力模型中。
-The 37th day
作者:
赤眸
时间:
2016-1-9 00:25
TransCAD核心--交通规划模型续:
三维比例的出行分布模型:将考虑更多一维的约束条件。该模型,调整一组小区的出行产生量/吸引量,使该组小区的产生量/吸引量之和等于用户指定的数值。它可以分别应用于增长系数模型和重力模型中。
◇ 方式划分模型
回归模型:用于预测集计的方式分担率。一般地,回归模型用于预测一种出行方式的出行率和出行数量。该模型建立出行比率(或出行量)与出行者社会经济特性、各种可择方式特性之间建立统计关系。
交叉分类法:根据出行者的特征(如:收入或小汽车拥有量)或各种运输方式的特性(如:出行时间或相对的出行时间),也可以根据各种运输方式的综合效用,即包含社会~经济特性,计算每一类的平均分担率。
Logit模型:将出行决策者(个人、家庭等)选择一种出行方式的概率表述为各种运输方式的效用值分式,
Logit模型调校:影响方式划分的因素包括各种出行方式的特性和出行者个人的属性。
— 出行时间 — 家庭成员构成
— 价格 — 家庭收入
— 停车场费用、道路收费 — 就业情况
◇ 网络分配模型
全有全无分配法(AON):将O-D对间的所有交通流量都分配到O-D对间最短路径上。
STOCH 分配法:将每个O-D对间的交通流量分配到O-D对间的多条可选路径上。分配到某条路径上的流量比例是选择该路径的概率,路径的选择概率是由logit路径选择模型计算的。
递增分配法:逐步分配交通流量。在每一步分配中,根据全有全无分配法分配一定比例的总流量。每步分配后,根据路段流量重新计算出行时间。当采用多次递增法时,该分配法类似于平衡分配法。
容量限制法:是一种近似的平衡法,首先进行全有全无流量分配,再根据拥挤函数(反映路段的能力)重新计算路段的出行时间,并且进行多次迭代。
用户平衡法:通过多次迭代过程达到收敛结果,即使出行者改变路径也不可能再改进出行时间。在每次迭代中,计算路网的路段流量,当路段通行能力不足时,将限制路段流量和出行时间(依赖于流量)。
随机用户平衡法(SUE):是一种综合的用户平衡法,假定出行者没有较完整的路网属性信息,对出行费用的理解方式也不尽相同。SUE允许使用吸引小的路径上也加载流量。
系统优化分配(SO):是一种使整个路网的出行时间达到最小的分配方法。
2.公交模型
TransCAD具有功能强大的公交模型。它拥有独特的公交路径数据结构,可以方便地保存、显示、编辑、分析公交路径数据。尤其是可以直接地将公交路径叠加到路网上,能够清楚地反映出汽车流量与公交流量的相互关系。公交分配模型提供了多种算法,包括:
○ 全有全无分配法
○ 最优策略法
○ UTPS路径选择法
○ 综合费用路径选择法
○ 用户平衡法
○ Stochastic用户平衡法
4.矩阵推算
由于路段交通调查与较大规模的入户调查相比,费用较少,因此常常需要根据路段交通量生成基准年出行矩阵,或更新已有的OD出行矩阵,使是基准年OD矩阵较准确地反映出最新的现状交通流量分布情况。
TransCAD考虑了路段调查量的随机性,并可以采用任一种分配方法,通过交通分配与矩阵估算之间的多次迭代实现矩阵推算功能。
-The 38th day
作者:
赤眸
时间:
2016-1-10 15:03
地质建模概述:
地质建模是在讲地质,测井,地球物理资料和各种解释结果或者概念模型进行综合分析的基础上,利用计算机图形技术,生成的三维定量随机模型。因此地质建模是一个涉及地质学、数据/信息分析、计算科学的交叉性的综合学科,或者说是一个整合各种学科的学科。这样建立的地质模型汇总了各种信息和解释结果。所以是否了解各种输入数据/信息的优势和不足是合理整合这些数据的关键。我们的储层一般都会有多尺度上的非均质性和连续性,但是由于各种原因我们不可能直接测量到所有的这些细节。
那么借助于地质统计技术来生成比较真实的,代表我们对储层非均质性和连续性的认识的模型是一个比较有效的研究储层的手段。同一套数据可以生成很多相似的但是又不同的模型,这些模型就是随机(stochastic)的。
那么什么是地质模型呢?地质模型是一个三维网格体。这些网格建立在surface,断层和层位的基础之上。它决定了储层的构造和几何形态。网格中的每一个节点都有一系列属性,比如孔隙度,渗透率,含水饱和度等等。一般来说,节点的尺度为200英尺×200英尺×1英尺。不过具体的模型节点尺度要取决于油田的大小,要解决的关键地质问题的尺度以及模型的商业用途。不同情况下建立的地质模型节点尺度会有很大差别。地质模型的建立可以细分为三步:建立模型框架,建立岩相模型,建立岩石物性模型。
前面已经提到地质模型是各种信息和解释结果汇总的地方,那么地质建模的输入数据就要尽量包括已有的资料。通常这些资料有:
1、震资料和解释结果这包括地震层位,断层,地震相,岩石类型,岩石属性;
2、测井/岩心资料和解释结果这包括tops,连井剖面,岩性,岩相,岩石物性;渗透率;油气水界面;各种分布图比如直方图,散点图;空间连续性,比如垂向半变谱(semivariogram)。
3、概念模型/analog资料包括沉积相模型;沉积体叠置关系;泥岩分布特征;沉积体的大小,百分比以及属性直方图;空间连续性-横向半变谱(semivariogram)。
很多人并不重视这最后一类资料,即概念模型/analog资料。也就是说他们忽略了要把储层的概念模型转换成数值模型,再把这个数值模型整合到最后的地质模型中去。
已建成的地质模型可以为我们提供很多信息。首先是储层地质的三维可视化。我们可以看到储层的地质三位空间分布,变化,也可以制作二维的图片比如构造图,等厚图,岩相分布图等。其次是它为我们提供了一套有机融合在一起的数据体,因为建模过程就是各种数据的融合过程。第三,它是我们进行储层分析的平台。从地质模型我们通过分析可以得到粗至储层的平均砂泥比,平均孔隙度等储层平均值,也可以得到细至储层的kv/kh,各项异性等信息。这些定量分析可以大大提高我们对储层的认识。
-The 39th day
作者:
赤眸
时间:
2016-1-11 16:03
地质模型的应用:
地质模型的主要用途有以下几种:
1、为油藏数值模拟提供三位地质数据体。因为控制油藏流体流动的许多因素来自于储层的地质特征。在许多情况下正是因为油藏工程师需要准确预测油藏的生产情况,我们才进行储层建模。地质模型的网格一般都比油藏数值模型的网格要细,所以地质模型在输入数值模拟器之前需要经过一个网格粗化过程。在网格粗化过程中,如何保留住小尺度地质特征对流体的影响是一个关键。如果网格粗化过程过滤掉/忽略了小尺度地质特征对流体的影响,那么这个粗化的地质模型并不能代表原来的精细地质模型,可想而知用这个变形的地质模型进行数值模拟,其结果的参考价值也就大大降低。
2、用来计算含油气孔隙体积,或者储量。与二维模型相比,三维地质模型具有独特的优势,可以用来计算比较真实的孔隙体积,它也可以用来计算油田储量。在某些情况下,油田开发和生产阶段需要一个严格的储量计算,这可以通过地质建模得到。
3、帮助布井。地质模型可以用来优化评价井的数目和其井位部署;我们也可以从地质模型识别出储层的“sweetspots”,或者计算单井的可产出量;通过三维地质模型,我们可以设计井的钻探轨迹以钻遇单个砂体,或者对井位部署/钻探轨迹vs。油气目标层进行详细的三维空间分析。这样就会减少钻遇差储层的机会。当然地质模型对布井的价值完全取决于模型本身的准确度。如果地质模型几乎没有整合可靠的数据(harddata,如井资料)或者模型所依据的地质概念并不可靠(还属于推测阶段),那么这样建立的地质模型对详细布井并没有多大帮助。随着井资料的增多和地质概念的成熟,地质模型的价值也会增加。
4、进行断层封堵分析和预测。地质模型把构造和地层格架结合到一起,这有利于我们进行断层的封堵性预测。一般来说断层的封堵有两种情况:一是断层两边砂岩对砂岩接触面的减少,二是断层处由于断层泥的存在,其对流体的传导性降低。我们可以通过计算断层的垂向和横向上的断距,或者计算砂岩对砂岩的叠置关系,或者估算断层泥存在的可能性及其影响来预测断层的封堵性。实际上,断层的封堵性预测工作很复杂,需要大量的解释和对比校对,目前这是一个比较热门的研究课题。
5、进行油田监测。无论是一次采油阶段还是二次采油阶段,地质模型都是一个监测油田含水饱和度的有效工具。地质模型可以用来监测油藏的动态。
6、有效的交流平台。地质模型的存在,为地质师、油藏工程师、钻井师提供了一个交流的平台。这些不同领域的工作人员关心的问题不同,行业语言也不净相同,但是当他们聚集在一起对着同一个地质模型进行交流的时候,相同的讨论目标(这里指地质模型)会促进他们之间的相互理解,同时地质模型的可视化也可以提高他们对油藏的认识。当然模型的可视化也可以帮助我们QC地质模型。如果看到很奇怪的特征就说明模型的什么地方出错了。
从地质模型的这些作用我们可以看出地质建模贯穿在油田勘探开发的各个阶段。一个油田的生命周期通常可以划分为四个阶段:勘探评估阶段,开发规划阶段,油田开发初期,油田开发晚期。不同阶段要解决的问题不同,所以建模的精细度也不一样。从勘探时起到开发晚期,模型的精度不断增加。
在勘探评估阶段,要解决的主要问题通常是:由藏有多大?具有商业价值吗?主要的不确定因素是什么?地质建模工作者要回答这些问题,帮助公司决策者做出正确的决定。在这种情况下,很多人认为要把模型建的足够精细以减少技术上的失误,从而为决策者提供一个完美的参考模型。其实如果把很多细节都包括到模型中去,反而为妨碍我们对主要地质参数的不确定性分析,这样也会导致不明智的决策。所以说精细并不意味着准确。这个阶段的地质模型应该着重于确定油藏的总容量(确定控制油藏的地层或构造界面)。在尺度上只要划分出第3和第4级的层序地层界面就行了。至于岩石物性,给模型选区一个合理的平均值也足够了。这个阶段的重要任务是作储层主要参数(如平均孔隙度)的不确定性分析。
在开发规划阶段,我们一般需要弄清油藏的驱动机制,比如是否有底水。需要钻什么样的井,钻多少口井等问题。这时候的地质模型就要在勘探阶段模型的基础上进一步细分,划分出主要的流体流动单元。这种划分应该基于层序-地层格架,而非岩性地层。这时的模型一般需要划分出第4至第6级层序地层界面。如果有断层的话也应该简单的包括到模型中去。岩石物性用平均值就行了。
开发初期,我们关心的问题是在那里布井位,如何优化开发方案。也就是说我们想把井钻在最理想的地方。这一阶段的地质模型需要进一步细分层内的地层单元或流动单元。详细描述储层的地质构造。到了开发晚期,要解决的主要问题是:剩余油在哪儿,如何把他们有效地开采出来。这时候往往需要把整个油田的模型细分成多个独立的小模型。模型需要很高精细度,一般会划分到第7级层序界面,比如单个河道,但个流动单元。这时的模型需要整合生产资料,也就是说需要进行历史拟合。这样地质模型的不确定性才会进一步降低,而预测功能相应增强。
-The 40th day
作者:
赤眸
时间:
2016-1-12 11:36
蒙特·卡罗方法:
蒙特·卡罗方法(Monte Carlo method),也称统计模拟方法,是二十世纪四十年代中期由于科学技术的发展和电子计算机的发明,而被提出的一种以概率统计理论为指导的一类非常重要的数值计算方法。是指使用随机数(或更常见的伪随机数)来解决很多计算问题的方法。与它对应的是确定性算法。蒙特·卡罗方法在金融工程学,宏观经济学,计算物理学(如粒子输运计算、量子热力学计算、空气动力学计算)等领域应用广泛。
蒙特·卡罗方法的提出:
蒙特卡罗方法于20世纪40年代美国在第二次世界大战中研制原子弹的“曼哈顿计划”计划的成员S.M.乌拉姆和J.冯·诺伊曼首先提出。数学家冯·诺伊曼用驰名世界的赌城—摩纳哥的Monte Carlo—来命名这种方法,为它蒙上了一层神秘色彩。在这之前,蒙特卡罗方法就已经存在。1777年,法国数学家布丰(Georges Louis Leclere de Buffon,1707—1788)提出用投针实验的方法求圆周率π。这被认为是蒙特卡罗方法的起源。
蒙特-卡罗方法的基本思想:
当所求解问题是某种随机事件出现的概率,或者是某个随机变量的期望值时,通过某种“实验”的方法,以这种事件出现的频率估计这一随机事件的概率,或者得到这个随机变量的某些数字特征,并将其作为问题的解。
工作过程
蒙特卡罗方法的解题过程可以归结为三个主要步骤:构造或描述概率过程;实现从已知概率分布抽样;建立各种估计量。
蒙特卡罗方法解题过程的三个主要步骤:
(1)构造或描述概率过程
对于本身就具有随机性质的问题,如粒子输运问题,主要是正确描述和模拟这个概率过 程,对于本来不是随机性质的确定性问题,比如计算定积分,就必须事先构造一个人为的概率过程,它的某些参量正好是所要求问题的解。即要将不具有随机性质的问题转化为随机性质的问题。
(2)实现从已知概率分布抽样
构造了概率模型以后,由于各种概率模型都可以看作是由各种各样的概率分布构成的,因此产生已知概率分布的随机变量(或随机向量),就成为实现蒙特卡罗方法模拟实验的基本手段,这也是蒙特卡罗方法被称为随机抽样的原因。最简单、最基本、最重要的一个概率分布是(0,1)上的均匀分布(或称矩形分布)。随机数就是具有这种均匀分布的随机变量。随机数序列就是具有这种分布的总体的一个简单子样,也就是一个具有这种分布的相互独立的随机变数序列。产生随机数的问题,就是从这个分布的抽样问题。在计算机上,可以用物理方法产生随机数,但价格昂贵,不能重复,使用不便。另一种方法是用数学递推公式产生。这样产生的序列,与真正的随机数序列不同,所以称为伪随机数,或伪随机数序列。不过,经过多种统计检验表明,它与真正的随机数,或随机数序列具有相近的性质,因此可把它作为真正的随机数来使用。由已知分布随机抽样有各种方法,与从(0,1)上均匀分布抽样不同,这些方法都是借助于随机序列来实现的,也就是说,都是以产生随机数为前提的。由此可见,随机数是我们实现蒙特卡罗模拟的基本工具。
(3)建立各种估计量
一般说来,构造了概率模型并能从中抽样后,即实现模拟实验后,我们就要确定一个随机变量,作为所要求的问题的解,我们称它为无偏估计。建立各种估计量,相当于对模拟实验的结果进行考察和登记,从中得到问题的解。
数学应用:
通常蒙特·卡罗方法通过构造符合一定规则的随机数来解决数学上的各种问题。对于那些由于计算过于复杂而难以得到解析解或者根本没有解析解的问题,蒙特·卡罗方法是一种有效的求出数值解的方法。一般蒙特·卡罗方法在数学中最常见的应用就是蒙特·卡罗积分。
-The 41th day
作者:
赤眸
时间:
2016-1-13 19:41
蒙特-卡罗应用领域:
蒙特卡罗方法在金融工程学,宏观经济学,生物医学,计算物理学(如粒子输运计算、量子热力学计算、空气动力学计算、核工程)等领域应用广泛。
工作过程:
在解决实际问题的时候应用蒙特·卡罗方法主要有两部分工作:
1. 用蒙特·卡罗方法模拟某一过程时,需要产生某一概率分布的随机变量。
2. 用统计方法把模型的数字特征估计出来,从而得到实际问题的数值解。
分子模拟计算
使用蒙特·卡罗方法进行分子模拟计算是按照以下步骤进行的:
1. 使用随机数发生器产生一个随机的分子构型。
2. 对此分子构型的其中粒子坐标做无规则的改变,产生一个新的分子构型。
3. 计算新的分子构型的能量。
4. 比较新的分子构型于改变前的分子构型的能量变化,判断是否接受该构型。
若新的分子构型能量低于原分子构型的能量,则接受新的构型,使用这个构型重复再做下一次迭代。 若新的分子构型能量高于原分子构型的能量,则计算玻尔兹曼因子,并产生一个随机数。若这个随机数大于所计算出的玻尔兹曼因子,则放弃这个构型,重新计算。 若这个随机数小于所计算出的玻尔兹曼因子,则接受这个构型,使用这个构型重复再做下一次迭代。
5. 如此进行迭代计算,直至最后搜索出低于所给能量条件的分子构型结束。
项目管理
项目管理中蒙特·卡罗模拟方法的一般步骤是:
1.对每一项活动,输入最小、最大和最可能估计数据,并为其选择一种合适的先验分布模型;
2.计算机根据上述输入,利用给定的某种规则,快速实施充分大量的随机抽样
3.对随机抽样的数据进行必要的数学计算,求出结果
4.对求出的结果进行统计学处理,求出最小值、最大值以及数学期望值和单位标准偏差
5.根据求出的统计学处理数据,让计算机自动生成概率分布曲线和累积概率曲线(通常是基于正态分布的概率累积S曲线)
6.依据累积概率曲线进行项目风险分析。
力学
在力学中,蒙特卡罗方法多被用来求解稀薄气体动力学问题,其中最为成功的是澳大利亚G.A.伯德等人发展的直接模拟统计试验法。此法通过在计算机上追踪几千个或更多的模拟分子的运动、碰撞及其与壁面的相互作用,以模拟真实气体的流动。它的基本假设与玻耳兹曼方程一致,但它是通过追踪有限个分子的空间位置和速度来代替计算真实气体中分布函数。模拟的相似条件是流动的克努曾数(Kn)相等,即数密度与碰撞截面之积保持常数。对每个分子分配以记录其位置和速度的单元。在模拟过程中分别考虑分子的运动和碰撞,在此平均碰撞时间间隔内,分别计算分子无碰撞的运动和典型碰撞。若空间网格取得足够小,其中任意两个分子都可以互相碰撞。具体决定哪两个刚体分子相撞,是随机取一对分子,计算它们的相对速度,根据此值与最大相对速度的比值和随机取样比较的结果,来决定该对分子是否入选。碰撞后分子的速度根据特定分子模型的碰撞力学和随机取样决定。分子与壁面碰撞后的速度,则根据特定的反射模型和随机取样决定。对于运动分子的位置和速度的追踪和求矩可以得出气体的密度、温度、速度等一些感兴趣的宏观参量。而对于分子与壁面间的动量和能量交换的记录则给出阻力、举力和热交换系数等的数学期望值。
发展应用:
从理论上来说,蒙特卡罗方法需要大量的实验。实验次数越多,所得到的结果才越精确。
从表中数据可以看到,一直到公元20世纪初期,尽管实验次数数以千计,利用蒙特卡罗方法所得到的圆周率π值,还是达不到公元5世纪祖冲之的推算精度。这可能是传统蒙特卡罗方法长期得不到推广的主要原因。
计算机技术的发展,使得蒙特卡罗方法在最近10年得到快速的普及。现代的蒙特卡罗方法,已经不必亲自动手做实验,而是借助计算机的高速运转能力,使得原本费时费力的实验过程,变成了快速和轻而易举的事情。它不但用于解决许多复杂的科学方面的问题,也被项目管理人员经常使用。
借助计算机技术,蒙特卡罗方法实现了两大优点:
一是简单,省却了繁复的数学推导和演算过程,使得一般人也能够理解和掌握
二是快速。简单和快速,是蒙特卡罗方法在现代项目管理中获得应用的技术基础。
蒙特卡罗方法有很强的适应性,问题的几何形状的复杂性对它的影响不大。该方法的收敛性是指概率意义下的收敛,因此问题维数的增加不会影响它的收敛速度,而且存贮单元也很省,这些是用该方法处理大型复杂问题时的优势。因此,随着电子计算机的发展和科学技术问题的日趋复杂,蒙特卡罗方法的应用也越来越广泛。它不仅较好地解决了多重积分计算、微分方程求解、积分方程求解、特征值计算和非线性方程组求解等高难度和复杂的数学计算问题,而且在统计物理、核物理、真空技术、系统科学 、信息科学、公用事业、地质、医学,可靠性及计算机科学等广泛的领域都得到成功的应用。
作者:
赤眸
时间:
2016-1-14 15:18
数据挖掘算法:
数据挖掘算法是根据数据创建数据挖掘模型的一组试探法和计算。 为了创建模型,算法将首先分析您提供的数据,并查找特定类型的模式和趋势。
概念描述:
算法使用此分析的结果来定义用于创建挖掘模型的最佳参数。然后,这些参数应用于整个数据集,以便提取可行模式和详细统计信息。
算法根据您的数据创建的挖掘模型可以采用多种形式,这包括:
说明数据集中的事例如何相关的一组分类。
预测结果并描述不同条件是如何影响该结果的决策树。
预测销量的数学模型。
说明在事务中如何将产品分组到一起的一组规则,以及一起购买产品的概率。
算法分类:
1:C4.5
C4.5就是一个决策树算法,它是决策树(决策树也就是做决策的节点间像一棵树一样的组织方式,其实是一个倒树)核心算法ID3的改进算法,所以基本上了解了一半决策树构造方法就能构造它。决策树构造方法其实就是每次选择一个好的特征以及分裂点作为当前节点的分类条件。C4.5比ID3改进的地方时:
ID3选择属性用的是子树的信息增益(这里可以用很多方法来定义信息,ID3使用的是熵(entropy)(熵是一种不纯度度量准则)),也就是熵的变化值,而C4.5用的是信息增益率。也就是多了个率嘛。一般来说率就是用来取平衡用的,就像方差起的作用差不多,比如有两个跑步的人,一个起点是100m/s的人、其1s后为110m/s;另一个人起速是1m/s、其1s后为11m/s。如果仅算差值那么两个就是一样的了;但如果使用速度增加率(加速度)来衡量,2个人差距就很大了。在这里,其克服了用信息增益选择属性时偏向选择取值多的属性的不足。在树构造过程中进行剪枝,我在构造决策树的时候好讨厌那些挂着几个元素的节点。对于这种节点,干脆不考虑最好,不然很容易导致overfitting。对非离散数据都能处理,这个其实就是一个个式,看对于连续型的值在哪里分裂好。也就是把连续性的数据转化为离散的值进行处理。能够对不完整数据进行处理,这个重要也重要,其实也没那么重要,缺失数据采用一些方法补上去就是了。
2:CART
CART也是一种决策树算法!相对于上着有条件实现一个节点下面有多个子树的多元分类,CART只是分类两个子树,这样实现起来稍稍简便些。所以说CART算法生成的决策树是结构简洁的二叉树。
3:KNN(K Nearest Neighbours)
这个很简单,就是看你周围的K个人(样本)中哪个类别的人占的多,哪个多,那我就是多的那个。实现起来就是对每个训练样本都计算与其相似度,是Top-K个训练样本出来,看这K个样本中哪个类别的多些,谁多跟谁。
4:Naive Bayes
(朴素贝叶斯NB)
NB认为各个特征是独立的,谁也不关谁的事。所以一个样本(特征值的集合,比如“数据结构”出现2次,“文件”出现1次),可以通过对其所有出现特征在给定类别的概率相乘。比如“数据结构”出现在类1的概率为0.5,“文件”出现在类1的概率为0.3,则可认为其属于类1的概率为0.5*0.5*0.3。
5:Support Vector Machine
(支持向量机SVM)
SVM就是想找一个分类得最”好”的分类线/分类面(最近的一些两类样本到这个”线”的距离最远)。这个没具体实现过,上次听课,那位老师自称自己实现了SVM,敬佩其钻研精神。常用的工具包是LibSVM、SVMLight、MySVM。 (未完待续...)
-The 43th day
作者:
赤眸
时间:
2016-1-15 17:23
数据挖掘算法算法分类:
6:EM(期望最大化)
这个我认为就是假设数据时由几个高斯分布组成的,所以最后就是要求几个高斯分布的参数。通过先假设几个值,然后通过反复迭代,以期望得到最好的拟合。
7:Apriori
这个是做关联规则用的。不知道为什么,一提高关联规则我就想到购物篮数据。这个没实现过,不过也还要理解,它就是通过支持度和置信度两个量来工作,不过对于Apriori,它通过频繁项集的一些规律(频繁项集的子集必定是频繁项集等等啦)来减少计算复杂度。
8:FP-Tree
(Mining frequent patterns without candidate generation)
这个也不太清楚。FP-growth算法(Frequent Pattern-growth)使用了一种紧缩的数据结构来存储查找频繁项集所需要的全部信息。采用算法:将提供频繁项集的数据库压缩到一棵FP-tree来保留项集关联信息,然后将压缩后的数据库分成一组条件数据库(一种特殊类型的投影数据库),每个条件数据库关联一个频繁项集。
9:PageRank
大名鼎鼎的PageRank大家应该都知道(Google靠此专利发家,其实也不能说发家啦!)。对于这个算法我的理解就是:如果我指向你(网页间的连接)则表示我承认你,则在计算你的重要性的时候可以加上我的一部分重要性(到底多少,要看我自己有多少和我共承认多少个人)。通过反复这样来,可以求的一个稳定的衡量各个人(网页)重要性的值。不过这里必须要做些限制(一个人的开始默认重要性都是1),不然那些值会越来越大越来越大。
10:HITS
HITS也是一个连接分析算法,它是由IBM首先提出的。在HITS,每个节点(网页)都有一个重要度和权威度(Hubs and authorities,我也忘了具体的翻译是什么了)。通过反复通过权威度来求重要度,通过重要度来求权威度得到最后的权威度和重要度。
11:K-Means
K-Means是一种最经典也是使用最广泛的聚类方法,时至今日扔然有很多基于其的改进模型提出。K-Means的思想很简单,对于一个聚类任务(你需要指明聚成几个类,当然按照自然想法来说不应该需要指明类数,这个问题也是当前聚类任务的一个值得研究的课题),首先随机选择K个簇中心,然后反复计算下面的过程直到所有簇中心不改变(簇集合不改变)为止:步骤1:对于每个对象,计算其与每个簇中心的相似度,把其归入与其最相似的那个簇中。
步骤2:更新簇中心,新的簇中心通过计算所有属于该簇的对象的平均值得到。
k-means 算法的工作过程说明如下:首先从n个数据对象任意选择k 个对象作为初始聚类中心;而对于所剩下其它对象,则根据它们与这些聚类中心的相似度(距离),分别将它们分配给与其最相似的(聚类中心所代表的)聚类;然后再计算每个所获新聚类的聚类中心(该聚类中所有对象的均值);不断重复这一过程直到标准测度函数开始收敛为止。一般都采用均方差作为标准测度函数. k个聚类具有以下特点:各聚类本身尽可能的紧凑,而各聚类之间尽可能的分开。
12:BIRCH
BIRCH也是一种聚类算法,其全称是Balanced Iterative Reducing and Clustering using Hierarchies。BIRCH也是只是看了理论没具体实现过。是一个综合的层次聚类特征(Clustering Feature, CF)和聚类特征树(CF Tree)两个概念,用于概括聚类描述。聚类特征树概括了聚类的有用信息,并且占用空间较元数据集合小得多,可以存放在内存中,从而可以提高算法在大型数据集合上的聚类速度及可伸缩性。
BIRCH算法包括以下两个阶段:
1)扫描数据库,建立动态的一棵存放在内存的CF Tree。如果内存不够,则增大阈值,在原树基础上构造一棵较小的树。
2)对叶节点进一步利用一个全局性的聚类算法,改进聚类质量。
由于CF Tree的叶节点代表的聚类可能不是自然的聚类结果,原因是给定的阈值限制了簇的大小,并且数据的输入顺序也会影响到聚类结果。因此需要对叶节点进一步利用一个全局性的聚类算法,改进聚类质量。
13:AdaBoost
AdaBoost做分类的一般知道,它是一种boosting方法。这个不能说是一种算法,应该是一种方法,因为它可以建立在任何一种分类算法上,可以是决策树,NB,SVM等。
Adaboost是一种迭代算法,其核心思想是针对同一个训练集训练不同的分类器(弱分类器),然后把这些弱分类器集合起来,构成一个更强的最终分类器(强分类器)。其算法本身是通过改变数据分布来实现的,它根据每次训练集之中每个样本的分类是否正确,以及上次的总体分类的准确率,来确定每个样本的权值。将修改过权值的新数据集送给下层分类器进行训练,最后将每次训练得到的分类器最后融合起来,作为最后的决策分类器。使用adaboost分类器可以排除一些不必要的训练数据,并将关键放在关键的训练数据上面。
14:GSP
GSP,全称为Generalized Sequential Pattern(广义序贯模式),是一种序列挖掘算法。对于序列挖掘没有仔细看过,应该是基于关联规则的吧!网上是这样说的:
GSP类似于Apriori算法,采用冗余候选模式的剪除策略和特殊的数据结构-----哈希树来实现候选模式的快速访存。
GSP算法描述:
1)扫描序列数据库,得到长度为1的序列模式L1,作为初始的种子集。
2)根据长度为i 的种子集Li ,通过连接操作和修剪操作生成长度为i+1的候选序列模式Ci+1;然后扫描序列数据库,计算每个候选序列模式的支持度,产生长度为i+1的序列模式Li+1,并将Li+1作为新的种子集。
3)重复第二步,直到没有新的序列模式或新的候选序列模式产生为止。
产生候选序列模式主要分两步:
连接阶段:如果去掉序列模式s1的第一个项目与去掉序列模式s2的最后一个项目所得到的序列相同,则可以将s1与s2进行连接,即将s2的最后一个项目添加到s1中。
修切阶段:若某候选序列模式的某个子序列不是序列模式,则此候选序列模式不可能是序列模式,将它从候选序列模式中删除。
候选序列模式的支持度计算:对于给定的候选序列模式集合C,扫描序列数据库,对于其中的每一条序列s,找出集合C中被s所包含的所有候选序列模式,并增加其支持度计数。
15:PrefixSpan
又是一个类似Apriori的序列挖掘。
其中经典十大算法为:C4.5,K-Means,SVM,Apriori,EM,PageRank,AdaBoost,KNN,NB和CART。
-The 44th day
作者:
赤眸
时间:
2016-1-16 12:19
图论算法:
图论算法在计算机科学中扮演着很重要的角色,它提供了对很多问题都有效的一种简单而系统的建模方式。很多问题都可以转化为图论问题,然后用图论的基本算法加以解决。遗传算法是解优化问题的有效算法,而并行遗传算法是遗传算法研究中的一个重要方向,受到了研究人员的高度重视。
题目:
一、求出这个图的补图 (1)输入无向图的各边所关联的顶点对,确定每个顶点度,以及图的最大度数和最小度数,求出这个图的补图。
(2)输入有向图的各边所关联的顶点对,确定每个顶点的出度和入度。
二、 编写一个程序,要求于无向图和有向图都能做到:输入图的邻接矩阵和正整数n,求长度为n的链和圈。
三、模拟判断一个程序中是否存在递归的函数,若存在,如何消除递归。
四、输入图的边,确定这是否为连通图。
(1)若不是连通图,则确定连通分图的个数;
(2)若是连通图,判断是否存在割边和割点,若存在各是什么?
五、输入一个多重图各边关联的顶点对。
(1) 判断它是否存在欧拉圈,若存在,则求出一个欧拉圈;
(2)若不存在,则判断是否存在一个欧拉链,若存在则求之。
六、输入一个简单图的边列表。
(1)确定是否存在哈密尔顿圈,若存在求该哈密尔顿圈;
(2)若不存在,判断是否存在哈密尔顿链,若存在则求之。
七、自选一个算法求货郎担问题。
八、给定带权连通简单图的边及权列表,输入图中两个顶点,求两点是否可达?若可达距离为多少?并输出这条最短的链。
提示:
可以使用Dijkstra算法——迪杰斯特拉算法)
九、给定无向图的边列表,对该图进行着色,求着色数。
十、输入一个加权无向简单图的边及权列表,求最小生成树,以及这棵最小生成树的权。
十一、输入一段文章,全部用小写字母,求各字母的哈夫曼编码。
十二、要给n个人分配m个资源,输入每个人可以获得的资源情况,求最大匹配,
要求所有资源在满足尽可能多的人获得的情况下,全部分配出去。
论题
有向无回路图
有向无回路图又称为dag。对这种有向无回路图的拓扑排序的结果为该图所有顶点的一个线性序列,满足如果G包含(u,v),则在序列中u出现在v之前(如果图是有回路的就不可能存在这样的线性序列)。一个图的拓扑排序可以看成是图的所有顶点沿水平线排成的一个序列,使得所有的有向边均从左指向右。因此,拓扑排序不同于通常意义上对于线性表的排序。
有向无回路图经常用于说明事件发生的先后次序,图1给出一个实例说明早晨穿衣的过程。必须先穿某一衣物才能再穿其他衣物(如先穿袜子后穿鞋),也有一些衣物可以按任意次序穿戴(如袜子和短裤)。
图中说明经拓扑排序的结点以与其完成时刻相反的顺序出现。因为深度优先搜索的运行时间为θ(V+E),每一个v中结点插入链表需占用的时间为θ(1),因此进行拓扑排序的运行时间θ(V+E)。
为了证明算法的正确性,我们运用了下面有关有向无回路图的重要引理。
引理1
有向图G无回路当且仅当对G进行深度优先搜索没有得到反向边。
证明:→:假设有一条反向边(u,v),那么在深度优先森林中结点v必为结点u的祖先,因此G中从v到u必存在一通路,这一通路和边(u,v)构成一个回路。
←:假设G中包含一回路C,我们证明对G的深度优先搜索将产生一条反向边。设v是回路C中第一个被发现的结点且边(u,v)是C中的优先边,在时刻d[v]从v到u存在一条由白色结点组成的通路,根据白色路径定理可知在深度优先森林中结点u必是结点v的后裔,因而(u,v)是一条反向边。(证毕)
定理1
Topological_Sort(G)算法可产生有向无回路图G的拓扑排序
证明
假设对一已知有问无回路图G=(V,E)运行过程DFS以确定其结点的完成时刻。那么只要证明对任一对不同结点u,v∈V,若G中存在一条从u到v的有向边,则f[v]<F[U]即可。考虑过程DFS(G)所探寻的任何边(U,V),当探寻到该边时,结点V不可能为灰色,否则V将成为U的祖先,(U,V)将是一条反向边,和引理1矛盾。
因此,v必定是白色或黑色结点。若v是白色,它就成为u的后裔,因此f[v]<F[U]。若V是黑色,同样F[V]<F[U]。这样一来对于图中任意边(U,V),都有F[V]<F[U],从而定理得证。
-The 44th day
作者:
赤眸
时间:
2016-1-17 12:09
遗传算法:
概念
遗传算法是一类借鉴生物界的进化规律(适者生存,优胜劣汰遗传机制)演化而来的随机化搜索方法。它是由美国的J.Holland教授1975年首先提出,其主要特点是直接对结构对象进行操作,不存在求导和函数连续性的限定;具有内在的隐并行性和更好的全局寻优能力;采用概率化的寻优方法,能自动获取和指导优化的搜索空间,自适应地调整搜索方向,不需要确定的规则。遗传算法的这些性质,已被人们广泛地应用于组合优化、机器学习、信号处理、自适应控制和人工生命等领域。它是现代有关智能计算中的关键技术之一。
遗传算法与自然选择:
达尔文的自然选择学说是一种被人们广泛接受的生物进化学说。这种学说认为,生物要生存下去,就必须进行生存斗争。生存斗争包括种内斗争、种间斗争以及生物跟无机环境之间的斗争三个方面。在生存斗争中,具有有利变异的个体容易存活下来,并且有更多的机会将有利变异传给后代;具有不利变异的个体就容易被淘汰,产生后代的机会也少的多。因此,凡是在生存斗争中获胜的个体都是对环境适应性比较强的。达尔文把这种在生存斗争中适者生存,不适者淘汰的过程叫做自然选择。它表明,遗传和变异是决定生物进化的内在因素。自然界中的多种生物之所以能够适应环境而得以生存进化,是和遗传和变异生命现象分不开的。正是生物的这种遗传特性,使生物界的物种能够保持相对的稳定;而生物的变异特性,使生物个体产生新的性状,以致于形成新的物种,推动了生物的进化和发展。
遗传算法是模拟达尔文的遗传选择和自然淘汰的生物进化过程的计算模型。它的思想源于生物遗传学和适者生存的自然规律,是具有“生存+检测”的迭代过程的搜索算法。遗传算法以一种群体中的所有个体为对象,并利用随机化技术指导对一个被编码的参数空间进行高效搜索。其中,选择、交叉和变异构成了遗传算法的遗传操作;参数编码、初始群体的设定、适应度函数的设计、遗传操作设计、控制参数设定五个要素组成了遗传算法的核心内容。 作为一种新的全局优化搜索算法,遗传算法以其简单通用、鲁棒性强、适于并行处理以及高效、实用等显著特点,在各个领域得到了广泛应用,取得了良好效果,并逐渐成为重要的智能算法之一。
遗传算法的基本原理:
长度为L的n个二进制串bi(i=1,2,…,n)组成了遗传算法的初解群,也称为初始群体。在每个串中,每个二进制位就是个体染色体的基因。根据进化术语,对群体执行的操作有三种:
1.选择(Selection)
这是从群体中选择出较适应环境的个体。这些选中的个体用于繁殖下一代。故有时也称这一操作为再生(Reproduction)。由于在选择用于繁殖下一代的个体时,是根据个体对环境的适应度而决定其繁殖量的,故而有时也称为非均匀再生(differential reproduction)。
2.交叉(Crossover)
这是在选中用于繁殖下一代的个体中,对两个不同的个体的相同位置的基因进行交换,从而产生新的个体。
3.变异(Mutation)
这是在选中的个体中,对个体中的某些基因执行异向转化。在串bi中,如果某位基因为1,产生变异时就是把它变成0;反亦反之。
-The 45th day
作者:
赤眸
时间:
2016-1-18 12:58
遗传算法的步骤与意义:
1.初始化
选择一个群体,即选择一个串或个体的集合bi,i=1,2,...n。这个初始的群体也就是问题假设解的集合。一般取n=30-160。通常以随机方法产生串或个体的集合bi,i=1,2,...n。问题的最优解将通过这些初始假设解进化而求出。
2.选择
根据适者生存原则选择下一代的个体。在选择时,以适应度为选择原则。适应度准则体现了适者生存,不适应者淘汰的自然法则。
给出目标函数f,则f(bi)称为个体bi的适应度。以为选中bi为下一代个体的次数。
显然.从式(3—86)可知:
(1)适应度较高的个体,繁殖下一代的数目较多。
(2)适应度较小的个体,繁殖下一代的数目较少;甚至被淘汰。
这样,就产生了对环境适应能力较强的后代。对于问题求解角度来讲,就是选择出和最优解较接近的中间解。
3.交叉
对于选中用于繁殖下一代的个体,随机地选择两个个体的相同位置,按交叉概率P。在选中的位置实行交换。这个过程反映了随机信息交换;目的在于产生新的基因组合,也即产生新的个体。交叉时,可实行单点交叉或多点交叉。
例如有个体
S1=100101
S2=010111
选择它们的左边3位进行交叉操作,则有
S1=010101
S2=100111
一般而言,交叉幌宰P。取值为0.25—0.75。
4.变异
根据生物遗传中基因变异的原理,以变异概率Pm对某些个体的某些位执行变异。在变异时,对执行变异的串的对应位求反,即把1变为0,把0变为1。变异概率Pm与生物变异极小的情况一致,所以,Pm的取值较小,一般取0.01-0.2。
例如有个体S=101011。
对其的第1,4位置的基因进行变异,则有
S'=001111
单靠变异不能在求解中得到好处。但是,它能保证算法过程不会产生无法进化的单一群体。因为在所有的个体一样时,交叉是无法产生新的个体的,这时只能靠变异产生新的个体。也就是说,变异增加了全局优化的特质。
5.全局最优收敛(Convergence to the global optimum)
当最优个体的适应度达到给定的阀值,或者最优个体的适应度和群体适应度不再上升时,则算法的迭代过程收敛、算法结束。否则,用经过选择、交叉、变异所得到的新一代群体取代上一代群体,并返回到第2步即选择操作处继续循环执行。
遗传算法的特点:
1.遗传算法从问题解的中集开始嫂索,而不是从单个解开始。
这是遗传算法与传统优化算法的极大区别。传统优化算法是从单个初始值迭代求最优解的;容易误入局部最优解。遗传算法从串集开始搜索,复盖面大,利于全局择优。
2.遗传算法求解时使用特定问题的信息极少,容易形成通用算法程序。
由于遗传算法使用适应值这一信息进行搜索,并不需要问题导数等与问题直接相关的信息。遗传算法只需适应值和串编码等通用信息,故几乎可处理任何问题。
3.遗传算法有极强的容错能力
遗传算法的初始串集本身就带有大量与最优解甚远的信息;通过选择、交叉、变异操作能迅速排除与最优解相差极大的串;这是一个强烈的滤波过程;并且是一个并行滤波机制。故而,遗传算法有很高的容错能力。
4.遗传算法中的选择、交叉和变异都是随机操作,而不是确定的精确规则。
这说明遗传算法是采用随机方法进行最优解搜索,选择体现了向最优解迫近,交叉体现了最优解的产生,变异体现了全局最优解的复盖。
5.遗传算法具有隐含的并行性
-The 46th day
作者:
赤眸
时间:
2016-1-20 12:30
遗传算法在神经网络中的应用:
遗传算法在神经网络中的应用主要反映在3个方面:网络的学习,网络的结构设计,网络的分析。
1.遗传算法在网络学习中的应用
在神经网络中,遗传算法可用于网络的学习。这时,它在两个方面起作用
(1)学习规则的优化
用遗传算法对神经网络学习规则实现自动优化,从而提高学习速率。
(2)网络权系数的优化
用遗传算法的全局优化及隐含并行性的特点提高权系数优化速度。
2.遗传算法在网络设计中的应用
用遗传算法设计一个优秀的神经网络结构,首先是要解决网络结构的编码问题;然后才能以选择、交叉、变异操作得出最优结构。编码方法主要有下列3种:
(1)直接编码法
这是把神经网络结构直接用二进制串表示,在遗传算法中,“染色体”实质上和神经网络是一种映射关系。通过对“染色体”的优化就实现了对网络的优化。
(2)参数化编码法
参数化编码采用的编码较为抽象,编码包括网络层数、每层神经元数、各层互连方式等信息。一般对进化后的优化“染色体”进行分析,然后产生网络的结构。
(3)繁衍生长法
这种方法不是在“染色体”中直接编码神经网络的结构,而是把一些简单的生长语法规则编码入“染色体”中;然后,由遗传算法对这些生长语法规则不断进行改变,最后生成适合所解的问题的神经网络。这种方法与自然界生物地生长进化相一致。
3.遗传算法在网络分析中的应用
遗传算法可用于分析神经网络。神经网络由于有分布存储等特点,一般难以从其拓扑结构直接理解其功能。遗传算法可对神经网络进行功能分析,性质分析,状态分析。
遗传算法虽然可以在多种领域都有实际应用,并且也展示了它潜力和宽广前景;但是,遗传算法还有大量的问题需要研究,目前也还有各种不足。首先,在变量多,取值范围大或无给定范围时,收敛速度下降;其次,可找到最优解附近,但无法精确确定最扰解位置;最后,遗传算法的参数选择尚未有定量方法。对遗传算法,还需要进一步研究其数学基础理论;还需要在理论上证明它与其它优化技术的优劣及原因;还需研究硬件化的遗传算法;以及遗传算法的通用编程和形式等。
-The 47th day
作者:
赤眸
时间:
2016-1-20 13:33
模拟退火算法:
模拟退火算法来源于固体退火原理,是一种基于概率的算法,将固体加温至充分高,再让其徐徐冷却,加温时,固体内部粒子随温升变为无序状,内能增大,而徐徐冷却时粒子渐趋有序,在每个温度都达到平衡态,最后在常温时达到基态,内能减为最小。
简介:
模拟退火算法(Simulated Annealing,SA)最早的思想是由N. Metropolis 等人于1953年提出。1983 年,S. Kirkpatrick 等成功地将退火思想引入到组合优化领域。它是基于Monte-Carlo迭代求解策略的一种随机寻优算法,其出发点是基于物理中固体物质的退火过程与一般组合优化问题之间的相似性。模拟退火算法从某一较高初温出发,伴随温度参数的不断下降,结合概率突跳特性在解空间中随机寻找目标函数的全局最优解,即在局部最优解能概率性地跳出并最终趋于全局最优。模拟退火算法是一种通用的优化算法,理论上算法具有概率的全局优化性能,目前已在工程中得到了广泛应用,诸如VLSI、生产调度、控制工程、机器学习、神经网络、信号处理等领域。
模拟退火算法是通过赋予搜索过程一种时变且最终趋于零的概率突跳性,从而可有效避免陷入局部极小并最终趋于全局最优的串行结构的优化算法。
-The 48th day
作者:
赤眸
时间:
2016-1-21 23:10
模拟退火算法的原理:
模拟退火算法来源于固体退火原理,将固体加温至充分高,再让其徐徐冷却,加温时,固体内部粒子随温升变为无序状,内能增大,而徐徐冷却时粒子渐趋有序,在每个温度都达到平衡态,最后在常温时达到基态,内能减为最小。根据Metropolis准则,粒子在温度T时趋于平衡的概率为e(-ΔE/(kT)),其中E为温度T时的内能,ΔE为其改变量,k为Boltzmann常数。用固体退火模拟组合优化问题,将内能E模拟为目标函数值f,温度T演化成控制参数t,即得到解组合优化问题的模拟退火算法:由初始解i和控制参数初值t开始,对当前解重复“产生新解→计算目标函数差→接受或舍弃”的迭代,并逐步衰减t值,算法终止时的当前解即为所得近似最优解,这是基于蒙特卡罗迭代求解法的一种启发式随机搜索过程。退火过程由冷却进度表(Cooling Schedule)控制,包括控制参数的初值t及其衰减因子Δt、每个t值时的迭代次数L和停止条件S。
模拟退火算法的模型
1模拟退火算法可以分解为解空间、目标函数和初始解三部分。
2模拟退火的基本思想:
(1) 初始化:初始温度T(充分大),初始解状态S(是算法迭代的起点),每个T值的迭代次数L
(2) 对k=1,……,L做第(3)至第6步:
(3) 产生新解S′
(4) 计算增量Δt′=C(S′)-C(S),其中C(S)为评价函数
(5) 若Δt′<0则接受S′作为新的当前解,否则以概率exp(-Δt′/T)接受S′作为新的当前解.
(6) 如果满足终止条件则输出当前解作为最优解,结束程序。
终止条件通常取为连续若干个新解都没有被接受时终止算法。
(7) T逐渐减少,且T->0,然后转第2步。
模拟退火算法的步骤
模拟退火算法新解的产生和接受可分为如下四个步骤:
第一步是由一个产生函数从当前解产生一个位于解空间的新解;为便于后续的计算和接受,减少算法耗时,通常选择由当前新解经过简单地变换即可产生新解的方法,如对构成新解的全部或部分元素进行置换、互换等,注意到产生新解的变换方法决定了当前新解的邻域结构,因而对冷却进度表的选取有一定的影响。
第二步是计算与新解所对应的目标函数差。因为目标函数差仅由变换部分产生,所以目标函数差的计算最好按增量计算。事实表明,对大多数应用而言,这是计算目标函数差的最快方法。
第三步是判断新解是否被接受,判断的依据是一个接受准则,最常用的接受准则是Metropolis准则: 若Δt′<0则接受S′作为新的当前解S,否则以概率exp(-Δt′/T)接受S′作为新的当前解S。
第四步是当新解被确定接受时,用新解代替当前解,这只需将当前解中对应于产生新解时的变换部分予以实现,同时修正目标函数值即可。此时,当前解实现了一次迭代。可在此基础上开始下一轮试验。而当新解被判定为舍弃时,则在原当前解的基础上继续下一轮试验。
模拟退火算法与初始值无关,算法求得的解与初始解状态S(是算法迭代的起点)无关;模拟退火算法具有渐近收敛性,已在理论上被证明是一种以概率l 收敛于全局最优解的全局优化算法;模拟退火算法具有并行性。
-The 49th day
作者:
赤眸
时间:
2016-1-22 15:00
神经网络算法:
逻辑性的思维是指根据逻辑规则进行推理的过程;它先将信息化成概念,并用符号表示,然后,根据符号运算按串行模式进行逻辑推理;这一过程可以写成串行的指令,让计算机执行。然而,直观性的思维是将分布式存储的信息综合起来,结果是忽然间产生想法或解决问题的办法。这种思维方式的根本之点在于以下两点:1.信息是通过神经元上的兴奋模式分布储在网络上;2.信息处理是通过神经元之间同时相互作用的动态过程来完成的。
神经网络:
思维学普遍认为,人类大脑的思维分为抽象(逻辑)思维、形象(直观)思维和灵感(顿悟)思维三种基本方式。
人工神经网络就是模拟人思维的第二种方式。这是一个非线性动力学系统,其特色在于信息的分布式存储和并行协同处理。虽然单个神经元的结构极其简单,功能有限,但大量神经元构成的网络系统所能实现的行为却是极其丰富多彩的。
神经网络的研究内容相当广泛,反映了多学科交叉技术领域的特点。主要的研究工作集中在以下几个方面:
(1)生物原型研究。从生理学、心理学、解剖学、脑科学、病理学等生物科学方面研究神经细胞、神经网络、神经系统的生物原型结构及其功能机理。
(2)建立理论模型。根据生物原型的研究,建立神经元、神经网络的理论模型。其中包括概念模型、知识模型、物理化学模型、数学模型等。
(3)网络模型与算法研究。在理论模型研究的基础上构作具体的神经网络模型,以实现计算机模拟或准备制作硬件,包括网络学习算法的研究。这方面的工作也称为技术模型研究。
(4)人工神经网络应用系统。在网络模型与算法研究的基础上,利用人工神经网络组成实际的应用系统,例如,完成某种信号处理或模式识别的功能、构造专家系统、制成机器人等等。
纵观当代新兴科学技术的发展历史,人类在征服宇宙空间、基本粒子,生命起源等科学技术领域的进程中历经了崎岖不平的道路。我们也会看到,探索人脑功能和神经网络的研究将伴随着重重困难的克服而日新月异。
-The 50th day
作者:
赤眸
时间:
2016-1-23 22:57
分治算法:
分治算法的基本思想是将一个规模为N的问题分解为K个规模较小的子问题,这些子问题相互独立且与原问题性质相同。求出子问题的解,就可得到原问题的解。即一种分目标完成程序算法,简单问题可用二分法完成。
基本思想:
当我们求解某些问题时,由于这些问题要处理的数据相当多,或求解过程相当复杂,使得直接求解法在时间上相当长,或者根本无法直接求出。对于这类问题,我们往往先把它分解成几个子问题,找到求出这几个子问题的解法后,再找到合适的方法,把它们组合成求整个问题的解法。如果这些子问题还较大,难以解决,可以再把它们分成几个更小的子问题,以此类推,直至可以直接求出解为止。这就是分治策略的基本思想。
二分法:
利用分治策略求解时,所需时间取决于分解后子问题的个数、子问题的规模大小等因素,而二分法,由于其划分的简单和均匀的特点,是经常采用的一种有效的方法,例如二分法检索。
解题步骤:
(1)分解,将要解决的问题划分成若干规模较小的同类问题;
(2)求解,当子问题划分得足够小时,用较简单的方法解决;
(3)合并,按原问题的要求,将子问题的解逐层合并构成原问题的解。
-The 51th day
作者:
赤眸
时间:
2016-1-24 22:29
分治算法应用实例:
找出伪币
给你一个装有1 6个硬币的袋子。1 6个硬币中有一个是伪造的,并且那个伪造的硬币比真的硬币要轻一些。你的任务是找出这个伪造的硬币。为了帮助你完成这一任务,将提供一台可用来比较两组硬币重量的仪器,利用这台仪器,可以知道两组硬币的重量是否相同。比较硬币1与硬币2的重量。假如硬币1比硬币2轻,则硬币1是伪造的;假如硬币2比硬币1轻,则硬币2是伪造的。这样就完成了任务。假如两硬币重量相等,则比较硬币3和硬币4。同样,假如有一个硬币轻一些,则寻找伪币的任务完成。假如两硬币重量相等,则继续比较硬币5和硬币6。按照这种方式,可以最多通过8次比较来判断伪币的存在并找出这一伪币。
另外一种方法就是利用分而治之方法。假如把1 6硬币的例子看成一个大的问题。第一步,把这一问题分成两个小问题。随机选择8个硬币作为第一组称为A组,剩下的8个硬币作为第二组称为B组。这样,就把1 6个硬币的问题分成两个8硬币的问题来解决。第二步,判断A和B组中是否有伪币。可以利用仪器来比较A组硬币和B组硬币的重量。假如两组硬币重量相等,则可以判断伪币不存在。假如两组硬币重量不相等,则存在伪币,并且可以判断它位于较轻的那一组硬币中。最后,在第三步中,用第二步的结果得出原先1 6个硬币问题的答案。若仅仅判断硬币是否存在,则第三步非常简单。无论A组还是B组中有伪币,都可以推断这1 6个硬币中存在伪币。因此,仅仅通过一次重量的比较,就可以判断伪币是否存在。
假设需要识别出这一伪币。把两个或三个硬币的情况作为不可再分的小问题。注意如果只有一个硬币,那么不能判断出它是否就是伪币。在一个小问题中,通过将一个硬币分别与其他两个硬币比较,最多比较两次就可以找到伪币。这样,1 6硬币的问题就被分为两个8硬币(A组和B组)的问题。通过比较这两组硬币的重量,可以判断伪币是否存在。如果没有伪币,则算法终止。否则,继续划分这两组硬币来寻找伪币。假设B是轻的那一组,因此再把它分成两组,每组有4个硬币。称其中一组为B1,另一组为B2。比较这两组,肯定有一组轻一些。如果B1轻,则伪币在B1中,再将B1又分成两组,每组有两个硬币,称其中一组为B1a,另一组为B1b。比较这两组,可以得到一个较轻的组。由于这个组只有两个硬币,因此不必再细分。比较组中两个硬币的重量,可以立即知道哪一个硬币轻一些。较轻的硬币就是所要找的伪币。
求最值
在n个元素中找出最大元素和最小元素。我们可以把这n个元素放在一个数组中,用直接比较法求出。算法如下:
void maxmin1(int A[],int n,int *max,int *min)
{ int i;
*min=*max=A[0];
for(i=0;i <= n;i++)
{ if(A[i]> *max) *max= A[i];
if(A[i] < *min) *min= A[i];
}
}
上面这个算法需比较2(n-1)次。能否找到更好的算法呢?我们用分治策略来讨论。
把n个元素分成两组:
A1={A[1],...,A[int(n/2)]}和A2={A[INT(N/2)+1],...,A[N]}
分别求这两组的最大值和最小值,然后分别将这两组的最大值和最小值相比较,求出全部元素的最大值和最小值。如果A1和A2中的元素多于两个,则再用上述方法各分为两个子集。直至子集中元素至多两个元素为止。
例如有下面一组元素:-13,13,9,-5,7,23,0,15。用分治策略比较的算法如下:
void maxmin2(int A[],int i,int j,int *max,int *min)
/*A存放输入的数据,i,j存放数据的范围,初值为0,n-1,*max,*min 存放最大和最小值*/
{ int mid,max1,max2,min1,min2;
if (j==i) {最大和最小值为同一个数;return;}
if (j-1==i) {将两个数直接比较,求得最大会最小值;return;}
mid=(i+j)/2;
求i~mid之间的最大最小值分别为max1,min1;
求mid+1~j之间的最大最小值分别为max2,min2;
比较max1和max2,大的就是最大值;
比较min1和min2,小的就是最小值;
}
分治算法应用场景
运用分治策略解决的问题一般来说具有以下特点:
1、原问题可以分解为多个子问题
这些子问题与原问题相比,只是问题的规模有所降低,其结构和求解方法与原问题相同或相似。
2、原问题在分解过程中,递归地求解子问题
由于递归都必须有一个终止条件,因此,当分解后的子问题规模足够小时,应能够直接求解。
3、在求解并得到各个子问题的解后
应能够采用某种方式、方法合并或构造出原问题的解。
不难发现,在分治策略中,由于子问题与原问题在结构和解法上的相似性,用分治方法解决的问题,大都采用了递归的形式。在各种排序方法中,如归 并排序、堆排序、快速排序等,都存在有分治的思想。
-The 52th day
作者:
赤眸
时间:
2016-1-25 21:08
分支定界法:
分支定界法(branch and bound)是一种求解整数规划问题的最常用算法。这种方法不但可以求解纯整数规划,还可以求解混合整数规划问题。
基本思路:
分支定界法是一种搜索与迭代的方法,选择不同的分支变量和子问题进行分支。
对于两个变量的整数规划问题,使用网格的方法有时更为简单。
算法步骤:
(1)求整数规划的松弛问题最优解。
(2)若松弛问题的最优解满足整数要求,得到整数规划的最优解,否则转下一步。
(3)任意选一个非整数解的变量 ,在松弛问题中加上约束 及 +1组成两个新的松弛问题,称为分支。新的松弛问题具有如下特征:当原问题是求最大值时,目标值是分支问题的上界;当原问题足求最小值时,目标值是分支问题的下界。
(4)检查所有分支的解及目标函数值,若某分支的解是整数并且目标函数值大于(max)等于其他分支的目标值,则将其他分支剪去不再计算,若还存在非整数解并且目标值大于( max)整数解的目标值,需要继续分支,再检查,直到得到最优解。
-The 53th day
作者:
赤眸
时间:
2016-1-26 22:22
主成分分析法:
介绍
主成分分析(principal components analysis,PCA)又称:主分量分析,主成分回归分析法。旨在利用降维的思想,把多指标转化为少数几个综合指标。它是一个线性变换。这个变换把数据变换到一个新的坐标系统中,使得任何数据投影的第一大方差在第一个坐标(称为第一主成分)上,第二大方差在第二个坐标(第二主成分)上,依次类推。主成分分析经常用减少数据集的维数,同时保持数据集的对方差贡献最大的特征。这是通过保留低阶主成分,忽略高阶主成分做到的。这样低阶成分往往能够保留住数据的最重要方面。但是,这也不是一定的,要视具体应用而定。
基本思想:
在实证问题研究中,为了全面、系统地分析问题,我们必须考虑众多影响因素。这些涉及的因素一般称为指标,在多元统计分析中也称为变量。因为每个变量都在不同程度上反映了所研究问题的某些信息,并且指标之间彼此有一定的相关性,因而所得的统计数据反映的信息在一定程度上有重叠。在用统计方法研究多变量问题时,变量太 多会增加计算量和增加分析问题的复杂性,人们希望在进行定量分析的过程中,涉及的变量较少,得到的信息量较多。主成分分析正是适应这一要求产生的,是解决这类题的理想工具。
同样,在科普效果评估的过程中也存在着这样的问题。科普效果是很难具体量化的。在实际评估工作中,我们常常会选用几个有代表性的综合指标,采用打分的方法来进行评估,故综合指标的选取是个重点和难点。如上所述,主成分分析法正是解决这一问题的理想工具。因为评估所涉及的众多变量之间既然有一定的相关性,就必然存在着起支配作用的因素。根据这一点,通过对原始变量相关矩阵内部结构 的关系研究,找出影响科普效果某一要素的几个综合指标,使综合指标为原来变量的线 性拟合。这样,综合指标不仅保留了原始变量的主要信息,且彼此间不相关,又比原始 变量具有某些更优越的性质,就使我们在研究复杂的科普效果评估问题时,容易抓住主 要矛盾。 上述想法可进一步概述为:设某科普效果评估要素涉及个指标,这指标构 成的维随机向量为。对作正交变换,令,其中为正交阵,的各分量是不相关的,使得的各分量在某个评估要素中的作用容易解释,这就使得我们有可能从主分量中选择主要成分,削除对这一要素影响微弱的部分,通过 对主分量的重点分析,达到对原始变量进行分析的目的。的各分量是原始变量线性组合,不同的分量表示原始变量之间不同的影响关系。由于这些基本关系很可能与特定的作用过程相联系,主成分分析使我们能从错综复杂的科普评估要素的众多指标中,找出一些主要成分,以便有效地利用大量统计数据,进行科普效果评估分析,使我们在研究科普效果评估问题中,可能得到深层次的一些启发,把科普效果评估研究引向深入。
例如,在对科普产品开发和利用这一要素的评估中,涉及科普创作人数百万人、科 普作品发行量百万人、科普产业化(科普示范基地数百万人)等多项指标。经过主成分分析计算,最后确定个或个主成分作为综合评价科普产品利用和开发的综合指标,变量数减少,并达到一定的可信度,就容易进行科普效果的评估。
基本原理:
主成分分析法是一种降维的统计方法,它借助于一个正交变换,将其分量相关的原随机向量转化成其分量不相关的新随机向量,这在代数上表现为将原随机向量的协方差阵变换成对角形阵,在几何上表现为将原坐标系变换成新的正交坐标系,使之指向样本点散布最开的p 个正交方向,然后对多维变量系统进行降维处理,使之能以一个较高的精度转换成低维变量系统,再通过构造适当的价值函数,进一步把低维系统转化成一维系统。
-The 54th day
作者:
赤眸
时间:
2016-1-27 22:25
主成分分析法的作用:
概括起来说,主成分分析主要由以下几个方面的作用。
1.主成分分析能降低所研究的数据空间的维数。即用研究m维的Y空间代替p维的X空间(m<p),而低维的Y空间代替 高维的x空间所损失的信息很少。即:使只有一个主成分Yl(即 m=1)时,这个Yl仍是使用全部X变量(p个)得到的。例如要计算Yl的均值也得使用全部x的均值。在所选的前m个主成分中,如果某个Xi的系数全部近似于零的话,就可以把这个Xi删除,这也是一种删除多余变量的方法。
2.有时可通过因子负荷aij的结论,弄清X变量间的某些关系。
3.多维数据的一种图形表示方法。我们知道当维数大于3时便不能画出几何图形,多元统计研究的问题大都多于3个变量。要把研究的问题用图形表示出来是不可能的。然而,经过主成分分析后,我们可以选取前两个主成分或其中某两个主成分,根据主成分的得分,画出n个样品在二维平面上的分布况,由图形可直观地看出各样品在主分量中的地位,进而还可以对样本进行分类处理,可以由图形发现远离大多数样本点的离群点。
4.由主成分分析法构造回归模型。即把各主成分作为新自变量代替原来自变量x做回归分析。
5.用主成分分析筛选回归变量。回归变量的选择有着重的实际意义,为了使模型本身易于做结构分析、控制和预报,好从原始变量所构成的子集合中选择最佳变量,构成最佳变量集合。用主成分分析筛选变量,可以用较少的计算量来选择量,获得选择最佳变量子集合的效果。
计算步骤:
1、数据标准化;
2、求相关系数矩阵;
3、一系列正交变换,使非对角线上的数置0,加到主对角上;
得特征根xi(即相应那个主成分引起变异的方差),并按照从大到小的顺序把特征根排列;
4、求各个特征根对应的特征向量;
用下式计算每个特征根的贡献率Vi;
VI=xi/(x1+x2+........)
5、根据特征根及其特征向量解释主成分物理意义
-The 55th day
作者:
赤眸
时间:
2016-1-28 17:52
因子分析法:
介绍:
主成分分析通过线性组合将原变量综合成几个主成分,用较少的综合指标来代替原来较多的指标(变量)。在多变量分析中,某些变量间往往存在相关性。是什么原因使变量间有关联呢?是否存在不能直接观测到的、但影响可观测变量变化的公共因子?因子分析法(Factor Analysis)就是寻找这些公共因子的模型分析方法,它是在主成分的基础上构筑若干意义较为明确的公因子,以它们为框架分解原变量,以此考察原变量间的联系与区别。
例:随着年龄的增长,儿童的身高、体重会随着变化,具有一定的相关性,身高和体重之间为何会有相关性呢?因为存在着一个同时支配或影响着身高与体重的生长因子。那么,我们能否通过对多个变量的相关系数矩阵的研究,找出同时影响或支配所有变量的共性因子呢?因子分析就是从大量的数据中“由表及里”、“去粗取精”,寻找影响或支配变量的多变量统计方法。
因此,可以说因子分析是主成分分析的推广,也是一种把多个变量化为少数几个综合变量的多变量分析方法,其目的是用有限个不可观测的隐变量来解释原始变量之间的相关关系。
因子分析主要用于:1、减少分析变量个数;2、通过对变量间相关关系探测,将
原始变量进行分类。即将相关性高的变量分为一组,用共性因子代替该组变量。
基本模型:
因子分析法是从研究变量内部相关的依赖关系出发,把一些具有错综复杂关系的变量归结为少数几个综合因子的一种多变量统计分析方法。它的基本思想是将观测变量进行分类,将相关性较高,即联系比较紧密的分在同一类中,而不同类变量之间的相关性则较低,那么每一类变量实际上就代表了一个基本结构,即公共因子。对于所研究的问题就是试图用最少个数的不可测的所谓公共因子的线性函数与特殊因子之和来描述原来观测的每一分量。
因子分析模型描述如下:
1、X=(x1,x2,…,xp)是可观测随机向量,均值向量E(X)=0,协方差阵Cov(X)=∑,且协方差阵∑与相关矩阵R相等(只要将变量标准化即可实现)。
2、F=(F1,F2,…,Fm)(m<p)是不可测的向量,其均值向量E(F)=0,协方差矩阵Cov(F)=I,即向量的各分量是相互独立的。
3、e=(e1,e2,…,ep)与F相互独立,且E(e)=0,e的协方差阵∑是对角阵,即各分量e之间是相互独立的,则模型:
x1=a11F1+a12F2+…+a1mFm+e1
x2=a21F1+a22F2+…+a2mFm+e2
xp=ap1F1+ap2F2+…+apmFm+ep
称为因子分析模型,由于该模型是针对变量进行的,各因子又是正交的,所以也称为R型正交因子模型。其矩阵形式为:
x=AF+e
其中:
x=,A=,F=,e=
这里
(1)m£p;
(2)Cov(F,e)=0,即F和e是不相关的;
(3)D(F)=Im,即F1,F2,…,Fm不相关且方差均为1;
(4)D(e)=,即e1,e2,…,ep不相关,且方差不同。
我们把F称为X的公共因子或潜因子,矩阵A称为因子载荷矩阵,e称为X的特殊因子。
A=(aij),aij为因子载荷。数学上可以证明,因子载荷aij就是第i变量与第j因子的相关系数,反映了第i变量在第j因子上的重要性。
-The 56th day
作者:
赤眸
时间:
2016-1-29 17:25
因子模型的意义:
模型中F1,F2,…,Fm叫做主因子或公共因子,它们是在各个原观测变量的表达式中都共同出现的因子,是相互独立的不可观测的理论变量。公共因子的含义,必须结合具体问题的实际意义而定。e1,e2,…,ep叫做特殊因子,是向量x的分量xi(i=1,2,…,p)所特有的因子,各特殊因子之间以及特殊因子与所有公共因子之间都是相互独立的。模型中载荷矩阵A中的元素(aij)是为因子载荷。因子载荷aij是xi与Fj的协方差,也是xi与Fj的相关系数,它表示xi依赖Fj的程度。可将aij看作第i个变量在第j公共因子上的权,aij的绝对值越大(|aij|£1),表明xi与Fj的相依程度越大,或称公共因子Fj对于xi的载荷量越大。为了得到因子分析结果的经济解释,因子载荷矩阵A中有两个统计量十分重要,即变量共同度和公共因子的方差贡献。
因子载荷矩阵A中第i行元素之平方和记为hi2,称为变量xi的共同度。它是全部公共因子对xi的方差所做出的贡献,反映了全部公共因子对变量xi的影响。hi2大表明x的第i个分量xi对于F的每一分量F1,F2,…,Fm的共同依赖程度大。
将因子载荷矩阵A的第j列( j =1,2,…,m)的各元素的平方和记为gj2,称为公共因子Fj对x的方差贡献。gj2就表示第j个公共因子Fj对于x的每一分量xi(i= 1,2,…,p)所提供方差的总和,它是衡量公共因子相对重要性的指标。gj2越大,表明公共因子Fj对x的贡献越大,或者说对x的影响和作用就越大。如果将因子载荷矩阵A的所有gj2(j=1,2,…,m)都计算出来,使其按照大小排序,就可以依此提炼出最有影响力的公共因子。
因子旋转:
建立因子分析模型的目的不仅是找出主因子,更重要的是知道每个主因子的意义,以便对实际问题进行分析。如果求出主因子解后,各个主因子的典型代表变量不很突出,还需要进行因子旋转,通过适当的旋转得到比较满意的主因子。
旋转的方法有很多,正交旋转(orthogonal rotation)和斜交旋转(oblique rotation)是因子旋转的两类方法。最常用的方法是最大方差正交旋转法(Varimax)。进行因子旋转,就是要使因子载荷矩阵中因子载荷的平方值向0和1两个方向分化,使大的载荷更大,小的载荷更小。因子旋转过程中,如果因子对应轴相互正交,则称为正交旋转;如果因子对应轴相互间不是正交的,则称为斜交旋转。常用的斜交旋转方法有Promax法等。
因子得分:
因子分析模型建立后,还有一个重要的作用是应用因子分析模型去评价每个样品在整个模型中的地位,即进行综合评价。例如地区经济发展的因子分析模型建立后,我们希望知道每个地区经济发展的情况,把区域经济划分归类,哪些地区发展较快,哪些中等发达,哪些较慢等。这时需要将公共因子用变量的线性组合来表示,也即由地区经济的各项指标值来估计它的因子得分。
设公共因子F由变量x表示的线性组合为:
Fj=uj1xj1+uj2xj2+…+ujpxjpj=1,2,…,m
该式称为因子得分函数,由它来计算每个样品的公共因子得分。若取m=2,则将每个样品的p个变量代入上式即可算出每个样品的因子得分F1和F2,并将其在平面上做因子得分散点图,进而对样品进行分类或对原始数据进行更深入的研究。
但因子得分函数中方程的个数m小于变量的个数p,所以并不能精确计算出因子得分,只能对因子得分进行估计。估计因子得分的方法较多,常用的有回归估计法,Bartlett估计法,Thomson估计法。
具体方法为:
(1)回归估计法
F=Xb=X(X¢X)-1A¢=XR-1A¢(这里R为相关阵,且R=X¢X)。
(2)Bartlett估计法
Bartlett估计因子得分可由最小二乘法或极大似然法导出。
F=(W-1/2A)¢W-1/2A]-1(W-1/2A)¢W-1/2X=(A¢W-1A)-1A¢W-1X
(3)Thomson估计法
在回归估计法中,实际上是忽略特殊因子的作用,取R = X ¢X,若考虑特殊因子的作用,此时R = X ¢X+W,于是有:
F=XR-1A¢=X(X¢X+W)-1A¢
这就是Thomson估计的因子得分,使用矩阵求逆算法(参考线性代数文献)可以将其转换为:
F=XR-1A¢=X(I+A¢W-1A)-1W-1A¢
-The 57th day
作者:
赤眸
时间:
2016-1-30 23:06
灰色关联分析法:
灰色关联度是两个系统或两个因素间关联性大小的量度,它描述系统发展过程中因素间相对变化的情况,也就是变化大小、方向与速度等的相对性。
如果两因素在发展过程中相对变化态势一致性高,则两者的灰色关联度大;反之,灰色关联度就小。
所谓灰色关联分析,就是系统的因素分析,是对一个系统发展变化态势的定量比较和反映。灰色关联分析是通过灰色关联度来分析和确定系统因素间的影响程度或因素对系统主行为的贡献测度的一种方法。
灰色关联分析的基本思想是根据序列曲线几何形状的相似程度来判断其联系是否紧密。曲线越接近,相应序列之间的关联度就越大,反之就越小。灰色关联分析方法弥补了用数理统计作系统分析所导致的缺憾。它对样本量的多少和样本有无规律都同样适用,而且计算量小,十分方便,更不会出现量化结果与定性分析结果不符的情况
具体步骤:灰色系统关联分析的具体计算步骤如下 :
(1)确定反映系统行为特征的参考数列和影响系统行为的比较数列
反映系统行为特征的数据序列,称为参考数列。影响系统行为的因素组成的数据序列,称比较数列。
(2)对参考数列和比较数列进行无量纲化处理
由于系统中各因素的物理意义不同,导致数据的量纲也不一定相同,不便于比较,或在比较时难以得到正确的结论。因此在进行灰色关联度分析时,一般都要进行无量纲化的数据处理。
(3)求参考数列与比较数列的灰色关联系数ξ(Xi)
所谓关联程度,实质上是曲线间几何形状的差别程度。因此曲线间差值大小,可作为关联程度的衡量尺度。
(4)求关联度ri
因为关联系数是比较数列与参考数列在各个时刻(即曲线中的各点)的关联程度值,所以它的数不止一个,而信息过于分散不便于进行整体性比较。因此有必要将各个时刻(即曲线中的各点)的关联系数集中为一个值,即求其平均值,作为比较数列与参考数列间关联程度的数量表示。
(5)排关联序
因素间的关联程度,主要是用关联度的大小次序描述,而不仅是关联度的大小。将m个子序列对同一母序列的关联度按大小顺序排列起来,便组成了关联序,记为{x},它反映了对于母序列来说各子序列的“优劣”关系。若r0i>r0j,则称{xi}对于同一母序列{x0}优于{xj},记为{xi}>{xj} ;若r0i表1 代表旗县参考数列、比较数列特征值。
-The 58th day
作者:
赤眸
时间:
2016-1-31 22:43
动态BP神经网络预测算法:
在经典的BP算法以及其他的训练算法中都有很多变量,这些训练算法可以确定一个ANN结构,它们只训练固定结构的ANN权值(包括联接权值和结点转换函数)。在自动设计ANN结构方面,也已有较多的尝试,比如构造性算法和剪枝算法。前一种是先随机化网络,然后在训练过程中有必要地增加新的层和结点;而剪枝法则正好相反。文献[2]中提出了演化神经网络的理念,并把EP算法与BP进行了组合演化;也有很多学者把遗传算法和BP进行结合,但这些算法都以时间复杂度以及空间复杂度的增加为代价。根据Kolmogorov定理,对于任意给定的L2型连续函数f: [ 0, 1 ]n →Rm , f可以精确地用一个三层前向神经网络来实现,因而可以只考虑演化网络的权值和结点数而不影响演化结果。基于此,在BP原有算法的基础上,增加结点数演化因子,然后记录每层因子各异时演化出的结构,最后选取最优的因子及其网络结构,这样就可以避免由于增加或剪枝得到的局部最优。根据实验得知,不同的预测精度也影响网络层神经元的结点数,所以可根据要求动态地建立预测系统。具体步骤如下:
(1)将输入向量和目标向量进行归一化处理。
(2)读取输入向量、目标向量,记录输入维数m、输出层结点数n。
(3)当训练集确定之后,输入层结点数和输出层结点数随之而确定,首先遇到的一个十分重要而又困难的问题是如何优化隐层结点数和隐层数。实验表明,如果隐层结点数过少,网络不能具有必要的学习能力和信息处理能力。反之,若过多,不仅会大大增加网络结构的复杂性(这一点对硬件实现的网络尤其重要),网络在学习过程中更易陷入局部极小点,而且会使网络的学习速度变得很慢。隐层结点数的选择问题一直受到神经网络研究工作者的高度重视。Gorman指出隐层结点数s与模式数N的关系是:s=log2N;Kolmogorov定理表明,隐层结点数s=2n+1(n为输入层结点数);而根据文献[7]:s=sqrt(0.43mn+0.12nn+2.54m+0.77n+0.35)+0.51[7]。
(4)设置结点数演化因子a。为了快速建立网络,可以对其向量初始化,
并从小到大排序[4,7]。
(5)建立BP神经网络。隐含层传递函数用tansig,输出层用logsig,训练函数采用动态自适应BP算法,并制订停止准则:目标误差精度以及训练代数。
(6)初始化网络。
(7)训练网络直到满足停止判断准则。
(8)用测试向量对网络进行预测,并记录误差和逼近曲线,评估其网络的适应性。其适应度函数采取规则化均方误差函数。
(9)转到(5),选取下一个演化因子,动态增加隐含层结点数,直到最后得到最佳预测网络。
-The 59th day
作者:
赤眸
时间:
2016-2-1 11:31
灰色预测法:
灰色预测
注:参考人口预测论文<纪江版>(灰色预测+时间序列的一次平滑指数预测法)
1、灰色预测一般有四种类型:
(1)、数列预测。对某现象随时间的顺延而发生的变化所做的预测定义为数列预测。例如对消费物价指数的预测,需要确定两个变量,一个是消费物价指数的水平。另一个是这一水平所发生的时间。
(2)、灾变预测。对发生灾害或异常突变时间可能发生的时间预测称为灾变预测。例如对地震时间的预测。
(3)、系统预测。对系统中众多变量间相互协调关系的发展变化所进行的预测称为系统预测。例如市场中替代商品、相互关联商品销售量互相制约的预测。
(4)、拓扑预测。将原始数据作曲线,在曲线上按定值寻找该定值发生的所有时点,并以该定值为框架构成时点数列,然后建立模型预测未来该定值所发生的时点。
2、使用方法前一定要在段前作一个引子,连接问题分析和数据特点,以下便是:
通过对已知数据的分析,随着时间的变化,排污量一直呈增长趋势,并且增长的很快。在这里利用灰色预测模型对( )进行预测。
通过对数据的分析,传统的数理统计预测方法往往需要足够多的数据,而本问题的数据给出的数据偏小,如果采用传统的方法误差太大。根据上述的特点可采用灰色预测模型。
3、灰色预测具体步骤:
(1)、首先是数据的检验处理,要求级比
A、如果不全属于 ,则要做必要的变换处理(如取适当的常数C,作平移变换),使其落入区域中。
B、若A不成立,则建立GM(1,1)模型
(2)、建立GM(1,1)模型
步骤一:一次累加生成数列AGO,(目的是弱化原始时间序列的随机性,增加其稳定程度)
步骤二:求均值数列
步骤三:建立GM(1,1)模型相应的白化微分方程
其中:α称为发展灰数;μ称为内生控制灰数。
步骤四:求的参数估计a、b(最小二乘法)
步骤五: 给出累加时间数列预测模型
,
步骤六:做差得到原始预测值
4、检验预测值
A、残差检验
(若 <0.2,则达到一般要求;若 <0.1,则效果好
B\级比偏差值检验
步骤一;首先有参考数据
计算出级比 ,再由发展系数a,求出相应级比偏差
若 <0.2,则达到一般要求;若 <0.1,则效果好
程序实现:
采用EXCEl的方法实现灰色预测。
-The 60th day
作者:
赤眸
时间:
2016-2-1 11:46
每日一建模。坚持60天。转眼间两个月过去了,回想起过去两个月的每一天,我都会登录数学中国网站,发表一篇帖子。逐渐就形成了一种习惯,成为了我生活中的一部分。这次活动也让我收获很多数学建模的知识,很开心,很高兴能参加此类活动,祝数学中国越办越好! -赤眸
-The END
欢迎光临 数学建模社区-数学中国 (http://www.madio.net/)
Powered by Discuz! X2.5