传教士和野人问题

2024-04-20

传教士和野人问题(通用3篇)

篇1:传教士和野人问题

1.上机内容 传教士与野人问题求解(宽度搜索算法)

二 二 问题背景:

从前有一条河,河的左岸有 m 个传教士(Missionary)和 m 个野人(Cannibal),和一艘最多可乘 n 人的小船。约定左岸,右岸和船上或者没有传教士,或者野人数量少于传教士,否则野人会把传教士吃掉。

三 三 实验内容:

编程,接收 m 和 n,搜索一条可让所有的野人和传教士安全渡到右岸的方案,例如下图:(M 表示传教士(Missionary),C 表示野人(Cannibal))

标 Left Bank River Right bank

Left Bank River Right bank M….M….C….C….注:本实验的举例均以 3 个传教士和 3 个野人同在左岸作为初始状态。

四 四 实验方案和算法:.数据结构:

本实验需要用到的数据结构主要是队列和堆栈,其实现均包含于 dso.h 头文件中,分别命名为 class stack 和 class queue。2 . 宽 度搜索算法:

(1)结点结构 :

class Move {

public:

int missionary;

//要移动的传教士数量

int cannibal;

//野人

};class ElemType : Move {

//继承 Move 类,获得传教士,野人数据成员。

private:

bool boat;

//船是否在左岸?

public:

ElemType* flag;

// 标示前一状态即扩展出本结点的父结点信息

ElemType(int MAX_PEOPLE){

//创建初始状态

missionary = cannibal = MAX_PEOPLE;

boat = true;

flag = NULL;

} ……

在这里,Elemtype 集成了 Move,从而获得 Move 类的传教士和野人数据成员。以上两个类的数据成员用于保存所有扩展生成的结点。其中 missionary 表示表示左岸上传教士的树目,cannibal 表示左岸上野人的树目,boat 表示船在哪个岸上(其中 true 表示在左岸,这是船的初始状态,表示 false 在右岸),flag用于标示前一状态即扩展出本结点的父结点信息,以便最后回搜找出解的 路径。

举例说明:假设左岸有 3 个传教士和 3 个野人,小船最多可乘 2 人。把当前左岸的状态抽象为:(3,3,1),前两个“3”代表左岸有 3 个传教士和 3 个野人,1 代表船在左岸。很明显,目标状态为(0,0,0),表示左岸的传教士和也人数目都是 0,而船在右岸。

(2)船的行动规则(successor function): :

把每一次可行的渡船方案作为行动规则,用 Move 类的(m,c)表示。行动规则的两位数分别代表要移动的传教士,野人的数量。对于固定大小的船,其装载能力是一定的,所以它的行动规则空间也是一定的。在这里,用 MoveGroup 类的构造函数构造出所有的行动规则。

注意,这里 MoveGroup 类中的 Move 对象只有 500 的可用空间,所以,输入的传教士和野人数目构成的行动规则不能超过 500 种。

(3)宽度优先算法:

实验的主要搜索算法由 ANSWER 类的构造函数实现,这里主要用到了 OPEN 和 CLOSED 队列,以及一个临时的 TEMP 堆栈。其中,OPEN 表用于存放扩展结点,CLOSED 表用于存放被扩展结点,TEMP 则用于用于记录成功搜索的路径。

搜索过程大致如下描述:先构造初始结点以及船的行动规则,初始结点入 OPEN 队列,以宽度优先依次搜索 OPEN 队列头结点的子结点,同时保存受访问结点的父结点信息,知道搜索到目标结点或者无解为止。

算法框图如下所示:

开始 初始接结点并入 OPEN 队列 OPEN 为空? OPEN 队列头结点 n 出列,并入 CLOSED 队列 返回 Y N

程序界面 和功能 说明:

程序运行环境为 DOS 控制台,运行开始以后,程序提示输入需要坐船的传教士和野人数目,例如输入 3 表示有 3 个传教士和 3 个野人。

用户按回车键以后,程序继续提示输入船的装载能力,例如输入 2 表示这个船依次最多可以坐 2 人。注:一般情况下,船的装载能力应该少于传教士或野人的数量,而且一般为偶数。

程序 开始运行时的 界面截图:

程序 运行结束时的 界面截图:

把结点的子结点并入 OPEN队列,保存父结点 被扩展结点还有子结点吗? 返回

Y N

输出文件示例:

Left(3, 3)|(0, 0)Right [Step 1]

Move 0 missionaries and 2 cannibals to the right side.Left(3, 1)|(0, 2)Right [Step 2]

Move 0 missionaries and 1 cannibals to the left side.Left(3, 2)|(0, 1)Right [Step 3]

Move 0 missionaries and 2 cannibals to the right side.Left(3, 0)|(0, 3)Right [Step 4]

Move 0 missionaries and 1 cannibals to the left side.Left(3, 1)|(0, 2)Right [Step 5]

Move 2 missionaries and 0 cannibals to the right side.Left(1, 1)|(2, 2)Right [Step 6]

Move 1 missionaries and 1 cannibals to the left side.Left(2, 2)|(1, 1)Right [Step 7]

Move 2 missionaries and 0 cannibals to the right side.Left(0, 2)|(3, 1)Right [Step 8]

Move 0 missionaries and 1 cannibals to the left side.Left(0, 3)|(3, 0)Right [Step 9]

Move 0 missionaries and 2 cannibals to the right side.Left(0, 1)|(3, 2)Right [Step 10]

Move 0 missionaries and 1 cannibals to the left side.Left(0, 2)|(3, 1)Right [Step 11]

Move 0 missionaries and 2 cannibals to the right side.Left(0, 0)|(3, 3)Right OK!错误说明:

(1)

关于有没有解的问题:由于传教士和野人问题是一个真实的问题,来到岸边的传教士和野人数目与船的装载能力都是随机的,所以某些特定情况下,要以一定规则把人都运到船的对岸是没有解的,例如假设有 10 个传教士和 10 个野人,船一次最多能够装 2 人,这时候是不能把人都运到对岸的,这时候程序会提示:There may not be any way to transport these guys.(2)

关于运行时间的问题:本实验使用宽度优先搜索算法,但并没有进行优化,所以有时候程序虽然确实有解,但是由于算法的效率确实很低,造成的时间上的开销有时候可能会比起喝一杯咖啡的时间还要长,这时候程序会提示:

Please wait patiently。Working...六 六 心得体会:

这个是我们小组的第一个实验,由于经验以及能力有限,所以算法上比较简单,只用了一个宽度优先搜索算法,但毕竟能够成功找出解,虽然效率较低。经过一些测试数据的测试以后,发现了宽度优先搜索算法虽然必能找到最优解(有时候无解),但效率真的很低,如我们提供的那个测试数据(50 个传教士,50 个野人,船最多能坐 4 人),虽然能解,但也花费了 75 秒多的时间才能找出解,可见优化算法的必要。

篇2:传教士和野人问题

一、传教士在近代法学传播中的作用是必然的还是偶然的?

19世纪60年代之前, 清政府面临的是一个内忧外患的局面, 西方列强在中国忙于进行各种资源掠夺和军事侵略, 而西方法学家也不可能来到这个没有任何西方法律基础, 一穷二白的国度来宣传法学观。因此在双方政府和法学家都不会、事实上也不可能进行正式意义上的法和法学的交流时, 只能寄希望于那些来华的外国人。在中国近代, 来华最多的外国人是商人 (如1855年在上海西方外交官、传教士和商人为最多的三类外国人群体。当时前者有17人, 传教士有32人, 而商人则多至200人) 。[1]但这一群体受其职业决定, 当时主要忙于赚钱, 他们是无法承担移植文化尤其是法学的历史重任。

再从主观条件来看:传教士自身具有向中国传播西方先进法学的素质。第一, 他们都是有文化之人。在近代来华568名传教士中有297人都撰有著作, 而且其中有些甚至在当时就具备研究生以上的学历。第二, 在来华的传教士中, 大多数都是懂得中文的, 像郭守腊、丁匙良、林乐知等人则可以说是相当精通。第三, 传教士具有很强的职业素养, 通常都会将传教以及与之有关的文化工作的传播作为其一生的奋斗, 有极强的献身精神。第四, 传教士与当时中国封建社会的上层人物有比较深的接触, 比如政治界以及学术界的各类风云人物, 类似李鸿章、翁同稣、康有为、梁启超等都与传教士有很好地关系。

二、传教士传播的西学, 是精华还是糟粕?

首先, 学界对于某一类作品的评价往往会仁者见仁, 智者见智, 很难得出一个统一的标准, 其次上文笔者通过大量例证表明:传教士在我国近代法学中系统的引入了国际法知识、传播了西方民主政治思想, 人权等观念、制度和原则都传播给中国, 这些应该完全可以称得上是西方的精华部分。

此外, 就通常的文化传播实践来看, 在发达国家向落后国家传播文化的过程中, 有这样一条规律:就是在发达国家被看做是一些比较通俗的文化在落后国家反而更能传播和发展, 这是因为两个国家之间存在着一种文化发展进程中的时间差。[2]比如被英国群众公认为典型的三流作品的《自助》在日本的明治时代却收到了极大的欢迎。因此笔者恰恰认为传教士给我国法和法学传播交流中起的作用是相当重要的, 其传播的内容也是精华远远大于糟粕。

三、传入西方法学的行为是自发的?还是客观效果上而言的?

笔者认为:对于这一问题, 不能绝对的看, 不是非此即彼的关系, 要用发展的眼观来看。我们可以将传教士来华活动分为几个阶段。

第一阶段:传教士来华的初期。此时他们的身份是外国传教士。即外国人和传教士这个双重身份。首先, 作为外国人, 即某个国家的具体的公民, 在对中国还不了解、没有任何接触的情况下势必会毫不犹豫的捍卫自己国家的荣誉和利益。其次, 作为传教士, 他们定然会献身于自己所从事的传教事业, 因为这是他们终生所要追寻的目标。

第二阶段:当传教士到达中国经过相当一段长的时间后, 当他们开始慢慢由开始的传教转向办教育、出刊物、翻译著作、引进西方科学和技术, 以及包括法学在内的社会科学知识、当他们被清政府委以任务进行社会变革的时候, 伴随着对自己从事事业使命感、成就感的驱使, 他们会由最初的被动变为主动、从无意识变为主动去寻找、从权宜之计变为要为之终身奋斗的事业, 对于中国的情感在某种程度上还会超过其原来的国家。正如当丁韪良在从事《万国公法》的翻译中, 遭到了法国代办的强烈反对和威胁, 但其仍然坚持做好这项事业;当其被清政府任命作为同文馆教习, 对中国学生教授《万国公法》时, 他主动要求回美国耶鲁大学法学院进修国际法课程;还有像林乐将其创办的《教会新报》视为终身奋斗的事业;包括弹精竭虑、最后被教会开除的傅兰雅, 一生中将基础科学 (57种) 、应用科学 (48种) 、军事科学 (14种) 、社会科学 (10种) 等共129种著作全部翻译成了中文, 对中国了解外国的科学具有不可忽略的作用。[3]

所以, 在传教士中, 既有仅仅在客观上促进我国法学发展的一面, 也有慢慢进入角色, 由被动到主动的去移植西方法和法学的一面, 他们的内心世界是复杂多变的。笔者认为, 这样评价更为全面、客观一点。

摘要:传教士在我国近代法学中的作用未能得到应有评价, 本文从传教士成为传播使者是偶然还是必然, 传播的是精华还是糟粕, 传播是自发行为还是无意识行为等几个方面进行探讨, 以试图来对传教士在近代法学中的评价问题做初步探讨。

关键词:传教士,中国近代法学,历史评价

参考文献

[1]何勤华.外国人与中国近代法学[J].中外法学, 2004 (4) .

[2]庞博, 赵文婧.明清传教士与中西法律文化交流[J].学理论, 2013 (11) .

篇3:意大利传教士和明代的南京城

在《利玛窦中国札记》中,有好几章都记述了南京给利玛窦留下的美好印象。首先是南京的地理和人文环境之佳。利玛窦觉得,南京的秀丽和雄伟超过世上所有其他城市,到处都是殿、庙、塔、桥,“欧洲简直没有能超过它们的类似建筑”。总体而言,南京称得上地灵人杰:“这里气候温和,土地肥沃。百姓精神愉快,他们彬彬有礼,谈吐文雅,稠密的人口中包括各个阶层;有黎庶,有懂文化的贵族和官吏。”

南京的雄伟,最明显的一个标志就是它的城墙。南京明城墙由朱元璋始建于元末至正二十六年(1366),建成于明洪武十五年(1382),历时17年。从内到外有宫城、皇城、京城、外郭,京城墙长33.676公里,而外郭更长达60公里。这样雄伟的建筑,使利玛窦大为惊讶。他描述道:南京为三重城墙所环绕。其中第一层和最里面的一重,也是最华丽的,包括皇宫。宫殿依次又由三层拱门墙所围绕,四周是濠堑,其中灌满流水。这道宫墙长约四、五意大利里。第二重墙包围着皇宫等建筑物的内墙,囊括了该城的大部分重要区域。它有12座门,门包以铁皮,门内有大炮守卫。这重高墙四围差不多有18意大利里。第三重和最外层的墙是不连续的,有些被认为是险要的地点,很科学地利用了天然防御。为了形象地说明南京城墙之长,利玛窦引用了当地人讲的一个故事:两个人从城的两方骑马相对而行,花了一整天时间才遇到一起。这么长的城墙,世界上恐怕是绝无仅有的。

其次是南京的园林之美。明代南京园林甚多,瞻园即为其中的佼佼者。瞻园原系明开国元勋中山王徐达府邸之西圃,嘉靖初年由徐达五世孙徐鹏举新筑,经几代人扩建,至万历年间已颇具规模。由于徐达八世孙魏国公徐弘基的邀请,利玛窦得以参观此园。瞻园以山石著称,其中的精品据传是宋徽宗时花石纲的遗物,而利玛窦的印象正与此相吻合。《利玛窦中国札记》中写道,徐弘基的地位同欧洲的贵族相当,他的花园王府以及其中的陈设,在各个方面都具有王家气象。利马窦参观了花园里很多赏心悦目的事物,看到了一座色彩斑斓、未经雕琢的大理石假山,假山里面开凿了一个奇异的山洞,内有接待室、大厅、台阶、鱼池、树木和许多别的胜景,很难说究竟是艺术还是奢侈占了上风。建筑這座洞天是为了在读书或娱乐时避暑之用,洞穴设计得像一座迷宫,更加增添了它的魅力。

最后是南京的灯彩之妙。 据利玛窦观察,中国的节日具有一种狂欢性质,而最显著的标志便是灯彩,尤其是元宵节,家家户户都挂着用纸板、玻璃或布巧妙地做成的各种灯笼,点得通明透亮。一队队的人在街上耍龙灯,像酒神巴库斯的礼赞者那样欢呼跳跃,燃放鞭炮和焰火,全城呈现一片彩色缤纷的耀目景象。”万历二十七年(1599)的元宵节,在南京的礼部尚书王弘海邀请利玛窦赏灯,王弘海家人的盛情款待和观看到的景象,使利玛窦感到惊异,他深信:“在烟火制造技术的表演这一科学方面,南京超过了全国其他地区,或者也超过全世界的其他地区。”

雄伟、秀丽、奇异、绚烂,这就是南京给利玛窦留下的难忘印象。

上一篇:商会述职报告下一篇:汤因比 历史研究 读后感演讲稿

本站热搜

    相关推荐