算法设计与分析的综合性论文_python 算法设计与分析

python 算法设计与分析

                                                           --第七讲  

e81bbb837668a85dc8bc47e6b485a314.png

    2020年11月14日,西京学院数据科学与人工智能协会在本学期实行线下集中自我提升活动--《python算法与设计》,活动地点为西京学院3336教室,主要安排2018级计科专业学生为协会工作室的全体成员讲解内容,第七讲由计科18级的李盼为大家讲广度优先搜索。

2078a8769dcd4c00c9114a3c9a94c71b.png

     首先,介绍什么是广度搜索?并且用一个简单的图举例广度优先遍历。

     广度优先遍历是一个解决图问题的遍历算法。但不同于深度优先遍历,广度优先遍历总是先去查询距离初始状态最近的状态,而不是一直向最“深”处查询结果。

d970f00afaf360b399741bc9313fb5ca.png

64818c26933ca18bef9c372aceda6ad3.png                       经典案例                       

一、艰难旅行问题 

     现已知一个大小为?×m格的地图,地图中只有可能出现两个数字:0或1,现规定如果位于数字为0的格子上,下一步只能往相邻四个格子中数字为1的格子走,如果位于数字为1的格子上,则下一步只能往相邻四个格子中数字为0的格子走。如果给定你的起点格子,且只能向上下左右四个方向移动,求你能在这个?×m的格的图中到达多少格子(包含自身)?

0d393f37df0e5f6d8d9ad89c6f9e847d.png

二、混乱地铁问题

     在某一个城市中地铁网极度混乱。一条地铁线路上有n个地铁站,分别编号为1到n。地铁线路上的每一个站都会停靠地铁,每一个地铁站上都有一个数字m,代表从此站出发乘客必须乘坐的站数。每个地铁站都有通往两个方向的地铁。因此既可以向编号大的方向前进m站,也可以向编号小的方向前进m站。但如果前进后超出了地铁站的范围,则该地铁不可被乘坐。例如编号为1的地铁上的数字为3,那么在该地铁站上车,可以向正方向坐车到4号地铁站。但不能反方向坐车到-2号地铁站,因为-2号地铁站不存在。现在乘客从A号地铁站出发,想要到达B号地铁站,求他能否到达,最少要搭乘多少次地铁?

1e64c1a067ab20a9126fcfa00448311e.png    本次活动第七讲已完满结束啦,感谢大家的支持,同时感谢李盼的精彩讲解,希望大家与协会共同学习进步,我们协会也将推出更多的活动希望大家踊跃参加。

本次分享到这就结束了,期待我们下次再见。

d40e755e5d1a174d39b472442bf2bfa9.png
0 1背包问题是一例典型的组合优化的NP完全问题 问题可以描述为:给定一组共n个物品 每种物品都有自己的重量wi i 1 n和价值vi i 1 n 在限定的总重量(背包的容量C)内 如何选择才能使得选择物品的总价值之和最高 选择最优的物品子集放置于给定背包中 最优子集对应n元解向量 x1 …xn xi∈{0或1} 因此命名为0 1背包问题 0 1背包问题是许多问题的原型 但它又是一个NP完全问题 此实验主要研究和实现n 0< n< 200 和C C< 2000 C为整数 都较大的情形 随机产生n个物品的重量向量wi 1< wi< 100 wi为整数 和价值向量vi 1< vi< 100 vi为整数 0 1背包问题可以用许多方法来求解 有些算法可以得到问题的精确最优解 有些仅能获得一个近似最优解 本综合设计性实验要求用3种以上的方法求解0 1背包问题 获得精确最优解或近似最优解皆可 并对所采用的多种算法从运行时间 寻找是否为最优解 能够求解的问题规模等方面进行对比和分析 本课程讲述的所有算法思想都可以用来求解此问题 甚至本课程未涉及的许多算法也非常适合于求解此问题 学生可以先尝试先用本课程已介绍的算法来实现和分析 学有余力或兴趣驱动下可以寻找一些智能算法的资料来试一试 涉及的方法可以有:蛮力求解 递归求解 动态规划求解 贪心求解 回溯法求解 广度优先的分支限界法求解 优先队列的启发式分支限界法 遗传算法 模拟退火算法 蚁群算法 粒子群算法等 ">0 1背包问题是一例典型的组合优化的NP完全问题 问题可以描述为:给定一组共n个物品 每种物品都有自己的重量wi i 1 n和价值vi i 1 n 在限定的总重量(背包的容量C)内 如何选择才能使得选择物品的总价值之和最高 选择 [更多]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值