zoukankan      html  css  js  c++  java
  • LaTeX实战经验:如何写算法

    LaTeX中实现算法的呈现主要有两种方式:

    • 使用宏包algorithm2e, 这个宏包有很多可选项进行设定。
    • 使用宏包algorithm 与 algorithmic

    使用宏包algorithm2e

    usepackage[linesnumbered,boxed,ruled,commentsnumbered]{algorithm2e}%%算法包,注意设置所需可选项

     

    例子:

    IncMargin{1em} % 使得行号不向外突出

    egin{algorithm}

        SetAlgoNoLine % 不要算法中的竖线

        SetKwInOut{Input}{ extbf{输入}}SetKwInOut{Output}{ extbf{输出}} % 替换关键词

        Input{

            \

            The observed user-item pair set $S$;\

            The feature matrix of items $F$;\

            The content features entities $A := {A^u,A^v}$;\}

        Output{

            \

            $Theta   := {Y^u,Y^v}$;\

            $W := {W^u,W^v}$;\}

        BlankLine

        initialize the model parameter $Theta$ and $W$ with uniform $left(-sqrt{6}/{k},sqrt{6}/{k} ight)$; % 分号 ; 区分一行结束

        standarized $Theta$;

        Initialize the popularity of categories $ ho$ randomly;

        Repeat

            { ext{convergence}}

            {Draw a triple $left(m,i,j ight)$ with 算法 ef{al2};

                For {each latent vector $ heta in Theta$}{

                    $ heta leftarrow heta - etafrac{partial L}{partial heta}$

                }

                For {each $W^e in W$}{

                    Update $W^e$ with the rule defined in Eq. ef{equ:W};

                }  

            }

        caption{Learning paramters for BPRlabel{al3}}

    end{algorithm}

    DecMargin{1em}

    使用宏包algorithmalgorithmic

    usepackage{algorithm, algorithmic}

    egin{algorithm}

             enewcommand{algorithmicrequire}{ extbf{Input:}}

             enewcommand{algorithmicensure}{ extbf{Output:}}

             caption{Bayesian Personalized Ranking Based Latent Feature Embedding Model}

             label{alg:1}

             egin{algorithmic}[1]

                       REQUIRE latent dimension $K$, $G$, target predicate $p$

                       ENSURE $U^{p}$, $V^{p}$, $b^{p}$

                       STATE Given target predicate $p$ and entire knowledge graph $G$, construct its bipartite subgraph, $G_{p}$

                       STATE $m$ = number of subject entities in $G_{p}$

                       STATE $n$ = number of object entities in $G_{p}$

                       STATE Generate a set of training samples $D_{p} = {(s_p, o^{+}_{p}, o^{-}_{p})}$ using uniform sampling technique

                       STATE Initialize $U^{p}$ as size $m imes K$ matrix with $0$ mean and standard deviation $0.1$

                       STATE Initialize $V^{p}$ as size $n imes K$ matrix with $0$ mean and stardard deviation $0.1$

                       STATE Initialize $b^{p}$ as size $n imes 1$ column vector with $0$ mean and stardard deviation $0.1$

                       FORALL{$(s_p, o^{+}_{p}, o^{-}_{p}) in D_{p}$}

                       STATE Update $U_{s}^{p}$ based on Equation~ ef{eq:sgd1}

                       STATE Update $V_{o^{+}}^{p}$ based on Equation~ ef{eq:sgd2}

                       STATE Update $V_{o^{-}}^{p}$ based on Equation~ ef{eq:sgd3}

                       STATE Update $b_{o^{+}}^{p}$ based on Equation~ ef{eq:sgd4}

                       STATE Update $b_{o^{-}}^{p}$ based on Equation~ ef{eq:sgd5}

                       ENDFOR

                       STATE extbf{return} $U^{p}$, $V^{p}$, $b^{p}$

             end{algorithmic} 

    end{algorithm}

    重新定义require和ensure命令对应的关键字(此处将默认的Require/Ensure自定义为Input/Output)

    enewcommand{algorithmicrequire}{ extbf{Input:}} 
    enewcommand{algorithmicensure}{ extbf{Output:}}

  • 相关阅读:
    jenkins配置html报告
    JMeter并发测试(设置集合点)
    jmeter压力测试 设置一秒发送一次请求,一秒两次请求
    jmeter压力测试的简单实例+badboy脚本录制
    JMeter问题集
    英语自然拼读法基本规则和小窍门
    Jmeter工具做性能测试 常见的错误汇总
    如何使用JDK自带工具JConsole
    第七章 JMeter 逻辑控制器
    第六篇:JMeter 断言
  • 原文地址:https://www.cnblogs.com/USTBlxq/p/6509969.html
Copyright © 2011-2022 走看看