商人们怎样安全过河附MATLAB程序完整.doc

*** 商人们怎样安全过河 随从们密约, 在河的任一岸, 一旦随从的人数比商人多, 就杀人越货. 但是乘船渡河的方案由商人决定. 商人们怎样才能安全过河 问题分析D多步决策过程决策 每一步此岸到彼岸或彼岸到此岸船上的人员要求在安全的前提下两岸的随从数不比商人多,经有限步使全体人员过河.建立模型xk第k次渡河前此岸的商人数 xk, yk0,1,2,3;yk第k次渡河前此岸的随从数 k1,2,|.... skxk , yk过程的状态 S 允许状态集合Sx , y| x0, y0,1,2,3; x3, y0,1,2,3; xy1,2uk第k次渡船上的商人数 uk, vk0,1,2;vk第k次渡船上的随从数 k1,2,..... dkuk , vk决策 Du , v| uv1, 2 允许决策集合 状态转移律 多步决策问题 求dkDk1,2, n, 使skS, 并按转移律由 s13,3到达 sn10,0. 模型求解穷举法 编程上机 Sx , y| x0, y0,1,2,3;x3, y0,1,2,3; xy1,2 图解法状态sx,y 16个格点允许状态 10个 点允许决策 移动1或2格; k奇,左下移; k偶,右上移.d1,.......,d11给出安全渡河方案评注和思考规格化方法,易于推广考虑4名商人各带一随从的情况程序 开始 function juecheguoheclear allclc 程序开始需要知道商人和仆人数; shangren输入商人数目 ;puren输入仆人数目 ;rongliang输入船的最大容量 ; if purenshangrenshangren输入商人数目;puren输入仆人数目;rongliang输入船的最大容量; end 决策生成 jc1; 决策向量放在矩阵d中,jc为插入新元素的行标初始为1; for i0rongliang for j0rongliang if ijrongliangij0 满足条Du,v|1uvrongliang,u,v0,1,2 djc,13i,j ,1; 生成一个决策向量立刻扩充为三维; djc1,13-i,-j,-1; 同时生成他的负向量; jcjc2; 由于生成两个决策向量,则jc要向下移动两个; end end j0; end 状态数组生成 kx1; 状态向量放在A矩阵中,生成方法同矩阵生成;for ishangren-10 for jpuren-10 if ijshangren-ipuren-j|i0|ishangren ijshangren-ipuren-j|i0|ishangren为可以存在的状态的约束条件 Akx,13i,j,1; 生成状态数组集合D Akx1,13i,j,0; kxkx2; end end jpuren;end; 将状态向量生成抽象矩阵 k1/2*sizeA,1; CXzeros2*k,2*k;asized,1; for i12*k for j1a cAi,dj, ; xfindA,1c1A,2c2A,3c3 ; vi,x1; x为空不会改变v值 end enddijstra算法x1; ysizeA,1;msizev,1;Tzerosm,1; TT.-1;lmdT; PT; Szerosm,1; Sx1; Px0; lmdx0;kx; while1 afindS0; aafindS1; if sizeaa,1m break; end for j1sizea,1 ppaj,1; if vk,pp0 if TppPkvk,pp TppPkvk,pp; lmdppk; end end end miminTa; if miinf break; else dfindTmi; dd1; Pdmi; Tdinf; kd; Sd1; endend if lmdyinf juechecan not reach不能过河; return;end jueche1y;g2; hy;while1 if hx break; end juecheglmdh; gg1; hlmdh;end juecheAjueche,;jueche,3; 程序完 ***

matlab程序4名商人,商人们怎样安全过河附MATLAB程序完整.doc相关推荐

  1. matlab三个商人三个随从,商人们怎样安全过河 (附MATLAB程序完整)

    商人们怎样安全过河 随从们密约,在河的任一岸,一旦随从 的人数比商人多,就杀人越货. 但是乘船渡河的方案由商人决定. 商人们怎样才能安全过河? 问题分析:多步决策过程 决策~每一步(此岸到彼岸或彼岸到 ...

  2. matlab仿真点目标,sar合成孔径雷达图像点目标仿真报告(附matlab代码).docx

    sar合成孔径雷达图像点目标仿真报告(附matlab代码).docx SAR图像点目标仿真报告徐一凡1SAR原理简介合成孔径雷达(SyntheticApertureRadar,简称SAR)是一种高分辨 ...

  3. matlab去雾算法论文,基于matlab的图像去雾算法详细讲解与实现-附matlab实现源代码.doc...

    本文主要介绍基于Retinex理论的雾霭天气图像增强及其实现.并通过编写两个程序来实现图像的去雾功能. 1 Rentinex理论 Retinex(视网膜Retina"和大脑皮层Cortex& ...

  4. matlab基础入门之教你如何实现最小二乘法(附MATLAB代码)

    今天博主主要是从如何使用MATLAB实现最小二乘法,首先给出今天重点使用的两个函数. p=polyfit(x,y,n):最小二乘法计算拟合多项式系数.x,y为拟合数据向量,要求维度相同,n为拟合多项式 ...

  5. matlab中max函数的使用方法详细介绍(附matlab代码)

    一.语句 max 数组的最大元素 1.M = max(A) 返回数组的最大元素. 如果 A 是向量,则 max(A) 返回 A 的最大值. 如果 A 为矩阵,则 max(A) 是包含每一列的最大值的行 ...

  6. matlab中zeros函数的使用方法详细介绍(附matlab代码)

    zeros函数语法 X = zeros (返回标量 0) X = zeros(n) (返回一个 n×n 的全零矩阵) X = zeros(sz1,-,szN) (返回由零组成的 sz1×-×szN 数 ...

  7. 商人过河c语言实验报告,商人过河C语言程序编程

    <商人过河C语言程序编程>由会员分享,可在线阅读,更多相关<商人过河C语言程序编程(12页珍藏版)>请在人人文库网上搜索. 1.include #include #includ ...

  8. 在MATLAB中采用M文件实现对Simulink中的S函数程序实现自动调参数

    在做研究的时候我们经常需要对模型的参数就行相应的选择,然而有没有觉得每次更改一个参数都需要运行一次仿真程序觉得很无聊呀,运行完程序还要看效果怎么样,然后再根据效果来调整参数,再次运行程序,如此反复. ...

  9. matlab hilb,MATLAB在科学计算中的应用:第2章 MATLAB 语言程序设计基础

    <MATLAB在科学计算中的应用:第2章 MATLAB 语言程序设计基础>由会员分享,可在线阅读,更多相关<MATLAB在科学计算中的应用:第2章 MATLAB 语言程序设计基础(7 ...

最新文章

  1. 商汤科技发布迄今最大人脸检测数据集,绝杀Deepfake!
  2. NF5270M3服务器主板安装系统,NF5270M3 – 主板相关
  3. 使用DbContextPool提高EfCore查询性能
  4. Service onStartCommand 返回值
  5. java类加载机制ClassLoad
  6. 烂泥:nagios监控单网卡双IP
  7. 二叉树的镜像(剑指 Offer 27)
  8. 侵犯我的肖像权及其严重!!强烈禁止使用本人真实头像!!
  9. Java用Swing写一个txt文本阅读器,并保存成有格式文本
  10. 基于myscript.js的web手写板(支持中文识别)
  11. hive:函数:自定义函数(笔记)
  12. 神经网络学习小记录2——利用tensorflow构建循环神经网络(RNN)
  13. Android面试必过——Android常见的问题
  14. vulnhub靶场,bulldog1
  15. 炉石一直显示连接服务器,炉石传说无法连接战网服务器怎么办 处理方法详解...
  16. mp4视频损坏无法播放如何修复?
  17. 学习线程安全队列ConcurrentQueue
  18. Red Hat Linux 7.3 +VMWare 虚拟机安装实践
  19. 浪潮服务器系统raid5,浪潮服务器RAID配置及系统引导.doc
  20. 杰奇reader.php源码,杰奇CMS reader.php开源代码

热门文章

  1. FORTRAN+计算物理学学习日记(7)
  2. 超详细讲解CTC理论和实战
  3. R语言数据表三元组(长数据)格式与宽数据格式转换
  4. docker化360的pika
  5. VVC环路滤波(一):ALF
  6. ASP.NET六大验证控件
  7. 相爱八年,却因为一篇Nacos,我们分手了
  8. 包你大开眼界 看一看真正标准化机房 多图
  9. WPS 复制的网址自动变成中文标题超链接
  10. Unity_实现小地图功能