我的乳胶代码中出现未定义的控制序列 \WHILE 错误。
\documentclass[11pt]{article}
\usepackage{algorithm}
\usepackage{algorithmicx}
\begin{document}
\begin{algorithm}
\begin{algorithmic}
$ \bar{w} \leftarrow w.$
$S = \{u \in V : w(u) = 0 \}$.
$ \WHILE{S is not a hitting set for C} do
\mathcal{M} $ a collection of cycles returned by a violation oracle Violation(G, C, S).
$c_{ \mathcal{M} (u) } \leftarrow |{M _ M : u _ M}|, for all u _ V $.
$ \alpha
\leftarrow min_ {u \in V \backslash S} | w(u) /
c_{M (u) } $
$\bar{
w(u) } \leftarrow w(u) - \alpha cM (u),$ for all u in V.
$ S \leftarrow \{u _ V : w(u) = 0 \}.
\ENDWHILE $
%end
return a minimal hitting set $ H \subset S $ of $\mathcal{C}$.
\end{algorithmic}
\end{algorithm}
\end{document}
另外,我对各种算法包以及哪些可以一起使用感到有点困惑
答案1
这个例子有效(不确定我的格式是否正确)。
\documentclass[11pt]{article}
\usepackage{algorithm}
\usepackage{algorithmic}
\begin{document}
\begin{algorithm}
\begin{algorithmic}
\STATE $ \bar{w} \leftarrow w.$
\STATE $S = \{u \in V : w(u) = 0 \}$.
\WHILE{$S$ is not a hitting set for $C$}
\STATE $\mathcal{M} $ a collection of cycles returned by a violation oracle Violation(G, C, S).
\STATE $c_{ \mathcal{M} (u) } \leftarrow |{M _ M : u _ M}|, for all u _ V $.
\STATE $ \alpha \leftarrow min_ {u \in V \backslash S} | w(u) / c_{M (u) } $
\STATE $\bar{ w(u) } \leftarrow w(u) - \alpha cM (u),$ for all u in V.
\STATE $ S \leftarrow \{u _ V : w(u) = 0 \}$.
\ENDWHILE
\RETURN a minimal hitting set $ H \subset S $ of $\mathcal{C}$.
\end{algorithmic}
\end{algorithm}
\end{document}
您引用的 WIKI 页面很难阅读,不清楚在哪里使用了哪个伪代码包,并且它们不使用相同的语法(这就是我做出反应\WHILE
并认为拼写不同(并非全部大写)的原因)。相同使用的语法来自而algorithmic
不是您尝试使用的语法。