七桥问题在计算机领域的应用,计算机领域的典型问题.ppt

计算机领域的典型问题

8.3.3 博弈问题 双人完备博弈 两位选手对垒,轮流走步,其中一方完全知道另一方已经走过的棋步以及未来可能的棋步。 对弈的结果要么是一方赢(另一方输),要么是和局。 对于任何一种双人完备博弈,都可以用一个博弈树来描述,并通过博弈树搜索策略寻找最佳解。 博弈树 博弈树类似于状态图和问题求解搜索中使用的搜索树。 搜索树上的一个结点对应一个棋局,树的分支表示棋的走步,根结点表示棋局的开始,叶结点表示棋局的结束。 博弈树是非常大的,国际象棋有10120个结点,中国象棋来有10160个结点,快速搜索非常重要。 8.3.3 博弈问题 中国象棋博弈树 8.3.3 博弈问题 8.4 并发控制问题 生产者-消费者问题 哲学家共餐问题 8.4.1 生产者-消费者问题 问题描述 有n个生产者和m个消费者,在生产者和消费者之间设置了一个能存放k个产品的货架。 只要货架未满,生产者pi生产的产品就可以放入货架,每次放入一个产品; 只要货架非空,消费者cj就可以货架取走产品消费,每次取走一个。 所有生产者的产品生产和消费者的产品消费都可以按自己的意愿进行,即相互之间是独立的。 8.4.1 生产者-消费者问题 约束条件 不允许消费者从空货架取产品,现实中也是取不到的。 不允许生产者向一个已装满产品的货架中再放入产品。 应用背景 是对操作系统中并发进程同步的一种抽象描述,多个进程虽然看起来是按异步方式执行的,但相互有关的进程应有一种协调机制。 8.4.2 哲学家共餐问题 问题描述 哲学家的生活除了吃面条就是思考问题。 吃面条的时候需要左、右手各拿起一支筷子。 吃完后将筷子放回原处,继续思考问题。 8.4.2 哲学家共餐问题 一个哲学家的活动进程表示 思考问题。 饿了停止思考,左手拿一支筷子(拿不到就等)。 右手拿一支筷子(拿不到就等) 。 进餐。 放右手筷子。 放左手筷子。 重新回到思考问题状态。 8.4.2 哲学家共餐问题 可能出现的问题 当所有的哲学家都同时拿起左手筷子时,则所有的哲学家都将拿不到右手的筷子,并处于等待状态,那么哲学家都将无法进餐,称为死锁状态。 将哲学家的活动进程修改一下,变为当右手的筷子拿不到时,就放下左手的筷子。 可能在一个瞬间,所有的哲学家都同时拿起左手的筷子,则自然拿不到右手的筷子,于是都同时放下左手的筷子,等一会,又同时拿起左手的筷子,如此这样永远重复下去,则所有的哲学家仍然无法进餐。 8.4.2 哲学家共餐问题 应用背景 描述了多个进程以互斥方式访问有限资源的问题。 计算机系统不可能总是提供足够多的资源,但又想尽可能多地同时满足多个用户的使用要求。 研究人员已经采取了一些非常有效的方法来尽量满足多个用户对有限资源的同时访问需求,同时尽可能少地出现死锁现象的发生。 8.5 本章小结 歌尼斯堡七桥问题、哈密顿回路问题、中国邮路问题等问题促进了图论的产生和发展。 旅行商问题、汉诺塔问题有助于对算法复杂性的研究,并促使人们设计出更好的解决问题的实用算法。 图灵测试问题、西尔勒中文小屋问题、博弈问题能促进对人工智能的深入理解和研究。 生产者-消费者问题、哲学家共餐问题对于深入理解并实现并发控制是非常有益的。 计算机导论(2014) 第8章 计算机领域的典型问题 8.1 图论问题 8.2 算法复杂性问题 8.3 计算机智能问题 8.4 并发控制问题 8.1 图论问题 歌尼斯堡七桥问题 哈密尔顿回路问题 中国邮路问题 8.1.1 歌尼斯堡七桥问题 问题描述 一个人怎样不重复地走完七座桥,最后还能回到原出发地点? 8.1.1 歌尼斯堡七桥问题 欧拉研究了哥尼斯堡七桥问题 1736年,欧拉论证了该问题无解。 从一点出发不重复地走遍7座桥,最后又回到原来出发点是不可能的。 欧拉对问题进行了抽象 描述:用4个字母A、B、 C、D代表4个城区,并用 7条边表示7座桥。 欧拉的3条判定规则 如果通奇数座桥的地方不止两个,满足要求的路径是找不到的。 如果只有两个地方通奇数座桥,可以从这两个地方之一出发,找到所要求的路径。 如果没有一个地方是通奇数座桥的,则无论从哪里出发,所要求的路径都能实现。 8.1.1 歌尼斯堡七桥问题 欧拉图 经过图中每条边一次且仅一次的路径称为欧拉路径。 如果欧拉路径的起点和终点为图中的同一个顶点,这时的欧拉路径称为欧拉回路。 包含有欧拉回路的图称为欧拉图。 8.1.1 歌尼斯堡七桥问题 欧拉的研究工作奠定了图论的基础 涉及到的后续课程 离散数学 数据结构 应用领域 计算机网络性能分析 交通运输网络调度

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值