3.5  有一农夫带一条狼,一只羊和一筐菜欲从河的左岸乘船到右岸,但受下列条件限制:(1)船太小,农夫每次只能带一样东西过河;(2)如果没有农夫看管,则狼要吃羊,羊要吃菜。请设计一个过河方案,是的农夫,狼,羊都能不受损失地过河,画出相应的状态空间图。  

解:

由于状态变量有4个,每个状态变量都有2种取值,因此有以下16种可能的状态:

S0=(1,1,1,1),S1=(1,1,1,0),S2=(1,1,0,1),S3=(1,1,0,0) S4=(1,0,1,1),S5=(1,0,1,0),S6=(1,0,0,1),S7=(1,0,0,0) S8=(0,1,1,1),S9=(0,1,1,0),

S10=(0,1,0,1),S11=(0,1,0,0) S12=(0,0,1,1),S13=(0,0,1,0),S14=(0,0,0,1),S15=(0,0,0,0)

其中,状态S3,S6,S7,S8,S9,S12是不合法状态,S0和S15分别是初始状态和目标状态。

3.8.间图3.28是五个城市的交通图,城市之间的连线旁边的数字是城市之路程的费用。要求从A城出发,经过其他各城一次仅且一次,最后回到A城,请找出一条最优路线。

解:五个城市可以组成以下路径:

(1)A-B-C-D-E-A,代价=10+8+3+9+11=41. (2)A-B-C-E-D-A,代价=10+8+8+9+9=44.

(3)A-B-D-C-E-A,代价=10+12+3+8+11=44. (4)A-B-D-E-C-A,代价=10+12+9+8+2=41.

(5)A-B-E-C-D-A,代价=10+6+8+3+9=36. (6)A-B-E-D-C-A,代价=10+6+9+3+2=30.

(7)A-C-B-D-E-A,代价=2+8+12+9+11=42. (8)A-C-B-E-D-A,代价=2+8+6+9+9=34.

(9)A-C-D-B-E-A,代价=2+3+12+6+11=34. (10)A-C-D-E-B-A,代价=2+3+9+6+10=30.

(11)A-C-E-B-D-A,代价=2+8+6+12+9=37.(12)A-C-E-D-B-A,代价=2+8+9+12+10=41.

(13)A-D-B-C-E-A,代价=9+12+8+8+11=48.(14)A-D-B-E-C-A,代价=9+12+6+8+2=37.

(15)A-D-C-B-E-A,代价=9+3+8+6+11=37.(16)A-D-C-E-B-A,代价=9+3+8+6+10=36.

(17)A-D-E-C-B-A,代价=9+9+8+8+10=44.(18)A-D-E-B-C-A,代价=9+9+6+8+2=34.

(19)A-E-B-C-D-A,代价=11+6+8+3+9=37. (20)A-E-B-D-C-A,代价=11+6+12+3+2=34.

(21)A-E-C-B-D-A,代价=11+8+8+12+9=48. (22)A-E-C-D-B-A,代价=11+8+3+12+10=44.

(23)A-E-D-B-C-A,代价=11+9+12+8+2=42.

所以最短路径为:A-C-D-E-B-A

p95 3.5、3.8的更多相关文章

  1. 1、My Scripts

    1.写一个包含命令.变量和流程控制的语句来清除/var/log的messages日志文件的shell脚本.(P26)(11-21) 2.利用$0和(dirname.basename)取出当前路径的目录 ...

  2. P95、P99.9百分位数值——服务响应时间的重要衡量指标

    前段时间,在对系统进行改版后,经常会有用户投诉说页面响应较慢,我们看了看监控数据,发现从接口响应时间的平均值来看在500ms左右,也算符合要求,不至于像用户说的那么慢,岁很费解,后来观察其它的一些指标 ...

  3. 可靠的、可扩展的、可维护的数据系统 ------《Designing Data-Intensive Applications》读书笔记1

    坦白说也是机缘巧合,在硕士生阶段进入分布式系统领域学习.无论是大规模存储或计算,其核心也是运用分布式技术利用并行性来解决数据密集型应用的需求.最近开始在啃这本<Designing Data-In ...

  4. 3星|《AI极简经济学》:AI的预测、决策、战略等方面的应用案例介绍

    AI极简经济学 主要内容是AI的各种应用案例介绍.作者把这些案例分到五个部分介绍:预测.决策.工具.战略.社会. 看书名和介绍以为会从经济学的角度解读AI,有更多的新鲜的视角和观点,读后比较失望,基本 ...

  5. 一小部分机器学习算法小结: 优化算法、逻辑回归、支持向量机、决策树、集成算法、Word2Vec等

    优化算法 先导知识:泰勒公式 \[ f(x)=\sum_{n=0}^{\infty}\frac{f^{(n)}(x_0)}{n!}(x-x_0)^n \] 一阶泰勒展开: \[ f(x)\approx ...

  6. SpringCloud的入门学习之概念理解、Feign负载均衡入门

    1.Feign是SpringCloud的一个负载均衡组件. Feign是一个声明式WebService客户端.使用Feign能让编写Web Service客户端更加简单, 它的使用方法是定义一个接口, ...

  7. SkyWalking6.2.0版本UI参数、告警参数、指标含义中文解释

    一.告警规则相关参数 二.SkyWalking UI相关参数CPM:每分钟请求调用的次数SLA: 服务等级协议(简称:SLA,全称:service level agreement).是在一定开销下为保 ...

  8. 万字长文入门 Redis 命令、事务、锁、订阅、性能测试

    作者:痴者工良 Redis 基本数据类型 Redis 中,常用的数据类型有以下几种: String:字符串类型,二进制安全字符串: Hash:哈希表: List 列表:链表结构,按照插入顺序排序的字符 ...

  9. js-静态、原型、实例属性

    本篇来说一下js中的属性: 1.静态属性 2.原型属性 3.实例属性 静态属性: function klass(){} var obj=new klass(); klass.count=0; klas ...

随机推荐

  1. C++ Placement New

    先看一个题目: #include <stdio.h> #include <iostream> using namespace std; struct Base { int j; ...

  2. chrome调试ajax

    network可以查看ajax的信息.非常的实用.

  3. [Leetcode][Python]26: Remove Duplicates from Sorted Array

    # -*- coding: utf8 -*-'''__author__ = 'dabay.wang@gmail.com' 26: Remove Duplicates from Sorted Array ...

  4. linux中读写锁的rwlock介绍-nk_ysg-ChinaUnix博客

    linux中读写锁的rwlock介绍-nk_ysg-ChinaUnix博客 linux中读写锁的rwlock介绍 2013-02-26 13:59:35 分类: C/C++   http://yaro ...

  5. c++打印环境变量

    直接上代码:cpp版本 #include <stdio.h> #include <stdlib.h> #include <string.h> extern char ...

  6. ItextSharp代码示例

    示例代码目录 示例代码0101. 5 示例代码0102. 7 示例代码0103. 9 示例代码0104. 11 示例代码0105. 13 示例代码0106. 15 示例代码0107. 17 示例代码0 ...

  7. MATLAB一句总结

    MATLAB使用过程中的一些小总结: 1.sqrt函数的输入参数应为double类型: 2.im2bw把图像转换为二值图像: 3.double类型的图片必须转换为uint8类型后才能用imshow显示 ...

  8. hosts文件简析

    什么是hosts文件 hosts文件是个什么文件呢?Hosts虽然没有后缀名,其实是个纯文本文件,可以用记事本等文本编辑软件打开.Hosts文件主要用于在本地电脑强制解析域名,Hosts文件里包含映射 ...

  9. oracle 导入txt

    没有Oraclehoume的情况下,执行下环境变量文件 sqlldr userid= DM/DM control = /home/oracle/libc/load.ctl load data infi ...

  10. BZOJ 4311: 向量( 按时间分治 + 线段树 )

    离线, 然后按时间分治, 每个向量都有出现时间[l, r], 直接插入时间线段树(一个向量只会影响O(logN)数量级的线段树节点). 在线段树每个节点弄出凸壳然后二分. 时间复杂度O(Nlog^2N ...