## 5 The Labeling Algorithm for Four-Label Enumeration Stable Extension  
### The Concept of the Four-Label Enumeration Stable Extension Algorithm  
In this section, a four-label solving algorithm is proposed, aiming to more quickly address the enumeration problem of stable extensions in abstract argumentation frameworks. This new algorithm builds upon the existing two-label and three-label algorithms by introducing the \(must\_in\) label to differentiate between \(in\) type arguments with varying properties. This allows for the early labeling of some arguments, thereby accelerating labeling propagation and reducing the algorithm's search space. The following provides the algorithm concept and an illustrative example. In the four-label algorithm, the abstract argumentation framework is first preprocessed, categorizing the arguments into three types: initial argument set (labeled as \(must\_in\)), self-attacking argument set (labeled as \(must\_out\)), and ordinary argument set (others). Arguments in the \(must\_in\) set are prioritized for labeling transition in this round. Next, the algorithm selects an argument from the ordinary argument set for the \(in\) transition. After this labeling transition, a label legality check is performed (only for \(must\_out\) arguments). If all propagated labels are legal, the algorithm continues to select ordinary arguments for the labeling transition; if it is illegal, the chosen ordinary argument is set to \(must\_out\), and a label legality check is conducted again. The algorithm then checks the legality of the results. When all argument labels are legally \(in\) and \(out\), the set of arguments labeled as \(in\) is considered a stable extension. Finally, this process is repeated until all stable extensions are enumerated. **Definition 14**. : _(must\_in Label): Given an argumentation framework \(\Gamma=\langle A,R\rangle\) and arguments \(a,b\in A\), let \(Lab:A\rightarrow\{in,out,must\_out,must\_in\}\) represent the mapping from arguments of the argumentation framework \(\Gamma\) to labels. If an argument \(a\) satisfies \(\{a\}^{-}=\varnothing\) or \(\forall b\in\{a\}^{-}\), \(Lab(b)=out\), then \(Lab(a)=must\_in\)._  
**Definition 15**. : _(Four-Label Stable Extension): Given an argumentation framework \(\Gamma=\langle A,R\rangle\) and arguments \(a,b\in A\), let \(Lab:A\rightarrow\{in,out,must\_out,must\_in\}\) represent the mapping from arguments of the argumentation framework \(\Gamma\) to labels. The four-label stable extension satisfies the following conditions:_  
\[Lab(a)=\textit{in s.t.}\ \forall b\in\{a\}^{-}:Lab(b)=out,\]  
\[Lab(a)=\textit{out s.t.}\ \exists b\in\{a\}^{-}:Lab(b)=in,\]  
\[Lab(a)=\textit{in s.t.}\ \forall b\in\{a\}^{-}\wedge\ Lab(b)\
eq out:Lab(b)=must\_ out,\]  
\[Lab(a)=\textit{must\_in s.t.}\ \{a\}^{-}=\varnothing\ \vee\ \forall b\in\{a\}^{-}:Lab(b)=out.\]  
Figure 2 illustrates a specific instance of the four-label stable extension solving algorithm, with the \(blank\) label representing arguments that have not been labeled. This instance can be divided into the following two steps:  
* Step 1: During preprocessing, the initial argument \(a_{1}\) is labeled as \(must\_in\), and other ordinary arguments are labeled as \(blank\). The arguments in the \(must\_in\) label set are then prioritized for the \(in\) transition. Consequently, argument \(a_{1}\) is labeled as \(in\) and propagates the label \(out\) to argument \(a_{2}\). * Step 2: The argument \(a_{3}\) is selected from the ordinary argument set. Then argument \(a_{3}\) is labeled as \(in\) and propagates labels \(must\_out\) and \(out\) to arguments \(a_{4}\) and \(a_{5}\), respectively. The labeling legality of argument \(a_{4}\), which is labeled as \(must\_out\), is then checked and found to be legal. Next, the algorithm attempts to further propagate labels based on the propagated arguments \(a_{4}\) and \(a_{5}\). Argument \(a_{4}\) propagates the label \(must\_in\) to argument \(a_{6}\), which is then labeled as \(in\).