您好,欢迎访问三七文档
当前位置:首页 > IT计算机/网络 > 数据库 > 《智能决策技术》实验报告
含代码1《智能决策技术》实验报告册2018-2019学年第1学期班级:信管151学号:201502105姓名:阳凡凡授课教师:杨丽华实验教师:杨丽华实验学时:16实验组号:1信息管理系含代码2目录实验一有事前信息的决策树技术的操作应用............................3实验二应用层次分析法进行多目标决策....................................6实验三成本预测决策支持系统的开发........................................8实验四专家系统开发工具CLIPS..............................................15实验五专家系统的开发..............................................................19含代码3实验一有事前信息的决策树技术的操作应用实验类型:验证性实验学时:2实验步骤:某石油公司的决策人,打算投资开发某油田。根据现有资料,预计这口油井有高产、低产两种不同状态,分别记为S1、S2。高产可获利润400万元,而低产时将净亏损200万元,已知这两种情况出现的概率分别为:P(S1)=0.6,P(S2)=0.4,一般来说,常见的地质结构有“好”、“中等”、“差”3种,分别记为C1、C2、C3,为判断该地区属于哪种结构,可作进一步勘测,勘测费用为10万元。已知在不同的油井状态下,勘测结果为不同地质结构的概率如下,P(C1/S1)=0.7,P(C2/S1)=0.2,P(C3/S1)=0.1,P(C1/S2)=0.3,P(C2/S2)=0.1,P(C3/S2)=0.6,问:应采取何种行动方案,才能获取最大收益?重点利用全概率公式:p(ck)p(cksj)p(sk)j1和贝叶斯公式:p(sjck)p(cksj)p(sj)2(k1,2,3;j1,2)p(cksj)p(sj)j1求后验概率部分,得出各方案在不同状态下的概率P(Sj/Ck),以求出最大期望值。要求实验操作过程中,学生自己输入已有数据,并基于已知数据求出后验概率,然后求出不同方案的期望值,进行剪枝决策,得出最优方案。具体过程如下:第一步:将已知数据输入excel中,如下表所示。油田开发决策开发结果为高产油田是的利润(万元)40开发结果为低产油田是的亏损额(万元)-200据资料,油田高产概率为P(s1)60%据资料,油田低产概率为P(s2)40%勘测费用(万元)-10根据资料,不同状态油井的额各勘测结果:高产油井被勘测为“结构好”的概率P(C1|s1)0.7高产油井被勘测为“结构中”的概率P(C2|s1)0.2高产油井被勘测为“结构差”的概率P(C3|s1)0.1低产油井被勘测为“结构好”的概率P(C1|s2)0.3低产油井被勘测为“结构中”的概率P(C2|s2)0.1低产油井被勘测为“结构差”的概率P(C3|s2)0.61含代码4第二步:用贝叶斯公式计算各自然状态下的后验概率P(Sj│Ck),用概率论中的全概率公式计算勘测结果为Ck的概率P(Ck)。由公式p(sjck)p(cksj)p(sj)2(k1,2,3;j1,2)p(cksj)p(sj)j1计算在不同勘测结果下、油井状态为高产或低产的后验概率。由公式p(ck)p(cksj)p(sk)j1计算勘测结果为Ck的概率P(Ck)在相关的单元格中输入上述公式,其计算结果下表所示:不同地质的概率:“结构好”的概率P(C1)=C12*C6+C15*C7“结构中”的概率P(C2)=C13*C6+C16*C7“结构差”的概率P(C3)=C14*C6+C17*C7计算不同的勘测结果下出现不同状态的概率:被勘测为“结构好”实为高产油井的概率P(s1|C1)=C6*C12/C20被勘测为“结构好”实为低产油井的概率P(s2|C1)=1-C25被勘测为“结构中”实为高产油井的概率P(s1|C2)=C6*C13/C21被勘测为“结构中”实为低产油井的概率P(s2|C1)=1-C27被勘测为“结构差”实为高产油井的概率P(s1|C3)=C6*C14/C22被勘测为“结构差”实为低产油井的概率P(s2|C3)=1-C29不同地质的概率:“结构好”的概率P(C1)0.54“结构中”的概率P(C2)0.16“结构差”的概率P(C3)0.3计算不同的勘测结果下出现不同状态的概率:被勘测为“结构好”实为高产油井的概率P(s1|C1)0.78被勘测为“结构好”实为低产油井的概率P(s2|C1)0.22被勘测为“结构中”实为高产油井的概率P(s1|C2)0.75被勘测为“结构中”实为低产油井的概率P(s2|C1)0.25被勘测为“结构差”实为高产油井的概率P(s1|C3)0.2被勘测为“结构差”实为低产油井的概率P(s2|C3)0.81信息工程实验室实验报告册5第三步:构造决策树。构造的决策树的结果如下图:第四步:计算各方案的期望收益值决策树中各方案的期望收益计算是从右向左进行的,首先考虑第二级决策,当勘测结果是“结构好”时,如果采取“不开发”方案,则期望收益为0;如果采取“开发”方案,则当自然状态为“高产”(其修正后的后验概率为0.78)时,收益为400,当自然状态为“低产”,(其修正后的后验概率为0.22)时,收益为-200,所以,“开发”方案的期望收益=400*0。78+(-200)*0.22=268(万元)。该值可以单元格P19中输入=V17*T17+V21*T21获得.信息工程实验室实验报告册6实验结果:比较两种方案的期望收益,选择“开发”方案。所以当勘测结果为“结构好”时,应选择“开发”方案,其期望收益为268万元(这里暂时未扣除勘测费用)。前去“不开发”这方案一分支,并在“结构好”的概率分支上标上期望收益为268万元。同理可得,当勘测结果为“结构中等”时,应采取“开发”方案,其期望收益为250万元;当勘测结果为“结构差”时,应采取“不开发”方案,其期望收益为0(这里暂时均未扣除勘测费用)。比较三个方案的期望收益,取期望收益最大的方案作为最优方案,在单元格D16中输入=MAX(G10,G14,G30)得到最大期望收益值为175万元,可见方案“先勘测”的期望收益最大,为最优方案。因此,本实验的最优决策结果是:先勘测,当勘测结果为“结构好”或“结构中等”时开发,当勘测结果为“结果差”时,不开发,该决策的期望收益为175万元。实验二应用层次分析法进行多目标决策实验类型:验证性实验学时:2实验目的:熟悉并应用层次分析方法对多方案进行优劣排序,从而使学生掌握综合定性和定量两种方法解决问题的思维方式。实验步骤:某公司打算增添一台新设备,现有三种不同型号的设备,P1,P2,P3供选择,选择设备主要考虑的要素是功能、价格和维护,你将如何选择?第一步、建立递阶层次结构模型A购置一台满意的设备C1功能强C2价格低P3P2P1C3易维修信息工程实验室实验报告册7第二步、构造比较判断矩阵第三步、层次单排序第四步、层次总排序第五步、一致性检验信息工程实验室实验报告册8实验结果:决策结果P2最优。实验三成本预测决策支持系统的开发实验类型:设计性实验学时:4实验目的:掌握基于统一结构的决策支持系统的开发,理解模型库的组织和存储。实验步骤:某企业经连续观察,发现其生产的某产品与每批投入的产品件数是线性相关的,15组统计数据如表1所示。现该企业拟投入三批产品,每批投入的产品件数分别为4100(百件),5300(百件),25000(百件)企业希望通过建立成本预测决策支持系统,利用一元线性回归模型来帮助预测每批产品的成本(百元)。序号产品件数产品成本15353.4229184.5338780.8744952.4551425.669887.1277872.9388276.595855.14103341114549.51125253.16信息工程实验室实验报告册9131626.22146866.04156159.26实验要求:1、需要建立相关的数据库,模型库,要有人机交互界面。1、可以使用两个模型:最小二乘法模型及一元线性回归模型。2、使用熟悉的程序语言进行成本预测决策支持系统的开发,要求写出系统运行结构图,主要程序代码,运行结果。第一步:在mysql数据库中创建数据表t_casecreatetableifnotexistst_case(idintauto_increment,t_numint,t_casedouble,primarykey(id))engine=innodbcharset=utf8;第二步:将表1的数据插入数据表t_case中insertintot_casevalues(null,53,53.42),(null,91,84.53),(null,87,80.87),(null,49,52.45),(null,14,25.6),(null,98,87.12),(null,78,72.93),(null,82,76.5),(null,58,55.14),(null,33,41),(null,45,49.51),(null,52,53.16),(null,16,26.22),(null,68,66.04),(null,61,59.26);信息工程实验室实验报告册10第三步:在后端利用java实现最小二乘法模型(主要点这里的算法)参考链接:截图:主要代码:/***计算x的系数a*@paramx,y*@returna*/publicstaticdoublegetA(double[]x,double[]y){信息工程实验室实验报告册11intn=x.length;return(n*pSum(x,y)-sum(x)*sum(y))/(n*sqSum(x)-Math.pow(sum(x),2));}/***计算常量系数b*@paramx,y,a*@returnb*/publicstaticdoublegetB(double[]x,double[]y,doublea){intn=x.length;returnsum(y)/n-a*sum(x)/n;}/***计算常量系数b*@paramx,y*@returnb*/publicstaticdoublegetC(double[]x,double[]y){intn=x.length;doublea=getA(x,y);returnsum(y)/n-a*sum(x)/n;}//计算和值privatestaticdoublesum(double[]ds){doubles=0;for(doubled:ds)s=s+d;returns;}//计算开平方和值privatestaticdoublesqSum(double[]ds){doubles=0;for(doubled:ds)s=s+Math.pow(d,2);returns;}信息工程实验室实验报告册12//计算x和y积的和值privatestaticdoublepSum(double[]x,double[]y){doubles=0;for(inti=0;ix.length;i++)s=s+x[i]*y[i];returns;}第四步:利用SSM框架实现该系统上面的最小二乘法模型的java代码时写在util包中的LeastSquares类中,根据前一个步骤可以知道我们需要做的是先获取数据库中的数据,分别存在两个数组中,再以这两个数组为参数调用LeastSquares类中的方法获取x的系数a和常量系数b,这样我们就可以有一个模型为y=a*x+b;这样后台的逻辑就实现了;主要代码:(由于涉及到SSM框架的代码太多,所以只展示出调用获取系数的代后端包结构前端包结构配置文件信息工程实验室实验报告册13码和实现预测的代码)public
本文标题:《智能决策技术》实验报告
链接地址:https://www.777doc.com/doc-5413192 .html