Latex写算法的伪代码排版_latex 算法 or and

img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上物联网嵌入式知识点,真正体系化!

由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、电子书籍、讲解视频,并且后续会持续更新

需要这些体系化资料的朋友,可以加我V获取:vip1024c (备注嵌入式)

如果你需要这些资料,可以戳这里获取

  1. \State  E _ n = E _ n + c _ i E\_n=E\_n+c\_i E_n=E_n+c_i;
  2. \EndWhile
  3. \label{code:recentEnd}
  4. \end{algorithmic}
  5. \end{algorithm}

example 3

代码:

[plain] 
view plain
 copy

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传
外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  1. \begin{algorithm}[h]
  2. \caption{Conjugate Gradient Algorithm with Dynamic Step-Size Control}
  3. \label{alg::conjugateGradient}
  4. \begin{algorithmic}[1]
  5. \Require
  6. f ( x ) f(x) f(x): objective funtion;
  7. x _ 0 x\_0 x_0: initial solution;
  8. s s s: step size;
  9. \Ensure
  10. optimal KaTeX parse error: Undefined control sequence: \* at position 4: x^{\̲*̲}
  11. \State initial  g _ 0 = 0 g\_0=0 g_0=0 and  d _ 0 = 0 d\_0=0 d_0=0;
  12. \Repeat
  13. \State compute gradient directions  g _ k = ▽   f ( x _ k ) g\_k=\bigtriangledown f(x\_k) g_k= f(x_k);
  14. \State compute Polak-Ribiere parameter  β _ k = g _ k T ( g _ k − g _ k − 1 ) ∥   g _ k − 1   ∥ 2 \beta\_k=\frac{g\_k^{T}(g\_k-g\_{k-1})}{\parallel g\_{k-1} \parallel^{2}} β_k= g_k1 2g_kT(g_kg_k1);
  15. \State compute the conjugate directions  d _ k = − g _ k + β _ k   d _ k − 1 d\_k=-g\_k+\beta\_k d\_{k-1} d_k=g_k+β_k d_k1;
  16. \State compute the step size  α _ k = s / ∥   d _ k   ∥ _ 2 \alpha\_k=s/\parallel d\_k \parallel\_{2} α_k=s/ d_k _2;
  17. \Until{( f ( x _ k ) > f ( x _ k − 1 ) f(x\_k)>f(x\_{k-1}) f(x_k)>f(x_k1))}
  18. \end{algorithmic}
  19. \end{algorithm}

example 4

代码:

[plain] 
view plain
 copy

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传
外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  1. \makeatletter
  2. \def\BState{\State\hskip-\ALG@thistlm}
  3. \makeatother
  4. \begin{algorithm}
  5. \caption{My algorithm}\label{euclid}
  6. \begin{algorithmic}[1]
  7. \Procedure{MyProcedure}{}
  8. \State  stringlen   ←  length of  string \textit{stringlen} \gets \text{length of }\textit{string} stringlen  length of string
  9. \State  i   ←   patlen i \gets \textit{patlen} i  patlen
  10. \BState \emph{top}:
  11. \If { i   >   stringlen i > \textit{stringlen} i > stringlen} \Return false
  12. \EndIf
  13. \State  j   ←   patlen j \gets \textit{patlen} j  patlen
  14. \BState \emph{loop}:
  15. \If { string ( i )   =   path ( j ) \textit{string}(i) = \textit{path}(j) string(i) = path(j)}
  16. \State  j   ←   j − 1 j \gets j-1 j  j1.
  17. \State  i   ←   i − 1 i \gets i-1 i  i1.
  18. \State \textbf{goto} \emph{loop}.
  19. \State \textbf{close};
  20. \EndIf
  21. \State  i   ←   i + max ⁡ ( delta _ 1 ( string ( i ) ) , delta _ 2 ( j ) ) i \gets i+\max(\textit{delta}\_1(\textit{string}(i)),\textit{delta}\_2(j)) i  i+max(delta_1(string(i)),delta_2(j)).
  22. \State \textbf{goto} \emph{top}.
  23. \EndProcedure
  24. \end{algorithmic}
  25. \end{algorithm}

algorithm2e例子

algorithm2e包可能会与其它包产生冲突,一个常见的错误提示是“Too many }'…”。为了解决这个问题,要在引入algorithm2e包之前加入下面的命令:

[plain] 
view plain
 copy

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传
外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  1. \makeatletter
  2. \newif\if@restonecol
  3. \makeatother
  4. \let\algorithm\relax
  5. \let\endalgorithm\relax

所以前期准备:

[plain] 
view plain
 copy

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传
外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  1. \makeatletter
  2. \newif\if@restonecol
  3. \makeatother
  4. \let\algorithm\relax
  5. \let\endalgorithm\relax
  6. \usepackage[linesnumbered,ruled,vlined]{algorithm2e}%[ruled,vlined]{
  7. \usepackage{algpseudocode}
  8. \usepackage{amsmath}
  9. \renewcommand{\algorithmicrequire}{\textbf{Input:}}  % Use Input in the format of Algorithm
  10. \renewcommand{\algorithmicensure}{\textbf{Output:}} % Use Output in the format of Algorithm

example 1

代码:

[plain] 
view plain
 copy

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传
外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  1. \begin{algorithm}
  2. \caption{identify Row Context}
  3. \KwIn{ r _ i r\_i r_i B a c k g r d ( T _ i ) Backgrd(T\_i) Backgrd(T_i)= T _ 1 , T _ 2 , …   , T _ n {T\_1,T\_2,\ldots ,T\_n} T_1,T_2, ,T_n and similarity threshold  θ _ r \theta\_r θ_r}
  4. \KwOut{ c o n ( r _ i ) con(r\_i) con(r_i)}
  5. c o n ( r _ i ) =   Φ con(r\_i)= \Phi con(r_i)= Φ;
  6. \For{ j = 1 ; j   ≤   n ; j   ≠   i j=1;j \le n;j \ne i j=1;j  n;j = i}
  7. {
  8. float  m a x S i m = 0 maxSim=0 maxSim=0;
  9. r m a x S i m = n u l l r^{maxSim}=null rmaxSim=null;
  10. \While{not end of  T _ j T\_j T_j}
  11. {
  12. compute Jaro( r _ i , r _ m r\_i,r\_m r_i,r_m)( r _ m ∈   T _ j r\_m\in T\_j r_m T_j);
  13. \If{ ( J a r o ( r _ i , r _ m )   ≥   θ _ r ) ∧   ( J a r o ( r _ i , r _ m ) ≥   r m a x S i m ) (Jaro(r\_i,r\_m) \ge \theta\_r)\wedge (Jaro(r\_i,r\_m)\ge r^{maxSim}) (Jaro(r_i,r_m)  θ_r) (Jaro(r_i,r_m) rmaxSim)}
  14. {
  15. replace  r m a x S i m r^{maxSim} rmaxSim with  r _ m r\_m r_m;
  16. }
  17. }
  18. c o n ( r _ i ) = c o n ( r _ i ) ∪   r m a x S i m con(r\_i)=con(r\_i)\cup {r^{maxSim}} con(r_i)=con(r_i) rmaxSim;
  19. }
  20. return  c o n ( r _ i ) con(r\_i) con(r_i);
  21. \end{algorithm}

example 2

代码:

[plain] 
view plain
 copy

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传
外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  1. \begin{algorithm}
  2. \caption{Service checkpoint image storage node and routing path selection}
  3. \LinesNumbered
  4. \KwIn{host server  P M _ s PM\_s PM_s that  S e r I m g _ k SerImg\_k SerImg_k is fetched from,  s u b n e t _ s subnet\_s subnet_s that  P M _ s PM\_s PM_s belongs to,  p o d _ s pod\_s pod_s that  P M _ s PM\_s PM_s belongs to}
  5. \KwOut{Service image storage server  s t o r a g e s e r v e r storageserver storageserver,and the image transfer path  p a t h path path}
  6. s t o r a g e s e r v e r storageserver storageserver = Storage node selection( P M _ s PM\_s PM_s S e r I m g _ k SerImg\_k SerImg_k, s u b n e t _ s subnet\_s subnet_s, p o d _ s pod\_s pod_s);
  7. \If{  s t o r a g e s e r v e r storageserver storageserver  ≠ \neq = null}
  8. {
  9. select a path from  s t o r a g e s e r v e r storageserver storageserver to  P M _ s PM\_s PM_s and assign the path to  p a t h path path;
  10. }
  11. \textbf{final} ;
  12. \textbf{return}  s t o r a g e s e r v e r storageserver storageserver and  p a t h path path;
  13. \end{algorithm}

example 3

代码:

[plain] 
view plain
 copy

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传
外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  1. \begin{algorithm}
  2. \caption{Storage node selection}
  3. \LinesNumbered
  4. \KwIn{host server  P M _ s PM\_s PM_s that the checkpoint image  I m g Img Img is fetched from,  s u b n e t _ s subnet\_s subnet_s that  P M _ s PM\_s PM_s belongs to,  p o d _ s pod\_s pod_s that  P M _ s PM\_s PM_s belongs to}
  5. \KwOut{Image storage server  s t o r a g e s e r v e r storageserver storageserver}
  6. \For{ each host server  P M _ i PM\_i PM_i in the same subnet with  P M _ s PM\_s PM_s }
  7. {
  8. \If{  P M _ i PM\_i PM_i is not a service providing node or checkpoint image storage node of  S _ k S\_k S_k }
  9. {
  10. add  P M _ i PM\_i PM_i to  c a n d i d a t e L i s t candidateList candidateList ;
  11. }
  12. }
  13. sort  c a n d i d a t e L i s t candidateList candidateList by reliability desc;
  14. init  s t o r a g e s e r v e r storageserver storageserver ;
  15. \For{ each  P M _ k PM\_k PM_k in  c a n d i d a t e L i s t candidateList candidateList}
  16. {
  17. \If{  S P ( P M _ k ) SP(PM\_k) SP(PM_k)  ≥ \geq   E ( S P ) E(SP) E(SP) of  p o d _ i pod\_i pod_i and  B M _ k BM\_k BM_k  ≤ \le  size of  I m g Img Img }
  18. {
  19. assign  P M _ k PM\_k PM_k to  s t o r a g e s e r v e r storageserver storageserver;
  20. goto final;
  21. }
  22. }
  23. clear  c a n d i d a t e L i s t candidateList candidateList;
  24. add all other subnets in  p o d _ s pod\_s pod_s to  n e t L i s t netList netList;
  25. \For{ each subnet  s u b n e t _ j subnet\_j subnet_j in  n e t L i s t netList netList}
  26. {
  27. clear  c a n d i d a t e L i s t candidateList candidateList;
  28. \For {each  P M _ i PM\_i PM_i in  s u b n e t _ j subnet\_j subnet_j }
  29. {
  30. \If{  P M _ i PM\_i PM_i is not a service providing node or checkpoint image storage node of  S _ k S\_k S_k }
  31. {
  32. add  P M _ i PM\_i PM_i to  c a n d i d a t e L i s t candidateList candidateList;
  33. }
  34. }
  35. sort all host in  c a n d i d a t e L i s t candidateList candidateList by reliability desc;
  36. \For{ each  P M _ k PM\_k PM_k in  c a n d i d a t e L i s t candidateList candidateList}
  37. {
  38. \If{ S P ( P M _ k ) SP(PM\_k) SP(PM_k)  ≥ \geq   E ( S P ) E(SP) E(SP) of  p o d _ i pod\_i pod_i and  B M _ k BM\_k BM_k  ≤ \le  size of  I m g Img Img}
  39. {
  40. assign  P M _ k PM\_k PM_k to  s t o r a g e s e r v e r storageserver storageserver ;
  41. goto final;
  42. }
  43. }
  44. }
  45. \textbf{final} ;
  46. \textbf{return}  s t o r a g e s e r v e r storageserver storageserver;
  47. \end{algorithm}

example 4

代码:

[plain] 
view plain
 copy

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传
外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  1. \begin{algorithm}
  2. \caption{Delta checkpoint image storage node and routing path selection}
  3. \LinesNumbered
  4. \KwIn{host server  P M _ s PM\_s PM_s that generates the delta checkpoint image  D I m g _ k t DImg\_{kt} DImg_kt s u b n e t _ s subnet\_s subnet_s that  P M _ s PM\_s PM_s belongs to,  p o d _ s pod\_s pod_s that  P M _ s PM\_s PM_s belongs to}
  5. \KwOut{Delta image storage server  s t o r a g e s e r v e r storageserver storageserver,and the image transfer path  P a t h Path Path}
  6. s t o r a g e s e r v e r storageserver storageserver = Storage node selection( P M _ s PM\_s PM_s D I m g _ k t DImg\_{kt} DImg_kt, s u b n e t _ s subnet\_s subnet_s, p o d _ s pod\_s pod_s);
  7. \If{  s t o r a g e s e r v e r storageserver storageserver  ≡ \equiv  null}
  8. {
  9. the delta checkpoint image is stored in the central storage server;
  10. goto final;
  11. }
  12. construct weighted topological graph  g r a p h _ s graph\_s graph_s of  p o d _ s pod\_s pod_s;
  13. calculate the shortest path from  s t o r a g e s e r v e r storageserver storageserver to  P M _ s PM\_s PM_s in  g r a p h _ s graph\_s graph_s by using the Dijkstra algorithm;
  14. \textbf{final} ;
  15. \textbf{return}  s t o r a g e s e r v e r storageserver storageserver and  p a t h path path;
  16. \end{algorithm}

example 5

[plain] 
view plain
 copy

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传
外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  1. \documentclass[8pt,twocolumn]{ctexart}
  2. \usepackage{amssymb}
  3. \usepackage{bm}
  4. \usepackage{textcomp} %命令\textacutedbl的包,二阶导符号
  5. % Page length commands go here in the preamble
  6. \setlength{\oddsidemargin}{-0.25in} % Left margin of 1 in + 0 in = 1 in
  7. \setlength{\textwidth}{9in}   % 纸张宽度Right margin of 8.5 in - 1 in - 6.5 in = 1 in
  8. \setlength{\topmargin}{-.75in}  % Top margin of 2 in -0.75 in = 1 in
  9. \setlength{\textheight}{9.2in}  % Lower margin of 11 in - 9 in - 1 in = 1 in
  10. \setlength{\parindent}{0in}
  11. \makeatletter
  12. \newif\if@restonecol
  13. \makeatother
  14. \let\algorithm\relax
  15. \let\endalgorithm\relax
  16. \usepackage[linesnumbered,ruled,vlined]{algorithm2e}%[ruled,vlined]{
  17. \usepackage{algpseudocode}
  18. \renewcommand{\algorithmicrequire}{\textbf{Input:}}
  19. \renewcommand{\algorithmicensure}{\textbf{Output:}}
  20. \begin{document}
  21. \begin{algorithm}
  22. \caption{component matrices computing}
  23. \LinesNumbered
  24. \KwIn{ X ∈ R l _ 1 ×   l _ 2 × ⋯ ×   l _ N , ε , λ , δ , R \mathcal{X}\in\mathbb{R}^{l\_1\times l\_2\times\cdots\times l\_N},\varepsilon,\lambda,\delta,R XRl_1× l_2×× l_N,ε,λ,δ,R}
  25. \KwOut{ A ( j ) s A^{(j)}s A(j)s for  j = 1 j=1 j=1 to  N N N}
  26. \textbf{Initialize} all  A ( j ) s A^{(j)}s A(j)s //which can be seen as the  0 t h 0^{th} 0th round iterations;
  27. { l l l\hspace*{-1pt}\textacutedbl} = L =L =L //if we need to judge whether  ( 11 ) (11) (11) is true then { l l l\hspace*{-1pt}\textacutedbl} denotes  L ∣ _ t − 1 L|\_{t-1} L∣_t1;
  28. \For{ each  A _ i _ j r j ( 1 ≤   j ≤   N , 1 ≤   i _ j ≤   I _ j , 1 ≤   r ≤   R ) A\_{i\_jr}^{{j}}(1\le j\le N,1\le i\_j\le I\_j,1\le r\le R) A_i_jrj(1 j N,1 i_j I_j,1 r R) }
  29. {// 1 s t 1^{st} 1st round iterations;
  30. g _ i _ j r ( j ) ′ = g _ i _ j r ( j ) g\_{i\_jr}^{(j)'}=g\_{i\_jr}^{(j)} g_i_jr(j)=g_i_jr(j);
  31. A _ i _ j r ( j ) ′ = A _ i _ j r ( j ) A\_{i\_jr}^{(j)'}=A\_{i\_jr}^{(j)} A_i_jr(j)=A_i_jr(j)//if the rollback shown as  ( 12 ) (12) (12) is needed, A _ i _ j r ( j ) ′ A\_{i\_jr}^{(j)'} A_i_jr(j) denotes  A _ i _ j r ( j ) ∣ _ t − 1 A\_{i\_jr}^{(j)}|\_{t-1} A_i_jr(j)∣_t1;
  32. A _ i _ j r ( j ) = A _ i _ j r ( j ) −   s i g n ( g _ i _ j r ( j ) ) ⋅ δ _ i _ j r ( j ) A\_{i\_jr}^{(j)}=A\_{i\_jr}^{(j)}-\mathrm{{\bf sign}}\left(g\_{i\_jr}^{(j)}\right)\cdot\delta\_{i\_jr}^{(j)} A_i_jr(j)=A_i_jr(j) sign(g_i_jr(j))δ_i_jr(j);
  33. }
  34. \Repeat(//other rounds of iterations for computing component matrices){ L ≤   ε \bm{L\le \varepsilon} L ε or maximum iterations exhausted}
  35. {
  36. l ′ = L l'=L l=L //if we need to judge whether  ( 11 ) (11) (11) is true then  l ′ l' l denotes  L ∣ _ t L|\_t L∣_t;
  37. \For{ each  A _ i _ j r j ( 1 ≤   j ≤   N , 1 ≤   i _ j ≤   I _ j , 1 ≤   r ≤   R ) A\_{i\_jr}^{{j}}(1\le j\le N,1\le i\_j\le I\_j,1\le r\le R) A_i_jrj(1 j N,1 i_j I_j,1 r R)}
  38. {
  39. \If{ g _ i _ j r ( j ) ⋅   g _ i _ j r ( j ) ′ > 0 g\_{i\_jr}^{(j)}\cdot g\_{i\_jr}^{(j)'}>0 g_i_jr(j) g_i_jr(j)>0}
  40. {
  41. A _ i _ j r ( j ) ′ = A _ i _ j r ( j )   A\_{i\_jr}^{(j)'}=A\_{i\_jr}^{(j)}  A_i_jr(j)=A_i_jr(j) ;
  42. g _ i _ j r ( j ) ′ = g _ i _ j r ( j )   g\_{i\_jr}^{(j)'}=g\_{i\_jr}^{(j)}  g_i_jr(j)=g_i_jr(j) ;
  43. δ _ i _ j r ( j ) = min ⁡ ( δ _ i _ j r ( j ) ⋅ η + , M a x S t e p S i z e ) \delta\_{i\_jr}^{(j)}=\bm{\min}\left(\delta\_{i\_jr}^{(j)}\cdot\eta^{+},Max\\_Step\\_Size\right) δ_i_jr(j)=min(δ_i_jr(j)η+,MaxStepSize);

收集整理了一份《2024年最新物联网嵌入式全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升的朋友。
img
img

如果你需要这些资料,可以戳这里获取

需要这些体系化资料的朋友,可以加我V获取:vip1024c (备注嵌入式)

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人

都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

  1. g _ i _ j r ( j ) ′ = g _ i _ j r ( j )   g\_{i\_jr}^{(j)'}=g\_{i\_jr}^{(j)}  g_i_jr(j)=g_i_jr(j) ;
  2. δ _ i _ j r ( j ) = min ⁡ ( δ _ i _ j r ( j ) ⋅ η + , M a x S t e p S i z e ) \delta\_{i\_jr}^{(j)}=\bm{\min}\left(\delta\_{i\_jr}^{(j)}\cdot\eta^{+},Max\\_Step\\_Size\right) δ_i_jr(j)=min(δ_i_jr(j)η+,MaxStepSize);

收集整理了一份《2024年最新物联网嵌入式全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升的朋友。
[外链图片转存中…(img-ccKBkcCQ-1715886474566)]
[外链图片转存中…(img-fGAWDL4L-1715886474566)]

如果你需要这些资料,可以戳这里获取

需要这些体系化资料的朋友,可以加我V获取:vip1024c (备注嵌入式)

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人

都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

  • 22
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
遗传算法是一种模拟自然进化过程的一种优化算法Latex是一种排版系统,常用于生成高质量的科技文档。下面是一个使用Latex的遗传算法伪代码示例: \begin{verbatim} %定义遗传算法的参数 构造种群的大小:population_size 选择操作的个体比例:selection_rate 交叉操作的概率:crossover_probability 变异操作的概率:mutation_probability 迭代次数:iterations %初始化种群 创建一个包含population_size个随机个体的种群 %开始迭代 for i=1 to iterations do %选择操作 从种群选择适应度高的个体作为父代 确定选择操作的个体数量:selection_count = selection_rate * population_size 在种群随机选择selection_count个父代个体 %交叉操作 创建一个新种群 while 新种群的个体数量 < population_size do 选择两个父代个体适应度高的个体作为交叉操作的父代 以crossover_probability的概率进行交叉操作,生成两个子代个体 将两个子代个体加入新种群 %变异操作 在新种群,对每个个体以mutation_probability的概率进行变异操作 %更新种群 将新种群替换为当前种群 end for %输出最优个体 输出适应度最高的个体作为最优解 \end{verbatim} 以上是一个简单的Latex遗传算法伪代码示例,其包括初始化种群、选择操作、交叉操作、变异操作和更新种群等步骤。在迭代过程,通过选择、交叉和变异操作,不断更新种群,最终输出适应度最高的个体作为最优解。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值