(完整word版)离散数学建模

(完整word版)离散数学建模
(完整word版)离散数学建模

离散建模

专业计算机科学与技术

班级

姓名

学号

授课教师

二 O 一七年十二月

离散建模是离散数学与计算机科学技术及IT技术应用间的联系桥梁。也是学习离散数学的根本目的。

它有两部分内容组成:

1.离散建模概念与方法

2.离散建模应用实例

一.离散建模概念与方法

1.1离散建模概念

在客观世界中往往需要有许多问题等待人们去解决。而解决的方法很多,最为常见的方法是将客观世界中的问题域抽象成一种形式化的数学表示称数学模型,从而将对问题域的求解变成为对数学表示式的求解。而由于人们对数学的研究已有数千年历史,并已形成了一整套行之有效的对数学求解的理论与方法,因此用这种数学方法去解决实际问题可以取得事倍功半的作用。而采用这种方法的关键之处是数学模型的建立,它称为数学建模,而当这种数学模型是建立在有限集或可列集之上时,此种模型的建立称离散建模。

1.2.离散建模方法

(1)两个世界理论

在离散建模中有两个世界,一个是现实世界另一个是离散世界。现实世界是问题域产生的世界,离散世界则是一种数学世界,它有三个特性:离散世界采用离散数学语言,该语言具有简洁性且表达力丰富。

离散世界所表示的是一种抽象符号,它是一种形式化符号体系。

离散世界中的环境简单,它在离散建模时设立,可以屏蔽大量无关信息对问题求解的干扰。

为求解问题须将问题域转换成离散模型,然后对离散模型求解,再逆向转换成现实世界中的解.

(2)两个世界的转换

在离散建模方法中需要构作两种转换,即由现实世界到离散世界的转换以及由离散世界到现实世界的逆转换,而其中第一种转换尤为重要,这种转换我们一般即称之为离散建模。

下面对两种转换作介绍:

现实世界到离散世界的转换

该转换又称离散建模或简称转换。这种转换是离散建模方法的核心。它实际上是将现实世界中的问题转换成离散世界中的离散模型。这种过程是将问题域中问题采取屏蔽语义、简化环境、强化关系所形成的一种抽象化、形式化过程,在转换时所要采用下面几种手段:

1.选取一种离散语言,亦即是选择一个离散数学学科门类,(如图论,代数系统,数理逻辑及关系等,也可以选择其中的一些子门类如图论中的树,代数系统中的群论等等),以此学科的符号体系作为一种形式语言称离散语言。

从问题域中确定离散模型的基本对象集合。

从问题域中确定离散模型的静态结构、动态行为以及约束规则。

用离散语言描述这些集合、结构,行为与规则并组成离散模型。

在转换过程中要注意如下几点:

所选用的离散语言并不是唯一的,有时可以有多种选择。

所建的离散模型有时可能与传统的数学结构不完全一致,此时须构造新的数学结构以适应建模的需要。

问题域中的环境与平台一般可用离散模型中的约束规则实现。

2.从离散世界到现实世界的转换

该转换是一种语义化的转换,它是一种逆向转换,因此又称逆转换,在该转换中是将离散模型的解转换成问题域中的解。由于离散世界中解的形式是一种抽象的形式化符号体系,没有任何语义,只有赋予问题域中语义后才成为问题域中的解。两个世界理论与两个世界转换构成了完整的离散建模方法,它可以用下面的图表示。

而离散建模方法的整个过程可以用下面几个步骤表示:

在现实世界中给出问题域;

将问题域抽象成离散模型;

离散模型求解;

解的语义化;

问题域的解。

1.3.离散建模的步骤

在离散建模实际操作中须有若干个步骤的操作过程,它们是:

需求描述—问题域形成;

离散模型形成;

离散模型检验与修改;

离散模型求解;

解的语义化及问题域解的获得。

二 . 离散建模应用实例

1.需求描述

死锁检测为操作系统中死锁现象出现提供实时报警信号。

操作系统是管理计算机资源,协调计算机用户与资源间的关系,为用户在计算机中顺利运行提供支撑的一种软件系统。而死锁现象则是用户间为争夺资源而产生的一种矛盾,因此及时发现矛盾及化解矛盾是操作系统重要职能之一。在操作系统中有两种重要的注视目标,它们是“资源”与“进程”:(1)资源:操作系统是管理计算机中资源的机构,而计算机中的资源包括有CPU资源,内存资源,外部设备资源(如打印机等),通道资源等多种。

(2)进程:在一台计算机中往往可以运行多个程序,而一般运行的程序称为进程。在资源与进程之间存在着紧密的关联,其中主要的关联是:进程需要资源,只有有了充足的资源,进程才能运行。

在一般情况下,进程在运行前需申请资源,只有获得资源后才能运行,在运行过程中还不断申请资源以获得继续运行的权力,同时也不断释放资源,使资源能得以充分利用;而当进程所申请的资源无法得到时(即表示此资源被它进程所占有),它必须等待,直到它进程对该资源使用完毕并释放后此进程

才能获得该资源并继续运行直至进程结束。因此,进程与资源的关系是一种动态关系,其演化过程可以用下面的图1表示之。

而死锁的产生则是进程演化中的一种特殊现象。如进程甲占有资源A同时又申请资源B,与此同时进程乙占有资源B同时又申请资源A,此时两进程都无法申请到所需资源,因此只能等待,而等待是无期限的,因而称为死锁。推而广之,对多个进程与多个资源可能还会出现循环等待的现象,这就是一般意义上的死锁。

2.离散建模及模型建立

(1)选择一种离散语言:根据问题域描述,该项死锁检测主要研究资源间的一种特殊关系,因此用关系或图论较为合适,而考虑到图的方法结构性好,直观性强,因而以图论作为建模工具较为合理。

(2)确定研究对象:在离散建模中,操作系统的基本研究对象集合为资源集合与进程集合,设有n个资源与m个进程,它们可表示为:

资源集合:R={R1,R2,…,Rn}

进程集合:P={P1,P2,…,Pm}

(3)资源间的关系:进程P已占有资源Ri且申请资源Rj并处等待中,可用有序偶(Ri,Rj)表示。而它们的全体则构成一个关系,称资源申请关系S。

(4)模型的建立:以R为结点以S为边可以构成一个有向图G=(R,S)。它组成了进程资源申请的图模型。在这个图中的每个边均有权Pi,它表示申请资源的进程。

3.模型求解

在问题域中死锁检验的解是资源循环等待,而在图论模型中资源循环等待相当于图中存在回路。进一步,可以用可达性矩阵计算方法判别是否出现回路,即可达性矩阵的对角线中出现有“1”。

如设可达性矩阵为如图3所示,则判别产生回路的计算公式为D’=d11(+)d22(+)…(+)dnn=1.

4.解的语义化

最后在模型中所产生的判别公式D’,可将其语义化为:

当D’为1时表操作系统已产生死锁;

当D’为0时表操作系统未产生死锁。

在例中我们有该图的可达性矩阵为:

从而有D’=1,这表明在时刻t时系统产生死锁。

5. 死锁检测的离散建模特点是:

(1)该离散建模所建模型简单,可计算且效果好。

(2)该离散建模可以同时用图论与关系实现,但由于在图论中对回路的研究与表示都优于关系,因此用图论较为合适。

(3)在该离散模型中运用图论中的通路与回路以及相应的矩阵计算方法较为方便的解决了死锁问题。

2.3数据库中关系数据模型的离散建模

1.需求描述

关系数据理论就是用关系理论研究数据模型,在这里涉及到两方面的问题,它们是:

数据模型

关系模型

(1)数据模型

数据模型是对数据存储与操纵的抽象表示。其主要内容是用于存储数据的数据结构表示以及建立在该结构上的数据操作表示。

(2)关系数据模型

关系数据模型是一种以二维表的形式表示数据结构又以二维表上的数据操作为特点的数据模型。

1)首先介绍二维表。二维表又称表,它由表框架及表元组两部分组成。表框架由表名及n个命名属性列所构成。表12.1给出了一个表名为student的表框架

表1 表名为student的表框架

其中sno,sn,sd及sa分别表示属性学号、学生姓名,学生系别及学生年龄等。

在表框架中可以按行存放数据,表中每个数据称元组。元组由若干个分量组成,其每个分量对应表框架中的一个属性值,如在表框架student中可以有如下的元组:

它表示一个学生的相应信息,该学生学号为07001,姓名为张曼英,计算机系,年龄为18岁,它们分别是一个元组中的四个元组分量。

一个表框架可以存储若干个元组。它们构成了一个完整的二维表。表12.2给出了二维表的例。

表2 二维表student的例

2)接下来,介绍建立在二维表上的数据操作:

○1查询操作

○2删除操作

○3插入操作

○4修改操作

关系数据模型中的基本逻辑操作共六种:

○1表的列指定

○2表的行选择

○3两表的合并

○4查询操作

○5删除操作

○6插入操作

3)关系数据模型的基本面貌:

关系数据模型是以二维表为数据结构,以元组为基本数据单位,在它的上面可以有六种基本操作。它构成了一个数据库系统的基本面貌。

3.关系数据模型离散建模之一—关系代数模型

关系代数模型以关系与代数系统为工具研究关系数据模型。

(1)首先从二维表讨论起,二维表实际上是元组的集合,而元组则可视为n 元有序组,因此二维表是n元有序组的集合亦即二维表即是n元关系。

(2)其次,二维表上的操作即是关系的运算。二维表上的六种基本操作可对应关系的五种运算。

1)插入:

R∪R’

2)删除

R-R’

3)两表合并

R× S

4)列指定:

∏Ai1, Ai2,…,Aim ( R )

5)行选择

σF(R)

(3)关系代数

由关系所组成的集合A上的五种运算,它们分别是三种二元运算—并,差及笛卡尔运算,以及两种一元运算—投影及选择运算,且都是封闭的,从而构成一个代数系统:

(A,∏,σ,∪,-,×)

该代数系统称关系代数。

(4)关系代数的运算规则

1)并运算满足结合律与交换律:

R1∪(R2∪R3)=(R1∪R2)∪R3

R1∪R2= R2∪R1

2)投影运算满足交换律、吸收律及归零律

当a1, a 2,…, an与R无关时有∏a1, a 2,…, am (R)=?

∏a1, a 2,…, am(∏b1, b 2,…, bn(R))=

∏b1, b 2,…, bn(∏a1, a 2,…, am(R))

当a1, a 2,…, an与R无关而b1, b 2,…, bm与R有关时,

∏a1, a 2,…, an, b1, b 2,…, bmR=∏b1, b 2,…, bmR

∏a1, a 2,…, am(∏b1, b 2,…, bn(R))=∏a1, a 2,…, am (R)

3)选择运算满足交换律、串接律:

σF1(σF2(R))=σF2(σF1(R))

σF1(σF2(R))=σF1∧F2(R)

4)选择与投影运算满足交换律:

σF(∏a1, a 2,…, am(R))=

∏a1, a 2,…, am(σF(R))

5)选择对笛卡尔乘积满足分配律:

σF(R1×R2)=σFR1×σFR2

当F与R无关,此时有:σFR= R,因此有:

若F仅涉及R1有:σF(R1×R2)=σF(R1)×R2

若F仅涉及R2有:σF(R1×R2)= R1×σF(R2)

若F= F1∧F2,而F1仅涉及R1;F2仅涉及R2,有:σF(R1×R2)=σF1(R1)×σF2(R2)

6)投影对笛卡尔乘积满足分配律:

∏a1, a 2,…, an(R1×R2)=

∏a1, a 2,…, anR1×∏a1, a 2,…, an R2

(5)关系代数模型

关系代数及其七组运算规则组成了关系代数模型。

3.关系代数模型的求解

关系代数模型可以用于数据库中的数据结构表示,数据操作表示及其优化,最后并可构造规范化表达式。

(1)数据结构表示

可以用n元关系表示关系模型中的二维表。

例:有如表3所示的学生数据库由学生、选课及课程三张二维表组成,它可以用下面的三个关系表示之。

S={(S101,John,CS,18),(S102,Aris,CS,19),(S103,Mary,CS,20)}

S C={(S101,C01,4),(S101,C02,5),(S102,C03,4),(S103,C01,3),(S103,C03,5)}

C={(C01,DB,C02),(C02,OS,C02),(C03,AI,C02)}

表3 学生数据库

(2)数据操作表示

可以用关系代数表达式表示数据操作。

例: 对学生数据库用关系代数公式表示查询及增、删、改操作如下:

○1查询学生年龄大于18岁的学生姓名:

∏sn(σsa>18(S))

○2查询John所修读的课程的课程号:

∏cnoσSn=Jhon(s×SC)

○3在选课表中增加学生S102 选读C03分数为5分的元组。

SC∪{(S102,C03,5)}

(3)数据操作表示优化

例: 优化下面二式:

○1∏sn(σsa>18(s×SC)=

∏sn(σsa>18(S) ×SC)=

∏sn(σsa>18(S) ×∏sn(SC))=

∏sn(σsa>18(S))

○2∏sno,cno(σSd=CS∧pcno=C01(∏sd, sno(S)×∏cno,pcno(C)))= ∏sno,cno(σSd=CS(∏sd,sno(S)))×(σpcno=C01(∏cno,pcno(C)))=

∏sno(σSd=CS(∏sd,sno(S))×∏cno(σpcno=C01(∏cno,pcno(C)))=

∏sno(∏sd,sno(σSd=CS(S)))×(∏cno(∏cno,pcno(σpcno=C01(C)))=

∏sno(σSd=CS(S))×∏cno(σpcno=C01(C))

(4)查询操作的规范化表示

可以用前面六组运算规则将任一查询表达式规范化为下面的形式:

∏a1, a 2,…, anσF(R1×R2×…×Rm)

这个规范化形为数据库查询语言SQL提供了表示上的理论基础。在SQL中一个查询语句由标准的三个子句组成,它们是选择子句SELECT,范围子句FROM 及条件子句WHERE,它们分别表示投影运算∏、选择运算σ以及笛卡儿乘积×,其具体表示形式为:

SELECT a1, a 2,…, an

FROM R1, R2,…, Rm

WHERE F

5.解的语义化及问题域解的获得

(1)离散数学中的n元关系即表示了数据库关系数据模型中的数据结构即二维表。

(2)关系运算即表示了关系数据模型中的基本数据操作。

(3)关系代数即表示了关系数据模型。

(4)关系代数中的关系表达式即表示了关系数据模型中的多种操作表示。(5)关系代数中的关系表达式的优化即表示了关系数据模型中操作的优化,它不但可简化表示,更主要还可以提高操作效率。

(6)关系代数中的查询规范化形式提供了标准、统一的表示形式并为SQL语言的设计提供了理论基础。

结束语:以上就是数据库中关系数据模型的离散建模以及离散建模概念与方法。

数学建模专题汇总-离散模型

离散模型 § 1 离散回归模型 一、离散变量 如果我们用0,1,2,3,4,?说明企业每年的专利申请数,申请数是一个离散的变量,但是它是间隔尺度变量,该变量类型不在本章的讨论的被解释变量中。但离散变量0和1可以用来说明企业每年是否申请专利的事项,类似表示状态的变量才在本章的讨论中。在专利申请数的问题中,离散变量0,1,2,3 和4 等数字具 有具体的经济含义,不能随意更改;而在是否申请专利的两个选择对象的选择问题中,数字0和1只是用于区别两种不同的选择,是表示一种状态。本专题讨论有序尺度变量和名义尺度变量的被解释变量。 、离散因变量

在讨论家庭是否购房的问题中,可将家庭购买住房的决策用数字1 表示,而将家庭不购买住房的决策用数字0 表示。 1 yes x 0 no 如果x 作为说明某种具体经济问题的自变量,则应用以前介绍虚拟变量知识就足够了。如果现在考虑某个家庭在一定的条件下是否购买住房问题时,则表示状态的虚拟变量就不再是自变量,而是作为一个被说明对象的因变量出现在经济模型中。因此,需要对以前讨论虚拟变量的分析方法进行扩展,以便使其能够适应分析类似家庭是否购房的问题。因为在家庭是否购房问题中,虚拟因变量的具体取值仅是为了区别不同的状态,所以将通过虚拟因变量讨论备择对象选择的回归模型称为离散选择模型。 三、线性概率模型 现在约定备择对象的0 和1 两项选择模型中,下标i 表示各不同的经济主体,取值

0或l的因变量 y i表示经济主体的具体选择结果,而影响经济主体进行选择的自变量 x i 。如果选择响应YES 的概率为 p(y i 1/ x i ) ,则经济主体选择响应NO 的概率为 1 p(y i 1/ x i), 则E(y i /x i) 1 p(y i 1/x i) 0 p(y i 0/x i)= p(y i 1/x i)。根据经典线性回归,我们知道其总体回归方程是条件期望建立的,这使我们想象可以构造线性概率模型 p(y i 1/ x i) E(y i / x i) x iβ 0 1 x i1 L k x ik u i 描述两个响应水平的线性概率回归模型可推知,根据统计数据得到的回归结果并不一定能够保证回归模型的因变量拟合值界于[0,1]。如果通过回归模型式得到的因变量拟合值完全偏离0或l两个数值,则描述两项选择的回归模型的实际用途就受到很大的限制。为避免出现回归模型的因变量预测值偏离0或1的情形,需要限制因变量的取值范围并对回归模型式进行必要的修正。由于要对其进行修正,那么其模型就会改变,模型改变会导致似然函

离散数学在计算机科学中的应用

离散数学在计算机科学中的应用 本学期我们开了一门新的课程——离散数学,这是一门艰深又充满挑战的课程,随着学习的深入,我逐步加深了对它的了解。 首先简单介绍一下离散数学的定义及其在各学科领域的重要作用。离散数学(Discrete mathe matics)是研究离散量的结构及其相互关系的数学学科,是现代数学的一个重要分支。它在各学科领域,特别在计算机科学与技术领域有着广泛的应用,同时离散数学也是计算机专业的许多专业课程,如程序设计语言、数据结构、操作系统、编译技术、人工智能、数据库、算法设计与分析、理论计算机科学基础等必不可少的先行课程。通过离散数学的学习,不但可以掌握处理离散结构的描述工具和方法,为后续课程的学习创造条件,而且可以提高抽象思维和严格的逻辑推理能力,为将来参与创新性的研究和开发工作打下坚实的基础。 随着信息时代的到来,工业革命时代以微积分为代表的连续数学占主流的地位已经发生了变化,离散数学的重要性逐渐被人们认识。离散数学课程所传授的思想和方法,广泛地体现在计算机科学技术及相关专业的诸领域,从科学计算到信息处理,从理论计算机科学到计算机应用技术,从计算机软件到计算机硬件,从人工智能到认知系统,无不与离散数学密切相关。 由于数字电子计算机是一个离散结构,它只能处理离散的或离散化了的数量关系,因此,无论计算机科学本身,还是与计算机科学及其应用密切相关的现代科学研究领域,都面临着如何对离散结构建立相应的数学模型;又如何将已用连续数量关系建立起来的数学模型离散化,从而可由计算机加以处理。 由此可见,离散数学在计算机科学中具有广泛的应用,下面我将一一陈述。 1 离散数学在关系数据库中的应用 关系数据库中的数据管理系统向用户提供使用的数据库语言称为数据子语言,它是以关系代数或谓词逻辑中的方法表示。由于用这种数学的方法去表示,使得对这些语言的研究成为对关系代数或逻辑谓词的研究,优化语言的表示变成为对关系代数与谓词逻辑的化简问题。由于引入了数学表示方法,使得关系数据库具有比其它几种数据库较为优越的条件。正因为如此关系数据库迅速发展成为一种很有前途、很有希望的数据库。另外,离散数学中的笛卡儿积是一个纯数学理论,是研究关系数据库的一种重要方法,显示出不可替代的作用。不仅为其提供理论和方法上的支持,更重要的是推动了数据库技术的研究和发展。关系数据模型建立在严格的集合代数的基础上,其数据的逻辑结构是一个由行和列组成的二维表来描述关系数据模型。在研究实体集中的域和域之间的可能关系、表结构的确定与设计、关系操作的数据查询和维护功能的实现、关系分解的无损连接性分析、连接依赖等问题都用到二元关系理论。 2 离散数学在数据结构中的应用 计算机要解决一个具体问题,必须运用数据结构知识。对于问题中所处理的数据,必须首先从具体问题中抽象出一个适当的数学模型,然后设计一个解此数学模型的算法,最后编出程序,进行测试、调整直至得到问题的最终解答。而寻求数学模型就是数据结构研究的内容。寻求数学模型的实质是分析问题,从中提取操作的对象,并找出这些操作对象之间含有的关系,然后用数学的语言加以描 述。数据结构中将操作对象间的关系分为四类:集合、线性结构、树形结构、图状结构或网状结构。

数学建模中常见的十大模型讲课稿

数学建模中常见的十 大模型

精品文档 数学建模常用的十大算法==转 (2011-07-24 16:13:14) 转载▼ 1. 蒙特卡罗算法。该算法又称随机性模拟算法,是通过计算机仿真来解决问题的算法,同时可以通过模拟来检验自己模型的正确性,几乎是比赛时必用的方法。 2. 数据拟合、参数估计、插值等数据处理算法。比赛中通常会遇到大量的数据需要处理,而处理数据的关键就在于这些算法,通常使用MA TLAB 作为工具。 3. 线性规划、整数规划、多元规划、二次规划等规划类算法。建模竞赛大多数问题属于最优化问题,很多时候这些问题可以用数学规划算法来描述,通常使用Lindo、Lingo 软件求解。 4. 图论算法。这类算法可以分为很多种,包括最短路、网络流、二分图等算法,涉及到图论的问题可以用这些方法解决,需要认真准备。 5. 动态规划、回溯搜索、分治算法、分支定界等计算机算法。这些算法是算法设计中比较常用的方法,竞赛中很多场合会用到。 6. 最优化理论的三大非经典算法:模拟退火算法、神经网络算法、遗传算法。这些问题是用来解决一些较困难的最优化问题的,对于有些问题非常有帮助,但是算法的实现比较困难,需慎重使用。 7. 网格算法和穷举法。两者都是暴力搜索最优点的算法,在很多竞赛题中有应用,当重点讨论模型本身而轻视算法的时候,可以使用这种暴力方案,最好使用一些高级语言作为编程工具。 8. 一些连续数据离散化方法。很多问题都是实际来的,数据可以是连续的,而计算机只能处理离散的数据,因此将其离散化后进行差分代替微分、求和代替积分等思想是非常重要的。 9. 数值分析算法。如果在比赛中采用高级语言进行编程的话,那些数值分析中常用的算法比如方程组求解、矩阵运算、函数积分等算法就需要额外编写库函数进行调用。 10. 图象处理算法。赛题中有一类问题与图形有关,即使问题与图形无关,论文中也会需要图片来说明问题,这些图形如何展示以及如何处理就是需要解决的问题,通常使用MATLAB 进行处理。 以下将结合历年的竞赛题,对这十类算法进行详细地说明。 以下将结合历年的竞赛题,对这十类算法进行详细地说明。 2 十类算法的详细说明 2.1 蒙特卡罗算法 大多数建模赛题中都离不开计算机仿真,随机性模拟是非常常见的算法之一。 举个例子就是97 年的A 题,每个零件都有自己的标定值,也都有自己的容差等级,而求解最优的组合方案将要面对着的是一个极其复杂的公式和108 种容差选取方案,根本不可能去求解析解,那如何去找到最优的方案呢?随机性模拟搜索最优方案就是其中的一种方法,在每个零件可行的区间中按照正态分布随机的选取一个标定值和选取一个容差值作为一种方案,然后通过蒙特卡罗算法仿真出大量的方案,从中选取一个最佳的。另一个例子就是去年的彩票第二问,要求设计一种更好的方案,首先方案的优劣取决于很多复杂的因素,同样不可能刻画出一个模型进行求解,只能靠随机仿真模拟。 2.2 数据拟合、参数估计、插值等算法 数据拟合在很多赛题中有应用,与图形处理有关的问题很多与拟合有关系,一个例子就是98 年美国赛A 题,生物组织切片的三维插值处理,94 年A 题逢山开路,山体海拔高度的 收集于网络,如有侵权请联系管理员删除

离散数学在计算机学科中的应用

信息技术与课程整合本栏目责任编辑:贾薇薇离散数学在计算机学科中的应用 陈敏,李泽军 (湖南工学院计算机科学系,湖南衡阳421002) 摘要:离散数学作为有利的数学工具,对计算机的发展与计算机科学的研究起着重大的作用。阐述了离散数学在计算机科学的几个不同领域中的应用,分析了离散数学与计算机专业其他学科间的关系,指出了离散数学在从事计算机及相关科学工作中的重要性。关键词:离散数学;数据结构;编译原理;人工智能 中图分类号:O158,TP305文献标识码:A 文章编号:1009-3044(2009)01-0251-02 The Application of Discrete Mathematics in Computer Science CHEN Min,LI Ze-jun (Department of Computer Science and Technlology,Hunan Insititute of Technology,Hengyang 421002,China) Abstract:Being a helpful mathematical tool,discrete mathematics plays a significant role in the development and research of computer sci -ence.This paper introduces the application of discrete mathematics in different fields of computer science,analyzes the relationship between discrete mathematics and other subjects in computer specialty and points out the importance of discrete mathematics in computer science and related fields. Key words:discrete mathematics;data structure;decoding principles;artificial intelligence 1引言 离散数学是现代数学的一个重要分支,是计算机科学中基础理论的核心课程。它是以研究离散性的结构和相互间的关系为主要目标,其研究对象一般地是有限个或可数个元素。由于计算机科学的迅速发展,与其有关的领域中,提出了许多有关离散量的理论问题,需要用某些数学的工具做出描述和深化[1]。离散数学把计算机科学中所涉及到的研究离散量的数学综合在一起,进行较系统的、全面的论述,为研究计算机科学的相关问题提供了有力的工具。 离散数学课程所涉及的概念、方法和理论,大量地应用在数据结构、数据库系统、编译原理、人工智能、计算机体系结构、算法分析与设计、软件工程、多媒体技术、数字电路、计算机网络等专业课程以及信息管理、信号处理、模式识别、数据加密等相关课程中[2-4]。它所提供的训练十分有益于学生概括抽象能力、逻辑思维能力、归纳构造能力的提高,十分有益于学生严谨、完整、规范的科学态度的培养。这些能力与态度是一切软、硬件计算机科学工作者所不可缺少的,为学习计算机科学的后续课程、从事科研或工程技术工作以及进一步提高科学技术水平奠定理论基础。离散数学提供的营养滋补了计算机科学的众多领域,学好了离散数学就等于掌握了一把开启计算机科学之门不可缺少的钥匙。 2离散数学在数据结构中的应用 计算机要解决一个具体问题,必须运用数据结构知识。对于问题中所处理的数据,必须首先从具体问题中抽象出一个适当的数学模型,然后设计一个解此数学模型的算法,最后编出程序,进行测试、调整直至得到问题的最终解答。而寻求数学模型就是数据结构研究的内容。寻求数学模型的实质是分析问题,从中提取操作的对象,并找出这些操作对象之间含有的关系,然后用数学的语言加以描述。数据结构中将操作对象间的关系分为四类:集合、线性结构、树形结构、图状结构或网状结构。数据结构研究的主要内容是数据的逻辑结构,物理存储结构以及基本运算操作。其中逻辑结构和基本运算操作来源于离散数学中的离散结构和算法思考。离散数学中的集合论、关系、图论、树四个章节就反映了数据结构中四大结构的知识。如集合由元素组成,元素可理解为世上的客观事物。关系是集合的元素之间都存在某种关系。例如雇员与其工资之间的关系。图论是有许多现代应用的古老题目。伟大的瑞士数学家列昂哈德·欧拉在18世纪引进了图论的基本思想,他利用图解决了有名的哥尼斯堡七桥问题。还可以用边上带权值的图来解决诸如寻找交通网络里两城市之间最短通路的问题[5]。而树反映对象之间的关系,如组织机构图、家族图、二进制编码都是以树作为模型来讨论。 3离散数学在数据库中的应用 数据库技术被广泛应用于社会各个领域,关系数据库已经成为数据库的主流,离散数学中的笛卡儿积是一个纯数学理论,是研究关系数据库的一种重要方法,显示出不可替代的作用。不仅为其提供理论和方法上的支持,更重要的是推动了数据库技术的研究和发展。关系数据模型建立在严格的集合代数的基础上,其数据的逻辑结构是一个由行和列组成的二维表来描述关系数据模型。在研究实体集中的域和域之间的可能关系、表结构的确定与设计、关系操作的数据查询和维护功能的实现、关系分解的无损连接性分析、连接依赖等问题都用到二元关系理论[6]。 4离散数学在编译原理中的应用 编译程序是计算机的一个十分复杂的系统程序。一个典型的编译程序一般都含有八个部分:词法分析程序、语法分析程序、语义分析程序、中间代码生成程序、代码优化程序、目标代码生成程序、错误检查和处理程序、各种信息表格的管理程序[7]。离散数学里的计算模型章节里就讲了三种类型的计算模型:文法、有限状态机和图灵机。具体知识有语言和文法、带输出的有限状态机、不带输出的有限状态机、语言的识别、图灵机等。短语结构文法根据产生式类型来分类:0型文法、1型文法、2型文法、3型文法。以上这些收稿日期:2008-12-10 基金项目:“湖南省教育厅教学改革研究项目(湘教通2008第263号) ISSN 1009-3044 Computer Knowledge and Technology 电脑知识与技术 Vol.5,No.1,January 2009,pp.251-252E-mail:kfyj@https://www.360docs.net/doc/2917155419.html, https://www.360docs.net/doc/2917155419.html, Tel:+86-551-56909635690964251

(完整word版)离散数学建模

离散建模 专业计算机科学与技术 班级 姓名 学号 授课教师 二 O 一七年十二月

离散建模是离散数学与计算机科学技术及IT技术应用间的联系桥梁。也是学习离散数学的根本目的。 它有两部分内容组成: 1.离散建模概念与方法 2.离散建模应用实例 一.离散建模概念与方法 1.1离散建模概念 在客观世界中往往需要有许多问题等待人们去解决。而解决的方法很多,最为常见的方法是将客观世界中的问题域抽象成一种形式化的数学表示称数学模型,从而将对问题域的求解变成为对数学表示式的求解。而由于人们对数学的研究已有数千年历史,并已形成了一整套行之有效的对数学求解的理论与方法,因此用这种数学方法去解决实际问题可以取得事倍功半的作用。而采用这种方法的关键之处是数学模型的建立,它称为数学建模,而当这种数学模型是建立在有限集或可列集之上时,此种模型的建立称离散建模。 1.2.离散建模方法 (1)两个世界理论 在离散建模中有两个世界,一个是现实世界另一个是离散世界。现实世界是问题域产生的世界,离散世界则是一种数学世界,它有三个特性:离散世界采用离散数学语言,该语言具有简洁性且表达力丰富。 离散世界所表示的是一种抽象符号,它是一种形式化符号体系。 离散世界中的环境简单,它在离散建模时设立,可以屏蔽大量无关信息对问题求解的干扰。 为求解问题须将问题域转换成离散模型,然后对离散模型求解,再逆向转换成现实世界中的解. (2)两个世界的转换 在离散建模方法中需要构作两种转换,即由现实世界到离散世界的转换以及由离散世界到现实世界的逆转换,而其中第一种转换尤为重要,这种转换我们一般即称之为离散建模。 下面对两种转换作介绍: 现实世界到离散世界的转换

武大数学建模培训多目标决策模型层次分析法P代数模型离散

武大数学建模培训多目标决策模型层次分析法P代数模型离散 Document number:BGCG-0857-BTDO-0089-2022

层次分析法建模 层次分析法(AHP-Analytic Hierachy process)---- 多目标决策方法 70 年代由美国运筹学家T·L·Satty提出的,是一种定性与定量分析相结合的多目标决策分析方法论。吸收利用行为科学的特点,是将决策者的经验判断给予量化,对目标(因素)结构复杂而且缺乏必要的数据情况下,采用此方法较为实用,是一种系统科学中,常用的一种系统分析方法,因而成为系统分析的数学工具之一。 传统的常用的研究自然科学和社会科学的方法有: 机理分析方法:利用经典的数学工具分析观察的因果关系; 统计分析方法:利用大量观测数据寻求统计规律,用随机数学方法 描述(自然现象、社会现象)现象的规律。 基本内容:(1)多目标决策问题举例AHP建模方法 (2)AHP建模方法基本步骤 (3)AHP建模方法基本算法 (3)AHP建模方法理论算法应用的若干问题。 参考书: 1、姜启源,数学模型(第二版,第9章;第三版,第8章),高等教育出版社 2、程理民等,运筹学模型与方法教程,(第10章),清华大学出版社

3、《运筹学》编写组,运筹学(修订版),第11章,第7节,清华大学出版社 一、问题举例: A.大学毕业生就业选择问题 获得大学毕业学位的毕业生,“双向选择”时,用人单位与毕业生都有各自的选择标准和要求。就毕业生来说选择单位的标准和要求是多方面的,例如: ①能发挥自己的才干为国家作出较好贡献(即工作岗位适合发挥专 长); ②工作收入较好(待遇好); ③生活环境好(大城市、气候等工作条件等); ④单位名声好(声誉-Reputation); ⑤工作环境好(人际关系和谐等) ⑥发展晋升(promote, promotion)机会多(如新单位或单位发展有后 劲)等。 问题:现在有多个用人单位可供他选择,因此,他面临多种选择和决策,问题是他将如何作出决策和选择——或者说他将用什么方法将可供选择的工作单位排序

数学建模中常见的十大模型

数学建模中常见的十大 模型 Document serial number【KKGB-LBS98YT-BS8CB-BSUT-BST108】

数学建模常用的十大算法==转 (2011-07-24 16:13:14) 1. 蒙特卡罗算法。该算法又称随机性模拟算法,是通过计算机仿真来解决问题的算法,同时可以通过模拟来检验自己模型的正确性,几乎是比赛时必用的方法。 2. 数据拟合、参数估计、插值等数据处理算法。比赛中通常会遇到大量的数据需要处理,而处理数据的关键就在于这些算法,通常使用MATLAB 作为工具。 3. 线性规划、整数规划、多元规划、二次规划等规划类算法。建模竞赛大多数问题属于最优化问题,很多时候这些问题可以用数学规划算法来描述,通常使用Lindo、Lingo 软件求解。 4. 图论算法。这类算法可以分为很多种,包括最短路、网络流、二分图等算法,涉及到图论的问题可以用这些方法解决,需要认真准备。 5. 动态规划、回溯搜索、分治算法、分支定界等计算机算法。这些算法是算法设计中比较常用的方法,竞赛中很多场合会用到。 6. 最优化理论的三大非经典算法:模拟退火算法、神经网络算法、遗传算法。这些问题是用来解决一些较困难的最优化问题的,对于有些问题非常有帮助,但是算法的实现比较困难,需慎重使用。 7. 网格算法和穷举法。两者都是暴力搜索最优点的算法,在很多竞赛题中有应用,当重点讨论模型本身而轻视算法的时候,可以使用这种暴力方案,最好使用一些高级语言作为编程工具。

8. 一些连续数据离散化方法。很多问题都是实际来的,数据可以是连续的,而计算机只能处理离散的数据,因此将其离散化后进行差分代替微分、求和代替积分等思想是非常重要的。 9. 数值分析算法。如果在比赛中采用高级语言进行编程的话,那些数值分析中常用的算法比如方程组求解、矩阵运算、函数积分等算法就需要额外编写库函数进行调用。 10. 图象处理算法。赛题中有一类问题与图形有关,即使问题与图形无关,论文中也会需要图片来说明问题,这些图形如何展示以及如何处理就是需要解决的问题,通常使用MATLAB 进行处理。 以下将结合历年的竞赛题,对这十类算法进行详细地说明。 以下将结合历年的竞赛题,对这十类算法进行详细地说明。 2 十类算法的详细说明 蒙特卡罗算法 大多数建模赛题中都离不开计算机仿真,随机性模拟是非常常见的算法之一。 举个例子就是97 年的A 题,每个零件都有自己的标定值,也都有自己的容差等级,而求解最优的组合方案将要面对着的是一个极其复杂的公式和108 种容差选取方案,根本不可能去求解析解,那如何去找到最优的方案呢随机性模拟搜索最优方案就是其中的一种方法,在每个零件可行的区间中按照正态分布随机的选取一个标定值和选取一个容差值作为一种方案,然后通过蒙特卡罗算法仿真出大量的方案,从中选取一个最佳的。另一个例子就是去年的彩票第二问,要求设计一种更好的方案,首先方案的优劣取决于很多复杂的因素,同样不可能刻画出一个模型进行求解,只能靠随机仿真模拟。

数学建模常用算法模型

数学模型的分类 按模型的数学方法分: 几何模型、图论模型、微分方程模型、概率模型、最优控制模型、规划论模型、马氏链模型等 按模型的特征分: 静态模型和动态模型,确定性模型和随机模型,离散模型和连续性模型,线性模型和非线性模型等 按模型的应用领域分: 人口模型、交通模型、经济模型、生态模型、资源模型、环境模型等。 按建模的目的分: 预测模型、优化模型、决策模型、控制模型等 一般研究数学建模论文的时候,是按照建模的目的去分类的,并且是算法往往也和建模的目的对应 按对模型结构的了解程度分: 有白箱模型、灰箱模型、黑箱模型等 比赛尽量避免使用,黑箱模型、灰箱模型,以及一些主观性模型。 按比赛命题方向分: 国赛一般是离散模型和连续模型各一个,2016美赛六个题目(离散、连续、运筹学/复杂网络、大数据、环境科学、政策) 数学建模十大算法 1、蒙特卡罗算法 (该算法又称随机性模拟算法,是通过计算机仿真来解决问题的算法,同时可以通过模拟可以来检验自己模型的正确性,比较好用的算法) 2、数据拟合、参数估计、插值等数据处理算法 (比赛中通常会遇到大量的数据需要处理,而处理数据的关键就在于这些算法,通常使用Matlab作为工具) 3、线性规划、整数规划、多元规划、二次规划等规划类问题 (建模竞赛大多数问题属于最优化问题,很多时候这些问题可以用数学规划算法来描述,通常使用Lindo、Lingo软件实现) 4、图论算法 (这类算法可以分为很多种,包括最短路、网络流、二分图等算法,涉及到图论的问题可以用这些方法解决,需要认真准备)

5、动态规划、回溯搜索、分治算法、分支定界等计算机算法 (这些算法是算法设计中比较常用的方法,很多场合可以用到竞赛中) 6、最优化理论的三大非经典算法:模拟退火法、神经网络、遗传算法 (这些问题是用来解决一些较困难的最优化问题的算法,对于有些问题非常有帮助,但是算法的实现比较困难,需慎重使用) 7、网格算法和穷举法 (当重点讨论模型本身而轻视算法的时候,可以使用这种暴力方案,最好使用一些高级语言作为编程工具) 8、一些连续离散化方法 (很多问题都是从实际来的,数据可以是连续的,而计算机只认的是离散的数据,因此将其离散化后进行差分代替微分、求和代替积分等思想是非常重要的) 9、数值分析算法 (如果在比赛中采用高级语言进行编程的话,那一些数值分析中常用的算法比如方程组求解、矩阵运算、函数积分等算法就需要额外编写库函数进行调用) 10、图象处理算法 (赛题中有一类问题与图形有关,即使与图形无关,论文中也应该要不乏图片的这些图形如何展示,以及如何处理就是需要解决的问题,通常使用Matlab进行处理) 算法简介 1、灰色预测模型(必掌握) 解决预测类型题目。由于属于灰箱模型,一般比赛期间不优先使用。 满足两个条件可用: ①数据样本点个数少,6-15个 ②数据呈现指数或曲线的形式 2、微分方程预测(高大上、备用) 微分方程预测是方程类模型中最常见的一种算法。近几年比赛都有体现,但其中的要求,不言而喻。学习过程中 无法直接找到原始数据之间的关系,但可以找到原始数据变化速度之间的关系,通过公式推导转化为原始数据的关系。 3、回归分析预测(必掌握) 求一个因变量与若干自变量之间的关系,若自变量变化后,求因变量如何变化; 样本点的个数有要求: ①自变量之间协方差比较小,最好趋近于0,自变量间的相关性小; ②样本点的个数n>3k+1,k为自变量的个数;

数学建模常用算法模型

按模型的数学方法分: 几何模型、图论模型、微分方程模型、概率模型、最优控制模型、规划论模型、马氏链模型等 按模型的特征分: 静态模型和动态模型,确定性模型和随机模型,离散模型和连续性模型,线性模型和非线性模型等 按模型的应用领域分: 人口模型、交通模型、经济模型、生态模型、资源模型、环境模型等。 按建模的目的分: 预测模型、优化模型、决策模型、控制模型等 一般研究数学建模论文的时候,是按照建模的目的去分类的,并且是算法往往也和建模的目的对应 按对模型结构的了解程度分: 有白箱模型、灰箱模型、黑箱模型等 比赛尽量避免使用,黑箱模型、灰箱模型,以及一些主观性模型。 按比赛命题方向分: 国赛一般是离散模型和连续模型各一个,2016美赛六个题目(离散、连续、运筹学/复杂网络、大数据、环境科学、政策) 数学建模十大算法 1、蒙特卡罗算法 (该算法又称随机性模拟算法,是通过计算机仿真来解决问题的算法,同时可以通过模拟可以来检验自己模型的正确性,比较好用的算法) 2、数据拟合、参数估计、插值等数据处理算法 (比赛中通常会遇到大量的数据需要处理,而处理数据的关键就在于这些算法,通常使用Matlab作为工具)

3、线性规划、整数规划、多元规划、二次规划等规划类问题 (建模竞赛大多数问题属于最优化问题,很多时候这些问题可以用数学规划算法来描述,通常使用Lindo、Lingo软件实现) 4、图论算法 (这类算法可以分为很多种,包括最短路、网络流、二分图等算法,涉及到图论的问题可以用这些方法解决,需要认真准备) 5、动态规划、回溯搜索、分治算法、分支定界等计算机算法 (这些算法是算法设计中比较常用的方法,很多场合可以用到竞赛中) 6、最优化理论的三大非经典算法:模拟退火法、神经网络、遗传算法 (这些问题是用来解决一些较困难的最优化问题的算法,对于有些问题非常有帮助,但是算法的实现比较困难,需慎重使用) 7、网格算法和穷举法 (当重点讨论模型本身而轻视算法的时候,可以使用这种暴力方案,最好使用一些高级语言作为编程工具) 8、一些连续离散化方法 (很多问题都是从实际来的,数据可以是连续的,而计算机只认的是离散的数据,因此将其离散化后进行差分代替微分、求和代替积分等思想是非常重要的) 9、数值分析算法 (如果在比赛中采用高级语言进行编程的话,那一些数值分析中常用的算法比如方程组求解、矩阵运算、函数积分等算法就需要额外编写库函数进行调用)10、图象处理算法 (赛题中有一类问题与图形有关,即使与图形无关,论文中也应该要不乏图片的这些图形如何展示,以及如何处理就是需要解决的问题,通常使用Matlab进行处理) 算法简介 1、灰色预测模型(必掌握)

数学建模实验答案 离散模型讲解

实验09 离散模型(2学时) (第8章离散模型) 1. 层次分析模型 1.1(验证,编程)正互反阵最大特征根和特征向量的实用算法p263~264 已知正互反阵 261????1/21A?4????1/461/1?? 注:[263]定理2 n阶正互反阵A的最大特征根≥n。 ★(1) 用MATLAB函数求A的最大特征根和特征向量。 调用及运行结果(见[264]): 1 3.0092 k = 1 >> w=V(:,k)/sum(V(:,k))

w = 0.5876 0.3234 0.0890 [263])(2) 幂法(见n正互反矩阵,算法步骤如下:A为n×(0)w 1);a. 任取n 维非负归一化初始列向量(分量之和为)k?1)((k2,0,1,?Aww,k?;计算b. 1)?(k w 1)k?(?w1)k?(w归一化,即令c. ;n ?1)?(k w i 1i?)(1)k(k?1)k?(?)n|?|w,(i?w?1,2,w即,当d. 对于预先给定的精度ε时,ii b;为所求的特征向 量;否则返回到步骤1)?(kn w1??i?。e. 计算最大特征根 )(k wn1i?i 注:)k(k?1)(((k)k)???wAw??ww? 1)(k? w?i n,i?1,2,?? )k(w i 文件如下:函数式m [lambda w]=p263MI(A,d) function——求正互反阵最大特征根和特征向量%幂法% A 正互反方阵% d 精度 2 % lambda 最大特征根归一化特征列向量% w 0.000001,则d取if(nargin==1) %若只输入一个变量(即A)d=1e-6; end 的阶数取方阵A n=length(A); %任取归一化初始列向量 w0=w0/sum(w0);%w0=rand(n,1); 1 while ww=A*w0; %归一化w=ww/sum(ww); all(abs(w-w0)

离散数学建模

离散建模 专业计算机科学与技术班级 姓名 学号 授课教师 二 O 一七年十二月

离散建模是离散数学与计算机科学技术及IT技术应用间的联系桥梁。也是学习离散数学的根本目的。 它有两部分内容组成: 1.离散建模概念与方法 2.离散建模应用实例 一.离散建模概念与方法 1.1离散建模概念 在客观世界中往往需要有许多问题等待人们去解决。而解决的方法很多,最为常见的方法是将客观世界中的问题域抽象成一种形式化的数学表示称数学模型,从而将对问题域的求解变成为对数学表示式的求解。而由于人们对数学的研究已有数千年历史,并已形成了一整套行之有效的对数学求解的理论与方法,因此用这种数学方法去解决实际问题可以取得事倍功半的作用。而采用这种方法的关键之处是数学模型的建立,它称为数学建模,而当这种数学模型是建立在有限集或可列集之上时,此种模型的建立称离散建模。 1.2.离散建模方法 (1)两个世界理论 在离散建模中有两个世界,一个是现实世界另一个是离散世界。现实世界是问题域产生的世界,离散世界则是一种数学世界,它有三个特性:离散世界采用离散数学语言,该语言具有简洁性且表达力丰富。 离散世界所表示的是一种抽象符号,它是一种形式化符号体系。 离散世界中的环境简单,它在离散建模时设立,可以屏蔽大量无关信息对问题求解的干扰。 为求解问题须将问题域转换成离散模型,然后对离散模型求解,再逆向转换成现实世界中的解. (2)两个世界的转换 在离散建模方法中需要构作两种转换,即由现实世界到离散世界的转换以及由离散世界到现实世界的逆转换,而其中第一种转换尤为重要,这种转换我们一般即称之为离散建模。 下面对两种转换作介绍: 现实世界到离散世界的转换

离散数学建模

. .. . 离散建模 专业计算机科学与技术 班级 姓名 学号 授课教师 二 O 一七年十二月 .. ..范文 . .

离散建模是离散数学与计算机科学技术及IT技术应用间的联系桥梁。也是学习离散数学的根本目的。 它有两部分容组成: 1.离散建模概念与方法 2.离散建模应用实例 一.离散建模概念与方法 1.1离散建模概念 在客观世界中往往需要有许多问题等待人们去解决。而解决的方法很多,最为常见的方法是将客观世界中的问题域抽象成一种形式化的数学表示称数学模型,从而将对问题域的求解变成为对数学表示式的求解。而由于人们对数学的研究已有数千年历史,并已形成了一整套行之有效的对数学求解的理论与方法,因此用这种数学方法去解决实际问题可以取得事倍功半的作用。而采用这种方法的关键之处是数学模型的建立,它称为数学建模,而当这种数学模型是建立在有限集或可列集之上时,此种模型的建立称离散建模。 1.2.离散建模方法 (1)两个世界理论 在离散建模中有两个世界,一个是现实世界另一个是离散世界。现实世界是问题域产生的世界,离散世界则是一种数学世界,它有三个特性:离散世界采用离散数学语言,该语言具有简洁性且表达力丰富。 离散世界所表示的是一种抽象符号,它是一种形式化符号体系。 离散世界中的环境简单,它在离散建模时设立,可以屏蔽大量无关信息对问题求解的干扰。 为求解问题须将问题域转换成离散模型,然后对离散模型求解,再逆向转换成现实世界中的解. (2)两个世界的转换 在离散建模方法中需要构作两种转换,即由现实世界到离散世界的转换以及由离散世界到现实世界的逆转换,而其中第一种转换尤为重要,这种转换我们一般即称之为离散建模。 下面对两种转换作介绍: 现实世界到离散世界的转换

数学建模 四大模型总结

四类基本模型 1 优化模型 1.1 数学规划模型 线性规划、整数线性规划、非线性规划、多目标规划、动态规划。 1.2 微分方程组模型 阻滞增长模型、SARS 传播模型。 1.3 图论与网络优化问题 最短路径问题、网络最大流问题、最小费用最大流问题、最小生成树问题(MST)、旅行商问题(TSP)、图的着色问题。 1.4 概率模型 决策模型、随机存储模型、随机人口模型、报童问题、Markov 链模型。 1.5 组合优化经典问题 ● 多维背包问题(MKP) 背包问题:n 个物品,对物品i ,体积为i w ,背包容量为W 。如何将尽可能多的物品装入背包。 多维背包问题:n 个物品,对物品i ,价值为i p ,体积为i w ,背包容量为W 。如何选取物品装入背包,是背包中物品的总价值最大。 多维背包问题在实际中的应用有:资源分配、货物装载和存储分配等问题。该问题属于NP 难问题。 ● 二维指派问题(QAP) 工作指派问题:n 个工作可以由n 个工人分别完成。工人i 完成工作j 的时间为ij d 。如何安排使总工作时间最小。 二维指派问题(常以机器布局问题为例):n 台机器要布置在n 个地方,机器i 与k 之间的物流量为ik f ,位置j 与l 之间的距离为jl d ,如何布置使费用最小。 二维指派问题在实际中的应用有:校园建筑物的布局、医院科室的安排、成组技术中加工中心的组成问题等。 ● 旅行商问题(TSP) 旅行商问题:有n 个城市,城市i 与j 之间的距离为ij d ,找一条经过n 个城市的巡回(每个城市经过且只经过一次,最后回到出发点),使得总路程最小。 ● 车辆路径问题(VRP) 车辆路径问题(也称车辆计划):已知n 个客户的位置坐标和货物需求,在

离散数学定义必须背

命题逻辑 ?(论域)定义:论域是一个数学系统,记为D。它由三部分组成: ?(1)一个非空对象集合S,每个对象也称为个体; ?(2) 一个关于D的函数集合F; ?(3)一个关于D的关系集合R。 ?(逻辑连接词)定义 ?设n>0,称为{0,1}n到{0,1}的函数为n元函数,真值函数也称为联结词。 ?若n =0,则称为0元函数。 ?(命题合式公式)定义: R) A n ?结构:论域和解释称为结构。 ?语义:符号指称的对象。公式所指称对象。合式公式的语义是其对应的逻辑真值。 ?(合式公式语义)设S是联结词的集合是{?,∧,∨,⊕,→,?}。由S生成的合式公式Q在真值赋值v下的真值指派v(Q)定义如下: ?⑴v(0)=0, v(1)=1。 ?⑵若Q是命题变元p,则v(A)= pv。 ?⑶若Q1,Q2是合式公式 ?若Q= ?Q1,则v(Q)= ?v(Q1) ?若Q=Q1 ∧ Q2,则v(Q)=v(Q1)∧ v(Q2)

?若Q=Q1∨Q2,则v(Q)=v(Q1)∨v(Q2) ?若Q=Q1→ Q2,则v(Q)=v(Q1)→ v(Q2) ?若Q=Q1 ? Q2,则v(Q)=v(Q1)? v(Q2) ?若Q=Q1⊕ Q2,则v(Q)=v(Q1)⊕ v(Q2) ?(真值赋值)由S生成的公式Q在真值赋值v下的真值v(Q)定义如下:?⑴若Q是S中的0元联结词c,则v(Q)=c。 ?⑵若Q是命题变元p,则v(Q)= pv。 ?⑶若Q是FQ1…,Qn,其中n≥1,F是S中的n元联结词,Qi是公式,则v(Q)=v(FQ1…Qn)=Fv(Q1)…v(Qn)。 ?(可满足与有效)定义1.7 设Q是公式。 ?⑴如果真值赋值v使得v(Q)=1,则称v满足Q。 中 F。 A1 Bn ?(逻辑推论)定义: ?若真值赋值v满足公式集合Γ中的每个公式,则称v满足Γ。若有真值赋值满足Γ,则称Γ是可满足的,否则称Γ是不可满足的。 ?设Γ是公式的集合,A是公式。如果每个满足Γ的真值赋值都满足A,则称A 是Γ的逻辑推论,记为Γ|=A。若Γ|=A不成立,记为Γ|≠A。 谓词逻辑

数学建模实验答案离散模型

实验09 离散模型(2学时) (第8章 离散模型) 1. 层次分析模型 1.1(验证,编程)正互反阵最大特征根和特征向量的实用算法p263~264 已知正互反阵 ?? ????????=14/16/1412/1621 A 注:[263]定理2 n 阶正互反阵A 的最大特征根 ≥ n 。 ★(1) 用MATLAB 函数求A 的最大特征根和特征向量。

(2) 幂法(见[263]) A 为n×n 正互反矩阵,算法步骤如下: a. 任取n 维非负归一化初始列向量(分量之和为1)(0) w ; b. 计算(1) (),0,1,2,k k w Aw k +==%L ; c. (1) k w +%归一化,即令(1) (1) (1) 1k k n k i i w w w +++== ∑%%; d. 对于预先给定的精度ε,当(1) ()||(1,2,,)k k i i w w i n ε +-<=L 时,(1)k w +即为所求 的特征向量;否则返回到步骤b ; e. 计算最大特征根(1)()11k n i k i i w n w λ+==∑%。 注: ()()(1)()(1) () 1,2,,k k k k k i k i Aw w w w w i n w λλλ++≈?≈?∴≈=%%L 函数式m 文件如下:

n=length(A); %取方阵A 的阶数 w0=rand(n,1); w0=w0/sum(w0);%任取归一化初始列向量 while 1 ww=A*w0; w=ww/sum(ww); %归一化 if all(abs(w-w0)

离散数学与计算机专业学习的关系

离散数学与计算机专业学习的关系 发表时间:2010-08-05T09:45:31.763Z 来源:《价值工程》2010年第4月上旬供稿作者:周庆平 [导读] 离散数学课程自上世纪70年代出现以来一直是计算机专业的核心课程之一 周庆平(唐山师范学院,唐山 063000) 摘要:离散数学不但是数学中涉及面非常广的课程而且是计算机科学与技术专业的一门重要的专业基础课程,特别是近几十年来,由于计算机的迅速发展与广泛应用,大量与数学相关的实际问题往往需首先转化成离散数学的问题。本文就离散数学与计算机专业课程进程中的相关问题做出自身的评判。 关键词:离散数学;离散建模;课程改革 中图分类号:TP3-05 文献标识码:A 文章编号:1006-4311(2010)10-0204-02 0 引言 离散数学课程自上世纪70年代出现以来一直是计算机专业的核心课程之一,离散数学课程的教学目的,不但作为计算机科学与技术及相关专业的理论基础及核心主干课,对后续课程提供必需的理论支持。计算机专业中这样重要的课程竟会出现这样奇怪的现象,不禁使人疑惑:离散数学到底出了什么问题? 更重要的是旨在“通过加强数学推理,组合分析,离散结构,算法构思与设计,构建模型等方面专门与反复的研究、训练及应用,培养提高学生的数学思维能力和对实际问题的求解能力。” 由于数字电子计算机是一个离散结构,它只能处理离散的或离散化了的数量关系,因此,无论计算机科学本身,还是与计算机科学及其应用密切相关的现代科学研究领域,都面临着如何对离散结构建立相应的数学模型;又如何将已用连续数量关系建立起来的数学模型离散化,从而可由计算机加以处理 1 课程的目标定位 在长达三十余年的课程发展历史中,离散数学在计算机专业,特别是应用型计算机专业中的目标定位,要改变离散数学目前的局面首先需从明确目标定位做起。 1.1 一般认为,应用型本科计算机专业目标定位有掌握离散数学的基本理论与方法,同时培养抽象的离散思维能力与逻辑思维能力。为诸多后续课程提供支持。用于计算机领域的离散建模。大多数人怀疑用于计算机领域的离散建模。作为计算机学科工具,离散建模是离散数学区别高等数学的根本之处,是使离散数学成为计算机专业核心课程的原因之一,也是离散数学与计算机紧密关联之处由此可看,明确这个目标定位是离散数学课程改革的当务之急。 1.2 离散数学是计算机科学与技术应用与研究的有力工具计算机专业人员通过离散数学逻辑思维能力与抽象思维能力的培养,在这些能力的作用下使他们的应用、研究能力有所提高。这种说法虽有一定道理,但远不止如此。离散数学成为计算机专业的核心课程,主要原因就是由于它与计算机学科直接的、紧密的关联,特别是它作为研究与应用计算机学科的工具,历史的发展可以证明这一点。 在计算机的发展历史中,离散数学起着至关重要的作用,在计算机产生前,图灵机理论对冯 #8226;诺依曼计算机的出现起到了理论先导作用;布尔代数作为工具对数字逻辑电路起到指导作用;自动机理论对编译系统开发的理论意义、谓词逻辑理论对程序正确性的证明以及软件自动化理论的产生都起到了奠基性的作用。此外,应用代数系统所开发的编码理论已广泛应用于数据通讯及计算机中,而应用关系代数对关系数据库的出现与发展起到了至关重要的作用。近年来,离散数学在人工智能、专家系统及信息安全中均起到了直接的、指导性的作用。以上充分证明,离散数学在计算机科学与技术的研究与开发中作为一种强有力的工具,起着重要作用。 1.3 离散建模是离散数学应用于计算机学科的有效手段离散数学在计算机科学中占有相当重要的地位。因此我们要较好的把握离散数学学习。离散数学与计算机学科发生关系,主要通过离散建模实现了从离散数学到计算机领域的应用。 首先,对计算机(或客观世界)中的某领域建立起一个抽象的形式化(离散)数学模型,称离散模型,而建立模型过程称离散建模。该领域的研究归结为对离散模型的研究。其次,用离散数学的方法对离散模型求解,由于离散模型具有强大的离散数学理论支撑,因此对它的求解比对领域的求解更为有效。最后,可将离散模型的形式化解语义化为某领域的具体结果。 这样,我们可以将对某领域的研究通过建立离散模型而归结为对离散模型的研究,最后可将其研究数学结果返回为领域中的语义结果从而最终实现问题求解的目的。 有关的研究例子有很多,如在数据库研究中建立的关系代数模型、在编译系统中建立的自动化模型、在数字逻辑电路中建立的布尔代数模型以及在数据通讯中建立的纠错码模型等。 下面以关系代数模型为例说明离散数学对计算机科学技术发展的作用。对数据库领域的研究始于上世纪60年代,最初采用的是图论模型从而形成了当时有名的层次数据库与网状数据库,它们对构作数据静态结构起着重要作用。在数据的动态结构要求与数据操作要求越加重要形势下,IBM公司F.F.Codd于1970年提出了数据库的关系代数模型。该模型用离散数学中的关系表示数据库中数据结构,用代数系统中的代数运算表示数据库中的动态结构与数据操作要求。这个离散模型较为真实地反映了数据库发展的需求,因而成为当时数据库中最为流行的模型,它称为关系模型。 2 数学建模与计算机的关系 随着计算机的出现和广泛应用,计算机软硬件技术的迅速发展,数学的应用已从物理领域深入到经济、生态、环境、医学、人口和社会等更为复杂的非物理领域。今天,许多基础学科已从定性描绘走向定量分析,边缘学科不断涌现;数学在金融、经济、工程技术以及自然科学中具有广泛的应用,它的重要性已逐渐成为人们的共识。利用数学方法解决实际问题时,要求从实际错综复杂的关系中找出其内在规律,然后用数字、图表、符号和公式把它表示出来,再经过数学与计算机的处理,得出供人们进行分析、决策、预报或者控制的定量结果。数学建模过程需要经过模型假设、模型建立、模型求解、模型分析与检验、模型应用等几个步骤,在这些步骤中都伴随着计算机的使用。 计算机的产生正是数学建模的产物,20纪40年代,美国为了研究弹道导弹飞行轨迹的问题,迫切需要一种计算工具来代替人工计算,计算机在这样的背景下应运而生。计算机的产生与发展又极大地推动了数学建模活动,计算机高速的运算能力,非常适合数学建模过程中的数值计算;它的大容量贮存能力以及网络通讯功能,使得数学建模过程中资料存贮、检索变得方便有效;它的多媒体化,使得数学建模

相关文档
最新文档