经济学的核心概念是合同(contract),多个利益主体(具有不同的价值目标)在交互中达成一致协议。这本质上是个多目标优化的问题。这与物理学的精
神是有着本质区别的。物理学传统上认为世界是完美的,存在着唯一的真理。根据Lagrange原理,最低能量原理等,物理世界总是在众多可比的备选结构中
选择那唯一最优的结果。在经济学中不存在唯一的价值取向,并不是所有的事物之间都是能够进行比较并排出座次的。比如,我们大多数人会认为10个老婆饼比一
个老婆饼好,10个葱油饼比一个葱油饼好,10个老婆饼加10个葱油饼比一个老婆饼加一个葱油饼好,但是10个老婆饼和10个葱油饼之间如何比较,却是没
有确定的结果的。数学上,我们说可以建立偏序(partial
order)但无法建立全序。因为多个利益主体对同一事物的评价是不可比的(不同的),因而可以产生交换.交换是一个互惠互利的过程.
A交出了部分老婆饼换来了葱油饼,因为A觉得自己的老婆饼很多,还是葱油饼更有吸引力一些,而同样B认为自己的葱油饼很多,他宁肯再要一些老婆饼.
通过一番讨价还价的交互过程,我们可以达到所谓的Pareto有效(optimal):
在最终的优化配置中,没有人能够在不使别人受损的情况下使自己得益. 即继续交换下去,A或B中的一个就会觉得不值得了.
注意到经济学的这种双赢性质与军事学和权谋术也是不同的,权谋讲求争锋相对, 损人即利己, 进攻是最好的防守等等.
多目标优化,意味着我们在一族矢量中寻找最优的一个,尽管在每个维度上我们都能很容易的作出比较和判断,但综合起来却需要反复的权衡。在凸分析
(Convex Analysis)中标量化(Scalarization)是寻找Pareto有效点的常用方法. 即定义一个价格矢量,
优化时考虑总体价格. 价格的存在意味着市场的存在,
意味着我们在考虑优化问题的时候,可以只考虑自身与市场的交互,而不用考虑众多其它利益主体的存在(类似于物理中的场方程).
理论上可以证明,在均衡价格处可以实现Pareto最优。
说了这么多经济学,它和软件有什么关系呢。稍微留意一下就会发现,现在软件中越来越强调合同和涉众(stakeholder)利益了(参考use
case)。早期,面向过程编程时,系统的目标比较单一:满足当前系统功能需求。基本上系统中的每一个函数在编写的时候都服从于一个目标,即当前系统的运
行。在编制的时候多半都想着向着最终的目标迈进,系统的各个部分之间是精确(detailed)匹配的。(想想VB的代码吧)。采用面向对象的思想方法之
后,系统中出现了多个利益的实体,它们定义并保护着自身的利益。系统的目标不再是完成功能,而是实现用户价值,稳定运行,便于维护等多重价值目标。在面向
对象以后,我们经常会发现,最终我们实现的功能点会多于面向过程开发的时候。很多对象函数在当前系统中最终并没有调用,但考虑到重用性和完备性等,我们还
是编写了相应的代码。很多商用组件对象的功能集更是大得惊人,我们永远只是用到其中的一小部分。系统的架构便是由对象之间相互协作并相互竞争支撑起来的.
在面向对象设计中, 我们说对象对外暴露的接口是与外部世界达成的contract, 而接口函数则反映了一次交互过程.有时我们采用如下方法,
让调用双方都能平等的获得处理机会.
class A{
void someFunc(B b){
b.someFunc();
}
}
XP敏捷编程强调快速迭代, 但绝不意味着不进行架构设计. 按照级列设计理论, 复杂性是分级的,
我们要采用满足当前需求的最简单的设计,而不是绝对意义上的最简单的设计. 而且简单与完备性还是两回事,虽然简单,但是功能仍然要是完备的.
这是个架构性问题. 迭代是个逐步精化的过程,而很少是格式塔式的革命. 在XP中我们应该更加强调architecture centric.
重构是不影响系统外部特征的情况下,对系统内部结构的修改.
但我们现在要从结构A走向结构B,重构的路径到底在哪里。推翻了重新写并不是重构。虽然XP强调当前,不要过多考虑未来,但这只是个重点问题,并不意味着
不考虑未来,我们需要为复杂性的方向性发展保留出一定的通道。实际上重构的过程中,架构本身对应的概念是基本不变的,只是结构在调整,在细化。如果你大脑
痴呆,先天遗传不利,无论怎么重构知识结构大概也难以避免被淘汰的命运.
重构也会陷入Pareto最优点,因为一些对象作为即得利益者,让它放弃自己的功能集并不是那么容易的事情。它会争辩说,我和XX建立了关联,基于我的
YY功能,ZZ已经作了大量开发而且已经发布出去。。。
目前软件设计中没有"市场"的概念, 在权衡系统功能归属的时候,我们只能两两进行: 这个功能放在对象A里好呢还是放在B里好呢. 是一个相当费力的过程.
最后,再为物理学说句话。表面上看起来,物理学是由最优化原理支配的,但它还要受到所谓对称性的制约。很多时候当我们面临两难选择的时候,对称性会帮助我
们作出选择。对称性(根据Nother定理,守恒律也是对称性的一种)维护了物理学内部的结构张力。
分享到:
相关推荐
此外,EViews支持多种数据格式的导入和导出,能够方便地与Excel、SPSS等其他统计软件进行数据交换。 在安装EViews时,用户需要按照官方提供的步骤进行,通常包括下载安装包、运行安装程序、选择安装路径以及接受...
随着世界经济的繁荣与人民生活水平的提高,旅游行业已经成为人们休闲与度假的主要方式,旅游业在全球范围内迅速崛起,对各国经济产生了深远影响。其中,旅游饭店业作为旅游业的三大支柱之一,其管理的重要性不言而喻...
### EViews在经济计量学中的应用 #### 一、EViews简介 Econometric Views(简称EViews),是由美国QMS公司(Quantitative Micro Software Co.)开发的一款强大的经济计量分析软件,适用于运行Windows操作系统的...
基础IE的知识体系包括生物力学、成本管理、系统设计、销售市场应用、数学方法、设施规划、工程经济、实用心理学、组织规划等多个分支。这些分支共同构成了工业工程的理论基础和技术工具,为企业提供了一套系统化的...
- **教学目的与要求**:深刻领会经济法的调整对象、准确把握经济法概念的定义,了解中国经济法学界对经济法概念进行界定的各种主流观点。 - **教学内容纲要**: - 经济法的调整对象 - 经济法的定义 - 中国经济...
【经济计量管理学与财务知识分析软件包——Eviews使用详解】 Eviews是一款广泛应用的经济与统计分析软件,尤其在财务分析中发挥着重要作用。它提供了丰富的数据分析工具,包括时间序列建模、回归分析、预测以及统计...
【财务管理财务分析】 经济计量管理学与财务知识分析软件包主要涉及到的是使用Eviews软件进行数据分析和处理的知识。Eviews是一款强大的经济和统计分析软件,尤其在金融和经济领域广泛应用。以下是对Eviews软件使用...
3、课程引用: 经济学,地理学,城市规划与城市研究,公共政策与管理,社会学,商业与管理 ## 数据指标说明 2010年全国第六次人口普查抽样调查各地个体微观数据精确到个人区县乡镇街道村级社区 数据来源:census ...
EVIEWS(Economic Views)是一款广泛应用于经济学、金融学、统计学等领域,专门进行数据分析、回归分析、时间序列分析的专业软件。本教学课件旨在帮助用户掌握EVIEWS的基础操作、回归分析以及高级数据处理技巧。 一...
8. **数学建模实例**:通过具体的案例,演示如何使用Matlab解决实际的数学建模问题,例如环境模型、经济模型、生物学模型等。 学习Matlab并不仅仅是掌握一个工具,更是提升科学计算和数据分析的能力。这本电子书将...
Eviews是一款广泛应用于经济学、金融学以及社会科学领域的统计分析软件,以其用户友好的界面和强大的时间序列分析功能而闻名。本教程旨在提供一个全面良好的Eviews学习指南,帮助初学者和进阶用户掌握该软件的基本...
3、课程引用: 经济学,地理学,城市规划与城市研究,公共政策与管理,社会学,商业与管理 2015年全国人口1%抽样调查各地个体微观数据精确到个人区县2015年全国人口1%抽样数据 2015年为统计局的137w样本量版本。...
它广泛应用于工程、科学、数学、物理、经济、艺术等领域,特别是那些需要用到矩阵和数组计算、数据可视化、算法实现和数值仿真的场合。Matlab的强项在于它的易用性和强大的数学计算能力,它提供了大量内置函数,可以...
`otree`是一个用于构建、运行和分析实验经济学实验的开源框架,基于Python编程语言。这个资源是`otree`库的3.1.0版本,打包为`.tar.gz`格式,这是一个常见的源代码归档文件,通常用于分发开源项目。在Python开发中,...
EViews(Econometric Views)是一款广泛应用于经济学、金融学以及其他社会科学领域的统计分析软件。它不仅提供了强大的数据处理功能,还支持各种复杂的经济计量模型估计及结果分析。本文档基于EViews 4.1版本,介绍...
它被广泛应用于经济学、金融学、会计学等领域的研究。以下是对Eviews软件主要功能的详细解释: 1. 数据管理:Eviews允许用户输入、扩展和修改时间序列数据,提供了一个方便的平台来组织和处理经济数据。 2. 数据...
Eviews,全称为Econometric Views,是一款广泛应用于经济学、金融学以及统计学等领域的专业统计分析软件。该教程旨在帮助用户掌握Eviews的基本操作和高级功能,从而能够对各种类型的数据进行深入的探索和建模。 ...
Quantecon是一个专注于经济与计算的在线教育平台,它提供了丰富的定量经济分析工具和课程,而Python作为一门强大的编程语言,被广泛应用于数据科学、经济学和金融领域。 【描述】"Files for Quantecon course: ...
1. 数据导入与预处理:SAS提供了多种数据导入功能,如PROC IMPORT,可以从各种格式(如CSV、Excel、数据库等)导入时间序列数据。在预处理阶段,SAS可以进行缺失值处理、异常值检测和转换,确保数据的质量。 2. ...
EVIEWS是一款强大的统计分析和经济建模软件,被广泛应用于经济学、金融学以及社会科学的研究工作中。它以其直观的用户界面和丰富的功能,使得数据处理、时间序列分析、回归模型构建等任务变得更为简便。本教程将深入...