各アルゴリズムのサブキャプションを持つ単一の図内で複数のアルゴリズムを使用する必要があります

各アルゴリズムのサブキャプションを持つ単一の図内で複数のアルゴリズムを使用する必要があります
\documentclass{article}
\usepackage{algorithm,algpseudocode}
\algtext*{EndIf}% Remove \EndIf
\renewcommand{\thealgorithm}{}
\usepackage{amsmath,amssymb}
\usepackage{subcaption}
\usepackage{comment}
\begin{document}

\begin{algorithm}
\caption{$Game PrvInd_{G,\phi}$}
\label{pseudoPSO}
\begin{algorithmic}
\Procedure{Garble}{$f_0, f_1, x_0, x_1$} 

    \If{$f(\phi(f0) \neq\phi(f1)$} 
    \Return $\perp$ \EndIf
    \If {$ev(f_0, x_0) \neq ev(f_1, x_1)$}
    \Return $\perp$ \EndIf
    \If{$\{x_0,x_1\} \nsubseteq \{0,1\}^{{f_0}.n}$} \Return $\perp$ \EndIf
    $(F, e, d) \leftarrow Gb(1^k, f_b)$; 
    $X \leftarrow En(e, x_b)$
    \Return (F,X, d) 
\EndProcedure
\end{algorithmic}
\end{algorithm}

\begin{algorithm}
\caption{$Game PrvInd_{G,\phi,S}$}
\label{pseudoPSO}
\begin{algorithmic}
\Procedure{Garble}{f,x,} 

    \If{$x\notin\{0,1\}^{{f}.n}$}
    \Return $\perp$ \EndIf
    \If {b=1}
    $(F, e, d) \leftarrow Gb(1^k, f)$; 
     $X \leftarrow En(e, x)$
    \Else $ y \leftarrow ev(f, x); (F,X, d) \leftarrow S(1^k, y,\phi(f))$
    \EndIf
    \Return (F,X, d) 
\EndProcedure
\end{algorithmic}
\end{algorithm

\end{document}

下の画像に示すように、右側に各アルゴリズムのサブキャプションを付けて、複数のアルゴリズムを 1 つの図に表示します。 望ましい出力

しかし、私が得ているのは次のものです(最初の 2 つのアルゴリズムについてのみ表示されています:)

出力

他に使用する必要があるライブラリはありますか

答え1

次の方法で目標を達成できます。つまり、各アルゴリズムをtabular(適切なルール (上部と下部) に適用するために) 内に設定し、algorithmic環境のみを使用して疑似コードを設定できます。

ここに画像の説明を入力してください

\documentclass{article}

\usepackage[margin=0.5in]{geometry}

\usepackage{algorithm,algpseudocode,amsmath,amssymb}
\algtext*{EndIf}% Remove \EndIf
\renewcommand{\thealgorithm}{}

\begin{document}

\begin{figure}
  \begin{tabular}[t]{@{} p{.49\linewidth} @{}}
    \hline
    \begin{algorithmic}
      \Procedure{Garble}{$f_0, f_1, x_0, x_1$}\hfill $\text{Game PrvInd}_{G,\phi}$
        \If{$f(\phi(f0) \neq \phi(f1))$} \Return $\perp$
        \EndIf
        \If{$\text{ev}(f_0, x_0) \neq \text{ev}(f_1, x_1)$} \Return $\perp$
        \EndIf
        \If{$\{x_0,x_1\} \nsubseteq \{0,1\}^{{f_0} \cdot n}$} \Return $\perp$
        \EndIf
        \State $(F, e, d) \leftarrow \text{Gb}(1^k, f_b)$;
        $X \leftarrow \text{En}(e, x_b)$
        \Return $(F, X, d)$
      \EndProcedure
    \end{algorithmic} \\
    \hline
  \end{tabular}\hfill
  \begin{tabular}[t]{@{} p{.49\linewidth} @{}}
    \hline
    \begin{algorithmic}
      \Procedure{Garble}{$f,x$}\hfill $\text{Game PrvInd}_{G,\phi,S}$
        \If{$x \notin \{0,1\}^{{f} \cdot n}$} \Return $\perp$
        \EndIf
        \If{$b = 1$} $(F, e, d) \leftarrow \text{Gb}(1^k, f)$;
          $X \leftarrow \text{En}(e, x)$
        \Else{} $y \leftarrow \text{ev}(f, x)$; $(F, X, d) \leftarrow S(1^k, y, \phi(f))$
        \EndIf
        \State \Return $(F, X, d)$
      \EndProcedure
    \end{algorithmic} \\
    \hline
  \end{tabular}
  \caption{Some games and their definitions.}
\end{figure}

\end{document}

関連情報