arXiv:2604.19454v1 [cs.DC] 21 Apr 2026
Minimizing Intellectual Property Risks via Self-Stabilizing Algorithms 2nd Iman Evazzade
1st Ken Kennedy
Information Technology Research Center BMW Group Greenville, SC [email protected]
Information Technology Research Center BMW Group Greenville, SC [email protected]
Abstract—In this paper, we examine the use of self-stabilizing algorithms, operating in a hierarchical manner, to determine intellectual property risks at a macro level. We are both interested in finding a solution that will support all defined intellectual property dimensions as well as suboptimal solutions in order to minimize risk.
Extensions to the techniques above for graph anonymization include edge differential privacy of graphs [10], [11] and node differential privacy [12], [13]. Our representation of IP risks will use graphs and some of these techniques could have some applications.
I. I NTRODUCTION
III. I NTELLECTUAL P ROPERTY D IMENSIONS
This paper focuses on finding, and reducing, intellectual property risks at a macro level. We originally sought to find prior work that could help solve this problem. The solution proposed by O’Kane and Shell, which used graph coloring, partially met our requirements for determining risk [1]. However, their solution was NP-hard and would only work for toy problems in which a brute force solution could also easily be used. In our case, we required a solution that could be deployed at industrial scale for determining risk within, and across, manufacturing halls. A top-down view of one such hall is shown in Figure 1. In Section II, we present prior work from different groups that have examined both this problem and intellectual property protection in general. Section III describes a subset of the intellectual property dimensions that we would like to examine. Our approach is presented in Section IV, and conclusions are provided in Section V. II. BACKGROUND The motivation for this paper came from [1], which uses graph coloring for privacy. A similar paper from some of the same authors examines the topic of planning and privacy with robots [2]. While not directly examining IP within an area, Zare-Garizy et. al. examine privacy topics within the supply chain [3]. A few general anonymization techniques of data include k-anonymity [4], ℓ-diversity [5], t-Closeness [6], differential privacy [7], and differential private analysis of graphs [8]. An additional method of protecting intellectual property includes obfuscation techniques [9]. These have been used extensively for helping to protect various forms of intellectual property. Some of these techniques would apply to minimizing IP risks at a micro level. For instance, protecting information at a certain location within a manufacturing hall.
In this section, we discuss some of the intellectual property that we may are interested in protecting. This is not an exhaustive list but is drawn from the focus of the project that we were examining at the time. A. White / Blacklist Columns When discussing a white / blacklist for a column, a column is a physical location within a manufacturing hall. This can be viewed the same as a chess board in which column I13 will uniquely refer to a spot, and its immediate vicinity. For some of the examples below, we will exclude the numeric component of a column for brevity. For whitelists, there is no activity at that location that needs to be safeguarded while a blacklisted column has intellectual property that we do not want to be observed. Examples of this for our use case included scrap and rework. However, there could be other cases, such as achievement / monitoring boards visible that contain sensitive information regarding how the hall is functioning. B. Associates / Equipment / Suppliers An additional vector for IP and privacy included information about associates, equipment, and suppliers. For instance, we might not mind if a subset of these are known, but we would not like for all of them to be so. A generic example regarding the type of information that might be available within a manufacturing hall, at specific columns, is shown in Table I. There are many different methods that could be used here to ensure that all of the suppliers are not visible. For example, we could manually blacklist any columns that contain a certain supplier. However, we choose to use a maximal independent set here as it would both guarantee that not all information would be seen and we did not have a list ahead of time of which suppliers should, or should not, be seen.
Column Supplier A X B X, Y C Y D Y, Z E Z F X, Z TABLE I S IMPLE EXAMPLE OF ASSOCIATES FROM DIFFERENT COMPANIES VISIBLE AT DIFFERENT COLUMN LOCATIONS .
C. Parts Flow During the manufacturing process, we are starting with a large number of parts that are continuously being assembled into one final product. A simple example of this flow is shown in Figure 2.
pn1
pn12
pn2 pn123
pn3
pn12234
pn1 pn14
pn4
Fig. 2. Example of parts flow.
For privacy, it may be desirable to exclude some portion of this process. This is similar to the supplier use case above. As such, we could use whitelists/blacklists, but we do not have particular products to include/exclude. For this case, we use a 1-minimal dominating set, but a maximal independent set could also have been used. A coloring of the graph would also have been appropriate. IV. A LGORITHMS
Fig. 1. Overview of hall.
We follow the general approach in [1]; however, we are interested in applying the algorithm to a real-world use case. The algorithm by O’Kane and Shell is NP-hard and not suitable for large scale problems. In their paper, O’Kane and Shell were focused on finding χ(G), the chromatic number of the graph. We will instead focus on minimal/maximal
sets rather than minimum/maximum in order to move the complexity for subproblems to polynomial time. First, we provide a few definitions. Let us use a graph G = (V, E) that is connected with order n = |V | and m = |E|. The open neighborhood of a node i ∈ V is N (i) = j|ij ∈ E, and the closed neighborhood of node i ∈ V is N [i] = N (i) ∪ i. A set S is dominating set if N [S] = V , where v ∈ V is in S or adjacent to a node in S. A minimal dominating set is one in which if any node in S is removed, the set is no longer dominating. The minimum cardinality of a dominating set is γ and the maximum cardinality is Γ. A set S is independent if no two nodes in S are adjacent. A maximal independent set is one where if any node in V \S is added, then S is no longer independent. The minimum cardinality of a maximal independent set is i(G) and β0 is the maximum cardinality. We also define here an irredundant set, which is one for which there is not a v ∈ V in which N [S − v] ̸= N [S]. The lower irredundance number of a graph G is ir, and IR is the upper irredundance number. The following inequality comes from [14].
shown in Figure 4. Note that the flow we have created is depicted via directional edges. A
B
F
C
E
D
Fig. 4. Simple example of a minimal dominating set.
Any dominating set of this graph will result in at least two adjacent nodes of Figure 3 being put into the independent set; additionally, any independent set of Figure 3 will not be a dominating set in Figure 4. Thus trying to apply the constraints over both of the graphs simultaneously will never converge as the independent and dominating sets are in contention. B. Methodology
ir ≤ γ ≤ i ≤ β0 ≤ Γ ≤ IR
(1)
A. Non-convergence of Simultaneous Solutions with Equal Priority For a single graph, a maximal independent set is also a minimal dominating set [15]. However in our case, we are dealing with multiple graphs that share Columns (nodes or subnodes) but may have a different structure. Here we will walk through an example using a maximal independent set to represent suppliers and a 1-minimal dominating set for parts flow in order to see a case in which solving the graphs simultaneously with equal priority of IP dimensions will not lead to convergence. Using the nodes and suppliers defined in Table I, we arrive at Figure 3 with one node in the independent set. Note that in this case, the graph is compacted as the full version would have a clique for each node. This graph can also be built different ways depending upon what information is deemed acceptable to share. For instance, it may be that we do not mind if Y is known. In this case, the BCD node would not have any connections to the other nodes. ABF: X
DEF: Z
BCD: Y
Fig. 3. Compacted graph with maximal independent set from Table I.
Let us then create a parts flow graph for the columns in Table I and assign a minimal dominating - one such set is
In order to solve for the graphs, we can either attempt to do so sequentially or simultaneously in which IP elements do not have equal priority. If the latter, there are different strategies we may use that include cellular automata [16] and self-stabilization [17] [18]. For this paper, we will be using the self-stabilizing paradigm with an unfair distributed scheduler. There are a multitude of algorithms that could be used for IP protection. In this paper, we will focus on just the three use cases and the algorithms mentioned for them: blacklists/whitelists, maximal independent sets, and 1-minimal dominating sets. For each of these, we will need to show both correctness and convergence. Note that since there will be a priority of how the algorithms are applied, correctness (e.g. a maximal independent set) will be on the subgraph V1 ⊆ V induced from V by an algorithm with higher priority rather than on V itself; otherwise, we would have the same issue of convergence that was mentioned above. C. Algorithm for White and Blacklists An algorithm is included here for determining if a node is within white and/or blacklists. For a node i ∈ V , the variable BW (i) will be used to indicate if the node is within a whitelist or blacklist: BW (i) = in or BW (i) = out respectively. We have added a component in which each algorithm will have a numerical id that equates to its priority. For the example above, the algorithm is BW . If there were multiple versions of this algorithm in a use case, then you would have BW1 , BW2 , .... Lemma 1: When the system is stable, no node i has xBW (i) = wait. Proof: Let us assume that the system is stable, and there is a case in which a node i has xBW (i) = wait. If BW (i) ̸= in, then rule RBack would be executed. Thus, we are only considering the case in which BW (i) = in. Rules RBack
Algorithm 1 White and Blacklists RWait: if xBW (i) = out ∧ BW (i) = in ∧ (∄a ∈ ALG)(a < BW ∧ xa (i) = out) then xBW (i) = wait RBack: if xBW (i) = wait ∧ (BW (i) ̸= in ∨ (∃a ∈ ALG)(a < BW ∧ (xa (i) = out))) then xBW (i) = out RIn: if xBW (i) = wait ∧ BW (i) = in ∧ (∄a ∈ ALG)(a < BW ∧ xa (i) = out) then xBW (i) = in ROut: if (xBW (i) = in ∨ xBW (i) = wait) ∧ (BW (i) = out ∨ (∃a ∈ ALG)(a < BW ∧ xa (i) = out)) then xBW (i) = out
Node A B C D E
BW1 BW2 in in in in out in out out in out TABLE II
M ULTIPLE WHITE AND BLACKLISTS ACROSS DIFFERENT NODES .
Original
BW1
A
A
B
C
D
B
E
C
D
E
BW2
BW1 + BW2
A
A
B
B
E
C
D
E
Fig. 5. Graphical representation of Table II. BW1 is applied to the original graph. This creates a subgraph on which BW2 can be applied. The final result is then a combination of both in which only nodes A and B satisfy all of the in criteria.
and RIn consider the mutually exclusive cases in which there is, or is not, an algorithm that has a lower id than BW with xa (i) = out. Therefore, either rule RBack or RIn would have been executed and xBW (i) would not have state wait after the system has stabilized. Thus, this is not a case that can happen. Lemma 2: When the system is stable, the set X of nodes xBW (i) will have the value out if BW (i) = out. Proof: Let us assume that there is a node i in which BW (i) = out but xBW (i) ̸= out. In this case, rule ROut would be activated, but this contradicts the assumption that the system was stable. Lemma 3: When the system is stable, the set X of nodes xBW (i) will have the value of in if BW (i) = in for the subgraph created from algorithms a ∈ A where a < BW . Proof: There are two cases to consider. First case is when BW (i) = in for a node i in which ∃a ∈ ALG)(a < BW where xa (i) = out. However, this would lead to rule ROut being activated. For the second case, let us consider where xBW (i) ̸= in but ∀a ∈ ALG)(a < BW ∧ xa (i) = in). In this case, either RWait would be activated if xBW (i) = out or RIn would be activated if xBW (i) = wait. Therefore, the system was not stable. Lemma 4: When the system is stable, the set X of nodes forms a white and blacklist on the subgraph induced by (a ∈ ALG)(a < M IS). Proof: See lemmas 2-3. Lemma 5: If there are no more moves for a node i due to an algorithm a in which a < BW , then if node i executes RIn, it will never make another move. Proof: If a node i executes RIn, then it must be that BW (i) = in and ∄a ∈ ALG)(a < BW ∧ xa (i) = out). The only rule that can be executed when xa (i) = in is ROut. However, this would require that BW (i) = out or ∃a ∈ ALG)(a < BW ∧ xa (i) = out). As we have already stated that there were no subsequent moves from algorithms with a < BW and BW (i) = in. Thus ROut could not be activated and there will not be any further moves on i. Lemma 6: If there are no more moves for a node i due to an algorithm a in which a < BW , then if node i executes ROut, it will never make another move. Proof: If this move is executed and BW (i) = out, then no other move will be executed. The only other rule that does not require BW (i) = in is RBack, but it requires xBW (i) = wait. However, this will be set to xBW (i) = out after ROut, so it will not be activated. Likewise, if this move is executed due to ∃a ∈ ALG)(a < BW ∧ xa (i) = out), then moves RIn and RWait cannot be executed due to the condition that there are no more moves for a node i due to an algorithm a in which a < BW . Lemma 7: If there are no more moves for a node i due to an algorithm a in which a < BW , then if node i executes RBack, it will never make another move. Proof: As the conditions for RBack are mutually exclusive to RWait, and there will be no further changes due to a < BW , then RWait will not be activated. Additionally, neither
RIn or ROut can be activated as xBW (i) will be set to out. Lemma 8: If there are no more moves for a node i due to an algorithm a in which a < BW , then if node i executes RWait, there will be at most one other move. Proof: The potential moves are RIn, ROut, or RBack. From lemmas 5-7, we see that each of these will be the last move made. Theorem 1: Algorithm 1 finds a white/blacklist in at most O(2n) moves. Proof: This follows directly from lemmas 4-8. D. Algorithm for Maximal Independent Set Initial work on finding a maximal independent set via a self-stabilizing algorithm was done by Shukla, Rosenkrantz and Ravi [19]. They assumed a central scheduler and had a time complexity of O(2n). This was generalized by Turau in [20] where he used an unfair distributed scheduler. Turau’s algorithm had a time complexity of max(3n − 5, 2n) moves. As part of the rule that handles when a node should go into the independent set, he has an id(i) variable that is a unique numerical identifier of a node. This is similar to how we rank the algorithms by ids. For additional algorithms on maximal independent sets, [21]. compares 10 different versions for time complexity and performance in simulations. An extension to Turau’s algorithm, to account for the combined algorithms that we are proposing, is provided below. At convergence, there will be X = {i |xM IS (i) = 1} that forms a maximal independent set. Algorithm 2 Maximal Independent Set RWait: if xM IS (i) = out ∧ (∄j ∈ N(i))(xM IS (j) = in) ∧ (∄a ∈ ALG)(a < M IS ∧ xa (i) = out) then xM IS (i) = wait RBack: if xM IS (i) = wait ∧ ((∃j ∈ N(i))(xM IS (j) = in) ∨ (∃a ∈ ALG)(a < M IS ∧ xa (i) = out)) then xM IS (i) = out RIn: if xM IS (i) = wait ∧ (∄j ∈ N(i))(xM IS (j) = in) ∧ (∀k ∈ N(i))(xM IS (k) ̸= wait ∨ id(k) > id(i)) ∧ (∄a ∈ ALG)(a < M IS ∧ xa (i) = out) then xM IS (i) = in ROut: if xM IS (i) = in ∧ ((∃j ∈ N(i))(xM IS (j) = in) ∨ (∃a ∈ ALG)(a < M IS ∧ xa (i) = out))) then xM IS (i) = out Lemma 9: For the subgraph induced by (a ∈ ALG)(a < M IS), the correctness of the algorithm is not affected. Proof: The additional logic of determining if a node is in the in/out set for an algorithm (a < M IS) results in an induced subgraph, such that the maximal independent set will operate as previously on the set of nodes where xa (i) = in. For nodes where xa (i) = out, those will not be considered for the maximal independent set. Lemma 10: If there are no more moves for a node i due to an algorithm a in which a < M IS, the time complexity of the algorithm remains at most max(3n − 5, 2n).
Proof: For the time complexity to be increased from max(3n−5, 2n), this would require that an additional move is made due to the subgraph induced by (a ∈ ALG)(a < M IS). However, as the subgraph is less than or the same size of nodes as V , it must be the case that the additional move(s) are due to the case of an algorithm a < M IS; however, this would also have been seen in lemmas 5-8 as both Algorithm 1 and Algorithm 2 share the same logic in that case. Theorem 2: Algorithm 2 finds a maximal independent set in at most max(3n − 5, 2n) moves on the subgraph induced by (a ∈ ALG)(a < M IS). Proof: This follows directly from lemmas 9 and 10 and [20]. E. Algorithm for 1-Minimal Dominating Set Hedetniemi et al. developed the first 1-minimal dominating set algorithm for self-stabilization in [22]. Their algorithm used a central scheduler and had a time complexity of O(n2 ). Various papers have improved upon this result; the one presented below is a modification from Chiu, Chen, and Tsai [23]. Chiu, Chen, and Tsai’s algorithm uses an unfair distributed scheduler that has a time complexity of O(4n). As with Turau, they used an id(i) function that would return the unique numerical identifier of node i. As part of our modifications, x(i) is a shared variable across the algorithms. Algorithm 3 1-Minimal Dominating Set RWait: if (xM DS (i) = out1 ∨ xM DS (i) = out2 ) ∧ (∄j ∈ N(i))(xM DS (j) = in) ∧ (∄a ∈ ALG)(a < M DS ∧ xa (i) = out) then xM DS (i) = wait RBack1 : if xM DS (i) = wait ∧ ((|{j ∈ N(i) | xM DS (j) = in}| = 1) ∨ (∃a ∈ ALG)(a < M DS ∧ xa (i) = out))) then xM DS (i) = out1 RBack2 : if (xM DS (i) = out1 ∨ xM DS (i) = wait) ∧ ((|{j ∈ N(i) | xM DS (j) = in}| > 1) ∨ (∃a ∈ ALG)(a < M DS ∧ xa (i) = out))) then xM DS (i) = out2 RIn: if xM DS (i) = wait ∧ (∄j ∈ N(i))(xM DS (j) = in) ∧ (∄k ∈ N(i))(xM DS (k) = wait ∧ id(k) < id(i)) ∧ (∄a ∈ ALG)(a < M DS ∧ xa (i) = out) then xM DS (i) = in ROut1 : if xM DS (i) = in ∧ ((|{j ∈ N(i) | xM DS (j) = in}| = 1) ∧ (∄k ∈ N(i))(xM DS (k) = out1 ) ∨ (∃a ∈ ALG)(a < M DS ∧ xa (i) = out))) then xM DS (i) = out1 ROut2 : if xM DS (i) = in ∧ ((|{j ∈ N(i) | xM DS (j) = in}| > 1) ∧ (∄k ∈ N(i))(xM DS (k) = out1 ) ∨ (∃a ∈ ALG)(a < M DS ∧ xa (i) = out))) then xM DS (i) = out2 Lemma 11: For the subgraph induced by (a ∈ ALG)(a < M DS), the correctness of the algorithm is not affected. Proof: This follows from lemma 9.
Algorithm
Time Complexity O(2n) max(3n − 5, 2n) O(4n)
a1 : white/blacklists a2 : maximal independent set for suppliers • a3 : 1-minimal dominating set for parts flow The worst case combined time complexity is then: • •
Whitelists and Blacklists Maximal Independent Set 1-Minimal Dominating Set TABLE III T IME COMPLEXITY OF PRESENTED ALGORITHMS .
O(24n3 − 34n2 − 8n) = O(24n3 ) Lemma 12: For the subgraph induced by (a ∈ ALG)(a < M DS), the time complexity of the algorithm is not affected. Proof: This follows from lemma 10. Theorem 3: Algorithm 3 finds a 1-minimal dominating set in at most O(4n) moves on the subgraph induced by (a ∈ ALG)(a < M DS). Proof: This follows directly from lemmas 11, 12 and [23]. F. Correctness of Combined Algorithms The correctness of the individual algorithms, for the subgraphs that were induced by algorithms with a lower id, was shown in IV-C, IV-D, and IV-E. The final result will be a set X of nodes, which will have values for each of the algorithms. Note that since the algorithms have a hierarchical order, it is possible to have a scenario such as the following: BW < M IS with xBW (i) = in and xM IS (i) = out. As the algorithms only determine if a node should be in/out of the set from their current state and the processing of algorithms with a lower id, algorithms with a higher id might result in subsequent removal of a node. Obviously for the most restrictive IP protection, the results of all of the algorithms need to be examined for each node with only the set in included. However for complex graphs, there may not be a solution available when considering all dimensions. In these cases, it will have to be determined what risks are manageable. Therefore, the most important IP dimensions should be provided the lowest ids so that solutions can be provided for these dimensions. Then the risk of subsequent dimensions can be considered. G. Time Complexity of Combined Algorithms The time complexity of the algorithms is shown in Table III. These can also be found in the algorithm discussions. As the algorithms are hierarchical due to using ids, their combined worst case running time thus becomes: O(a1 ) + O(a1 ) ∗ O(a2 ) + O(a1 ) ∗ O(a2 ) ∗ O(a3 ) + .... (2) This is represented by the following product summation: |ALG| k X Y
O(ai )
(3)
k=1 i=1
The complexity is thus polynomial - with the specific value dependent upon the algorithms that are used and their hierarchical order. For the use case that we have been describing in this paper, we have the following algorithm order:
(4)
V. C ONCLUSIONS AND F URTHER W ORK In this paper, we developed a solution of polynomial time complexity as opposed to the exponential time complexity in [1]. This allows for us to use the proposed method at scale for real-world problems in which we are interested in determining intellectual property risk when examining various dimensions. Additionally, we showed a different number of algorithms that could be used for a variety of different IP risk management scenarios (e.g. parts flow, protecting specific areas, ensuring that all information regarding associates/equipment/suppliers not made available, ...). Future work could include the use of other algorithms (e.g. graph coloring, bipartite, ...) that would be able to handle further types of IP dimensions. R EFERENCES [1] J. M. O’Kane and D. A. Shell, “Automatic design of discreet discrete filters,” in 2015 IEEE International Conference on Robotics and Automation (ICRA), 2015, pp. 353–360. [2] Y. Zhang, D. A. Shell, and J. M. O’Kane, “Finding plans subject to stipulations on what information they divulge,” in Algorithmic Foundations of Robotics XIII, M. Morales, L. Tapia, G. Sánchez-Ante, and S. Hutchinson, Eds. Cham: Springer International Publishing, 2020, pp. 106–124. [3] T. Zare-Garizy, G. Fridgen, and L. Wederhake, “A privacy preserving approach to collaborative systemic risk identification: The use-case of supply chain networks,” Security and Communication Networks, vol. 2018, no. 1, p. 3858592, 2018. [4] L. Sweeney, “k-anonymity: a model for protecting privacy,” Int. J. Uncertain. Fuzziness Knowl.-Based Syst., vol. 10, no. 5, p. 557–570, Oct. 2002. [Online]. Available: https://doi.org/10.1142/S0218488502001648 [5] A. Machanavajjhala, D. Kifer, J. Gehrke, and M. Venkitasubramaniam, “L-diversity: Privacy beyond k-anonymity,” ACM Trans. Knowl. Discov. Data, vol. 1, no. 1, p. 3–es, Mar. 2007. [Online]. Available: https://doi.org/10.1145/1217299.1217302 [6] N. Li, T. Li, and S. Venkatasubramanian, “t-closeness: Privacy beyond kanonymity and l-diversity,” in 2007 IEEE 23rd International Conference on Data Engineering, 2007, pp. 106–115. [7] C. Dwork, “Differential privacy,” in Automata, Languages and Programming, M. Bugliesi, B. Preneel, V. Sassone, and I. Wegener, Eds. Berlin, Heidelberg: Springer Berlin Heidelberg, 2006, pp. 1–12. [8] S. Raskhodnikova and A. Smith, Private Analysis of Graph Data. Berlin, Heidelberg: Springer Berlin Heidelberg, 2014, pp. 1–6. [9] J. W. Anderson, K. E. Kennedy, L. B. Ngo, A. Luckow, and A. W. Apon, “Synthetic data generation for the internet of things,” in 2014 IEEE International Conference on Big Data (Big Data), 2014, pp. 171– 176. [10] S. Raskhodnikova and A. Smith, Differentially Private Analysis of Graphs. New York, NY: Springer New York, 2016, pp. 543–547. [11] J. Imola, T. Murakami, and K. Chaudhuri, “Locally differentially private analysis of graph statistics,” CoRR, vol. abs/2010.08688, 2020. [Online]. Available: https://arxiv.org/abs/2010.08688 [12] J. Blocki, A. Blum, A. Datta, and O. Sheffet, “The johnsonlindenstrauss transform itself preserves differential privacy,” CoRR, vol. abs/1204.2136, 2012. [Online]. Available: http://arxiv.org/abs/1204.2136 [13] S. P. Kasiviswanathan, K. Nissim, S. Raskhodnikova, and A. Smith, “Analyzing graphs with node differential privacy,” in Proceedings of the 10th Theory of Cryptography Conference on Theory of Cryptography, ser. TCC’13. Berlin, Heidelberg: Springer-Verlag, 2013, p. 457–476.
[14] E. Cockayne and C. Mynhardt, “k-minimal domination numbers of cycles,” Ars Combinatoria, vol. 23, pp. 195–206, 1987. [15] T. W. Haynes, S. Hedetniemi, and P. Slater, Fundamentals of domination in graphs. CRC press, 2013. [16] J. v. Neumann, A. W. Burks et al., “Theory of self-reproducing automata,” 1966. [17] E. W. Dijkstra, “Self-stabilizing systems in spite of distributed control,” Communications of the ACM, vol. 17, no. 11, pp. 643–644, 1974. [18] ——, “A belated proof of self-stabilization,” Distrib Comput, vol. 1, pp. 5–6, 1986. [19] S. Shukla, D. Rosenkrantz, and S. Ravi, “Observations on self-stabilizing graph algorithms for anonymous networks,” Proceedings of the Second Workshop on Self-Stabilizing Systems, 01 1995. [20] V. Turau, “Linear self-stabilizing algorithms for the independent and dominating set problems using an unfair distributed scheduler,” Information Processing Letters, vol. 103, no. 3, pp. 88–93, 2007. [Online]. Available: https://www.sciencedirect.com/science/article/pii/S0020019007000488 [21] B. F. Cone, S. T. Hedetniemi, L. C. Ingle, and K. Kennedy, “Performance comparisons of self-stabilizing algorithms for maximal independent sets,” 2022. [Online]. Available: https://arxiv.org/abs/2203.11118 [22] S. Hedetniemi, S. Hedetniemi, D. Jacobs, and P. Srimani, “Selfstabilizing algorithms for minimal dominating sets and maximal independent sets,” Computers & Mathematics with Applications, vol. 46, no. 5, pp. 805–811, 2003. [Online]. Available: https://www.sciencedirect.com/science/article/pii/S089812210390143X [23] W. Y. Chiu, C. Chen, and S.-Y. Tsai, “A 4n-move selfstabilizing algorithm for the minimal dominating set problem using an unfair distributed daemon,” Information Processing Letters, vol. 114, no. 10, pp. 515–518, 2014. [Online]. Available: https://www.sciencedirect.com/science/article/pii/S0020019014000702