文档库 最新最全的文档下载
当前位置:文档库 › 田忌赛马 Tianji’s horse racing strategy

田忌赛马 Tianji’s horse racing strategy

田忌赛马 Tianji’s horse racing strategy
田忌赛马 Tianji’s horse racing strategy

公元前四世纪的中国,处在诸侯割据的状态,历史上称为“战国时期”。在魏国作官的孙膑,因为受到同僚庞涓的迫害,被齐国使臣救出后,到达齐国国都。齐国使臣将他引见给齐国的大将军田忌,田忌向孙膑请教兵法,孙膑讲了三天三夜,田忌特别佩服,将孙膑待为贵宾,孙膑对田忌也很感激,经常为他献计献策。

赛马是当时最受齐国贵族欢迎的娱乐项目。上至国王,下到大臣,常常以赛马取乐,并以重金赌输赢。田忌多次与国王及其他大臣赌输赢,屡赌屡输。一天他赛马又输了,回家后闷闷不乐。孙膑安慰他说:“下次有机会带我到马场看看,也许我能帮你。”

当又一次赛马时,孙膑随田忌来到赛马场,满朝文武官员和城里的平民也都来看热闹。孙膑了解到,大家的马按奔跑的速度分为上中下三等,等次不同装饰不同,各家的马依等次比赛,比赛为三赛二胜制。

孙膑仔细观察后发现,田忌的马和其他人的马相差并不远,只是策略运用不当,以致失败。孙膑告诉田忌:“大将军,请放心,我有办法让你获胜。”田忌听后非常高兴,随即以千金作赌注约请国王与他赛马。国王在赛马中从没输

过,所以欣然答应了田忌的邀请。

比赛前田忌按照孙膑的主意,用上等马鞍将下等马装饰起来,冒充上等马,与齐王的上等马比赛。比赛开始,只见齐王的好马飞快地冲在前面,而田忌的马远远落在后面,国王得意地开怀大笑。第二场比赛,还是按照孙膑的安排,田忌用自己的上等马与国王的中等马比赛,在一片喝彩中,只见田忌的马竟然冲到齐王的马前面,赢了第二场。关键的第三场,田忌的中等马和国王的下等马比赛,田忌的马又一次冲到国王的马前面,结果二比一,田忌赢了国王。

从未输过比赛的国王目瞪口呆,他不知道田忌从哪里得到了这么好的赛马。这时田忌告诉齐王,他的胜利并不是因为找到了更好的马,而是用了计策。随后,他将孙膑的计策讲了出来,齐王恍然大悟,立刻把孙膑召入王宫。孙膑告诉齐王,在双方条件相当时,对策得当可以战胜对方,在双方条件相差很远时,对策得当也可将损失减低到最低程度。后来,国王任命孙膑为军师,挥指全国的军队。从此,孙膑协助田忌,改善齐军的作战方法,齐军在与别国军队的战争中因此屡屡取胜。

In the 4th century BC, China was governed by feudal lords. This time is known in history as the Warring States Period. In the Wei kingdom there was a man named Sun Bin who served as an official. However, because he was persecuted by his fellow official Pang Juan, and then rescued by an envoy from the Qi kingdom, he ended up in the capital of the Qi kingdom.

The envoy from Qi introduced him to the Qi kingdom's top general, Tian Ji, who asked Sun Bin for military advice. Sun Bin taught him for three days and three nights, and Tian Ji greatly admired him, treating him as an honored guest. Sun Bin in turn felt indebted to Tian Ji, and often found ways to help him.

At that time, horse racing was the most popular form of entertainment for the nobles of Qi. Everyone from the king to the cabinet ministers amused themselves at the horse races, betting huge sums of money on the outcomes. Tian Ji often bet with the king and other officials, but he always lost. One day he lost again at the horse races, and when he got home he was depressed. Sun Bin cheered him up, saying, "Next time, take me to watch the races. I may be able to help you."

At the next horse race, Sun Bin followed Tian Ji to the racetrack. All the officials

as well as the common people were there to see the excitement. Sun Bin learned that all the horses were divided into three classes by speed, and that their saddles corresponded to their class. Everyone's horses raced according to their class, and matches were decided by a best-of-three format.

Watching closely, Sun Bin realized Tian Ji's horses were not much different from the others. He was losing because he wasn't using good strategy. Sun Bin said to Tian Ji, "Don't worry, general, I have a way for you to win." When Tian Ji heard this, he was very glad, and immediately took a thousand pieces of gold and invited the king to compete with him. The king had never lost at horse racing, so he happily accepted Tian Ji's request.

Before the races began, Tian Ji followed Sun Bin's plan. He put the first-class saddle on his third-class horse, so that it passed for a first-class horse, and sent it to race with the king's first-class horse. The race started, and when the king saw his good horse sprinting out ahead, and Tian Ji's horse falling far behind, he laughed proudly, long and hard. In the second match, still following Sun Bin's plan, Tian Ji sent his first-class horse to compete with the king's second-class horse. Amidst great cheering,

Tian Ji's horse sprinted ahead of the king's horse, to everyone's surprise, and won the second race.

In the crucial third race, Tian Ji's second-class horse was matched with the king's third-class horse. Again Tian Ji's horse sprinted ahead of the king's horse. Thus Tian Ji beat the king, 2 races to 1.

The king was speechless. He had never lost a race before. He had no idea where Tian Ji had gotten such good racehorses. Tian Ji told the king that his victory was not in fact due to finding better horses, but to using strategy. Then he revealed Sun Bin's strategy. The king understood, and immediately took Sun Bin into the imperial palace. Sun Bin told the king that when two sides are equal, appropriate strategies can be used to defeat the opponent, and when two sides are unevenly matched, appropriate strategies can be used to minimize losses.

Afterwards, the king appointed Sun Bin his military advisor over the whole kingdom's army. From then on, Sun Bin helped Tian Ji improve the Qi army's battle tactics, and the Qi army won victory after victory over the armies of other kingdoms.

田忌赛马的故事

田忌赛马的故事 齐国将军田忌与齐王比赛马,三局两胜。田忌的好友孙膑发现赛马脚力差不多,可分为上、中、下三等。于是帮田忌出主意,用下等马对付齐王的上等马,以上等马对付齐王的中等马,以中等马对付齐王的下等马,结果三场比赛,田忌一场败而两场胜,最终赢得齐王的千金赌注。 ------------ 齐国的大将田忌,很喜欢赛马,有一回,他和齐威王约定,要进行一场比赛。 他们商量好,把各自的马分成上,中,下三等。比赛的时候,要上马对上马,中马对中马,下马对下马。由于齐威王每个等级的马都比田忌的马强得多,所以比赛了几次,田忌都失败了。

田忌觉得很扫兴,比赛还没有结束,就垂头丧气地离开赛马场,这时,田忌抬头一看,人群中有个人,原来是自己的好朋友孙膑。孙膑招呼田忌过来,拍着他的肩膀说: “我刚才看了赛马,威王的马比你的马快不了多少呀。” 孙膑还没有说完,田忌瞪了他一眼:“想不到你也来挖苦我!” 孙膑说:“我不是挖苦你,我是说你再同他赛一次,我有办法准能让你赢了他。” 田忌疑惑地看着孙膑:“你是说另换一匹马来?” 孙膑摇摇头说:“连一匹马也不需要更换。” 田忌毫无信心地说:“那还不是照样得输!”孙膑胸有成竹地说:“你就按照我的安排办事吧。” 齐威王屡战屡胜,正在得意洋洋地夸耀自己马匹的时候,看见田忌陪着孙膑迎面走来,便站起来讥讽地说:“怎么,莫非你还不服气?” 田忌说:“当然不服气,咱们再赛一次!”说着,“哗啦”一声,把一大

堆银钱倒在桌子上,作为他下的赌钱。 齐威王一看,心里暗暗好笑,于是吩咐手下,把前几次赢得的银钱全部抬来,另外又加了一千两黄金,也放在桌子上。齐威王轻蔑地说:“那就开始吧!” 一声锣响,比赛开始了。 孙膑先以下等马对齐威王的上等马,第一局输了。齐威王站起来说:“想不到赫赫有名的孙膑先生,竟然想出这样拙劣的对策。” 孙膑不去理他。接着进行第二场比赛。孙膑拿上等马对齐威王的中等马,获胜了一局。齐威王有点心慌意乱了。 第三局比赛,孙膑拿中等马对齐威王的下等马,又战胜了一局。这下,齐威王目瞪口呆了。 比赛的结果是三局两胜,当然是田忌赢了齐威王。 还是同样的马匹,由于调换一下比赛的出场顺序,就得到转败为胜的结果。

算法设计实验_贪心算法背包问题

《算法分析与设计》 课程实验 专业年级:信息与计算科学 学生学号: 学生姓名: 实验题目:用贪婪法求解背包问题 指导老师: 实验时间:20xx年xx月x日 一、实验内容 用贪婪法求解背包问题 要求:用非递归实现 二、实验步骤 2.1、理解算法思想和问题要求; 2.2、写出每个操作的算法 非递归算法: greedbag() { int N; int c;

int[] w; int[] v; Scanner scan=new Scanner(System.in); System.out.print("输入背包的容量:"); c=scan.nextInt(); System.out.print("输入物品的数量:"); N=scan.nextInt(); System.out.print("分别输入物品的价值:"); v=new int[N]; for(int i=0;i

田忌赛马--课堂教学实录---齐自银

田忌赛马--课堂教学实录---齐自银

《田忌赛马》课堂教学实录齐自银 【教学要求】 1.自读课文,能概括故事的主要内容,并复述故事。 2.了解概括写与具体写这两种叙述方法的区别,并分别练习运用不同的方法把事情过程说清楚。 3.探索不同的对阵方法,体会孙膑的足智多谋,感受故事中蕴含的智慧。 4.根据提示语,读好人物的对话。 【教学重点】 利用课文,学会运用不同的叙述方法把事情的过程说清楚;在对阵探索中,提高学生的思维品质。 【教学过程】 一、直接揭题,交流大意 师:这节课,我们一起来读一则历史故事《田忌赛马》(板书课题)。我了解到同学们课前都读过了,谁来说一说课文主要讲了一个什么故事? 生:课文讲的是田忌和齐王赛马,第一次比赛田忌输给了齐王,孙膑帮田忌调换了一下马的出场顺序,第二次比赛田忌赢了。 师:很好,顾湘读懂了这个故事。有谁能够说得简洁一些,用一句话概括一下。 生:课文讲的是田忌与齐王两次赛马的故事。

师:你用一句话概括了这个故事,真棒!那除了故事的内容,你还读懂了什么? 生:灵活运用一些方法就能取得胜利。 师:好,你是从赛马的故事中得到了一些启迪。 生:赛马不仅需要骑手的技术和技巧,马匹的强壮和马的品种的优势,还需要有一些计谋。 生:齐王太骄傲了,如果他能够动一动脑筋,其实完全有能力再赢田忌的。 师:说得也不错。 生:我个人觉得田忌和孙膑有点无赖。我认为就应该是上等马对上等马,中等马对中等马,下等马对下等马,而他们却是用自己的下等马对齐王的上等马,用上等马对中等马,用中等马对下等马的。 师:黄晨雷有自己独特的见解。学习上需要这样的思考。你们看呢?生:我觉得文中并没有说当时赛马必须怎样对阵,也许并没有这样的规则。 师:你说的也有一定的道理。其实,老师在课前也想过这个问题,但是没有能够找到当时赛马规则的资料,感兴趣的同学,课后可以再去找一找。我们姑且认为没有这样的规定,行吗? 生:(齐)好。 生:我认为第一次赛马,齐王的马能够取胜,是因为他的马好;而第二次赛马,田忌能够获胜,是因为孙膑让他调换了马的出场顺序。师:你已在探寻着他们取胜的原因。

C语言版贪心算法背包问题

#include<> #define N 100 typedef struct bao{ int num; float w; float v; }; typedef struct avg{ int num; ( float val; float w; float v; }; struct bao b[N]; struct avg d[N]; int n; float c; ^ void Sort() { int i,j,k; struct avg temp[N]; for(i=0;i

float x[N],sum = 0; for(i=0;ic) break; x[d[i].num] = 1; sum += d[i].v; c -= d[i].w; } if(i

田忌赛马教案

数学广角“田忌赛马” ――有趣的对策 杨丽芳教学内容:人教版义务教育课程第七单元116页例4 教材分析:例4从“田忌赛马”的故事引入对策论的应用问题,对策论研究的是竞争的双方各自采取什么对策才能够战胜对手。“田忌赛马”的故事学生可能已经了解,但是并不是从数学的角度去理解的,在这里,通过这个故事让学生体会对策论方法在实际中的应用。 教学目标: 1、让学生在游戏中初步体会对策论的方法在实际中的应用; 2、使学生认识到解决问题策略的多样性,形成寻找解决问题最优方案的意识。 3、尝试用数学的方法来解决生活中的简单问题,初步培养学生的应用意识和解决问题的能力。 教学重难点: 重点:根据具体的情况,制定不同的对策,体会优化的思想 难点:学生能够把所学知识和实际生活联系起来,有效地运用到实际生活中去。 教具准备:多媒体课件、扑克牌。 一、课前情景,游戏导入 1、孩子们,你们喜欢玩游戏吗?我们来玩个游戏,每人三张扑克牌,比大小,三局两胜制,三局两胜什么意思? 出示两组扑克牌,分别是红桃10、7 、5和黑桃9、6、3 问:你选择哪一组牌和老师比大小,让学生先出,老师几次比赛都赢了。 2、你有什么想法? 3、“比赛中,怎么研究双方的情况,运用策略,找到能够取胜的方法非常重要,今天我们要学的《田忌赛马》,讲的就是这样一个故事。有兴趣吗?” 二、分析策略探究优选 1.师:这节课我们就来学习有趣的对策。《田忌赛马》的故事听过吗?“田忌赛马”事实上是我们语文课本上的一篇课文,而今天我们就从这故事里学一学数学知识。同学们有兴趣吗?(课件放视频) 2.田忌和齐王一共赛了几次马?

第一次是怎么比的?谁赢了?田忌为什么会输? 第二次比赛,又是怎么比的?(学生填写在课本的表格中) 师:田忌各个等级的马都不如齐王,用上等马都不能胜出,怎么还能用最弱的下等马去和齐王最强的上等马对阵呢?这不明摆着会输吗? 学生分析:用下等马对上等马输掉一局不要紧,因为是三局两胜制,然后用上等马对中等马赢了一局,然后用中等马对下等马,又赢一局。 3.师:好,那我们看,这个主意呢,就让田忌转败为胜了。同学们,你们想一想:这是田忌赢齐王的唯一方法吗?如果让你安排田忌马匹的出场顺序的话,还有几种安排呢?在安排的时候想一想,你这样安排获胜方是谁? (用表格的形式表示) (学生们自由组合,课堂讨论,老师下到座位现场观察,) 4.我们比较一下,这些方法中,有几种可以赢齐王? 孙膑就是像同学们这样,把所有的方法一一列举出来,通过比较从中选择了这一种能赢齐王的方法。在所有的方法中,只有这一种能赢齐王,所以,对田忌来说,这是他应对齐王的最好方法,数学上,这就叫对策。板书“对策” 5.这个对策为什么能赢齐王?(以弱对强,保存实力,反败为胜) 6.田忌在第二场比赛中运用对策反败为胜了,这回轮到齐王不服了,如果你是齐王,想不想和田忌再赛一次,这一次你打算怎么和田忌比?

背包问题(贪心算法)

算法分析与设计实验报告 第 4 次实验

}

附录:完整代码 #include #include #include struct node{ float value; float weight; }; float Value,curvalue=0; float Weight,curweight=0; //按价重比冒泡排序 void sort(node Node[],int M){ int i,j; node temp; for(i=0;i

田忌赛马的故事

田忌赛马的故事 中国国际广播电台 公元前四世纪的中国,处在诸侯割据的状态,历史上称为“战国时期”。在魏国作官的孙膑,因为受到同僚庞涓的迫害,被齐国使臣救出后,到达齐国国都。 齐国使臣将他引见给齐国的大将军田忌,田忌向孙膑请教兵法,孙膑讲了三天三夜,田忌特别佩服,将孙膑待为贵宾,孙膑对田忌也很感激,经常为他献计献策。 赛马是当时最受齐国贵族欢迎的娱乐项目。上至国王,下到大臣,常常以赛马取乐,并以重金赌输赢。田忌多次与国王及其他大臣赌输赢,屡赌屡输。一天他赛马又输了,回家后闷闷不乐。孙膑安慰他说:“下次有机会带我到马场看看,也许我能帮你。” 当又一次赛马时,孙膑随田忌来到赛马场,满朝文武官员和城里的平民也都来看热闹。孙膑了解到,大家的马按奔跑的速度分为上中下三等,等次不同装饰不同,各家的马依等次比赛,比赛为三赛二胜制。 孙膑仔细观察后发现,田忌的马和其他人的马相差并不远,只是策略运用不当,以致失败。孙膑告诉田忌:“大将军,请放心,我有办法让你获胜。”田忌听后非常高兴,随即以千金作赌注约请国王与他赛马。国王在赛马中从没输过,所以欣然答应了田忌的邀请。 比赛前田忌按照孙膑的主意,用上等马鞍将下等马装饰起来,冒充上等马,与齐王的上等马比赛。比赛开始,只见齐王的好马飞快地冲在前面,而田忌的马远

远落在后面,国王得意地开怀大笑。第二场比赛,还是按照孙膑的安排,田忌用 自己的上等马与国王的中等马比赛,在一片喝彩中,只见田忌的马竟然冲到齐王 的马前面,赢了第二场。关键的第三场,田忌的中等马和国王的下等马比赛,田 忌的马又一次冲到国王的马前面,结果二比一,田忌赢了国王。 从未输过比赛的国王目瞪口呆,他不知道田忌从哪里得到了这么好的赛马。 这时田忌告诉齐王,他的胜利并不是因为找到了更好的马,而是用了计策。随后, 他将孙膑的计策讲了出来,齐王恍然大悟,立刻把孙膑召入王宫。孙膑告诉齐王, 在双方条件相当时,对策得当可以战胜对方,在双方条件相差很远时,对策得当 也可将损失减低到最低程度。后来,国王任命孙膑为军师,挥指全国的军队。从 此,孙膑协助田忌,改善齐军的作战方法,齐军在与别国军队的战争中因此屡屡 取胜。 田忌赛马的纯贪心算法 2010-10-11 11:57 算法可以用DP,或者给每匹马连线赋权变为二分图最佳匹配,还有就是贪心了。 1.当田忌最慢的马比齐王最慢的马快,赢一场先 2.当田忌最慢的马比齐王最慢的马慢,和齐王最快的马比,输一场 3.当田忌最快的马比齐王最快的马快时,赢一场先。 4.当田忌最快的马比齐王最快的马慢时,拿最慢的马和齐王最快的马比,输一场。 5.当田忌最快的马和齐王最快的马相等时,拿最慢的马来和齐王最快的马比. 田忌赛马贪心的正确性证明。 先说简单状况下的证明: 1.当田忌最慢的马比齐王最慢的马快,赢一场先。因为始终要赢齐王最慢的马,不如用最没用的马来赢它。 2.当田忌最慢的马比齐王最慢的马慢,和齐王最快的马比,输一场。因为田忌最慢的马始终要输的,不如用它来消耗齐王最有用的马。 3.当田忌最慢的和齐王最慢的马慢相等时,分4和5讨论。 4.当田忌最快的马比齐王最快的马快时,赢一场先。因为最快的马的用途就是来赢别人快的马,别人慢的马什么马都能赢。 5.当田忌最快的马比齐王最快的马慢时,拿最慢的马和齐王最快的马比,输一场,因为反正要输一场,不如拿最没用的马输。 6.当田忌最快的马和齐王最快的马相等时,这就要展开讨论了,贪心方法是,拿最慢的马来和齐王最快的马比. 前面的证明像公理样的,大家一看都能认同的,没有异议的,就不细说了。

贪心算法背包问题

算法设计与分析实验报告 题目:贪心算法背包问题 专业:JA V A技术xx——xxx班 学号: 姓名: 指导老师:

实验三:贪心算法背包问题 一、实验目的与要求 1、掌握背包问题的算法 2、初步掌握贪心算法 二、实验题: 问题描述:与0-1背包问题相似,给定n种物品和一个背包。物品i的重量是wi,其价值为vi,背包的容量为c。与0-1背包问题不同的是,在选择物品i装入背包时,背包问题的解决可以选择物品i的一部分,而不一定要全部装入背包,1< i < n。 三、实验代码 import java.awt.*; import java.awt.event.*; import javax.swing.*; public class er extends JFrame { private static final long serialVersionUID = -1508220487443708466L; private static final int width = 360;// 面板的宽度 private static final int height = 300;// 面板的高度 public int M; public int[] w; public int[] p; public int length; er() { // 初始Frame参数设置 this.setTitle("贪心算法"); setDefaultCloseOperation(EXIT_ON_CLOSE); setSize(width, height); Container c = getContentPane(); c.setLayout(new BoxLayout(c, BoxLayout.Y_AXIS)); setLocation(350, 150); // 声明一些字体样式 Font topF1 = new Font("宋体", Font.BOLD, 28); Font black15 = new Font("宋体", Font.PLAIN, 20); Font bold10 = new Font("宋体", Font.BOLD, 15); // 声明工具栏及属性设置 JPanel barPanel = new JPanel(); JMenuBar topBar = new JMenuBar(); topBar.setLocation(1, 1); barPanel.add(topBar); // 面板1和顶部标签属性设置 JPanel p1 = new JPanel(); JLabel topLabel = new JLabel("背包问题");

c应用贪心算法求解背包问题

实验五应用贪心算法求解背包问题 学院:计算机科学与技术专业:计算机科学与技术 学号:班级:姓名: 、 实验内容: 背包问题指的是:有一个承重为W的背包和n个物品,它们各自的重量和价值分别是n ,假设W w i和v i(1 i n)w i 1i,求这些物品中最有价值的一个子集。如果每次选择某一个物品的时候,只能全部拿走,则这一问题称为离散(0-1)背包问题;如果每次可以拿走某一物品的任意一部分,则这一问题称为连续背包问题。 二、算法思想: 首先计算每种物品单位重量的价值Vi/Wi,然后,依贪心选择策略,将尽可能多的单位重量价值最高的物品装入背包。若将这种物品全部装入背包后,背包内的物品总重量未超过C,则选择单位重量价值次高的物品并尽可能多地装入背包。依此策略一直地进行下去,直到背包装满为止。 三、实验过程: #in elude using n amespace std; struct goodi nfo

{ float p; // 物品效益 float w; // 物品重量 float X; // 物品该放的数量 int flag; // 物品编号 };// 物品信息结构体 void Insertionsort(goodinfo goods[],int n)// 插入排序,按pi/wi 价值收益进行排序,一般教材上按冒泡排序 { int j,i; for(j=2;j<=n;j++) { goods[0]=goods[j]; i=j-1; while (goods[0].p>goods[i].p) { } goods[i+1]=goods[0]; } }// 按物品效益,重量比值做升序排列goods[i+1]=goods[i]; i--; void bag(goodinfo goods[],float M,int n) { float cu; int i,j;

田忌赛马读后感

田忌赛马读后感 篇一:田忌赛马读后感 从田忌赛马的故事中我们可以看出,马是不会比变的,但出 赛的顺序是可以调换的。方法顺序变了比赛的结果也就发生了变化。 在现实生活中,学习和做事一样,在看似不变中,包含着 “可变”条件,设法改变条件,就会改变条件,就会改变做事和 结果,从而提高学习成绩和做事效率。 篇二:田忌赛马读后感 今天,我和妈妈一起读了田忌赛马的故事。这个故事讲的是:孙膑帮田忌赛马,他先用下等马对齐威王的上等马,再用上等马 对齐威王的中等马,用中等马对齐威王的下等马,最终取得了胜利。 通过这个故事,我明白一个道理:要了解自己,了解别人, 运用自己的优势,才能取得胜利。 篇三:田忌赛马读后感 今天我读了《田忌赛马》这个小故事。 故事讲了田忌是我国春秋战国时期齐国的大将,他很喜欢赛马,有一回,他和齐威王进行比赛,但是孙膑用小小的谋略,帮 助他转败为胜。 这个故事给我的启示是:面对实力强大的对手,不要硬拼、

蛮干,仔细、认真地分析形势,或许就会找出制服对手的办法。篇四:田忌赛马读后感 这个故事中主要讲的是齐国有一个大将叫田忌,他和齐威王约定好了要进行一场赛马比赛,几场下来都齐威王赢了,田忌觉得很扫兴,所以他就让好朋友孙膑帮他出了一个主意,之后他就照着孙膑的办法做,果然赢了一场比赛。 这个故事让我明白了不要觉得自己输了就不会再赢,只要肯动脑筋想办法,就像孙膑那样,这样的话我们的学习也一样会更好的。 篇五:田忌赛马读后感 今天我读了《田忌赛马》这篇故事,这篇故事主要写古代田忌与朋友赛马,田忌的马总体没有朋友的好,每次比赛,田忌总是输。他的门客孙膑知道了,孙膑通过观察给他出了一个主意,告诉田忌有他的三等马和对方的一等马比,他的一等马和对方的二等马比,用他的二等马和对方的三等马比,结果田忌赢了。 读了这篇故事使我明白了遇到问题只要肯动脑,想办法,一定能成功。 篇六:《田忌赛马》读后感 假期中我读了《史记》这本书,我最喜欢田忌赛马的故事。 故事中讲了春秋战国时期齐威王田齐和大司马田忌经常以赛马打赌为乐,田忌接连几次都输了。田忌有个门客叫孙膑,是著名的军事家孙武的后代。他询问了赛马的情况后对田忌说:“用

贪心算法实现背包问题算法设计与分析实验报告

算法设计与分析实验报告 实验名称贪心算法实现背包问题评分 实验日期年月日指导教师 姓名专业班级学号 一.实验要求 1. 优化问题 有n个输入,而它的解就由这n个输入满足某些事先给定的约束条件的某个子集组成,而把满足约束条件的子集称为该问题的可行解。可行解一般来说是不唯一的。那些使目标函数取极值(极大或极小)的可行解,称为最优解。 2.贪心法求优化问题 算法思想:在贪心算法中采用逐步构造最优解的方法。在每个阶段,都作出一个看上去最优的决策(在一定的标准下)。决策一旦作出,就不可再更改。作出贪心决策的依据称为贪心准则(greedy criterion)。 3.一般方法 1)根据题意,选取一种量度标准。 2)按这种量度标准对这n个输入排序 3)依次选择输入量加入部分解中。如果当前这个输入量的加入,不满足约束条件,则不把此输入加到这部分解中。 procedure GREEDY(A,n) /*贪心法一般控制流程*/ //A(1:n)包含n个输入// solutions←φ //将解向量solution初始化为空/ for i←1 to n do x←SELECT(A) if FEASIBLE(solution,x) then solutions←UNION(solution,x) endif repeat return(solution) end GREEDY 4. 实现典型的贪心算法的编程与上机实验,验证算法的时间复杂性函数。 二.实验内容 1. 编程实现背包问题贪心算法。通过具体算法理解如何通过局部最优实现全局最优,

并验证算法的时间复杂性。 2.输入5个的图的邻接矩阵,程序加入统计prim算法访问图的节点数和边数的语句。 3.将统计数与复杂性函数所计算比较次数比较,用表格列出比较结果,给出文字分析。 三.程序算法 1.背包问题的贪心算法 procedure KNAPSACK(P,W,M,X,n) //P(1:n)和W(1;n)分别含有按 P(i)/W(i)≥P(i+1)/W(i+1)排序的n件物品的效益值 和重量。M是背包的容量大小,而x(1:n)是解向量 real P(1:n),W(1:n),X(1:n),M,cu; integer i,n; X←0 //将解向量初始化为零 cu←M //cu是背包剩余容量 for i←1 to n do if W(i)>cu then exit endif X(i) ←1 cu←cu-W(i) repeat if i≤n then X(i) ←cu/ W(i) endif end GREEDY-KNAPSACK procedure prim(G,) status←“unseen” // T为空 status[1]←“tree node” // 将1放入T for each edge(1,w) do status[w]←“fringe” // 找到T的邻接点 dad[w] ←1; //w通过1与T建立联系 dist[w] ←weight(1,w) //w到T的距离 repeat while status[t]≠“tree node” do pick a fringe u with min dist[w] // 选取到T最近的节点 status[u]←“tree node” for each edge(u,w) do 修改w和T的关系 repeat repeat 2.Prim算法

《田忌赛马》预习解析

《田忌赛马》预习解析 ●课文题解 田忌,人名,是战国时齐国的一位大将。这篇课文写的是战国初期齐国大将田忌和齐威王赛马,田忌以弱胜强,以智取胜的故事。 ●重点难点 重点:学会本课8个生字和由生字组成的新词。理解课文内容,能给课文分段,概括段意。 难点:能抓住关键,深入理解课文内容,分析事物发展变化的原因,培养思维和分析能力。 ●重点生字 忌:jì 嫉妒,憎恨:猜忌。忌才。忌能。忌妒。忌贤妒能。害怕,畏惧:顾忌。肆无忌惮。禁戒:忌戒。忌食。忌讳。禁忌。父母或祖先死亡的日子,迷信称不吉利的日子:忌日。忌辰。生忌(已死父母的生日)。 笔画数:7;部首:心 造句:在家里没有那么多忌讳,有什么话尽管说。 膑:(臏)bìn 同“髌”。 笔画数:14;部首:月 造句:孙膑是我国古代有名的军事家。 瞪:dèng 怒目直视:瞪眼。瞪视。睁大眼睛发呆:目瞪口呆。 笔画数:17;部首:目 造句:他瞪视着面前得敌人,英勇不屈。 惑:huò 心疑不定,不明白对还是不对:疑惑。困惑。惶惑。智者不惑。使迷乱:迷惑。惑乱。惑人耳目。蛊惑人心。 笔画数:12;部首:心 造句:他心中的疑惑渐渐消失了。 讥:(譏)jī 讽刺,挖苦:讥讽。讥评。讥笑。讥诮。冷讥热嘲。查问,察问。指责,非议:讥议。讥弹(t俷)(指责,抨击)。规劝。 笔画数:4;部首:讠 造句:不要讥笑他,他会重新振作起来的。 讽:(諷)fěng 不看着书本念,背书:讽诵(抑扬顿挫地诵读)。讽咏。用含蓄的话劝告或讥刺:讽刺。讽谏(不直指其事,而用委婉曲折的言语进谏)。讽喻(一种修辞手法,用说故事等方式说明事物的道理)。讽一劝百。 笔画数:6;部首:讠 造句:这种讽刺对她来说是一种侮辱。 蔑:(⑤衊)miè 目受伤而不明。无,没有:蔑以复加。小:蔑视。轻蔑。灭:“而蔑杀其民人,宜吾不敢服也”。涂染:诬蔑。污蔑。 笔画数:14;部首:艹

成语童话故事:田忌赛马

成语童话故事:田忌赛马 田忌与齐公子赛马,屡赛屡败,心里颇不服气,召集众谋士和众 食客说:“想我是堂堂的齐国大将军,在战场上战无不胜,攻无不克,现如今却在赛马场上屡战不胜,威风扫地,脸面全无,众客有何妙计?能使我们赢得比赛呢?”众人纷纷上前献计献策。 谋士甲献计说:“赛马,马的脚力当然是取胜的关键因素,我们 的赛马与齐公子的赛马实力确实有一定的差别,但我们能够从秦、赵、楚等大国选购精马良驹参加比赛,何愁不能赢得比赛呢?此谓引进 ‘外援’之计也。”田忌以为然,便派谋士甲用重金从秦、赵、楚等 国购得良马数匹。 到了比赛日,齐王、齐公子和田忌及众将相都坐在看台上看赛马 比赛,田忌见自己的赛马体格硕大,而齐公子的赛马小而精瘦,心中 暗喜。不过赛马场上风云突变,齐公子的赛马迅如疾风,快如闪电, 三场比赛很快搞定,齐公子轻松赢得比赛。田忌暗自叫苦,齐公子得 意地介绍:“我的赛马,看起来瘦小,不过却是从北方胡地引进的胡马,脚力极佳,非中原之马可同日而语也。” 田忌赛后立即召集众人商量对策,谋士乙进言道:“我们的赛马 是与齐公子的赛马有差别,但也就在伯仲之间,有时也就是差之毫厘 而输掉了比赛,我们能够花重金买通裁判官,让他们在比赛中帮我们 的忙,此谓‘黑哨’之计也。”田忌觉得这个方法似乎不太文明,有 些犹豫不决,谋士乙又说:“比赛好比打仗,以胜利为目的,何必计 较不择手段呢?”田忌想想也没有别的再好办法了,于是就派谋士乙 送重金于裁判官。 又到了比赛日,第一场上等马比赛,齐公子赛马以较大优势取胜,裁判不好瞎判,只得判齐公子胜。第二场中等马比赛,两马不分先后 冲线,裁判判田忌胜。第三场下等马比赛,到了决胜局,比赛的赛点,比赛十分激烈,齐公子求胜心切,竟不顾公子身份,带着众将相到终 点裁判处看比赛,裁判在众目睽睽之下,又迫于齐公子的压力,当然

贪心算法实现01背包问题

贪心算法实现01背包问题 算法思想:贪心原则为单位价值最大且重量最小,不超过背包最大承重量为约束条件。也就是说,存在单位重量价值相等的两个包,则选取重量较小的那个背包。 具体实现过程是:首先可以设置一个备份pvu类型的数组,在不破环原数据的情况下,对此备份数组按单位重量价值从大到小的排序。依次设立两个指针i,j(其中i表示当前应该参与最佳pv值的元素指针,j表示符合约束条件的指针(单位重量价值PV最大,重量最小,不超过最大承重量约束) 代码实现如下: #include using namespace std; typedef struct { int v; int w; float pv; }pvu; void sortByPv(pvu [],int ); int zeroneBags(pvu[],int,int,int * ); void print(pvu a[],int n) { for (int i=0;i

田忌赛马 Tianji’s horse racing strategy

公元前四世纪的中国,处在诸侯割据的状态,历史上称为“战国时期”。在魏国作官的孙膑,因为受到同僚庞涓的迫害,被齐国使臣救出后,到达齐国国都。齐国使臣将他引见给齐国的大将军田忌,田忌向孙膑请教兵法,孙膑讲了三天三夜,田忌特别佩服,将孙膑待为贵宾,孙膑对田忌也很感激,经常为他献计献策。 赛马是当时最受齐国贵族欢迎的娱乐项目。上至国王,下到大臣,常常以赛马取乐,并以重金赌输赢。田忌多次与国王及其他大臣赌输赢,屡赌屡输。一天他赛马又输了,回家后闷闷不乐。孙膑安慰他说:“下次有机会带我到马场看看,也许我能帮你。” 当又一次赛马时,孙膑随田忌来到赛马场,满朝文武官员和城里的平民也都来看热闹。孙膑了解到,大家的马按奔跑的速度分为上中下三等,等次不同装饰不同,各家的马依等次比赛,比赛为三赛二胜制。 孙膑仔细观察后发现,田忌的马和其他人的马相差并不远,只是策略运用不当,以致失败。孙膑告诉田忌:“大将军,请放心,我有办法让你获胜。”田忌听后非常高兴,随即以千金作赌注约请国王与他赛马。国王在赛马中从没输

过,所以欣然答应了田忌的邀请。 比赛前田忌按照孙膑的主意,用上等马鞍将下等马装饰起来,冒充上等马,与齐王的上等马比赛。比赛开始,只见齐王的好马飞快地冲在前面,而田忌的马远远落在后面,国王得意地开怀大笑。第二场比赛,还是按照孙膑的安排,田忌用自己的上等马与国王的中等马比赛,在一片喝彩中,只见田忌的马竟然冲到齐王的马前面,赢了第二场。关键的第三场,田忌的中等马和国王的下等马比赛,田忌的马又一次冲到国王的马前面,结果二比一,田忌赢了国王。 从未输过比赛的国王目瞪口呆,他不知道田忌从哪里得到了这么好的赛马。这时田忌告诉齐王,他的胜利并不是因为找到了更好的马,而是用了计策。随后,他将孙膑的计策讲了出来,齐王恍然大悟,立刻把孙膑召入王宫。孙膑告诉齐王,在双方条件相当时,对策得当可以战胜对方,在双方条件相差很远时,对策得当也可将损失减低到最低程度。后来,国王任命孙膑为军师,挥指全国的军队。从此,孙膑协助田忌,改善齐军的作战方法,齐军在与别国军队的战争中因此屡屡取胜。

田忌赛马

田忌赛马 学习过程: 一、预习检测 1.读准下列字音 二、自学提纲 垂头丧气、疑惑、胸有成竹、得意洋洋、讥讽、轻蔑、目瞪口呆、转败为胜 2、根据意思写出成语。 1.形容因失败或不顺利而情绪低落的样子。() 2.事前已经有全面的考虑,有充分的把握。() 3.形容因吃惊而发愣的样子。() 4.形容得意时神气十足的姿态。() 5.用刻薄的话讽刺别人。( ) 1、画出文中生字词,理解词语意思。 2、朗读课文了解田忌与谁赛马?赛了几次?结果怎样?用“——”画出句子。 3、快速浏览一下全文,看看课文哪几个自然段写的是第一次赛马?从哪儿到哪儿写的是第二次赛马? 4、按起因、经过、结果将课文划分为三部分。 三、合作探究 1.针对自学提纲中的因难问题,小组内相互交流讨论。 2. 读完课文,你最大的感受是什么? 四、我的疑惑 在学习的过程中,你有哪些疑惑?把它写下来,共同交流。 五、课堂小结 学生总结点评,教师补充强调。 六、堂清检测 1、解释下列词语 垂头丧气: 胸有成竹: 目瞪口呆: 2、课文中讲了()和()在赛马。他们()赛马,第一次赛马()赢了。第二次赛马()赢了。

学习过程: 一、预习检测 1. 按事情发展顺序,重新排列下面几句话。 ()田忌照孙膑的话,调换了一下马的出场顺序。 ()田忌和齐威王第一次赛马,三场都输了。 ()孙膑看了这次赛马,认为田忌可以取胜。 ()田忌觉得很扫兴。 ()第二次赛马,田忌果然赢了齐威王 2、我知道田忌和齐威王共进行了______次比赛。第一次的是 __________________,第二次的结果是__________________。 第一次比赛后田忌的心情__________________ ,齐威王的心情________________________。 二、自学提纲 1、读课文,用喜欢的方式了解田忌和齐威王两次赛马的经过。并用自己话说出第二次赛马的经过。 2、自由读课文,同样的马,两次比赛的结果为什么不一样? 3、小组内分角色读课文,用“﹏﹏”画出描写人物动作、神态的句子,体会人物的不同特点。 三、合作探究 1.针对自学提纲中的因难问题,小组内相互交流讨论。 2. 读完课文,你认为文中的三位人物都有什么样的特点? 四、我的疑惑 在学习的过程中,你有哪些疑惑?把它写下来,共同交流。五、课堂小结 学生总结点评,教师补充强调。 (我们在生活和学习中也要做到遇事仔细观察,认真思考,抓住主要矛盾,经过比较分析,就能得出解决问题的办法。) 六、堂清检测 1、根据课文内容填空:

2贪心算法解决部分背包问题

2贪心算法解决部分背包问题 一、实验目的 学习掌贪心算法法思想。 二、实验内容 用贪心法解决部分背包问题。给定n种物品和一个背包。物品i的重量是Wi,其价值为pi,背包的容量为M,将物品i的一部分xi放入背包会得到pi xi的效益。应如何选择装入背包的物品,使得装入背包中物品的总价值最大?给出具体的装包方案。在选择装入背包的物品时,对每种物品i,可以整件装入背包、不装入背包或部分装入背包。但不能将物品i装入背包多次。 四、需求分析 对于给定n种物品和一背包。在容量最大值固定的情况下,要求装入的物品价值最大化。 五、基本思想: 贪婪法是解决最优化问题时的一种简单但适用范围有限的策略。总是对当前的问题作最好的选择,也就是局部寻优。最后得到整体最优。总是选择单位价值最高的物品。 六、详细设计 #include using namespace std; struct _Object//物品结构体 { int Value;//物品价值 int Weight;//物品重量 int AveValue;//物品单位价值 float Num;//物品可以放入的数量

void knaspsack(int n,float M,_Object object[]) { //n为物品个数,M为背包容量 int i; float C=M; for(i=0;iC)break;//当物品重量大于背包容量时 else//小于时 { object[i].Num=1;//物品i放入一件 C-=object[i].Weight;//背包容量减小 } } if(i<=n)//当不能放入整个物品时,选取物品一部分放入 object[i].Num=C/object[i].Weight; for(i=0;i0) cout<<"重量为: "<

田忌赛马是怎样的故事

田忌赛马是怎样的故事 下面是分享的田忌赛马的故事,一起来看看吧。 田忌赛马的故事介绍《田忌赛马》是我们小学的时候就读到的一篇著名的文章,是中国人耳熟能详的故事。 这个故事还要从春秋战国时期著名的军事家孙膑,被同门师兄弟庞涓陷害,受了酷刑成为了残疾人,但是他没有气馁,立志要报仇。 他听说齐国的齐威王礼贤下士、善于纳谏,于是就偷偷说服齐国的使者,带他去齐国。 当时齐威王有个宠信的将军叫田忌,很喜欢和齐威王赛马,可是他的马比不上国王的马,所以每次都输了,非常沮丧。 孙膑看到后觉得这是个推荐自己的机会,于是他找到田忌,让他用千金为赌注跟齐威王赛马,保证能赢,田忌生气地说,你也要挖苦我吗,孙膑说我怎么敢戏弄将军呢,我看到将军的马比大王的马的资质其实差不多,但是您每次都是上等马对上等马、中等马对中等马、下等马对下等马,这样下去当然都是输啊。 为什么不用您的上等马对大王的中等马、用您的中等马对大王的下等马,然后用您的下等马对大王的上等马,这样虽然输了一局,但是比赛是三局两胜的,最后您肯定能赢啊。 田忌有些迟疑,不过既然已经输了那么多次了,不妨听孙膑的试一试,即便是又输了也没什么丢人的,于是就采用的孙膑的计谋,果然最后赢了两场比赛,赢了齐威王的很多黄金。

田忌很是得意,他觉得孙膑虽然是个残疾人,但是的确是个人才,于是就推荐给了齐威王,齐威王也是求贤若渴,很快就任命孙膑为军师,孙膑的军师才能得到了施展。 不过田忌功劳很大,又不懂得隐藏自己,所以遭到齐国一些的妒忌。 当时齐国的相国邹忌是个美男子,也是善于进谏的人,他曾经巧妙的劝齐王纳谏,得到齐王的重用。 但是他虽然也善于纳谏,却是个气量狭小的人,他看到田忌和孙膑在马陵之战中打了打胜仗、立下了赫赫战功,回来后肯定会受到齐王的嘉奖,肯定会更加重用他们,可是自己是个文官,不懂打仗,长此以往自己就会被埋没了。 于是在田忌回国后,设计陷害田忌,田忌没有防备果然中计,只好逃到楚国避难。 田忌到了出国后,受到楚王的重用,封他为江南君,田忌心灰意冷,只好在楚国过上了富贵闲人的日子,曾经叱咤风云的大将军只好虚度年华,此时齐威王年迈,国内陷入混乱之中。 可是再也没有田忌和孙膑这样的忠臣良将来辅佐他了。 不久齐威王病逝,儿子齐宣王即位,齐宣王为了整顿国内的乱局,下令召回田忌,并让他官复原职,但是此时的田忌已经是垂垂老者,根本不可能上战场了,也没有心思在与齐王赛马了,他的忠心不被承认,他曾经效忠的齐威王污蔑他要起兵谋反,自己差点死在齐国。

相关文档