当前位置: 首页 > news >正文

2014,TEVC,A competitive swarm optimizer for large scale optimization(CSO)

PSO 分析(从而引入 CSO)

CSO (competitive swarm optimizer) 算法是在PSO (particle swarm optimization) 算法的基础上改进而来的。PSO算法是一种功能强大、应用广泛的群体智能算法,主要用来解决优化问题。PSO算法包含一个粒子群,粒子群里面的每个粒子均有1个 n n n维位置变量和1个 n n n维速度变量。在算法的每次迭代过程中,每个粒子的位置变量 X i X_i Xi 和速度变量 V i V_i Vi通过以下公式进行更新:

V i ( t + 1 ) = ω V i ( t ) + c 1 R 1 ( t ) ( p b e s t i ( t ) − X i ( t ) ) + c 2 R 2 ( t ) ( g b e s t ( t ) − X i ( t ) ) X i ( t + 1 ) = X i ( t ) + V i ( t + 1 ) \begin{gathered}V_i\left(t+1\right)=\omega V_i\left(t\right)+c_1R_1\left(t\right)(pbest_i\left(t\right)-X_i\left(t\right))+c_2R_2\left(t\right)(gbest(t)-X_i\left(t\right))\\\\\\X_i\left(t+1\right)=X_i\left(t\right)+V_i\left(t+1\right)\end{gathered} Vi(t+1)=ωVi(t)+c1R1(t)(pbesti(t)Xi(t))+c2R2(t)(gbest(t)Xi(t))Xi(t+1)=Xi(t)+Vi(t+1)

其中 t t t是当前迭代数, ω \omega ω是惯性权重, c 1 c_1 c1 c 2 c_2 c2是加速度系数, R 1 ( t ) R_1(t) R1(t) R 2 ( t ) R_2\left(t\right) R2(t)是两个向量,向量中每个元索取值范围为 [ 0 , 1 ] n [0,1]^n [0,1]n p b e s t i ( t ) pbest_i(t) pbesti(t) 是第 i i i个粒子的历史最优解, g b e s t ( t ) gbest(t) gbest(t)是所有粒子的历史最优解。 c 1 R 1 ( t ) ( p b e s t i ( t ) − X i ( t ) ) c_1R_1(t)(pbest_i(t)-X_i(t)) c1R1(t)(pbesti(t)Xi(t))为认知部分, c 2 R 2 ( t ) ( g b e s t ( t ) − X i ( t ) ) c_2R_2(t)(gbest(t)-X_i(t)) c2R2(t)(gbest(t)Xi(t))为社会部分。

当优化问题存在大量局部最优值和具有高维特点时,传统PSO算法在处理此类问题时会过早收敛,从而导致其优化效果不佳。首先来看 g b e s t gbest gbest 对算法收敛过程的影响,将上述公式进行变换,可得:

V i ( t + 1 ) = ω V i ( t ) + θ 1 ( p 1 − X i ( t ) ) \left.V_i\left(t+1\right)=\omega V_i\left(t\right)+\theta_1\left(p_1\right.-X_i\left(t\right)\right) Vi(t+1)=ωVi(t)+θ1(p1Xi(t))

其中,

θ 1 = c 1 R 1 ( t ) + c 2 R 2 ( t ) \theta_1\:=c_1\:R_1\left(t\right)+c_2\:R_2\left(t\right) θ1=c1R1(t)+c2R2(t)

p 1 = c 1 R 1 ( t ) c 1 R 1 ( t ) + c 2 R 2 ( t ) p b e s t i ( t ) + c 2 R 2 ( t ) c 1 R 1 ( t ) + c 2 R 2 ( t ) g b e s t ( t ) p_{1}\:=\:\frac{c_{1}R_{1}\left(t\right)}{c_{1}R_{1}\left(t\right)+c_{2}R_{2}\left(t\right)}pbest_{i}\left(t\right)+\frac{c_{2}R_{2}\left(t\right)}{c_{1}R_{1}\left(t\right)+c_{2}R_{2}\left(t\right)}gbest(t) p1=c1R1(t)+c2R2(t)c1R1(t)pbesti(t)+c1R1(t)+c2R2(t)c2R2(t)gbest(t)

p 1 p_1 p1 X i X_i Xi的差决定了粒子群的种群多样性,而 p b e s t i pbest_i pbesti g b e s t gbest gbest的取值多样性决定了 p 1 p_1 p1取值的多样性。由于 g b e s t gbest gbest的影响,随着送代过程的继续,粒子逐渐向 g b e s t gbest gbest靠拢,这导致 p b e s t i pbest_i pbesti逐渐接近 g b e s t gbest gbest,进而导致粒子群的种群多样性大幅降低。 p 1 p_1 p1在很大程度上决定着传统PSO 算法在搜索过程中的勘探能力和开采能力。

为了解决传统PSO算法的过早收敛问题,本文提出了CSO算法。该算法去掉了 p b e s t i pbest_i pbesti g b e s t gbest gbest两个变量,引入了粒子间的成对竞争机 制。在该机制中,竞争失败的粒子将向竞争胜利的粒子学习,而不是向 p b e s t i pbest_i pbesti g b e s t gbest gbest学习,这将较好地解决传统PSO算法的过早收敛问
题。

基本理论

CSO 算法的总体思想如图所示。在每一次迭代过程中,随机从粒子群 P ( t ) P(t) P(t)中选择一对粒子进行竞争。竞争成功的粒子直接进入下一次迭代,竞争失败的粒子将向竞争成功的粒子学习并更新自己的位置变量和速度变量。该操作完成后,将这一对粒子从粒子群 P ( t ) P(t) P(t)中剔除, 将竞争成功的粒子和更新后的失败粒子加入到粒子群 P ( t + 1 ) P(t+1) P(t+1)中。当所有粒子从粒子群 P ( t ) P(t) P(t)中移到粒子群 P ( t + 1 ) P(t+1) P(t+1)中后,算法进入下一次迭代。根据上图可知,每一次迭代将会使粒子群 P P P中一半的粒子得到更新。

竞争失败的粒子的速度变量和位置变量更新如以下公式所示:

V l , k ( t + 1 ) = R 1 ( k , t ) V l , k ( t ) + R 2 ( k , t ) ( X w , k ( t ) − X l , k ( t ) ) + φ R 3 ( k , t ) ( X ˉ k ( t ) − X l , k ( t ) ) \begin{aligned}V_{l,k}\left(t+1\right)&=R_1\left(k,t\right)V_{l,k}\left(t\right)+R_2\left(k,t\right)(X_{w,k}\left(t\right)-X_{l,k}\left(t\right))+\varphi R_3\left(k,t\right)(\bar{X}_k\left(t\right)-X_{l,k}\left(t\right))\end{aligned} Vl,k(t+1)=R1(k,t)Vl,k(t)+R2(k,t)(Xw,k(t)Xl,k(t))+φR3(k,t)(Xˉk(t)Xl,k(t))

X l , k ( t + 1 ) = X l , k ( t ) + V l , k ( t + 1 ) \begin{aligned}X_{l,k}\left(t+1\right)&=X_{l,k}\left(t\right)+V_{l,k}\left(t+1\right)\end{aligned} Xl,k(t+1)=Xl,k(t)+Vl,k(t+1)

其中, X w , k ( t ) X_{w,k}(t) Xw,k(t)表示第 t t t代的第 k k k轮竞争中竞争成功粒子的位置, X l , k ( t ) X_{l,k}(t) Xl,k(t)表示第 t t t代的第 k k k轮竞争中竞争失败粒子的位置, V l , k ( t ) V_{l,k}(t) Vl,k(t)表示第 t t t 代的第 k k k轮竞争中竞争失败粒子的速度, R 1 ( k , t ) R_1(k,t) R1(k,t) R 2 ( k , t ) R_2(k,t) R2(k,t) R 3 ( k , t ) ∈ [ 0 , 1 ] R_3(k,t)\in[0,1] R3(k,t)[0,1]分别表示算法第 t t t次迭代的第 k k k轮竞争中随机生成的向量。

X ˉ k ( t ) \bar{X}_k\left(t\right) Xˉk(t)表示第 t t t代的第 k k k轮竞争中相关粒子的位置平均值,它分为全局版本和局部版本。

  • X ˉ k g ( t ) \bar{X}_k^g(t) Xˉkg(t)表示 P ( t ) P(t) P(t)中所有粒子的位置平均值,是全局版本。
  • X ˉ l , k l ( t ) \bar{X}_{l,k}^l(t) Xˉl,kl(t)表示在竞争失败粒子的预定义邻域内所有粒子的位置平均值,是局部版本。领域控制可以增加粒子群的种群多样性,这可能会提高CSO算法的搜索能力。

算法流程

1.3 勘探能力与开采能力分析

粒子群优化算法 PSO 是一种模拟自然界生物群体行为的随机搜索算法,它通过调整粒子的速度和位置来寻找最优解。在这个过程中,粒子需要平衡两种能力:

  1. 勘探能力(Exploration Ability):指粒子在搜索空间中探索新区域的能力,也就是全局寻优能力。勘探能力越强,粒子越容易跳出局部最优解,找到更好的解。
  2. 开采能力(Exploitation Ability):指粒子在搜索空间中开发已知区域的能力,也就是局部寻优能力。开采能力越强,粒子越容易收敛到最优解,提高搜索精度。

粒子群优化算法 PSO 的参数设置和拓扑结构都会影响粒子的勘探能力和开采能力,因此需要根据不同的优化问题进行合理的调整。一般来说,算法在前期需要较强的勘探能力,而在后期需要较强的开采能力,以达到最佳的性能。

首先分析一下CSO算法的勘探能力,将上述公式转换:
V i ( t + 1 ) = R 1 ( k , t ) V i ( t ) + θ 2 ( p 2 − X i ( t ) ) \begin{aligned} &\left.V_i\left(t+1\right)=R_1\left(k,t\right)V_i\left(t\right)+\theta_2\left(p_2\right.-X_i\left(t\right)\right) \\ \end{aligned} Vi(t+1)=R1(k,t)Vi(t)+θ2(p2Xi(t))

θ 2 = R 2 ( k , t ) + φ R 3 ( k , t ) \theta_{2} =R_2\left(k,t\right)+\varphi R_3\left(k,t\right) θ2=R2(k,t)+φR3(k,t)

p 2 = R 2 ( k , t ) R 2 ( k , t ) + φ R 3 ( k , t ) X w ( t ) + φ R 3 ( k , t ) R 2 ( t ) + φ R 3 ( k , t ) X ˉ ( t ) p_{2} =\frac{R_2\left(k,t\right)}{R_2\left(k,t\right)+\varphi R_3\left(k,t\right)}X_w\left(t\right)+\frac{\varphi R_3\left(k,t\right)}{R_2\left(t\right)+\varphi R_3\left(k,t\right)}\bar{X}\left(t\right) p2=R2(k,t)+φR3(k,t)R2(k,t)Xw(t)+R2(t)+φR3(k,t)φR3(k,t)Xˉ(t)

CSO算法的种群多样性是高于传统PSO算法的,因为 X w ( t ) X_w(t) Xw(t) X ˉ ( t ) \bar{X}(t) Xˉ(t)的取值更加地多样。下面展示CSO算法的勘探能力是如何高于传统PSO算法的。

首先看图 2, g b e s t ( t ) gbest(t) gbest(t)陷入了局部最优,在传统PSO算法中,两个被选择的粒子均会向 g b e s t ( t ) gbest(t) gbest(t)靠近,这最终使得算法陷入局部最优的陷阱,导致算法优化结果的不佳。现在去掉向 g b e s t ( t ) gbest(t) gbest(t)更新的方式,所有粒子均只向各自的 p b e s t ( t ) pbest(t) pbest(t)更新,如图 3。从图可以看出,被选择的粒子会跳出局部最优的陷阱,使得算法的勘探能力得到了提升。但是如果 p b e s t ( t ) pbest(t) pbest(t)也陷入了局部最优,如图 4,算法也会陷入局部最优的陷阱,导致算法的勘探能力下降。因此,去掉向 g b e s t ( t ) gbest(t) gbest(t) p b e s t ( t ) pbest(t) pbest(t) 更新的方式,粒子的更新采用成对粒子竞争更新机制,传统PSO算法也就演变为CSO算法。如图 4,由于所有粒子分布在样本空间的不同位置,粒子的更新就变得更加多样化,非常有助于算法脱离局部最优的陷阱,从而使得算法的勘探能力大幅提升。

然后分析一下CSO算法的开采能力。CSO算法的开采阶段是在勘探阶段之后,是在勘探阶段基础上继续小规模地提高算法的优化结果。在传统的PSO算法中,有以下关系:

{ f ( g b e s t ( t ) ) ≤ f ( p b e s t w ( t ) ) ≤ f ( X w ( t ) ) f ( g b e s t ( t ) ) ≤ f ( b e s t l ( t ) ) ≤ f ( X l ( t ) ) \left.\left\{\begin{array}{c}f(gbest(t))\leq f\left(pbest_w\left(t\right)\right)\leq f\left(X_w\left(t\right)\right)\\f(gbest(t))\leq f\left(best_l\left(t\right)\right)\leq f\left(X_l\left(t\right)\right)\end{array}\right.\right. {f(gbest(t))f(pbestw(t))f(Xw(t))f(gbest(t))f(bestl(t))f(Xl(t))

随着迭代过程的继续,t 越来越大,有:

{ p b e s t w ( t ) ≈ g b e s t ( t ) p b e s t l ( t ) ≈ g b e s t ( t ) \left.\left\{\begin{array}{l}pbest_w\left(t\right)\approx gbest(t)\\pbest_l\left(t\right)\approx gbest(t)\end{array}\right.\right. {pbestw(t)gbest(t)pbestl(t)gbest(t)

然后令:

其中 p 1 ′ p_1^{\prime} p1 p 1 p_1 p1的数学期望, p 2 ′ p_2^{\prime} p2 p 2 p_2 p2 φ = 0 \varphi=0 φ=0的数学期望。可以得到:
Δ F 2 ( t ) ≤ Δ F 1 ( t ) \Delta F_2\left(t\right)\leq\Delta F_1\left(t\right) ΔF2(t)ΔF1(t)

与传统PSO算法相比,CSO算法有更好的能力开发与最优粒子相接近的粒子,也就是其开发能力更好,即局部搜索能力更强。此证明过程主要与其勘探过程结合来看。

References

Cheng R, Jin Y. A competitive swarm optimizer for large scale optimization[J]. IEEE transactions on cybernetics, 2014, 45(2): 191-204.

标准 CSO

竞争粒子群(CSO)算法

相关文章:

2014,TEVC,A competitive swarm optimizer for large scale optimization(CSO)

PSO 分析(从而引入 CSO) CSO (competitive swarm optimizer) 算法是在PSO (particle swarm optimization) 算法的基础上改进而来的。PSO算法是一种功能强大、应用广泛的群体智能算法,主要用来解决优化问题。PSO算法包含一个粒子群&#xff0…...

【机器学习】【线性回归】梯度下降

文章目录 [toc]数据集实际值估计值估计误差代价函数学习率参数更新Python实现导包数据预处理迭代过程数据可视化完整代码 线性拟合结果代价结果 个人主页:丷从心 系列专栏:机器学习 数据集 ( x ( i ) , y ( i ) ) , i 1 , 2 , ⋯ , m \left(x^{(i)} , …...

JMeter逻辑控制器之While控制器

JMeter逻辑控制器之While控制器 1. 背景2.目的3. 介绍4.While示例4.1 添加While控制器4.2 While控制器面板4.3 While控制器添加请求4.3 While控制器应用场景 1. 背景 存在一些使用场景,比如:某个请求必须等待上一个请求正确响应后才能开始执行。或者&…...

记录 Docker 外部访问的基本操作

目录 1. 启动 docker 时挂载本地目录2. 外部访问 docker 容器 (-p/-P)3. 无法连接 docker 内 SSH 解决方案 1. 启动 docker 时挂载本地目录 # 将本地 D:/SDK 目录 挂载到 容器里的 /mnt/host 目录中 # 注意:-v /d/SDK:/mnt/host/ 必须放到 IMAGE_ID 前面才行 # …...

【Android 13】使用Android Studio调试系统应用之Settings移植(六):BannerMessagePreference

文章目录 一、篇头二、系列文章2.1 Android 13 系列文章2.2 Android 9 系列文章2.3 Android 11 系列文章三、BannerMessagePreference的移植3.1 新的问题:找不到 R.dimen.settingslib_preferred_minimum_touch_target3.2 问题分析(一)3.2.1 资源定义的位置3.2.2 检查依赖3.2…...

Python 变量

打印输出内容 print(‘rumenle’) print(‘haode’) 缩进需要tab 注释将需要注释的部分开头用# 多行注释 1、用你也可以左键选中我们需要注释的代码,松开,按:Ctrl/,就完成相同效果注释 2、把要注释的内容放到三个引号对里面 …...

ComfyUI如何中文汉化

comfyui中文地址如下: https://github.com/AIGODLIKE/AIGODLIKE-ComfyUI-Translationhttps://github.com/AIGODLIKE/AIGODLIKE-ComfyUI-Translation如何安装? 1. git安装 进入项目目录下的custom_nodes目录下,然后进入控制台,运…...

Glary Utilities Pro - 电脑系统优化全面指南:详尽使用教程

软件简介: Glary Utilities Pro 是一款全面的电脑优化工具,它旨在帮助用户提升计算机的性能和稳定性。这款软件提供了多种功能,包括系统清理、优化、修复以及保护。通过一键扫描,它可以识别并清除无用文件、临时数据、注册表错误等…...

1.4分页和排序

排序: -- 分页(limit)和排序(order by) -- 排序:升序ASC,降序DESC -- ORDER BY 通过字段排序,怎么排 -- 查询的结果根据成绩降序,升序 SELECT s.studentno,studentname,sub.subjectname,studentresult FROM student s RIGHT JO…...

Modbus转Profinet,不会编程也能用!轻松快上手!

Modbus转Profinet是一种用于工业自动化领域的通信协议转换器,可以将Modbus协议转换为Profinet协议,实现设备之间的数据交换与通信。这个工具的使用非常简单,即使没有编程经验的人也可以轻松上手。即使不会编程的人也可以轻松快速上手使用Modb…...

鸿蒙原生应用/元服务开发-Stage模型能力接口(十)下

ohos.app.form.FormExtensionAbility (FormExtensionAbility) 系统能力:SystemCapability.Ability.Form 示例 import FormExtensionAbility from ohos.app.form.FormExtensionAbility; import formBindingData from ohos.app.form.formBindingData; import formP…...

QT QPluginloader 加载失败,出现Unknown error 0x000000c1的问题

最近在学习Qt的插件开发&#xff0c;在加载插件时&#xff0c;一直失败&#xff0c;用如下代码加载并打印错误信息。 QDir dir("./testplugin.dll"); QPluginLoader pluginLoader(dir.absolutePath());//需要绝对路径 pluginLoader.load(); qDebug()<< "…...

众和策略:今年首次!A股罕见一幕

岁末&#xff0c;A股走出了不常见的行情。 这儿指的不单单是指数上涨。今天上午&#xff0c;A股逾3900只个股上涨&#xff0c;昨日逾4400只个股上涨&#xff0c;前天逾3700只个股上涨。据通达信数据显现&#xff0c;这种连续的普涨行情在本年还是头一次。 本年10月底&#xf…...

EasyExcel实现动态表头(注解实现)

要实现上述动态头&#xff0c;按每日统计&#xff0c;每月统计&#xff0c;每年统计。而时间是一直变化&#xff0c;所以我们需要表头也一直动态生成。 首先&#xff0c;我们需要定义所需要实体类 public class CountDayData {ExcelProperty(value "业务员姓名")p…...

什么是工厂方法模式,工厂方法模式解决了什么问题?

工厂方法模式是一种创建型设计模式&#xff0c;它定义了一个用于创建对象的接口&#xff0c;但将实际的实例化过程延迟到子类中。这样&#xff0c;客户端代码在不同的子类中实例化具体对象&#xff0c;而不是直接实例化具体类。工厂方法模式允许一个类的实例化延迟到其子类&…...

Flink 输出至 Elasticsearch

【1】引入pom.xml依赖 <dependency><groupId>org.apache.flink</groupId><artifactId>flink-connector-elasticsearch6_2.12</artifactId><version>1.10.0</version> </dependency>【2】ES6 Scala代码&#xff0c;自动导入的…...

web三层架构

目录 1.什么是三层架构 2.运用三层架构的目的 2.1规范代码 2.2解耦 2.3代码的复用和劳动成本的减少 3.各个层次的任务 3.1web层&#xff08;表现层) 3.2service 层(业务逻辑层) 3.3dao 持久层(数据访问层) 4.结合mybatis简单实例演示 1.什么是三层架构 三层架构就是把…...

智能优化算法应用:基于厨师算法3D无线传感器网络(WSN)覆盖优化 - 附代码

智能优化算法应用&#xff1a;基于厨师算法3D无线传感器网络(WSN)覆盖优化 - 附代码 文章目录 智能优化算法应用&#xff1a;基于厨师算法3D无线传感器网络(WSN)覆盖优化 - 附代码1.无线传感网络节点模型2.覆盖数学模型及分析3.厨师算法4.实验参数设定5.算法结果6.参考文献7.MA…...

写在2023年末,软件测试面试题总结

大家好&#xff0c;最近有不少小伙伴在后台留言&#xff0c;得准备年后面试了&#xff0c;又不知道从何下手&#xff01;为了帮大家节约时间&#xff0c;特意准备了一份面试相关的资料&#xff0c;内容非常的全面&#xff0c;真的可以好好补一补&#xff0c;希望大家在都能拿到…...

51系列--数码管显示的4X4矩阵键盘设计

本文介绍基于51单片机的4X4矩阵键盘数码管显示设计&#xff08;完整Proteus仿真源文件及C代码见文末链接&#xff09; 一、系统及功能介绍 本设计主控芯片选用51单片机&#xff0c;主要实现矩阵键盘对应按键键值在数码管上显示出来&#xff0c;矩阵键盘是4X4共计16位按键&…...

Mac软件卸载指南,简单易懂!

刚和Adobe分手&#xff0c;它却总在Library里给你写"回忆录"&#xff1f;卸载的Final Cut Pro像电子幽灵般阴魂不散&#xff1f;总是会有残留文件&#xff0c;别慌&#xff01;这份Mac软件卸载指南&#xff0c;将用最硬核的方式教你"数字分手术"&#xff0…...

JUC笔记(上)-复习 涉及死锁 volatile synchronized CAS 原子操作

一、上下文切换 即使单核CPU也可以进行多线程执行代码&#xff0c;CPU会给每个线程分配CPU时间片来实现这个机制。时间片非常短&#xff0c;所以CPU会不断地切换线程执行&#xff0c;从而让我们感觉多个线程是同时执行的。时间片一般是十几毫秒(ms)。通过时间片分配算法执行。…...

Web后端基础(基础知识)

BS架构&#xff1a;Browser/Server&#xff0c;浏览器/服务器架构模式。客户端只需要浏览器&#xff0c;应用程序的逻辑和数据都存储在服务端。 优点&#xff1a;维护方便缺点&#xff1a;体验一般 CS架构&#xff1a;Client/Server&#xff0c;客户端/服务器架构模式。需要单独…...

uniapp 集成腾讯云 IM 富媒体消息(地理位置/文件)

UniApp 集成腾讯云 IM 富媒体消息全攻略&#xff08;地理位置/文件&#xff09; 一、功能实现原理 腾讯云 IM 通过 消息扩展机制 支持富媒体类型&#xff0c;核心实现方式&#xff1a; 标准消息类型&#xff1a;直接使用 SDK 内置类型&#xff08;文件、图片等&#xff09;自…...

【Post-process】【VBA】ETABS VBA FrameObj.GetNameList and write to EXCEL

ETABS API实战:导出框架元素数据到Excel 在结构工程师的日常工作中,经常需要从ETABS模型中提取框架元素信息进行后续分析。手动复制粘贴不仅耗时,还容易出错。今天我们来用简单的VBA代码实现自动化导出。 🎯 我们要实现什么? 一键点击,就能将ETABS中所有框架元素的基…...

向量几何的二元性:叉乘模长与内积投影的深层联系

在数学与物理的空间世界中&#xff0c;向量运算构成了理解几何结构的基石。叉乘&#xff08;外积&#xff09;与点积&#xff08;内积&#xff09;作为向量代数的两大支柱&#xff0c;表面上呈现出截然不同的几何意义与代数形式&#xff0c;却在深层次上揭示了向量间相互作用的…...

【51单片机】4. 模块化编程与LCD1602Debug

1. 什么是模块化编程 传统编程会将所有函数放在main.c中&#xff0c;如果使用的模块多&#xff0c;一个文件内会有很多代码&#xff0c;不利于组织和管理 模块化编程则是将各个模块的代码放在不同的.c文件里&#xff0c;在.h文件里提供外部可调用函数声明&#xff0c;其他.c文…...

可下载旧版app屏蔽更新的app市场

软件介绍 手机用久了&#xff0c;app越来越臃肿&#xff0c;老手机卡顿成常态。这里给大家推荐个改善老手机使用体验的方法&#xff0c;还能帮我们卸载不需要的app。 手机现状 如今的app不断更新&#xff0c;看似在优化&#xff0c;实则内存占用越来越大&#xff0c;对手机性…...

Kafka深度解析与原理剖析

文章目录 一、Kafka核心架构原理1. **分布式协调与选举**2. **ISR、OSR与HW机制**3. **高性能存储设计**4. **刷盘机制 (Flush)**5. **消息压缩算法**二、高可用与消息可靠性保障1. **数据高可用策略**2. **消息丢失场景与规避**3. **顺序消费保证**三、Kafka高频面试题精析1. …...

MTK-Android12-13 Camera2 设置默认视频画质功能实现

MTK-Android12-13 Camera2 设置默认视频画质功能实现 场景&#xff1a;部分客户使用自己的mipi相机安装到我们主板上&#xff0c;最大分辨率为1280720&#xff0c;但是视频画质默认的是640480。实际场景中&#xff0c;在默认视频分辨率情况下拍出来的视频比较模糊、预览也不清晰…...