06 2017 档案
摘要:说明 用python实现了井字棋,整个框架是本人自己构思的,自认为比较满意。另外,90%+的代码也是本人逐字逐句敲的。 minimax算法还没完全理解,所以参考了 "这里" 的代码,并作了修改。 特点 可以选择人人、人机、机人、机机四种对战模式之一 电脑玩家的AI使用了minimax算法,带apha
阅读全文
摘要:来源:https://xkcd.com/832/ 解读:http://www.guokr.com/article/4754/
阅读全文
摘要:问题 在河的左岸有N个传教士、N个野人和一条船,传教士们想用这条船把所有人都运过河去,但有以下条件限制: (1)修道士和野人都会划船,但船每次最多只能运M个人; (2)在任何岸边以及船上,野人数目都不能超过修道士,否则修道士会被野人吃掉。 假定野人会服从任何一种过河安排,请规划出一个确保修道士安全过
阅读全文
摘要:1. 准备数据 2. 列 —— 索引 3. 索引 —— 列 where si_name is the name of the subindex.
阅读全文
摘要:上一篇笔记的pygame游戏对敌人和白云的移动速度使用了随机函数 ,游戏体验不是太好。如果是 按概率随机选取 设置速度的话,游戏体验会好一些。 据我了解, 是等概率选取一个,不是我想要的。而 是按概率随机重复选取多个,这正是我想要的。 但是,我不想为这么一个函数引入巨大的numpy库,所以打算自己实
阅读全文
摘要:本文基于win7(64) + py3.5(64)环境。 本文是 "这里" 的一篇学习笔记。加入了自己的理解。 本文最终目的是实现一个 飞机躲避导弹 的游戏。 1、核心概念 pygame 的核心概念有: Surface 对象(一个容器,一个载体,可以是空白的矩形区域,亦可是图片) Surface 对象
阅读全文
摘要:问题 将马放到国际象棋的8 8棋盘board上的某个方格中,马按走棋规则进行移动,走遍棋盘上的64个方格,要求每个方格进入且只进入一次,找出一种可行的方案。 分析 说明:这个图是5 5的棋盘。 图片来源: "这里" 类似于迷宫问题,只不过此问题的解长度固定为64 每到一格,就有[( 2,1),( 1
阅读全文
摘要:问题 有面额10元、5元、2元、1元的硬币,数量分别为3个、5个、7个、12个。现在需要给顾客找零16元,要求硬币的个数最少,应该如何找零?或者指出该问题无解。 分析 元素——状态空间 分析大法:四种面额的硬币看作4个 元素 ,对应的数目看作各自的 状态空间 ,遍历状态空间,其它的事情交给剪枝函数。
阅读全文
摘要:问题 某楼梯有n层台阶,每步只能走1级台阶,或2级台阶。从下向上爬楼梯,有多少种爬法? 分析 这个问题之前用分治法解决过。但是,这里我要用回溯法子集树模板解决它。 祭出 元素 状态空间 分析大法:每一步是一个元素,可走的步数[1,2]就是其状态空间。不难看出, 元素不固定,状态空间固定 。 直接上代
阅读全文
摘要:作者:hhh5460 时间:2017年6月3日 用回溯法子集树模板解决了这么多问题,这里总结一下使用回溯法子集树模板的步骤: 1、确定元素及其状态空间(精髓) 对每一个元素,遍历它的状态空间,其它的事情交给剪枝函数!!!(正是这一点,使得它无愧于“ 通用解题法 ”这个称号!) 2、确定解的编码及解的
阅读全文
摘要:问题 输入 第1行:字符串A 第2行:字符串B (A,B的长度 = 2 and x[ 1] best_len: best_len = len(x) best_x = x[:] else: for i in range(len(b)+1): 遍历 状态空间:0~len(b) 1,技巧:人为增加一种状态
阅读全文
摘要:问题 给定 n 个作业,每一个作业都有两项子任务需要分别在两台机器上完成。每一个作业必须先由机器1 处理,然后由机器2处理。 试设计一个算法找出完成这n个任务的最佳调度,使其机器2完成各作业时间之和达到最小。 分析: 看一个具体的例子: tji 机器1 机器2 作业1 2 1 作业2 3 1 作业3
阅读全文
摘要:问题 从n个元素中挑选m个元素进行排列,每个元素最多可重复r次。其中m∈[2,n],r∈[1,m]。 如:从4个元素中挑选3个元素进行排列,每个元素最多可重复r次。 分析 解x的长度是固定的,为m。 对于解x,先排第0个位置的元素x[0],再排第1个位置的元素x[1]。我们把后者看作是前者的一种状态
阅读全文
摘要:问题 实现 'a', 'b', 'c', 'd' 四个元素的全排列。 分析 这个问题可以直接套用排列树模板。 不过本文使用子集树模板。分析如下: 一个解x就是n个元素的一种排列,显然,解x的长度是固定的,n。 我们这样考虑:对于解x,先排第0个元素x[0],再排第1个元素x[1],...,当来到第k
阅读全文
摘要:问题 图的m 着色判定问题 给定无向连通图G和m种不同的颜色。用这些颜色为图G的各顶点着色,每个顶点着一种颜色,是否有一种着色法使G中任意相邻的2个顶点着不同颜色? 图的m 着色优化问题 若一个图最少需要m种颜色才能使图中任意相邻的2个顶点着不同颜色,则称这个数m为该图的色数。求一个图的最小色数m的
阅读全文
摘要:问题 旅行商问题(Traveling Salesman Problem,TSP)是旅行商要到若干个城市旅行,各城市之间的费用是已知的,为了节省费用,旅行商决定从所在城市出发,到每个城市旅行一次后返回初始城市,问他应选择什么样的路线才能使所走的总费用最短? 分析 此问题可描述如下:G=(V,E)是带权
阅读全文
摘要:问题 一个图: A B A C B C B D B E C A C D D C E F F C F D 从图中的一个节点E出发,不重复地经过所有其它节点后,回到出发节点E,称为一条路径。请找出所有可能的路径。 分析 将这个图可视化如下: 本问题涉及到图,那首先要考虑图用那种存储结构表示。邻接矩阵、邻
阅读全文
摘要:本来想用回溯法实现 算24点。题目都拟好了,就是《python 回溯法 子集树模板 系列 —— 7、24点》。无奈想了一天,没有头绪。只好改用暴力穷举法。 思路说明 根据四个数,三个运算符,构造三种中缀表达式,遍历,计算每一种可能 显然可能的形式不止三种。但是,其它的形式要么得不到24点,要么在加、
阅读全文