[ 娱乐算法 ] 位面之子算法 - The Chosen One Algorithm - Matlab code

位面之子算法 - The Chosen One Algorithm最近书荒,想找点小说看,却发现没有什么能够耐心看下去的。想要自己去写小说,却又发现动笔写大纲,塑造人物,建立剧情的前后关系,又是极其麻烦。写游戏嘛?嘛,算了算了,代码块太多,本喵太懒怎么办!干脆直接Simulation好了!说干就干!咱们这就模拟一个小说里强者为尊的世界!实现语言,当然是简单便捷的Matlab!声明:本代码为本人提出,仅供娱乐之用,欢迎转载,但请保留头部签名协议,感谢!首先,这个世界需要规定一些参数:%%.
摘要由CSDN通过智能技术生成

在这里插入图片描述

位面之子算法 - The Chosen One Algorithm

最近书荒,想找点小说看,却发现没有什么能够耐心看下去的。
想要自己去写小说,却又发现动笔写大纲,塑造人物,建立剧情的前后关系,又是极其麻烦。
写游戏嘛?嘛,算了算了,代码块太多,本喵太懒
怎么办!干脆直接Simulation好了!说干就干!咱们这就模拟一个小说里强者为尊的世界!
实现语言,当然是简单便捷的Matlab!

声明:本代码为本人提出,仅供娱乐之用,欢迎转载,但请保留头部签名协议,感谢!

首先,这个世界需要规定一些参数:

%%% @author: RaZNeo
%%% @license: MIT License
%%% @contact: raznexo@gmail.com
%%% @file: main.m
%%% @time: 2021/7/21 13:28
%%% @desc: Happy Coding

%%% 清理门户:一屋不扫,何以扫天下?
close all; clear; clc;
%%% 位面指标
dim = 20;
%%% 位面人口
npop = 1000;
%%% 强者数量,能力范围,初始化强者身份数据库
numPowerfull = 20;
numAbilityRange = 0.15;
powerFullLibrary = zeros(numPowerfull,1);
%%% 位面年代
currentYear = 1650;
%%% 位面之子产生间隔
intervalOccur = 16; %16年产生一位位面之子带领位面走向繁荣
%%% 凡人学习能力
aveAbility = 0.4;
%%% 凡人榜样数量
target = 3;
%%% 位面淘汰概率
elimiProb = 0.3;
%%% 位面发展值上下限
upp =  20 * ones(1,dim);
low = -20 * ones(1,dim);

然后高阶文明开始了游戏(他们规定了一个目标函数,大家为了这个目标而纷争不断)

%%% 高维度文明在本位面展开的游戏
objFun = @(x) sum(x.^2 + 3.*x - 15);

%%% 高维度文明洒下原始文明的种子
historyRec = zeros(currentYear,1);
bestManHistory = zeros(currentYear,dim);
x = ones(npop,1)*low + ...
    (ones(npop,1)*(upp-low)).*rand(npop,dim);
for i=1:1:npop
    fit(i) = objFun(x(i,:));
end
[historyRec(1),idxPowerMax] = min(fit);
powerMan = x(idxPowerMax
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值