【智能算法】吉萨金子塔建造算法(GPC)原理及实现

在这里插入图片描述

目录

    • 1.背景
    • 2.算法原理
      • 2.1算法思想
      • 2.2算法过程
    • 3.结果展示
    • 4.参考文献


1.背景

2021年,S Harifi等人受到观古代遗迹构造启发,提出了吉萨金子塔建造算法(Giza Pyramids Construction, GPC)。

在这里插入图片描述
在这里插入图片描述

2.算法原理

2.1算法思想

GPC模拟了古埃及人通过神奇的运动方式推动石块以搭建金字塔的过程,工人根据其表现在工地上的角色和地位进行分类,表现好的工人得到地位提升作为奖励。通过内部竞争机制,优秀的工人获得提升,而表现差的工人可能被更有活力的工人替换,模拟自然选择,提高劳动效率。工人在完成任务过程中积累经验和专业知识,提升其解决复杂任务的能力。有效管理资源如劳动力和材料,考虑物理因素如坡道坡度和摩擦力,优化石块的运输和安装。

在这里插入图片描述

2.2算法过程

工人推动石块时的受力分析,fk为动摩擦力:
f k = μ k m g cos ⁡ θ (1) f_k=\mu_kmg\cos\theta \tag{1} fk=μkmgcosθ(1)

在这里插入图片描述
在算法的每次迭代中,初始速度被认为是一个随机数,因为每次工人试图移动石块时,所施加的力都会根据工人消耗的功率而变化:
v 0 = r a n d ( 0 , 1 ) (2) v_0=rand(0,1)\tag{2} v0=rand(0,1)(2)
GPC基本思想是推动石料的工人不断移动或晃动,以获得对石料的最佳支配和最佳控制。这些冲击使工人进行非重复性动作以更好地推动石块,工人的位置更新方式为:
x = ν 0 2 2 g sin ⁡ θ (3) x=\frac{\nu_0^2}{2g\sin\theta}\tag{3} x=2gsinθν02(3)
计算石料位移和工人运动:
p ⃗ = ( p ⃗ i + d ) × x ϵ ⃗ i (4) \vec{p}=\begin{pmatrix}\vec{p}_i+d\end{pmatrix}\times x\vec{\epsilon}_i\tag{4} p =(p i+d)×xϵ i(4)
ϵ ⃗ \vec{\epsilon} ϵ 是服从均匀、正态或莱维分布,工人们会通过协作而进行位置替换:
ζ k = { ψ k , i f r a n d [ 0 , 1 ] ≤ 0.5 φ k , o t h e r w i s e (5) \left.\zeta_k=\left\{\begin{array}{l}\psi_k,ifrand[0,1]\leq0.5\\\varphi_k,otherwise\end{array}\right.\right.\tag{5} ζk={ψk,ifrand[0,1]0.5φk,otherwise(5)

伪代码

在这里插入图片描述

3.结果展示

使用测试框架,测试GPC性能 一键run.m

  • 【智能算法】省时方便,智能算法统计指标——一键运行~

CEC2017-F7
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

4.参考文献

[1] Harifi S, Mohammadzadeh J, Khalilian M, et al. Giza Pyramids Construction: an ancient-inspired metaheuristic algorithm for optimization[J]. Evolutionary Intelligence, 2021, 14(4): 1743-1761.

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/571171.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

LeetCode:2385. 感染二叉树需要的总时间(DFS Java)

目录 2385. 感染二叉树需要的总时间 题目描述: 实现代码与解析: DFS 原理思路: 2385. 感染二叉树需要的总时间 题目描述: 给你一棵二叉树的根节点 root ,二叉树中节点的值 互不相同 。另给你一个整数 start 。在第…

文本语音互相转换系统设计

title: 文本语音互相转换系统设计 date: 2024/4/24 21:26:15 updated: 2024/4/24 21:26:15 tags: 需求分析模块化设计性能优化系统安全智能化跨平台区块链 第一部分:导论 第一章:背景与意义 文本语音互相转换系统的定义与作用 文本语音互相转换系统是…

CTFshow-PWN-栈溢出(pwn43)

32位的 system(); 但是好像没"/bin/sh" 上面的办法不行了,想想办法 检查:32 位程序 ida 分析: 跟进 ctfshow 函数 定义了一个长度为 104 的字符数组 s,gets() 函数被用来从标准输入(键盘)中读取…

CU-Mamba:具有通道学习功能的选择性状态空间模型用于图像恢复

CU-Mamba:具有通道学习功能的选择性状态空间模型用于图像恢复 摘要IntroductionRelated WorkMethod CU-Mamba: Selective State Space Models with Channel Learning for Image Restoration 摘要 重建退化图像是图像处理中的关键任务。尽管基于卷积神经网络&#x…

【人工智能基础】人工神经网络

一、人工神经网络的三要素 人工神经元数理模型 MP模型是世界上第一个神经计算模型,为神经网络理论提供了基础 MP模型功能 对树突输入u的线性加权求和对净输入的非线性转换\ 作用函数的功能作用函数的功能 MP神经元模型的作用函数是单位阶跃函数。当x≥0时f(x)…

JTS:Java Topology Suit

接口文档:org.locationtech.jts:jts-core 1.19.0 API。 开发文档:JTS | Documentation。 概述 JTS提供了平面线性几何(planar and linear geometry)与相关的基础几何处理函数(a set of fundamental geometric functions.)。 JTS遵循OGC发布的简单几何规范(Simple Featu…

递归、搜索与回溯算法:综合练习

例题一 解法: 算法思路: ⾸先,我们在第⼀⾏放置第⼀个皇后,然后遍历棋盘的第⼆⾏,在可⾏的位置放置第⼆个皇后,然后再遍历第三⾏,在可⾏的位置放置第三个皇后,以此类推&#xff0c…

nodejs切换

1.卸载nodejs 2.下载nvm工具 3.检查nvm安装情况 nvm -v3.nvm 安装命令 nvm install 10.16.34.查询nodejs版本 nvm list5.切换nodejs版本 nvm use 10.16.3

⑤【Shiro】SpringBoot整合Shiro,实现登录认证

个人简介:Java领域新星创作者;阿里云技术博主、星级博主、专家博主;正在Java学习的路上摸爬滚打,记录学习的过程~ 个人主页:.29.的博客 学习社区:进去逛一逛~ ⑤【Shiro】SpringBoot整合Shiro,实…

精度论文Generative Prompt Model for Weakly Supervised Object Localization

Generative Prompt Model for Weakly Supervised Object Localization 中国科学院大学&&浙江大学CVPR20231.Abstract 当从图像类别标签中学习对象定位模型时,弱监督对象定位(WSOL)仍然具有挑战性, 传统的鉴别训练激活模型的方法忽略了具有代表性但鉴别性较差的对象…

弱光图像增强 | 基于TensorFlowLite+TensorRT加速的MIRNet弱光图像增强实现

项目应用场景 面向弱光图像增强场景,项目基于 MIRNet 弱光图像增强算法,采用 TensorRT TensorFlow-Lite 进行 GPU 算法加速推理。 项目效果 项目细节 > 具体参见项目 README.md (1) 具体参考项目内 jupyter,包括 MIRNet_TFLite.ipynb、M…

云南旅游攻略

丽江景点 Day1 ——丽江古城 丽江古城是一个充满文化和历史的地方,拥有丰富的景点和活动。 推荐游玩: 参观标志性建筑:大水车是丽江古城的标志性建筑,可以在这里拍照留念。 探索中心广场:四方街是古城的中心&#xf…

2024年火爆全网的三款ai智能直播系统,你知道哪一种?

2024年火爆全网的三款ai智能直播系统,你知道哪一种? 如今网络时代,信息运转的速度非常迅猛。 有句话说的好:“若水三千只取一瓢饮,”快速筛选有价值的信息,过滤掉对自己有害的垃圾信息。不要想着把所有钱都赚完&…

Lambda表达式特点

Lambda 表达式是 Java 8 引入的一项重要特性,它们提供了一种更简洁的方式来表达匿名函数。Lambda 表达式允许你将一段代码传递给方法,而不是显式创建一个实现了接口的匿名内部类。Lambda 表达式通常用于实现单个抽象方法的接口(即函数式接口&…

元宇宙虚拟空间的角色状态更新(七)

前言 该文章主要讲元宇宙虚拟空间的角色状态更新,基本核心技术点 角色状态更新 对角色设置一个位置判断(从中心点向下投射一射线确定角色的位置) character.feetRaycast(); feetRaycast的start获取碰撞体的位置,end射线结束的…

MKS 质量MFC流量控制器原理及应用课件PPT

MKS 质量MFC流量控制器原理及应用课件PPT

SpringBoot+Vue开发记录(四)

说明: 本篇文章的主要内容是软件架构以及项目的前端Vue创建 一、软件架构 我道听途说的,听说这个东西很关键很重要什么的。 软件架构(software architecture)是一个系统的草图,是一系列相关的抽象模式,用于指导大型软…

W801学习笔记十四:掌机系统——菜单——尝试打造自己的UI

未来将会有诸多应用,这些应用将通过菜单进行有序组织和管理。因此,我们需要率先打造好菜单。 LCD 驱动通常是直接写屏的,虽然速度较快,但用于界面制作则不太适宜。所以,最好能拥有一套 UI 框架。如前所述,…

4.26日学习记录

[湖湘杯 2021 final]Penetratable SUID提权 SUID是一种对二进制程序进行设置的特殊权限,可以让二进制程序的执行者临时拥有属主的权限 SUID具有一定的限制: 1.仅对于二进制有效; 2.执行者在程序中有可以执行的权限; 3.权限仅在程序…

使用Spring 完成转账业务添加日志功能

(完整的代码在文章附带文件中 , 文章里的代码仅作展示 , 可能有部分不完善 代码地址 :下载:https://javazhang.lanzn.com/i5oLI1vyiile 密码:1234 ) 任务目标 具体实现方法和心得 步骤1. 导入依赖项Spring依赖 , aop依赖,德鲁伊依赖,mybatis依赖 , mysql驱动 , mybatis-sprin…
最新文章