粒子群算法介绍、matlab实现及相关改进

粒子群算法介绍、matlab实现及相关改进

  1. 参数

    • N:粒子数量

      ⟹ \Longrightarrow 一般取[20,40],对于较难或者特定类别的问题,可以取[100,200];

    • D:决策变量维度

    • iter_Max:最大迭代次数

    • X:决策变量

    • V:每个粒子个体对应速度集合

    • x j,i L x_{\text{j,i}}^L xj,iL, x j,i U x_{\text{j,i}}^U xj,iU:决策变量 边界

    • v j,i L v_{\text{j,i}}^L vj,iL, v j,i U v_{\text{j,i}}^U vj,iU:速度边界

      ⟹ \Longrightarrow vmax较大时,探索能力强,但是粒子容易飞过最优解;

      ⟹ \Longrightarrow vmax较小时,开发能力强,但是容易陷入局部最优解;

      ⟹ \Longrightarrow vmax一般设为每一维变脸变化范围的10%~20%;

    • w:惯性权重

      ⟹ \Longrightarrow w越大,全局搜索能力越强;w越小,局部搜索能力越强。

      ⟹ \Longrightarrow 根据经验,一般最大取0.9,最小取0.4

    • c1:学习因子1 ⟹ \Longrightarrow 个人认知学习因子,反映了粒子对自身历史经验的记忆和会议,代表粒子向自身历史最佳位置逼近的趋势。

    • c2:学习因子2 ⟹ \Longrightarrow 个人认知学习因子,反映了粒子建协同合作与知识共享的群体历史经验,代表粒子向群体或邻近历史最佳位置逼近的趋势。

      上述三个参数均可以采取不同的方式进行设置,在后面的算法改进中,会详细介绍。

    • r1、r2:两个位于0~1之间的随机数,用来增加系统的粒子运动趋势的随机性。

  2. 算法流程

    1. 参数及粒子初始化

    2. 进入迭代更新粒子的位置和速度(可以按照标号4中的不同方法进行更新)

    3. 更新个体最优解和全局最优解

      在一迭代次数下,每更新一个粒子的位置和速度,便更新一次最优解(亲测,要是一次性更新的话,很难找到全局最优解)

    4. 完成迭代,对结果进行展示

  3. 流程总结

在这里插入图片描述

  1. 不同方法对于粒子群算法的改进

    1. 基础粒子群算法
      v i,j ( t + 1 ) = v i,j ( t ) + c 1 r 1 [ p i,best ( t ) − x i,j ( t ) ] + c 2 r 2 [ g i,best ( t ) − x i,j ( t ) ] x i,j ( t + 1 ) = x i,j ( t ) + v i,j ( t + 1 ) v_\text{i,j}(t+1) = v_\text{i,j}(t)+c_1r_1[p_\text{i,best}(t)-x_\text{i,j}(t)]+c_2r_2[g_\text{i,best}(t)-x_\text{i,j}(t)]\\ x_\text{i,j}(t+1) = x_\text{i,j}(t)+v_\text{i,j}(t+1) vi,j(t+1)=vi,j(t)+c1r1[pi,best(t)xi,j(t)]+c2r2[gi,best(t)xi,j(t)]xi,j(t+1)=xi,j(t)+vi,j(t+1)

      • 优点:参数少,速度快,逻辑简单,编写代码方便
      • 缺点:全局搜索能力差,容易陷入局部最优解,搜索精度低
    2. 标准粒子群算法
      ω = ω max − ( ω max − ω min ) iter iter_Max v i,j ( t + 1 ) = ω ⋅ v i,j ( t ) + c 1 r 1 [ p i,best ( t ) − x i,j ( t ) ] + c 2 r 2 [ g i,best ( t ) − x i,j ( t ) ] x i,j ( t + 1 ) = x i,j ( t ) + v i,j ( t + 1 ) ω max = 0.9 ; ω max = 0.4 ; \begin{array}{l} \omega = \omega_{\text{max}}-(\omega_\text{max}-\omega_\text{min})\displaystyle\frac{\text{iter}}{\text{iter\_Max}}\\ v_\text{i,j}(t+1) = \omega\cdot v_\text{i,j}(t)+c_1r_1[p_\text{i,best}(t)-x_\text{i,j}(t)]+c_2r_2[g_\text{i,best}(t)-x_\text{i,j}(t)]\\ x_\text{i,j}(t+1) = x_\text{i,j}(t)+v_\text{i,j}(t+1)\\ \omega_\text{max} = 0.9;\\ \omega_\text{max} = 0.4; \end{array} ω=ωmax(ωmaxωmin)iter_Maxitervi,j(t+1)=ωvi,j(t)+c1r1[pi,best(t)xi,j(t)]+c2r2[gi,best(t)xi,j(t)]xi,j(t+1)=xi,j(t)+vi,j(t+1)ωmax=0.9;ωmax=0.4;
      通过增加随迭代次数改变而改变的惯性因子,使得开始时具有较强的全局搜索能力,后期具备较强的局部搜索能力。

    3. 压缩因子粒子群算法
      ω = 2 ∣ 2 − φ − φ 2 − 4 φ ∣ v i,j ( t + 1 ) = ω ⋅ v i,j ( t ) + c 1 r 1 [ p i,best ( t ) − x i,j ( t ) ] + c 2 r 2 [ g i,best ( t ) − x i,j ( t ) ] x i,j ( t + 1 ) = x i,j ( t ) + v i,j ( t + 1 ) φ = c 1 + c 2 \begin{array}{l} \omega = \displaystyle\frac{2}{|2-\varphi-\sqrt{\varphi^2-4\varphi}|}\\ v_\text{i,j}(t+1) = \omega\cdot v_\text{i,j}(t)+c_1r_1[p_\text{i,best}(t)-x_\text{i,j}(t)]+c_2r_2[g_\text{i,best}(t)-x_\text{i,j}(t)]\\ x_\text{i,j}(t+1) = x_\text{i,j}(t)+v_\text{i,j}(t+1)\\ \varphi = c_1+c_2 \end{array} ω=∣2φφ24φ 2vi,j(t+1)=ωvi,j(t)+c1r1[pi,best(t)xi,j(t)]+c2r2[gi,best(t)xi,j(t)]xi,j(t+1)=xi,j(t)+vi,j(t+1)φ=c1+c2
      通过这种方式,收敛速度更快

    4. 结合自适应惯性权重的混合粒子群算法
      ω = ( ω max − ω min ) ⋅ tan ⁡ ( 0.875 ( 1 − iter iter_Max ) k ) + ω min ; v i,j ( t + 1 ) = ω ⋅ v i,j ( t ) + c 1 r 1 [ p i,best ( t ) − x i,j ( t ) ] + c 2 r 2 [ g i,best ( t ) − x i,j ( t ) ] ; x i,j ( t + 1 ) = x i,j ( t ) + v i,j ( t + 1 ) ; k = 0.6 ; 控制因子,根据经验,一般取该值 \begin{array}{l} \omega = (\omega_\text{max}-\omega_\text{min})\cdot\tan(0.875(1-\frac{\text{iter}}{\text{iter\_Max}})^k)+\omega_\text{min};\\ v_\text{i,j}(t+1) = \omega\cdot v_\text{i,j}(t)+c_1r_1[p_\text{i,best}(t)-x_\text{i,j}(t)]+c_2r_2[g_\text{i,best}(t)-x_\text{i,j}(t)];\\ x_\text{i,j}(t+1) = x_\text{i,j}(t)+v_\text{i,j}(t+1);\\ k = 0.6;\ \ \ \ \ \ 控制因子,根据经验,一般取该值 \end{array} ω=(ωmaxωmin)tan(0.875(1iter_Maxiter)k)+ωmin;vi,j(t+1)=ωvi,j(t)+c1r1[pi,best(t)xi,j(t)]+c2r2[gi,best(t)xi,j(t)];xi,j(t+1)=xi,j(t)+vi,j(t+1);k=0.6;      控制因子,根据经验,一般取该值
      该算法将模拟退火中的Metropolis准则引入到了粒子群算法中,极大程度的避免寻优过程中陷入局部最优问题,而且收敛速度快,稳定性好。

    5. 动态调整惯性权重改进粒子群算法(IDWPSO)
      ω = ω min + ( ω m a x − ω m i n ) ⋅ e − iter iter_Max + σ ⋅ b e t a r a n d ( p , q ) ; v i,j ( t + 1 ) = ω ⋅ v i,j ( t ) + c 1 r 1 [ p i,best ( t ) − x i,j ( t ) ] + c 2 r 2 [ g i,best ( t ) − x i,j ( t ) ] ; x i,j ( t + 1 ) = x i,j ( t ) + v i,j ( t + 1 ) ; σ = 0.1 ; 惯性调整因子,根据经验,一般取该值 p = 1 ; q = 3 ; \begin{array}{l} \omega = \omega_\text{min}+(\omega_{max}-\omega_{min})\cdot e^{-\frac{\text{iter}}{\text{iter\_Max}}}+\sigma\cdot betarand(p,q);\\ v_\text{i,j}(t+1) = \omega\cdot v_\text{i,j}(t)+c_1r_1[p_\text{i,best}(t)-x_\text{i,j}(t)]+c_2r_2[g_\text{i,best}(t)-x_\text{i,j}(t)];\\ x_\text{i,j}(t+1) = x_\text{i,j}(t)+v_\text{i,j}(t+1);\\ \sigma = 0.1;\ \ \ \ \ \ 惯性调整因子,根据经验,一般取该值\\ p = 1;\\ q = 3;\\ \end{array} ω=ωmin+(ωmaxωmin)eiter_Maxiter+σbetarand(p,q);vi,j(t+1)=ωvi,j(t)+c1r1[pi,best(t)xi,j(t)]+c2r2[gi,best(t)xi,j(t)];xi,j(t+1)=xi,j(t)+vi,j(t+1);σ=0.1;      惯性调整因子,根据经验,一般取该值p=1;q=3;
      使得 ω \omega ω随着迭代次数的增加而非线性减小,同时在最后面添加一个生成贝塔分布规律的随机数,使得算法在迭代后期可以增加算法的全局搜索能力,减少算法陷入局部最优解的可能性。

    6. 不同改进算法的横向性能对比

      为了方便比较不同算法在面对同一优化问题时性能表现,这里针对某一优化问题采用不同的方法进行500次求解,具体数据见下两表:

表1 500次运算结果展示
方法迭代次数平均值迭代次数方差运行时间平均值运行时间方差最优适应度平均值最优适应度方差单次迭代时间
基础粒子群算法9331680.14760.00008326-6.401860.000017520.0015871
标准粒子群13421780.15450.00003303-6.407200.000000290.0011530
压缩因子粒子群算法9232940.14920.00004816-6.401260.000023180.0016217
自适应惯性权重混合粒子群算法14628111.70720.0025975-6.397630.00008880.0116931
IDWPSO18701.38360.00371457-6.406110.000001910.0073989

P.S. 上述数据转载自智能算法之粒子群算法及改进

运行效率排序:
压缩因子粒子群算法 > 基础粒子群算法 > 标准粒子群 > 自适应惯性权重混合粒子群算法 > I D W P S O 压缩因子粒子群算法>基础粒子群算法>标准粒子群>自适应惯性权重混合粒子群算法>IDWPSO 压缩因子粒子群算法>基础粒子群算法>标准粒子群>自适应惯性权重混合粒子群算法>IDWPSO
寻找最优解速度排序:
基础粒子群算法 > 压缩因子粒子群算法 > 标准粒子群 > I D W P S O > 自适应惯性权重混合粒子群算法 基础粒子群算法>压缩因子粒子群算法>标准粒子群>IDWPSO>自适应惯性权重混合粒子群算法 基础粒子群算法>压缩因子粒子群算法>标准粒子群>IDWPSO>自适应惯性权重混合粒子群算法
单次迭代时间排序:
标准粒子群 > 基础粒子群算法 > 压缩因子粒子群算法 > I D W P S O > 自适应惯性权重混合粒子群算法 标准粒子群>基础粒子群算法>压缩因子粒子群算法>IDWPSO>自适应惯性权重混合粒子群算法 标准粒子群>基础粒子群算法>压缩因子粒子群算法>IDWPSO>自适应惯性权重混合粒子群算法
寻找最优解能力:
自适应惯性权重混合粒子群算法 > 压缩因子粒子群算法 > 基础粒子群算法 > I D W P S O > 标准粒子群 自适应惯性权重混合粒子群算法>压缩因子粒子群算法>基础粒子群算法>IDWPSO>标准粒子群 自适应惯性权重混合粒子群算法>压缩因子粒子群算法>基础粒子群算法>IDWPSO>标准粒子群
综合以上考虑,在使用粒子群算法时:

  • 时间要求不高:采用自适应惯性权重混合粒子群算法(能有效避免局部最优解)和IDWPSO;
  • 时间要求比较高时:采用压缩因子粒子群算法或者标准粒子群算法
  1. 示例代码
close all
clear
clcN = 50; % 粒子个数
D = 10; % 决策变量维度
X_Max = 20; X_Min = -20; % 决策变量上下限
V_Max = (X_Max - X_Min) * 0.15; V_Min = -V_Max; % 速度上下限
w_Max = 0.9; w_Min = 0.4; % 惯性因子上下限
c1 = 1.5; c2 = 1.5; % 两个学习因子
iter_Max = 1000; % 最大迭代次数
WaitbarInter = iter_Max / 100; % 一个和进度条有关的参数% 粒子初始化
X = X_Min + (X_Max - X_Min) .* rand(N, D);
V = V_Min + (V_Max - V_Min) .* rand(N, D);% 写入当前全局最优解和个体最优解
GBestFitness = zeros(1, iter_Max + 1);
PBestFitness = zeros(N, 1);
PBest = X;for i = 1:NPBestFitness(i) = Fitness(X(i, :));
end[GBestFitness(1), GBestIndex] = min(PBestFitness);
GBest = PBest(GBestIndex, :);tic
h = waitbar(0, ['已完成:0%   运算中...用时:', num2str(toc)]);for iter = 1:iter_Max% 初始化当前迭代次数下的最优解CurrentIterGbest = GBest;CurrentIterGbestFitness = GBestFitness(iter);k = 0.6; % 控制因子,一般取0.6w = (w_Max - w_Min) * tan(0.875 * (1 - (iter / iter_Max)^k)) + w_Min;for i = 1:N% 更新个体的位置和速度V(i, :) = w * V(i, :) + c1 * rand * (PBest(i, :) - X(i, :)) + c2 * rand * (CurrentIterGbest - X(i, :));X(i, :) = X(i, :) + V(i, :);% 边界条件限制[X(i, :), V(i, :)] = BoundaryLimit(X(i, :), V(i, :), X_Max, X_Min, V_Max, V_Min);% 计算当前迭代次数下当前粒子的适应度CurrentFitness = Fitness(X(i, :));% 更新当前迭代次数下该粒子的最优解!!!% 事实证明,粒子个体最优解的更新应该在一个粒子位置苏都更新完后立即更新!!!% 若在当前迭代次数下所有粒子的位置和速度更新完毕后,再更新个体最优解,那么及其难以收敛!!!if CurrentFitness < PBestFitness(i)PBestFitness(i) = CurrentFitness;PBest(i, :) = X(i, :);% 更新当前迭代次数下的最优解if CurrentIterGbestFitness > CurrentFitnessCurrentIterGbestFitness = CurrentFitness;CurrentIterGbest = X(i, :);endendend% 依据当前迭代次数下的最优解更新全局最优解GBest = CurrentIterGbest;GBestFitness(iter + 1) = CurrentIterGbestFitness;% 展示进度条if mod(iter, WaitbarInter) == 0waitbar(iter / iter_Max, h, ['已完成:' num2str(iter / iter_Max * 100) ...'%   运算中...用时:', num2str(toc),'/',num2str(toc/(iter / iter_Max))])endendclose(h)% 结果展示
semilogy(GBestFitness(1:iter - 1), 'Color', 'r', 'linewidth', 1.2)
title('Convergence Curve')
xlabel('Iteration');
ylabel('Best score obtained so far');
axis tight
grid on
box on
legend('PSO')
display(['The best solution obtained by PSO is : ', num2str(GBest)]);
display(['The best optimal value of the objective funciton found by PSO is : ', num2str(GBestFitness(iter - 1))]);% 目标函数
function result = Fitness(X)result = sum(X.^2);end% 边界限制函数
function [result_X, result_V] = BoundaryLimit(X, V, X_Max, X_Min, V_Max, V_Min)for i_temp = 1:length(X(:, 1))if X(i_temp) > X_MaxX(i_temp) = X_Max;endif X(i_temp) < X_MinX(i_temp) = X_Min;endendfor i_temp = 1:length(V(:, 1))if V(i_temp) > V_MaxV(i_temp) = V_Max;endif V(i_temp) < V_MinV(i_temp) = V_Min;endendresult_X = X;result_V = V;end%% 关于粒子群算法的改进方法%% 1.基础粒子群算法      基本不用,效果太差
% V(i, :) = V(i, :) + c1 * rand * (PBest(i, :) - X(i, :)) + c2 * rand * (CurrentIterGbest - X(i, :));
% X(i, :) = X(i, :) + V(i, :);%% 2.标准粒子群算法    常用的粒子群更新方法
% w = w_Max - (w_Max - w_Min) * iter / iter_Max;
% V(i, :) = w * V(i, :) + c1 * rand * (PBest(i, :) - X(i, :)) + c2 * rand * (CurrentIterGbest - X(i, :));
% X(i, :) = X(i, :) + V(i, :);%% 3.压缩因子粒子群算法   需要迭代的次数更多,全局搜索性更高
% phi = c1 + c2;  % 压缩因子粒子群算法相关参数
% lambda = 2/abs(2-phi-sqrt(phi^2-4*phi)); % 压缩因子粒子群算法相关参数
% lambda = 2/abs(2-phi-sqrt(phi^2-4*phi));
% V(i, :) = lambda * V(i, :) + c1 * rand * (PBest(i, :) - X(i, :)) + c2 * rand * (CurrentIterGbest - X(i, :));
% X(i, :) = X(i, :) + V(i, :);%% 4.结合自适应惯性权重的混合粒子群算法(上面所使用的)
% 结合了模拟退火的思想(运用了Metropolis准则),增加了全局搜索能力
% k = 0.6;  % 控制因子,一般取0.6
% w = (w_Max-w_Min)*tan(0.875*(1-(iter/iter_Max)^k))+w_Min;
% V(i, :) = w * V(i, :) + c1 * rand * (PBest(i, :) - X(i, :)) + c2 * rand * (CurrentIterGbest - X(i, :));
% X(i, :) = X(i, :) + V(i, :);%% 5.动态调整惯性权重改进粒子群算法(IDWPSO)
% sigma = 0.1;  % 惯性调整因子
% p = 1;  q = 3;  % 两个beta分布的参数
% w = w_Min + (w_Max-w_Min)*exp(-iter/iter_Max)+sigma*betarnd(p,q);

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

文件树生成器

文件树生成 (批处理指令) 就是一个WIN的批处理指令 前言 最近在编写文档时,发现数据量有点多,并且文件的位置繁杂,于是就想着弄一个文件树的软件, 发现 Win 的的 CMD 命令中有tree这个指令, 于是就弄了下BAT 文件 好处 整体因人而异 我说说,我觉得的优点 可以快速的帮我…

STP生成树详解_01

一 、生成树协议产生的背景 1、局域网中出现的主要问题&#xff1a; 1) 网络互联 交换机和网线 2) 广播过多 分隔广播域 vlan 3) 局域网中终端设备较多&#xff0c;200台以上的计算机互通&#xff0c;需要多台交换机&#xff1f; 多台交换机之间如何连线&#xff1f; 交换机…

粒子群算法实现之python

python实现粒子群算法 粒子群算法&#xff08;PSO&#xff09;&#xff0c;又可以叫做鸟群算法&#xff0c;是学者观察模仿鸟群的行为而发展的一种智能搜索算法&#xff0c;和遗传算法一样&#xff0c;也是一种群智能算法。 总的来说&#xff0c;粒子群算法也是一种进化算法&a…

【iOS-Cocos2d游戏开发之十】添加粒子系统特效并解决粒子特效与Layer之间的坐标问题;

李华明Himi 原创,转载务必在明显处注明&#xff1a; 转载自 【黑米GameDev街区】 原文链接: http://www.himigame.com/iphone-cocos2d/472.html 一直以来Himi特别想在游戏中使用粒子系统&#xff0c;但是之前做J2me与Android中发现使用粒子做的效果都会造成游戏运行内存的一…

第十二讲:生成树概念及STP技术应用

在传统的交换网络中&#xff0c;设备通过单条链路进行连接&#xff0c;当某一个点或是某一个链路发生故障时可能导致网络无法访问&#xff0c;解决这种问题的办法是在网络中提供冗余链路&#xff0c;但是交换机网络中的冗余链路会产生广播风暴、MAC地址失效等现象&#xff0c;最…

粒子群算法及其改进

1 粒子群算法介绍 求解非线性最优化问题时&#xff0c;有一种比较常用的算法为智能体算法&#xff0c;这里我们介绍的粒子群算法就隶属于智能体算法。 粒子群算法是模拟鸟寻找食物&#xff1a;一群鸟在随机的搜索食物。在这个区域里只有一块食物&#xff0c;所有的鸟都不知道食…

系统发育树的生成与美化(MEGA7和iTOL)--1.MEGA7生成系统发育树

#小白学习生成系统发育树 1.序列准备-本文中的数据LOC号是在文献中的附件中所找到的&#xff0c;然后在Phytozome v13中逐个查找氨基酸序列&#xff0c;需要输入所查找的物种名称&#xff0c;以及基因号&#xff0c;如下图所示&#xff1a; 下滑看到蛋白质序列 然后将蛋白质序…

PCL 基于最小生成树(MST)获取单木骨架(粗)

文章目录 一、简介二、实现代码三、实现效果参考资料一、简介 提取的过程大体上分为两个部分:生成单木MST(最小生成树)以及基于该MST获取大致的骨架结构(线条)。 具体的计算过程如下所述: 1、首先应用Delaunay三角剖分来构造初始图。Delaunay三角剖分是MST计算的基础,因…

详解综合学习粒子群算法——CLPSO(附该文作者给出的matlab代码)

最近团队出了两篇基于CLPSO[1]的改进算法&#xff0c;这里根据自己的理解分析一下这个综合学习的算法&#xff0c;并将文章作者给出的源代码分享出来供大家学习&#xff1a;https://download.csdn.net/download/Bernard_S/12612817 (免费下载&#xff0c;本身就是从作者的主页搬…

进化算法之粒子群算法和Matlab实现(多维)

&#xff08;粒子群算法进阶讲解传送门&#xff1a;(https://blog.csdn.net/DBLLLLLLLL/article/details/103036067) &#xff09; 前面一篇文章介绍了遗传算法&#xff0c;这里再介绍一种进化算法&#xff0c;称为粒子群算法。同遗传算法类似&#xff0c;粒子群算法也是仿照了…

粒子群算法及通过惯性权重和学习因子对其进行改进—MATLAB实现

本文的代码将放在最后&#xff0c;需要的小伙伴们可以免费获取哦&#xff01;&#xff01;&#xff01; 不要忘记点赞加关注奥&#x1f60b;&#x1f60b; 文章目录 粒子群算法一、理论基础1、介绍2、核心公式3、图形直观解释 二、问题描述三、解题思路四、MATLAB实现1、参数设…

可查看其他用户聊天记录,ChatGPT 爆出大BUG

ChatGPT一经推出&#xff0c;迅速出圈&#xff0c;用户赞誉如云&#xff0c;“绝对改变世界”、“第四次工业革命的“火药桶”、“苍天啊&#xff0c;它咋啥都会&#xff0c;我失业了”&#xff0c;一时间 ChatGPT 成为完美的代言词。 然而近日&#xff0c;ChatGPT 遇到了大麻烦…

ChatGPT 和 Midjourney 将改变我们的生活,日常工作流程将完全改变并与这些新型工具集成

上周末我花了很多时间先玩 Open AI ChatGPT,然后玩 Midjourney。起初我笑了,然后我开始完全被各种可能性所困扰,然后我终于意识到了它的潜力,并开始将其用于更有成效的工作。 注意:我本可以用它来制作一个引人入胜的点击诱饵标题,但我没有. 这是我问 Open AI 聊天的第一…

博弈的意思_博弈是什么意思(博弈最通俗的解释)

国学智慧《鬼谷子》:在封闭和开合的状态中,达到自己想要的目的。 鬼谷子是一本智谋之书,里面主要讲述的就是在和别人博弈的时候,以什么样的心态和姿态,来达到自己想要的目的。也是为人处世,处世权谋之中,不可不读的一本书。鬼谷子这本书中的捭阖术,其中的道理也要灵活多…

你是伪民主式父母吗?

经常给青少年做咨询&#xff0c;发现一个有趣的现象&#xff0c;就是关于他们家庭的养育方式&#xff0c;孩子和父母的表述是不一样的&#xff0c;父母说他们是民主式的家长&#xff0c;给孩子尽量多的自由&#xff0c;不去过多管制&#xff1b;而孩子说自己的父母是特别专制和…

聪明人是怎么说话办事的?曾国藩这幅书法对联,两句话讲解透彻!

晚清名臣曾国藩的经典对联&#xff1a; “大处着眼&#xff0c;小处着手&#xff1b;群居守口&#xff0c;独居守心”&#xff01; 曾国藩是第一等的聪明人&#xff0c;能在复杂的官场中生存&#xff0c;还能赢得会做人的美誉&#xff0c;关键在于他做到了两件事&#xff0c;一…

嵌入式为什么没有软件架构师?

点击上方“小麦大叔”&#xff0c;选择“置顶/星标公众号” 福利干货&#xff0c;第一时间送达 我从事嵌入式软件开发有6、7个年头&#xff0c;bsp&#xff0c;驱动&#xff0c;应用软件&#xff0c;android hall&#xff0c;framework等都有涉猎。平时除了关注嵌入式行业的发展…

总结一下进程是什么

1、我们常说的进程是什么&#xff1f; 进程&#xff08;Process&#xff09;是计算机中的程序关于某数据集合上的运行活动&#xff0c;是系统进行资源分配和调度的基本单位&#xff0c;是操作系统结构的基础。 进程是程序的基本执的实体 2、进程状态 就绪状态 进程已获得除处…

Vue 方法中this指向 引起的祸端

可忽略 最近在写 vue 项目&#xff0c; 使用 总监封装 好的框架&#xff0c;遇到一个问题&#xff1a; vue 实例 methods 中的 方法在传递后&#xff0c;通过 函数名&#xff08;&#xff09; 方式调用后&#xff0c; 其内部 this 竟然没有指向 window。当时就不服了&#xff…