本实验要求模拟设计一个去驱动调度程序,观察驱动调度程序的动态运行过程,采用电梯调度算法,实现对磁盘的读写管理。先假设有5个进程等待使用磁盘,用随机数模拟接受请求,确定程序的运行顺序。 内附源码,实验流程图
1
此示例将计算集成到有关铁磁体 Ising 模型的物理课程中。 最后附有练习。 学生将学习如何实现 Metropolis 算法、编写模块化程序、绘制物理关系、并行运行 for 循环,以及开发机器学习算法以对相位进行分类并预测自旋的 2D 配置的温度。 所需产品注意事项: 尽管某些练习使用了统计和机器学习工具箱,并行计算工具箱和神经网络工具箱,但MATLAB是运行实时脚本的唯一必需产品。
2021-12-05 14:57:04 4.74MB matlab
1
针对模式识别时原始特征数量大而有冗余的现象,提出了一种基于遗传退火算法的特征选优方法,首先对遗传算法和模拟退火做了简要评论,然后在遗传算法中引入模拟退火的 Boltzmann 更新机制,以克服传统的遗传算法易于过早收敛和易于陷入局部极小的问题,最后阐述、设计了适应度函数和遗传算子。仿真实验表明,该方法在求解的效率和解的质量方面都达到了令人满意的效果。
1
解决小世界网络模型问题,对小世界网络模型的构建过程和主要统计量进行分析,基于一个规则环状网给出算法描 述和代码实现小世界网络模型的模拟,设计代码计算此模型的最短路径平均长度和集聚系数,通过运行代 码获得的统计数据进一步验证和分析了小世界网络模型的内在特征和规律,为模拟实现具有大规模节点的 小世界网络提供可能.
2021-11-26 12:20:51 2.23MB 模型和算法
1
数学建模常用算法 MATLAB代码 数学建模东东 模拟退火算法及其应用
1
操作系统课程设计 LRU页面淘汰算法模拟程序(源码)C++ 产生一个进程的大小,构建页表并对页表进行初始化,随后生成访问的指令地址流(是一系列需要访问的指令的地址)。不失一般性,可以适当地(人工指定或随机数产生器)生成这个序列,使得 50%的指令是顺序执行的,50%的指令均匀地散布在前后地址部分。 每访问一个地址时,首先要计算该地址所在的页的页号,然后查页表,判断该页是否在主存——如果该页已在主存,则打印页表情况;如果该页不在主存且页表未满,则调入一页并打印页表情况;如果该页不足主存且页表已满,则按页面淘汰算法淘汰一页后调入所需的页,打印页表情况; 逐个地址访问,直到所有地址访问完毕,并即时统计显示缺页率和页面置换情况。
2021-11-24 14:03:28 1.81MB LRU 页面淘汰算法 C++
1
模拟神经算法matlab代码 联邦调查局警告 如果你在复旦EDA实验室, 并尝试下载此 repo 并将其提交给杨教授, 停止孩子,你在玩火, 否则你会像我一样得到 B+。 你可能想知道的事情 Timber wolf 是一种用于 VLSI 布局的旧算法(主要基于模拟退火)。 当电路规模很大时,易于理解但效率不高。 这是在 VS 2015 中编写的。 main_head是头文件,而main.cpp是源文件。 matlab 脚本plot_placement.m用于可视化该算法的结果。 源文件中需要boost库。 伪代码如下 int main(){ readNodesFile(); readWtsFile(); readPlFile(); readNetsFile(); readSclFile(); //read circuit files gnuPlot("before1.txt"); //record the placement result as .txt timberWolfAlgorithm(); //use Simulated annealing to do the
2021-11-23 16:29:21 4.26MB 系统开源
1
用类封装了的pagerank算法模拟实现
2021-11-23 10:56:58 951KB pagerank
1
采用先来先服务算法和运行时间最短者优先算法模拟设计作业调度程序。 用户名 作业名 状态 运行时间 资源要求 预输入表 地址 主存 磁带 A ZYA 收容 0.3小时 15k 2 B ZYB 收容 0.5小时 60k 1 C ZYC 收容 0.1小时 50k 3 D ZYD 收容 0.4小时 10k 2 E ZYE 收容 0.1小时 30k 3
1
本模拟程序实现对n个进程根据优先权的高低调度的模拟,创建进程描述符PCB,进程的优先权在运行过程中动态改变,每个时间片结束后显示当前各进程的状态。具体要求如下: 用C语言来实现对n个进程采用不同调度算法的进程调度。 每个用来标识进程的进程控制块PCB用结构来描述,包括以下字段:  进程标识数 ID。 进程优先数 PRIORITY,并规定优先数越大的进程,其优先权越高。 进程已占用的CPU时间CPUTIME。 进程还需占用的CPU时间NEEDTIME。当进程运行完毕时,NEEDTIME变为0。 进程的阻塞时间STARTBLOCK,表示当进程再运行STARTBLOCK个时间片后,将进入阻塞状态。 进程被阻塞的时间BLOCKTIME,表示已阻塞的进程再等待BLOCKTIME个时间片后,将转换成就绪状态。 进程状态STATE。 队列指针NEXT,用来将PCB排成队列。 优先数改变的原则: 进程在就绪队列中呆一个时间片,优先数加1。 进程每运行一个时间片,优先数减3。 假设在调度前,系统中有5个进程,它们的初始状态如下: ID 0 1 2 3 4 PRIORITY 9 38 30 29 0 CPUTIME 0 0 0 0 0 ALLTIME 3 3 6 3 4 STARTBLOCK 2 -1 -1 -1 -1 BLOCKTIME 3 0 0 0 0 STATE READY READY READY READY READY 为了清楚的观察各进程的调度过程,程序应将每个时间片内的情况显示出来,参照的具体格式如下: RUNNING PROG:i READY-QUEUE:-〉id1-〉id2 BLOCK-QUEUE:-〉id3-〉id4 = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = == = = ID 0 1 2 3 4 PRIORITY P0 P1 P2 P3 P4 CUPTIME C0 C1 C2 C3 C4 ALLTIME A0 A1 A2 A3 A4 STARTBLOCK T0 T1 T2 T3 T4 BLOCKTIME B0 B1 B2 B3 B4 STATE S0 S1 S2 S3 S4
2021-11-21 22:05:39 13KB 进程 动态优先权
1