使用latex写算法伪代码

伪代码

pseudo-code.
伪代码具有通用(编程语言无关), 简洁(数组越界,判空什么的都可省去)的特点, 是用来描述算法过程的好工具.
基于latex使用algorithm2e 这个包可以清晰地得到pdf格式的伪代码.
使用latex写算法伪代码_第1张图片
图 1 伪代码示例

格式

\documentclass
\usepackage[linesnumbered,ruled,lined]{algorithm2e}
\begin{document}  
\begin{algorithm}  
...
\end{algorithm}  
\end{document} 

例子

与图1相对应的tex源文件见下:

\documentclass[UTF8,8pt,twocolumn]{ctexart}  

% Page length commands go here in the preamble  
\setlength{\oddsidemargin}{-0.25in} % Left margin of 1 in + 0 in = 1 in  
\setlength{\textwidth}{9in}   % 纸张宽度Right margin of 8.5 in - 1 in - 6.5 in = 1 in  
\setlength{\topmargin}{-.75in}  % Top margin of 2 in -0.75 in = 1 in  
\setlength{\textheight}{9.2in}  % Lower margin of 11 in - 9 in - 1 in = 1 in  
\setlength{\parindent}{0in}  

\makeatletter  
\newif\if@restonecol  
\makeatother  
\let\algorithm\relax  
\let\endalgorithm\relax 
\usepackage[linesnumbered,ruled,lined]{algorithm2e}
\usepackage{algpseudocode}  
\renewcommand{\algorithmicrequire}{\textbf{Input:}}   
\renewcommand{\algorithmicensure}{\textbf{Output:}}   
\SetKwFor{For}{for}{do}{endfor} 

\usepackage{CJKutf8}

\begin{document}  

\begin{algorithm}  

\caption{MMR\&rule mix rerank approach}  
\LinesNumbered  
\KwIn{$A$:待重排的元素集合 \newline 
$\alpha$: 对多样性,相关性作折中的权重因子\newline
$rulePass(a,b)$: 两元素是否满足基础打散规则 \newline
$ruleWindow$:规则打散的窗口大小 \newline
$cateDistance(a,b)$: 两元素所属类目之间的距离\newline 
$diversityWindow$: 多样性打散的窗口大小 \newline 
$\{w_n\}$: 计算多样性的权重数列 \newline 
$relevanceScore(a)$: 排序模型计算的相关性得分, 如 ctr 等
}
\KwOut{$A_k$: a subset of $A$ of size k}  
\textbf{Initialize} $A_0=\emptyset$ ;

\For{$i \in [1,k]$}{
    $candidate=\emptyset$ \newline
    $currentMaxRhoScore=0$ \newline
    \ForEach {$a \in A-A_i$} {
        rulePassFlag=true \newline
        \tcc{$A_{ij}$表示集合$A_i$中的第j个元素}
        \For{$b \in \{A_{ii},...,A_{ii-ruleWindow} \} $}{
            \If {not $rulePass(a,b)$ }{
                rulePassFlag=false
            }
        }
        \tcc{两元素是否同一个作者, 同为小姐姐自拍, 同一个商家相关等}
        \If{rulePassFlag=true}{
            diversityScore=0 \newline
            \For{$b \in \{A_{ii},...,A_{ii-diversityWindow} \} $}{
                \tcc{考虑一个窗口内的多样性得分时, 远近有别}
                $j \gets$ the span between a and b's slots \newline
                $diversityScore += w_j * cateDistance(a,b)$
            }
            $rhoScore=\alpha * diversityScore + (1-\alpha) * relevanceScore(a)$
            \If{currentMaxRhoScore

参考

  1. pdf官方文档,algorithm2e
  2. latex 在线compile 网站papeeria

你可能感兴趣的:(数学,概率,统计,最优化)