SFCM-R: A novel algorithm for the hamiltonian sequence problem
C\'icero A. de Lima

TL;DR
This paper introduces SFCM-R, a new algorithm designed to address the NP-Complete Hamiltonian sequence problem by degenerating potential forbidden minors through a two-phase process.
Contribution
The paper presents a novel algorithm that approaches the Hamiltonian sequence problem by degenerating forbidden minors, offering a new method for tackling this NP-Complete challenge.
Findings
Algorithm successfully degenerates potential forbidden minors.
Constructs and reconstructs potential Hamiltonian sequences.
Provides a new approach to NP-Complete Hamiltonian problems.
Abstract
A hamiltonian sequence is a path walk that can be a hamiltonian path or hamiltonian circuit. Determining whether such hamiltonian sequence exists in a given graph \G is a NP-Complete problem. In this paper, a novel algorithm for hamiltonian sequence problem is proposed. The proposed algorithm assumes that has potential forbidden minors that prevent a potential hamiltonian sequence from being a hamiltonian sequence. The algorithm's goal is to degenerate such potential forbidden minors in a two-phrase process. In first phrase, the algorithm passes through in order to construct a potential hamiltonian sequence with the aim of degenerating these potential forbidden minors. The algorithm, in turn, tries to reconstruct in second phrase by using a goal-oriented approach.
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsAdvanced Graph Theory Research · Algorithms and Data Compression · Complexity and Algorithms in Graphs
SFCM-R: A novel algorithm for the hamiltonian sequence problem
Cícero A. de Lima 111email: [email protected], orcid: 0000-0002-3117-3065
Abstract
A hamiltonian sequence is a path walk that can be a hamiltonian path or hamiltonian circuit. Determining whether such hamiltonian sequence exists in a given graph is a NP-Complete problem. In this paper, a novel algorithm for hamiltonian sequence problem is proposed. The proposed algorithm assumes that has potential forbidden minors that prevent a potential hamiltonian sequence from being a hamiltonian sequence. The algorithm’s goal is to degenerate such potential forbidden minors in a two-phrase process. In first phrase, the algorithm passes through in order to construct a potential hamiltonian sequence with the aim of degenerating these potential forbidden minors. The algorithm, in turn, tries to reconstruct in second phrase by using a goal-oriented approach.
1 Introduction
A hamiltonian sequence is a path walk that can be a hamiltonian path or hamiltonian circuit. Determining whether such sequence exists in a given graph is a NP-Complete problem ([6]; [4]). Several algorithms have been proposed to find hamiltonian sequences in a graph . For example, Held and Karp ([5]) proposed an algorithm that runs in to compute a hamiltonian path by using dynamic programming. In 2014, Björklund ([1]) proposed a randomized algorithm that runs in to compute a hamiltonian circuit in undirected graphs.
The currently best known exact algorithm for the hamiltonian sequence problem runs in ([2]). Despite the progress made in the hamiltonian sequence problem, a substantial improvement in the area of exact algorithms for this problem remains an open problem. Unfortunately, exact algorithms for the hamiltonian sequence problem, which is determining if hamiltonian path or hamiltonian circuit exists in a graph , still run in exponential time complexity.
In this paper, a novel algorithm is proposed to solve the hamiltonian sequence problem. The goal of the proposed algorithm is to construct a potential hamiltonian sequence , assuming that may have potential forbidden minors that prevent a potential hamiltonian sequence from being a hamiltonian sequence. Thus, these potential forbidden minors need to be degenerated in some state in a two-phrase process by using a goal-oriented approach. Our algorithm outputs a valid hamiltonian sequence by reconstructing , or aborts itself, if it is forced to use probability instead of the proposed goal-oriented approach. Hence, this study presents new techniques to solve the hamiltonian sequence problem.
The rest of the paper is organized as follows. In section 2 we list some technical conventions and provide a solid foundation for a better understanding of this paper. Finally, in section 3 we present the details of the proposed algorithm and prove its correctness.
2 Preliminary
In this section, some concepts about graph theory are described. Also, this section provides a concise background needed for a better understanding of the paper.
A graph consists of a set of vertices and a set E of edges. The vertex set of a graph is refereed to as , its edge set as . The number of elements of any set is written as . Each edge is undirected and joins two vertices , denoted by . To represent adjacency between two vertices we use the notation . is used to represent the adjacency between and at least one vertex ,. The set of neighbors of a vertex is denoted by . is a subgraph of induced by that contains all the edges with . is a subgraph obtained from by deleting all the vertices and their incident edges. If and , we write rather than . is the number of components of a graph . If is an articulation point then we will have . The graph is obtained from by contracting the edge e and replace its endpoints , with new vertex , which becomes adjacent to all the former neighbors of or . Formally, the resulting graph is a graph with vertex set and an edge set or ([9]) .
A minor of a graph is any subgraph obtainable from by means of a sequence of vertex and edge deletions and edge contractions. A class or a family of graphs contain all graphs that posses some common characterization. Many families of graphs are minor-closed, that is, for every in every minor of also belongs to . Every minor-closed families has a finite set of excluded minors. ([9]) For example, a major step towards deciding whether a given graph is planar is provided by Kuratowski’s theorem which states that if in where is the family of planar graphs, then contains no minor belongs to ([9])
Many methods were studied to test the planarity of a graph G. One interesting method to determine if a graph is planar was proposed by Schmidt. This method incrementally builds planar embeddings of every 3-connected component of . Schmidt studied a far-reaching generalization of canonical orderings to non-planar graphs of Lee Mondshein’s PhD thesis ([7]) and proposed an algorithm that computes the called Mondshein sequence in ([10]). Mondshein sequence generalizes canonical orderings and became later and independently known under the name non-separating ear decomposition ([10]).
Definition 1**.**
An ear decomposition of a 2-connected graph is a decomposition such that is a cycle and every is a path that intersects in exactly its endspoints. Each is called an ear. ([10])
Mondshein proposed to order the vertices of a graph in a sequence that, for any , the vertices from 1 to induce essencially a 2-connected graph while the remaining vertices from + 1 to induce a connected graph. For conciseness, we will stick with following short ear-based definition of mondshein sequence. ([10])
Definition 2**.**
Let be a graph with edge . Assuming that is part of the outer face of G. A Mondshein sequence avoiding ru is an ear decomposition of such that (1) , (2) is the last long ear, contains u as its only inner vertex and doesn’t contain and (3) is non-separating. ([10])
An ear decomposition that satisfies the conditions (1) (2) and (3) is said to avoid , so is forced to be added last in , right after the ear containing u as an inner vertex ([10]). If we negate the constraints (1) (2) and (3), we form the forbidden condition of the Schmidt’s algorithm, seeing that such algorithm can’t ignore them. Otherwise, the Schmidt’s algorithm fails to produce a valid output.
Definition 3**.**
A forbidden condition of an algorithm is a set of sufficient conditions that makes fail to produce a valid output.
Before continuing, let Validator be a generic hamiltonian sequence validator function that outputs true if with is a hamiltonian sequence of by performing subsequent operations.
Conditions like or being an articulation point makes Validator ouput false. Unfortunately, such invalid conditions are useful only to test if is a hamiltonian sequence or not. There’s some sufficient conditions available for a graph to posses a hamiltonian sequence ([3]; [8]) but there’s no known non-exhaustive algorithm for hamiltonian sequence characterization test that constructs a valid hamitonian sequence by performing subsequent operations and throwing an error, if doesn’t have any hamiltonian sequence. Likewise, there’s no known forbidden condition for the hamiltonian sequence problem. At the same time, find a hamiltonian sequence by relying on exhaustive methods is not feasible. The lack of a known forbidden condition for hamiltonian sequence characterization test motivated this research.
In this paper, a novel algorithm called SFCM-R is proposed to solve the hamiltonian sequence problem in a different way. SFCM-R is a type of what we call Syncronization-based Forbidden Condition Mirroring (SFCM) algorithm, which is formally defined as follows.
Definition 4**.**
Let be a graph. The Synchronization-based Forbidden Condition Mirroring (SFCM) algorithm is an algorithm with a configuration , that consists of: (1) a finite set of scenes ,, , associated to a finite set of synchronizable forbidden conditions ; and (2) a pair , with and , associated to each mirrorable algorithm in .
Definition 5**.**
(Synchronizable forbidden condition)* If and of and , respectively, are conceptually equivalent, then both and are synchronizable forbidden conditions that will be synchronized eventually when both and are executed.*
Definition 6**.**
(Mirrorable algorithm)* If and are synchronizable forbidden conditions, then both and are conceptually equivalent mirrorable algorithms that will be mirrored eventually when both and are executed.*
Before continuing, a trivial example of how the proposed algorithm works in practice is presented for a better understanding of this paper. Let’s convert the Schmidt’s algorithm to a SFCM algorithm that we call SFCM-S algorithm. Let be a 2-connected scene that Schmidt’s algorithm takes as input and be a scene called Schmidt Scene that SFCM-S takes as input. The description of Schmidt scene is as follows.
Schmidt Scene
Each , with being an ear decomposition of , is a component and the edge is a forbidden ru-component that needs to be degenerated in some state .
Notice that ru-component is a potential forbidden minor of Schmidt Scene that needs to be added last by SFCM-S in order to not make such algorithm fail to produce a valid output. As the edge could be also considered a potential forbidden minor of Schmidt’s algorithm, all we need to do is to make the SFCM-S imitate the behaviour of Schmidt’s algorithm so that the forbidden conditions of both algorithms will be completely synchronized eventually.
As the only difference between SFCM-S and Schmidt’s algorithm is that they’re conceptually equivalent, they will be also completely mirrored eventually.
In this paper, we use a variation of the same approach to construct a hamiltonian sequence path . In this case, is the scene that an unknown non-exhaustive hamiltonian sequence characterization test, that performs subsequent operations, takes as input. is the scene called minimal scene that the proposed algorithm for hamiltonian sequence problem, that we call SFCM-R, takes as input. Such unknown non-exhaustive algorithm will be called real scene algorithm or RS-R. Throughout this paper, we also refer to an exhaustive version of real scene algorithm as RS-E.
We assume that every state of SFCM-R has potential forbidden minors that make such algorithm fail to produce a valid hamilton sequence. In addition, we also assume at first that, if has a hamiltonian sequence, these potential forbidden minors will be degenerated in some state of SFCM-R.
In summary, the goal of the SFCM-R is to synchronize the forbidden condition of SFCM-R and the forbidden condition of an unknown non-exhaustive hamiltonian sequence characterization test by using an imitation process. The minimal scene description is based on invalid conditions that make Validator have false as output on minimal state. In other words, such invalid conditions belong only to minimal scene, not to real scene or simply , which is the scene that RS-R takes as input.
3 SFCM-R algorithm
In this section, SFCM-R is explained in detail. Before continuing, we need to define formally the minimal scene and some important functions. The minimal scene is formally defined as follows.
Definition 7**.**
A minimal scene is a rooted graph H=(V,E,\text{v_{0}},L,\Omega) with a set of labels associated with each vertex , a root vertex and an ordered set of tiers .
Let H=(V,E,\text{v_{0}},L,\Omega) be a minimal scene and be a real scene. Let and be vertices such that . By convention, is the current state’s vertex and , a potential successor . is performed whenever a vertex is defined as a successor of . It will be written as . When is defined as an invalid successor, it will be written as . is a path from to . As we need to find a vertex such that holds for , SFCM-R analyses a subscene that will be denoted as tier.
Definition 8**.**
Let H=(V,E,\text{v_{0}},L,\Omega) be a minimal scene. A tier is a subscene such that , , S_{0}=\{\text{v_{0}}\} and being a set of nodes with depth of a breadth-first search transversal tree of .
A set of tiers is defined by the function called maximum-induction. When maximum-induction outputs a valid set , the next step is to get the vertices labelled according to the function Lv-label that outputs a set , which is the set of labels associated with each vertex . By convention, is a vertex labelled as and represents a set of vertices labelled as . H^{\prime}_{\text{v_{0}}} is the root of and is the of its current state. The notation represents a set of all vertices labelled as .
Notice that a tier can potentially have in some state of SFCM-R, RS-R, and RS-E. Because of that, we need to identify all the stumbling blocks that may happen to break a potential hamiltonian sequence on each tier and degenerate them. These points are denoted as hamiltonian breakpoints or simply , because SFCM-R assumes that they’re potential forbidden minors that prevent from being a hamiltonian sequence due to the fact that a tier can potentially have holding for , with being the scene of the current state of SFCM-R.
Before continuing, we’ll briefly describe what each label means. Let be a vertex . If is an articulation point of , it will labelled as or minimal articulation vertex. If and it will labelled as minimal leaf or . Every w^{\prime}\in N(\text{v_{B}}),w^{\prime}\neq\text{v_{B}} will be labelled as minimal degeneration vertex or . Every w\notin\{\text{v_{D}},\text{v_{B}}\} such that w\neq\text{v_{B}} and N_{\text{v_{D}}}(w)\ \geq 2 is an minimal intersection vertex or . Every non-labelled vertex will be labelled as . A vertex labelled as or is a vertex. On the other hand, a vertex labelled as v_{A}$$v_{N} is not considered a hamiltonian breakpoint.
Now, a concise description of minimal scene is finally provided below.
Minimal Scene
Every vertex is an articulation point of and every vertex is a potential articulation point. In addition, every vertex is part of an isolated C_{\text{v_{B}}} component such that C_{\text{v_{B}}}=\text{v_{B}}\cup N_{\text{v_{D}}}(\text{v_{B}}). Thus, if we have H-\text{v_{B}} then we will have |C_{\text{v_{B}}}|-1 -components. vertices are potential intersection points between C_{\text{v_{B}}} components. , and v_{A}$$v_{N} vertices aren’t part of any C_{\text{v_{B}}} component. The function A_{v}(\text{v_{B}},H) defined bellow returns if is a virtual articulation of or , otherwise. is a virtual articulation only if |N_{\text{v_{D}}}(\text{v_{B}})|\geq 2.
[TABLE]
The term virtual indicates that some definition belongs only to minimal scene, not to real scene. Thus, we’ll define an additional function that returns true if . For conciseness, Every real articulation point of is labelled as and C_{\text{v_{H}}}=\text{v_{H}}\cup N(\text{v_{H}}) represents a C_{\text{v_{H}}} component.
In order to keep a valid state, every C_{\text{v_{B}}} needs to be mapped and degenerated in some state of first or second phrase. If could be degenerated in a state , then is called b-treatable. We need to assume at first that , there exists a state which will be b-treatable.
Definition 9**.**
Let be a vertex with \{\text{v_{B}}\}\in L_{w}. Let and be vertices of . A b-treatable or \text{v_{B}}^{T} is a vertex reachable from through a path with such that we have \{\text{v_{B}}\}\notin L_{w} when we recalculate its label in subscene
If could be degenerated, cant’ be considered a b-consistent anymore.
Definition 10**.**
A b-consistent or \text{v_{B}}^{C} is a consistent that can’t be degenerated in current state.
As we don’t know a detailed description about the unknown forbidden condition of RS-R, we will stick with a conceptually equivalent definition of hamiltonian sequence problem that relates real scene to minimal scene explicitly. The * path problem* is as follows.
Definition 11**.**
( path problem)* Given a scene H=(V,E,\text{v_{0}},L,\Omega) , is there a simple path that visits all vertices with such that P=P_{\text{v_{B}}_{i}}...P_{\text{v_{B}}_{k}}\cup P_{u} with ?*
As the path problem is similar to the hamiltonian sequence problem, it must be NP-complete. In the minimal scene, if we have a path P=P_{\text{v_{B}}}-\text{v_{B}} that degenerates C_{\text{v_{B}}} in , such will be part of another P_{\text{v_{B}}^{\prime}} fragment. In first phrase of SFCM-R, we pass through with the aim of degenerating C_{\text{v_{B}}} components in order to create a potential hamiltonian sequence , which is a sequence of path fragments.
It means that the following theorem, which is a sufficient condition to make Validator output false, will be partially ignored in first phrase. Such phrase is called mapping phrase, which is represented by Mapping function (see Sect. 3.1).
Theorem 1**.**
Let be a graph. If with , is hamiltonian sequence of , then holds for only and only if .
Proof.
If we have , at least one component is not reachable from . Therefore, holds for , which is not a hamiltonian sequence, since at least one vertex is not reachable from . ∎
Because of that, both first and second phrase of SFCM-R need to enforce basic constraints related to real scene in order to not ignore Theorem 1 completely. Before continuing, we will define two properties that a subscene may have.
Property 1**.**
( property)* The property indicates that is a component of H^{\prime}\supset H[V-H_{\text{v_{H}}}] that has vertices with Z=\{w^{\prime}\in V(H[V]):(|N(w^{\prime})\cap H_{\text{v_{H}}}|\geq 1)\wedge(w^{\prime}\neq\text{v_{H}})\}. The value of is equal to \alpha=\left|\bigcup_{w\in Z}\{N(w)\cap H_{\text{v_{H}}}\}\right|; |H_{\text{v_{H}}}^{n}| returns a set \beta=\bigcup_{w\in Z}\{N(w)\cap H_{\text{v_{H}}}\}.*
Property 2**.**
( property)* The property indicates that H^{\prime}\supset H[V-H_{\text{v_{H}}}] is a creatable component of , which implies that it still doesn’t exist in . indicates that is a component that exists in .*
The two basic constraints are as follows.
Constraint 1**.**
If H_{\text{v_{H}}}\neq 0, can’t have a creatable component H^{\prime}\supset H[V-H_{\text{v_{H}}}] with ,\{V(H^{\prime})\cap\{v\cup N(v)\cup\text{v_{0}}\cup N(\text{v_{0}})\}\}=\emptyset and .
Why. If is created and reached by either or , may hold for with w\in\{v,\text{v_{0}}\}. Such situation is invalid since it can potentially make SFCM-R ignore Theorem 1 completely. SFCM-R assumes that every is reachable from either or , without ignoring Theorem 1 completely. ∎
Constraint 2**.**
If H_{\text{v_{H}}}\neq 0, H[V-H_{\text{v_{H}}}] can’t have a component H^{\prime}\supseteq H[V-H_{\text{v_{H}}}] with \text{v_{0}}\in V(H^{\prime}), and .
Why. In this case, can’t reach other components. Such situation is invalid since it can make SFCM-R ignore Theorem 1 completely. SFCM-R assumes that every is reachable from either or , without ignoring Theorem 1 completely. ∎
In addition, SFCM-R can’t have an exponential complexity. Otherwise, we’re implicitly trying to solve this problem by imitating RS-E. Such situation is clearly invalid seeing that SFCM-R needs to try to imitate the behaviour of RS-R. That’s why every choice must be goal-oriented in both two phrases of SFCM-R. In other words, both phrases must be goal-oriented. Throughout this paper, we prove that both phrases are imitating the behaviour of RS-R. Such proofs shall be presented with an appropriate background. (see Sect. 3.1.3 and 3.4).
Definition 12**.**
Goal-oriented choice is a non-probabilistic choice that involves minimal scene directly and real scene partially.
As SFCM-R passes through instead of , we’re considering minimal scene directly. In addition, the real scene is considered partially since some basic constraints related to RS-R are evaluated by SFCM-R. Throughout this paper, constraints followed by an intuitive description shall be presented in this order by convention. All the goal-oriented strategies developed through this research shall be presented along with an appropriate background (see Sect. 3.3.2).
Notice that we can assume that RS-R generates only consistent C_{\text{v_{H}}} components in order to construct a valid hamiltonian sequence (if it exists), or throws an error when doesn’t have any hamiltonian sequence in order to abort itself. For that reason, we represent the real scene algorithm as follows.
As this version of RS-R doesn’t have any explicitly relationship with the proposed minimal scene, it needs to be modified to properly represent a mirrorable real scene algorithm, which is the real scene algorithm we want to directly mirror in reconstruction phrase. Such modification shall be presented with an appropriate background.
For conciseness, we use RS-R to represent the non-mirrorable RS-R algorithm in order to avoid confusion unless the term mirrorable is explicitly written. The reason is that the correctness of SFCM-R implies that both non-mirrorable RS-R algorithm and mirrorable RS-R algorithm are conceptually equivalent mirrorable algorithms, which consequently implies that there’s no specific reason to differentiate one from another throughout this paper.
In summary, the main goal of SFCM-R is to imitate the behaviour of RS-R in order to avoid using probability, which is a known behaviour of RS-E. That’s why the second phrase, that is called reconstruction phrase, which is represented by the function Reconstruct, aborts the process if it’s forced to use probability while reconstructing . Such reconstruction process is explained in section 3.2.
3.1 Mapping phrase
In this section, the mapping phrase is explained. This phrase outputs a non-synchronized hamiltonian sequence that is called set. Such set is used by reconstruction phrase, which tries to reconstruct a hamiltonian sequence by modifying in order to output a valid hamiltonian sequence (if it exists). The mapping task is done by the Mapping function. This function takes both H=(V,E,\text{v_{0}},L,\Omega) and as input by reference along with additional parameters (, , , , , , ) by reference and keeps calling itself recursively until reaching its base case.
Definition 13**.**
Let H=(V,E,\text{v_{0}},L,\Omega) be a minimal scene. A non-synchronized hamiltonian sequence is a sequence , of path fragments.
By convention, the notation will be used to represent non-synchronized edges created by Mapping. is a non-synchronized edge with . is an ordered set that contains each with . The mapping task performed by Mapping has the following structure:
Base case
(1) or (2) forms the base case of recursion. If base case is reached by first condition, then we assume at first that every \text{v_{B}}^{C} will be \text{v_{B}}^{T} in some state
Degeneration state
The current state of Mapping, in which the main operations are as follows: (1) perform ; (2) perform ; (3) perform a recursive Mapping call; and (4) throw an error exception.
In degeneration state, some constraint must make hold for at least one . If we don’t have any with , we have to undo one step and try an alternative choice in current scene until , with being the local error counter of Mapping and being the local error counter limit of Mapping.
The Sync-Error procedure is called by Mapping whenever it finds an inconsistency. Such procedure increments both and by reference, with being a global error counter of Mapping. If , the current subscene must be discarded by Mapping and the degeneration state is changed to another in an earlier valid subscene. On the other hand, if , with being the global error counter limit of Mapping, the mapping process must be aborted.
Every constraint must be checked into . In order to check if a constraint holds for , Mapping must update the labelling of by calling Lv-label function only. Some constraints have nested constraints that induce by a set . These nested constraints also need to be checked into by calling Lv-label function only.
The only case that requires the current subscene to be completely changed is when H[V-v]_{\text{v_{H}}}\neq\emptyset. In this case, we have to perform a Context Change (CC) operation into a new subscene , due to the fact that must be reachable by or , without ignoring Theorem 1 completely. Because of that, a creatable component H^{\prime}\supset H[V-H_{\text{v_{H}}}-v] such that , \{V(H^{\prime})\cap\{N(\text{v_{0}})\cup\text{v_{0}}\}\}\neq\emptyset, , needs to be explicitly created by Mapping since the minimal scene is not aware of the existence of real articulation points. We call this creatable component H{\text{\begin{math}\star\end{math}}}. After H{\text{\begin{math}\star\end{math}}} is created, it need to be configured by the following operations: V(H^{\prime})=V(H^{\prime})\cup\{\text{v_{0}},|H_{\text{v_{H}}}^{n}|\}, H^{\prime}_{v}=\text{v_{0}}, H^{\prime}_{\text{v_{0}}}=|H_{\text{v_{H}}}^{n}|. When it’s processed by Mapping, the current labelling of becomes obsolete. Because of that, also needs to perform a CC operation.
Notice that an edge \text{v_{0}}v is added temporarily whenever Mapping make a CC operation, which is done by the function Context-change, in order to make both Lv-Label() and Maximum-induction() work correctly. That’s because such will act like a vertex that was chosen by \text{v_{0}}\to v=T in an imaginary state with H[V-\text{v_{0}}]_{\text{v_{H}}}=\emptyset, which makes H{\text{\begin{math}\star\end{math}}} and the degeneration state behave like v=\text{v_{0}} in maximal ,\text{v_{0}}\in V(H).
The constraints considered in this phrase are defined as follows.
Constraint 3**.**
v\to\text{v_{D}}=T, if \text{v_{D}}\sim\text{v_{A}} and N_{\text{v_{A}}}(\text{v_{A}})=\emptyset.
Why. As is considered an isolated component by minimal scene, it can’t influence the labelling of any \text{v_{A}}{{}^{\prime}} directly. ∎
Constraint 4**.**
v\to\text{v_{D}}=T, if we have at least one \text{v_{A}}^{T} for H[V-\text{v_{D}}-P] with being a -path generated by H[V-\text{v_{D}}] such that w_{1}=\text{v_{D}}, , and with such that .
Why. In this case, is part of a degeneration process. As is a mandatory path of subdivisions, H[V-\text{v_{D}}-P] is performed in order to check if also behaves like since will hold for eventually. ∎
Constraint 5**.**
v\to\text{v_{L}}=T, if we have at least one \text{v_{A}}^{T} for H[V-\text{v_{L}}-P] with being a -path generated by H[V-\text{v_{L}}] such that w_{1}=\text{v_{L}}, , and with such that .
Why. A is a leaf on its minimal state, that can act like a \text{v_{D}}^{\prime} with d(\text{v_{D}}^{\prime})=1 that degenerates a C_{\text{v_{A}}} such that \text{v_{D}}^{\prime}\in C_{\text{v_{A}}}. In this case, is behaving like a leaf of RS-R such that w\in C_{\text{v_{H}}} instead of a vertex since it’s part of a degeneration process.
∎
Constraint 6**.**
v\to\text{v_{D}}=T, if \text{v_{D}}\sim\text{v_{A}} and \text{v_{D}}\notin\tau\wedge(A(\text{v_{A}},\tau)=T)\wedge(|N_{\text{v_{A}}}(\text{v_{D}})|=1).
Why. In this case, doesn’t influence the labelling of any vertex directly since \text{v_{D}}\notin\tau and |N_{\text{v_{A}}}(\text{v_{D}})|=1. ∎
Constraint 7**.**
v\to\text{v_{D}}=T, If \text{v_{D}}\sim\text{v_{L}}\wedge\text{v_{D}}\to\text{v_{L}}=T.
Why. If \text{v_{D}}\sim\text{v_{L}} and \text{v_{D}}\to\text{v_{L}}=T we assume that \text{v_{D}}\to\text{v_{L}}=T may be the next choice. ∎
Constraint 8**.**
v\to\text{v_{D}}=T, if there exists a -path ,w_{k}\sim\text{v_{L}}, generated by H[V-\text{v_{D}}] such that: (1) w_{1}=\text{v_{D}}, , with such that ; and (2) w_{k}\to\text{v_{L}}=T in H[V-\text{v_{D}}-P].
Why. If there exists , which is a mandatory path of subdivisions, we check if w_{k}\to\text{v_{L}}=T holds for since with w=\text{v_{L}} will hold for eventually. ∎
Constraint 9**.**
v\to\text{v_{D}}=T, If \text{v_{D}}\sim\text{v_{A}}, and (1) A_{v}(\text{v_{A}},H)=F in or (2) A_{v}(\text{v_{A}},H)=F in H[V-\text{v_{D}}].
Why. In this case, we have 0\leq|N_{\text{v_{D}}}(\text{v_{A}})|\leq 1 .Thus, such is not a consistent virtual articulation since we have 0\leq|C_{\text{v_{A}}}|-1\leq 1. ∎
Constraint 10**.**
v\to\text{v_{D}}=T, if |H_{\text{v_{A}}}|=0.
Why. If |H_{\text{v_{A}}}|=0 and |H_{\text{v_{D}}}|\neq 0, then |H_{\text{v_{L}}}|\neq 0. In such state, Mapping tries to make behave like leafs of real scene such that w\in C_{\text{v_{H}}}. ∎
Constraint 11**.**
If there’s no other valid choice for , we have v\to\text{v_{A}}\text{v_{N}}=T, v\to\text{v_{I}}=T, and v\to\text{v_{N}}=T .
Why. Vertices labelled as , and v_{A}$$v_{N} aren’t part of any C_{\text{v_{B}}} directly. ∎
3.1.1 Goal
The goal of mapping phrase is to output a valid set ready to be reconstructed in next phrase. As a consequence, if Mapping generates an inconsistent that prevents from being a hamiltonian sequence, Reconstruct will be able to degenerate such inconsistency and generate another \text{v_{H}}^{\prime} to change parts of until we have a valid hamiltonian sequence (if it exists) by correcting parts of mapping process. We call this process C_{\text{v_{H}}}* attaching* or minimal scene attachment, because inconsistent C_{\text{v_{H}}} components are degenerated by considering minimal scene directly and real scene partially. Such process is done in reconstruction phrase by using a goal-oriented approach (see Sect. 3.3).
Definition 14**.**
A C_{\text{v_{H}}} attaching is when we choose a vertex with u\in C_{\text{v_{H}}} before C_{\text{v_{H}}} makes a scene be inconsistent in current state of SFCM-R. A C_{\text{v_{H}}} is attached when: (1) H^{\prime}_{\text{v_{H}}}=\emptyset holds for ; or (2) a -path generated by that doesn’t generate any inconsistency in .
Definition 15**.**
A -path is a path P=P_{\text{v_{H}}_{i}}...P_{\text{v_{H}}_{k}}, generated by with H[V-v]_{\text{v_{H}}}\neq\emptyset, such that ,, in which every \text{v_{H}}_{i} reaches \text{v_{H}}_{i+1} properly.
The key to constructing a valid is take into account the priority order of each choice. The priority order plays an important role in this phrase since it will contribute to make the mapping phrase imitate the behaviour of RS-R. The priority order relies on the label of . If the priority is times higher than an arbitrary constant , it will be denoted as . The highest priority is to make a \text{v_{B}}^{C} be \text{v_{B}}^{T}. So we will have \text{v_{L}}^{i+4} and \text{v_{D}}^{i+3}. has the highest priority because it can potentially make |H_{\text{v_{A}}}| increase since it’s considered a potential real articulation point according to minimal scene’s description. If Mapping can’t make any \text{v_{B}}^{C} be \text{v_{B}}^{T} in its current state, we want to perform a CC operation instead of undoing states. Thus, we will have \text{v_{A}}\text{v_{N}}^{i+2} since these vertices can generate articulations with a considerable probability due to d(\text{v_{A}}\text{v_{N}})=2. If we don’t have any C_{\text{v_{B}}}\sim v, we have \text{v_{N}}^{i+1} in order to make Mapping reach different regions of . The lowest priority is for . So we have \text{v_{I}}^{i} for vertices labelled as .
Notice that we don’t have any constraint that makes v\to\text{v_{A}}=T hold for , since it can disconnect the minimal scene according to its description. Even so, we will have v\to\text{v_{A}}=T in some state of SFCM-R if Reconstruct outputs a valid hamiltonian sequence. It means that the constraints related to vertices labelled as can’t be evaluated directly in this phrase.
3.1.2 Algorithm
In this section, the pseudocode of Mapping is explained. Every line number mentioned in this section refers to the pseudocode of Mapping, which is as follows.
Firstly, a Context-change( , ,) call is needed to calculate and of such that |H_{\text{v_{H}}}|=0,H_{\text{v_{0}}}=\text{v_{0}} ,H_{v}=\text{v_{0}} before the first Mapping call. When Mapping is called, if H[V-v]_{\text{v_{H}}}\neq\emptyset , Mapping must remove from in order to create a valid H component with (line 7). In addition, every w\in V(H{\text{\begin{math}\star\end{math}}}) must be deep copies of because we treat vertices as objects in order facilitate the understanding of the proposed pseudocode.
Its important to mention that Mapping needs to call Context-change function before Mapping call itself recursively if H{\text{\begin{math}\star\end{math}}} was set (lines 10 and 17). The new is set to w\equiv H{\text{\begin{math}\star\end{math}}}_{\text{v_{0}}} with (line 16). Every vertex , , x^{\prime}\in V(H{\text{\begin{math}\star\end{math}}}), that was removed from H{\text{\begin{math}\star\end{math}}} by a operation made by Select function (lines 33 and 45) must be also removed from before a CC operation (line 12), including H{\text{\begin{math}\star\end{math}}}_{\text{v_{0}}}, despite to the fact that is restored in H{\text{\begin{math}\star\end{math}}}. This rule doesn’t apply for vertices removed from when (lines 20 and 43) since such may be part of another H{\text{\begin{math}\star\end{math}}} component in different recursive calls. If with w\equiv H{\text{\begin{math}\star\end{math}}}_{\text{v_{0}}}, the split property is set to false (line 14). In this case, H{\text{\begin{math}\star\end{math}}}_{\text{v_{0}}} was not explicitly reached by any operation made by Select. As we’re ignoring Theorem 1 partially, we need to force to be changed in next recursion call in order to make Mapping create a new H{\text{\begin{math}\star\end{math}}} since a new H{\text{\begin{math}\star\end{math}}}_{\text{v_{0}}} may happen to be explicitly reached by a operation made by Select in a new H{\text{\begin{math}\star\end{math}}}.
If H[V-v]_{\text{v_{H}}}=\emptyset, we need to follow the constraints and priorities mentioned earlier to set , which is the set of possible successors of (lines 27 to 29), and set to false (line 26). In this case, If holds for at least one , we must: (1) perform ; (2) perform in order to update properly; (3) add a non-synchronized edge to ; and (4) perform . Mapping needs to call Select in order to do such operations by reference when the context remains unchanged (lines 33 and 45).
Observation 1**.**
Notice that, as performs by convention, is not changed. The reason is that we use to make Mapping keep track of adjacency between and in the maximal .
If happens to hold for with due to an error thrown by Sync-Error (line 38), Mapping must undo modifications made in , and to restore its state before choosing a new unvisited as successor (line 39). On the other hand, if holds for every , we need to undo the last step and try an alternative, incrementing both and by calling Sync-Error (line 41). Every error found in mapping phrase must increment and . If , the current subscene must be discarded by Mapping, that needs to perform undo operations to choose another in an earlier valid subscene. On the other hand, if , the process must be aborted. In this phrase, a vertex can’t have more than two incident edges since must be an ordered sequence of path fragments. Therefore, Select must remove the first element of from by reference if . Select is as follows.
In addition, Mapping must never remove w=\text{v_{0}} from except in two cases. The first case is before a CC operation that makes w\neq\text{v_{0}} hold for (line 17). The second case is when and v=\text{v_{0}} (lines 20 and 43). Also, Mapping can’t have v\to\text{v_{0}}=T with v\neq\text{v_{0}} unless v\sim\text{v_{0}}, , d(\text{v_{0}})=1 and . Such restriction imitates the way that RS-R reaches from .
3.1.3 Proof of correctness
This section is dedicated to the proof of correctness of mapping phrase. It’s important to mention that SFCM-R can only use goal-oriented choices. Because of that, we need to prove that Mapping is goal-oriented. Consider the following lemmas.
Lemma 1**.**
Let H=(V,E,\text{v_{0}},L,\Omega) be a scene. |H_{\text{v_{A}}}\cap H[V-v]_{\text{v_{H}}}|\leq|H[V-v]_{\text{v_{H}}}| holds for every with and H_{\text{v_{A}}}\cap H[V-v]_{\text{v_{H}}}\neq\emptyset.
Proof.
Let H=(V,E,\text{v_{0}},L,\Omega) be a scene such that is a minimal hamiltonian graph, and . Suppose that . For every with , we have |H[V-v]_{\text{v_{H}}}|=|V|-3, which is the maximum value possible of |H[V-v]_{\text{v_{H}}}|. If we call Context-Change( , ,) with being an arbitrary vertex , the first will have |\tau_{\text{v_{H}}}|=0 since . Let’s add a vertex and an edge to , set to and call Context-Change( , ,). As V(\tau)=V(H)-N(\text{v_{0}})-\text{v_{0}} holds for first tier , is the maximum value possible of |\tau_{\text{v_{H}}}|. Notice that: (1) if we had d(\text{v_{0}})=2, would hold for every ; and (2) if we had d(\text{v_{0}})=3, . Thus, |H_{\text{v_{A}}}|=0 holds for when . Now suppose that . Let’s connect with every vertex except \text{v_{0}}=w^{\prime} and call Context-Change( , ,) again. In this case, H_{\text{v_{A}}}=H[V-v]_{\text{v_{H}}} will hold for with v=\text{v_{0}} since in holds for every w\in\tau_{\text{v_{H}}}. Notice that if we remove at least one edge with x\neq\text{v_{0}} and call Context-Change( , ,) again, H_{\text{v_{A}}}<H[V-v]_{\text{v_{H}}} will hold for with v=\text{v_{0}} since in holds for x\in\tau_{\text{v_{H}}} in this case. Therefore, |H_{\text{v_{A}}}\cap H[V-v]_{\text{v_{H}}}|\leq|H[V-v]_{\text{v_{H}}}| holds for every with and H_{\text{v_{A}}}\cap H[V-v]_{\text{v_{H}}}\neq\emptyset. ∎
Lemma 2**.**
Let H=(V,E,\text{v_{0}},L,\Omega) be a scene. such that aborts the mapping task process only if at least one valid for every found is known.
Proof.
If H[V-v]_{\text{v_{H}}}=0 and at least one valid for every found is known in mapping task, will force Mapping to abort the process when there’s only invalid vertices for . If H[V-v]_{\text{v_{H}}}\neq 0, such that aborts the mapping task when there’s only invalid vertices for , since at least one invalid may be part of different H{\text{\begin{math}\star\end{math}}} components set by Mapping. As , such that aborts the mapping task process only if at least one valid for every found is known. ∎
The following theorem we want to prove states that Mapping is goal-oriented with and , even when it doesn’t reach its base case. As a consequence, Mapping may require some attempts with a different vertex set as to reach its base case in order to output a set that maps the majority of the vertices (if it exists).
Observation 2**.**
The proof of the following theorem assumes that Mapping takes as input a connected H=(V,E,\text{v_{0}},L,\Omega) with H_{\text{v_{H}}}=\emptyset. The reason is that Mapping needs to enforce constraints 1 and 2, which doesn’t imply that SFCM-R will fail when H_{\text{v_{H}}}\neq\emptyset and also doesn’t imply that Mapping needs to take a connected H=(V,E,\text{v_{0}},L,\Omega) with H_{\text{v_{H}}}=\emptyset in order to be goal-oriented. Thus, if we need to reconstruct a hamiltonian path in a scene with H_{\text{v_{H}}}\neq\emptyset, we need to reconstruct multiple hamiltonian path fragments for each , generated by H[H-H_{\text{v_{H}}}] separately in different instances of SFCM-R.
Because Mapping is goal-oriented by the following theorem, even when it doesn’t reach its base case, SFCM-R also assumes that both Mapping and RS-R have pre-synchronized forbidden conditions.
Theorem 2**.**
Mapping* is goal-oriented with and .*
Proof.
Let H=(V,E,\text{v_{0}},L,\Omega) be a connected minimal scene with H_{\text{v_{H}}}=\emptyset that Mapping takes as input, and be the unknown negated forbidden condition of RS-R.
As not every C_{\text{v_{A}}} will happen to be C_{\text{v_{H}}}, then \text{v_{L}}^{i+4} and \text{v_{D}}^{i+3} can potentially cancel the appearance of non-mandatory C_{\text{v_{H}}} components and consequently retard growth rate since \text{v_{A}}\in V(\tau_{i}) is a potential of Mapping. As also cancels the appearance of non-mandatory C_{\text{v_{H}}} components, Mapping is imitating RS-R by giving the degeneration process a high priority.
Even if C_{\text{v_{A}}} happens to be a C_{\text{v_{H}}}, such C_{\text{v_{A}}} will not influence the labelling of any other \text{v_{A}}^{\prime} directly since such C_{\text{v_{H}}} forces Mapping to perform a CC operation. also forces RS-R to perform a CC-like operation in order to pass through a potential forbidden minor , directly or indirectly. As is optimal, can be used by to decide whether the real scene has a hamiltonian sequence. In this specific case, such is an inconsistent component with , in a state , in which RS-R decides to abort itself. Therefore, if H_{\text{v_{H}}}\neq\emptyset in RS-R context, then holds for every valid found with such that with being a -path and .
As can be split into potential independent forbidden minors in RS-R context by , Mapping is imitating RS-R by:
- (1)
forcing C_{\text{v_{A}}} components to be isolated through the degeneration process; and 2. (2)
performing a CC operation in case of H_{\text{v_{H}}}[V-v]\neq\emptyset when both constraints 1 and 2 hold for .
Notice that as detects both potential non-mandatory C_{\text{v_{H}}} components and potential independent forbidden minors that don’t exist in current minimal scene context of real scene, directly or indirectly, Mapping is still imitating RS-R when a vertex w\neq\text{v_{A}} happens to be without ignoring both constraints 1 and 2.
If we have u=\text{v_{D}} and u\in N(\text{v_{L}}), Mapping is forcing such to be a leaf of real scene. Notice that if z=\text{v_{L}}, happens to be a real leaf with , Mapping can prevent from being a potential independent forbidden minor since . Even so, could potentially create non-mandatory C_{\text{v_{H}}} components. As cancels the appearance of a leaf in order to prevent it from creating non-mandatory C_{\text{v_{H}}} components, Mapping is also imitating RS-R by \text{v_{L}}^{i+4} because:
- (1)
not every will turn to be a leaf; and 2. (2)
u=\text{v_{L}} can also cancel the appearance of non-mandatory C_{\text{v_{H}}} components and potential independent forbidden minor by either preventing from being a real leaf or degenerating C_{\text{v_{A}}} components.
Thus, \text{v_{L}}^{i+4} can also retard growth rate. In addition, as needs to ensure that at least one v\sim\text{v_{L}} will reach by v\to\text{v_{L}}=T due to the fact that is a potential leaf, Mapping is imitating RS-R by giving the highest priority.
If u=\text{v_{A}}\text{v_{N}} due to \text{v_{A}}\text{v_{N}}^{i+2}, and z^{\prime}=\text{v_{A}}\text{v_{N}}, happens to be a with , Mapping can prevent from being a potential independent forbidden minor since will hold for when Mapping is passing through . Even so, it could potentially generate non-mandatory C_{\text{v_{H}}} components due to . As:
- (1)
these non-mandatory C_{\text{v_{H}}} components can be degenerated by \text{v_{L}}^{i+4} and \text{v_{D}}^{i+3}; and 2. (2)
not every v_{A}$$v_{N} will turn to be a with d(\text{v_{H}})=2;
Mapping is imitating RS-R by giving v_{A}$$v_{N} an intermediary priority in order to prevent v_{A}$$v_{N} from generating non-mandatory C_{\text{v_{H}}} components.
If we have u=\text{v_{I}} due to \text{v_{I}}^{i}, can delay the appearance of C_{\text{v_{H}}} components by forcing Mapping to cancel the appearance of non-mandatory C_{\text{v_{H}}} components since u=\text{v_{I}} prevents from being transformed into a . In addition, can also retard growth rate by forcing Mapping to give the degeneration process a higher priority due to \text{v_{I}}\sim\text{v_{D}}, \text{v_{D}}^{i+3} and \text{v_{L}}^{i+4}.
Notice that can also retard growth rate by maximizing the following equation, which is the sum of from state to current state , with A_{i}=H{\text{\begin{math}\star\end{math}}} being the component set in line 7 of in state of Mapping, and B_{i}=H_{i}[V(H_{i})-\{V(A_{i})-A_{i_{\text{v_{0}}}}\}], B_{i_{\text{v_{0}}}}\equiv A_{i_{\text{v_{0}}}} in the same state .
[TABLE]
The reason is that can potentially reduce the local connectivity l(w,\text{v_{0}}) of at least one w\in C_{\text{v_{B}}} where \text{v_{I}}\sim C_{\text{v_{B}}}. If so, tends to be maximized by u=\text{v_{I}}, specially when forces at least one \text{v_{D}}\sim\text{v_{I}} of such C_{\text{v_{B}}} to be a subdivision of , which could increase the success rate of CC operations made by Mapping when v\in C_{\text{v_{B}}}, seeing that:
- (1)
has the lowest priority; and 2. (2)
not every w\in C_{\text{v_{B}}} with \text{v_{I}}\sim C_{\text{v_{B}}} will have its local connectivity l(w,\text{v_{0}}) reduced, because of the higher priority given to degeneration process.
Notice that such that suggests that the current scene of Mapping has regions of vertices with a small local connectivity l(w,\text{v_{0}}),. As Mapping minimizes indirectly the appearance of C_{\text{v_{H}}} components by decreasing both , |H_{\text{v_{A}}}|, and consequently |H_{\text{v_{I}}}|, the appearance of such regions can be minimized. That’s because the appearance of mandatory C_{\text{v_{H}}} components is maximized by minimizing the following equation, which is the summation from state to current state of an equation that ,by Lemma 1, relates the maximization of |H[V-v]_{\text{v_{H}}}| to |H_{\text{v_{A}}}|. As a consequence, Mapping can make the success rate of CC operations increase, and retard growth rate through its degeneration process.
[TABLE]
The success rate of CC operations also can be increased by u=\text{v_{D}} with \text{v_{D}}\in C_{\text{v_{A}}} when: (1) A_{v}(\text{v_{A}},H)=F in ; or (2) A_{v}(\text{v_{A}},H)=F in H[V-\text{v_{D}}]. The reason is that such can potentially create both independent potential forbidden minors and non-mandatory C_{\text{v_{H}}} components, with \text{v_{D}}\in X and \text{v_{D}}\in C_{\text{v_{H}}}. When Mapping passes through such independent potential forbidden minors and non-mandatory C_{\text{v_{H}}} components before passes through , it could cancel the appearance of them, and consequently make the success rate of CC operations increase when 0\leq|C_{\text{v_{A}}}-1|\leq 1. If so, such will behave like an isolated component. As also cancels the appearance of both independent potential forbidden minors and non-mandatory C_{\text{v_{H}}} components, Mapping is imitating RS-R in this case, even if such is not explicitly independent in minimal scene.
If we have u=\text{v_{N}} due to \text{v_{N}}^{i+1}, we can also increase the success rate of CC operations, since it doesn’t influence any C_{\text{v_{B}}} to be C_{\text{v_{H}}} directly. Because of that, it can prevent |H_{\text{v_{A}}}| and |H_{\text{v_{I}}}| from growing, which delays the appearance of C_{\text{v_{H}}} components. Even if \text{v_{D}}\sim\text{v_{N}},\text{v_{D}}\in C_{\text{v_{B}}}, both \text{v_{D}}^{i+3} and \text{v_{L}}^{i+4} can prevent w\in C_{\text{v_{B}}} from having l(w,\text{v_{0}}) reduced. Thus, can also retard growth rate.
In addition, notice that even if Mapping generates non-mandatory C_{\text{v_{H}}} components in regions of vertices with small local connectivity l(w,\text{v_{0}}),, no error is thrown when or has none or more than one different vertices as successor unless constraint 1 or 2 doesn’t hold for . Such flexibility also makes the success rate of CC operations increase and can retard growth rate. Furthermore, Mapping can throw an error with being very small when has regions with a small connectivity, since Mapping doesn’t make operations when H[V-v]_{\text{v_{H}}}\neq 0.
Even so, can’t ignore minimal scene constraints completely. If RS-R ignores minimal scene constraints completely, we have:
- (1)
at least one \text{v_{B}}\in V(\tau_{i}) in every scenario with H_{\text{v_{B}}}\neq\emptyset would happen to be an inconsistency of real scene in at least one of its states. If so, in every scenario with H_{\text{v_{B}}}\neq\emptyset would be ignoring Theorem 1 completely in at least one state of RS-R, which is invalid. 2. (2)
at least one in every scenario with H_{\text{v_{B}}}=\emptyset would happen to have , for every , in at least one of its states, even when Theorem 1 is not being ignored completely, which is invalid.
Thus, Mapping ignoring Theorem 1 partially is not a sufficient condition to prove that Mapping is not imitating RS-R.
As every constraint of Mapping can potentially retard growth rate, Mapping can potentially distort its potentially-exponential error rate curve. also distorts the potentially-exponential error rate curve of RS-R, which is represented by the number of times that holds for , since predicts, directly or indirectly, when the error rate curve of RS-R will grow exponentially in order to make RS-R abort itself. As a consequence, growth rate must be distorted by Mapping in order to make converge to such that in order to prevent it from aborting itself, which is not a sufficient condition to prove that Mapping is not imitating RS-R.
If happens to converge to such that , Mapping would be failing to make growth rate retard. In this case, Mapping would be using probability explicitly when it doesn’t discard its current scene since:
- (1)
by Lemma 2, it doesn’t know at least one valid for a in the worst case scenario; and 2. (2)
it is tending to ignore Theorem 1 completely as every constraint is failing to make growth rate retard.
When Mapping discard its current scene due to converging to such that , it is still imitating RS-R. The reason is that we can assume that needs to construct a valid hamiltonian sequence fragment starting from by calling Hamiltonian-Sequence recursively in order to check if holds for , directly or indirectly, since RS-R performs only operations. If can’t construct such valid hamiltonian sequence fragment starting from , it’ll also discard without aborting RS-R in order to return to its caller, that in turn, either increments its error count by one or makes hold for the remaining . If holds for every and makes RS-R throw a non-catchable exception, is predicting when its error rate curve distortion is about to be degenerated in order to abort RS-R.
If Lemma 2 holds for Mapping, , with being the number of times that Mapping checks if holds for every found when it is not aborted in the worst case scenario. That’s because, f Lemma 2 holds for Mapping, for each vertex found by Mapping with such that , Mapping needs to check if holds for at most times.
If , Mapping would be failing to retard growth rate. In this case, Mapping would be using probability explicitly if it doesn’t abort itself since:
- (1)
By Lemma 2, at least one would have an unknown successor; and 2. (2)
It is tending to ignore Theorem 1 completely since every constraint is failing to make growth rate retard.
However, when Mapping aborts itself due to , Mapping is still imitating RS-R since it enforces the stop condition of RS-R by aborting itself, seeing that the first instance of RS-R also checks if holds for every found times when it is not aborted in the worst case scenario. As a consequence, must hold for in order to prevent Mapping from aborting itself, which is not a sufficient condition to prove that Mapping is not imitating RS-R.
In addition, notice that Mapping can produce an incomplete , without aborting itself and without reaching its base case, when Sync-Error throws a non-catchable exception. Even so, Mapping is still imitating the behaviour of RS-R since can abort RS-R without visiting every vertex from real scene when holds for every . Furthermore, we can assume that:
- (1)
can change the first of the first Hamiltonian-Sequence call, when is preventing from constructing a valid hamiltonian sequence in order to not make RS-R fail to produce a valid output, with such that , , , ; or 2. (2)
can split into different components with when it wants to create a hamiltonian path such that , , ,. In this case, when or is reached, creates a new instance of RS-R to reach the remaining dead end, which consequently forces the current instance RS-R to reach its base case instead of trying to enforce constraints 1 and 2.
Therefore, Mapping producing an incomplete is not a sufficient condition to prove that Mapping is not imitating RS-R.
As Mapping imitates RS-R, even when it not reach its base case, Mapping ignoring Theorem 1 partially is not a sufficient condition to make Mapping imitate RS-E. Thus, it suggests that:
- (1)
can generate at least one hamiltonian sequence (if it exists) of such that ; and 2. (2)
can also generate at least one path , , that makes RS-R not enforce constraints 1 and 2 explicitly in at least one of its states when wants to either:
make RS-R abort itself in the absence of at least one constructable hamiltonian sequence ; or 2. -
construct a hamiltonian path such that , , , by creating a new instance of RS-R to reach when is reached (or vice-versa) in order to force the current instance of RS-R to reach its base case instead of trying to enforce constraints 1 and 2.
Thus, Mapping is goal-oriented with and . ∎
3.2 Reconstruction phrase
In this section, the reconstruction phrase is explained. The reconstruction task is done by the Reconstruct function, that takes following parameters as input by reference: H=(V,E,\text{v_{0}},L,\Omega) , , , , , . The edge is a non-synchronized edge where and are initially the last vertices of two expandable paths and , respectively. In addition, we need to assume that and x_{2}=\text{v_{0}} in this phrase in order to check if both constrains 1 and 2 hold for . will be the current path we’re expanding and , the other path. As for every , must be added to either or , and must be properly updated in order to represent the last vertices of and , respectively.
The term expansion call is used throughout this paper whenever we make a recursive call to Reconstruct. Every expansion call restores the initial state of both and . Some conventions are used in this section. The synchronized edges will be written as . The edge is a synchronized edge with .
Definition 16**.**
A synchronized edge is either: (1) a non-synchronized edge that got converted to by Reconstruct; or (2) an edge added to by Reconstruct.
The notation is used to represent the degree of a vertex of a scene , which is a clone of scene of the current state of Reconstruct, such that and .
function is used by Reconstruct to pass through by using paths of , starting from until it reaches such that . During this process, it performs successive operation, converts edges from to , and updates . When is reached, it returns . cannot be removed from unless by undoing operations performed by Reconstruct.
3.2.1 Goal
The goal of reconstruction phrase is to reconstruct a hamiltonian sequence (if it exists) by passing through in order to attach inconsistent C_{\text{v_{H}}} components. If such hamiltonian sequence is reconstructed, will be a path graph corresponding to a valid hamiltonian sequence of the maximal . In order to do that, some edges may need to be added to to merge a component with to another component so that can reach vertices properly.
Notice that if Reconstruct passes through in a scene , with being a scene in a state of Mapping and being the current scene of Reconstruct such that , some edges could be removed from to make both constraints 1 and 2 hold for . However, this is not a sufficient condition to prove that Mapping is not imitating the behaviour of RS-R. (see Sect. 3.4). Therefore, Reconstruct can make both constraints 1 and 2 hold for , even if some edges are removed from .
The problem is that Reconstruct must decide when to abort the reconstruction process. Because of that, the non-existence of a sequence of C_{\text{v_{H}}} attachments that needs to be made in order to convert to a hamiltonian sequence is part of the forbidden condition of SFCM-R. That’s because the following is an immediate corollary of Theorem 2.
Corollary 1**.**
If Mapping outputs , such set will be formed by path fragments that generate in RS-R context both (1) potential independent forbidden minors and (2) potential non-mandatory C_{\text{v_{H}}} components.
It means that if such sequence of C_{\text{v_{H}}} attachments exists for the current , and it is not properly enforced by Reconstruct, then it can be considered a possible sufficient condition to make the mirrorable real scene algorithm, which is modified version of RS-R that we want to mirror in this phrase, fail to produce a valid output. We call the output of modified RS-R hamiltonian sequence given , because it takes a non-synchronized hamiltonian sequence as input, which being a set of non-synchronized edges removed from by Reconstruct.
Definition 17**.**
Let H=(V,E,\text{v_{0}},L,\Omega) be a minimal scene. A hamiltonian sequence given is a simple path with of , that visits all vertices, such that
The modified version of real scene algorithm is as follows.
In addition, Reconstruct may have inconsistent subscenes with non-attachable C_{\text{v_{H}}} components. It means that if we try to attach every inconsistent C_{\text{v_{H}}} by modifying aggressively, we could end up with SFCM-R imitating RS-E. Remember that SFCM-R must not use exhaustive methods to reconstruct the hamiltonian sequence since we want to mirror a non-exhaustive algorithm. Therefore, we need to use a goal-oriented approach in order to attach inconsistent C_{\text{v_{H}}} properly without relying on probability and find a valid sequence of C_{\text{v_{H}}} attachments. (see Sect. 3.3)
3.2.2 Algorithm
In this section, the pseudocode of Reconstruct is explained. Every line number mentioned in this section refers to the pseudocode of Reconstruct. Initially, Reconstruct takes the following parameters as input: H=(V,E,\text{v_{0}},L,\Omega) , , \phi=(\text{v_{0}},\square), , and , with x_{2}=\text{v_{0}}\in\phi and x_{1}=\{w\in\phi:w\neq\text{v_{0}}\}.
Reconstruct passes through by using paths of , performs subsequent operations by expanding or paths alternatively with such that (line 7), and connects components of by adding a synchronized edge (line 27). During this process, it needs to remove some inconsistent edges in its current state considering the following cases.
- I.
The first case is when we have (v,\text{v_{H}}). 2. II.
The second case is when H_{\text{v_{H}}}\neq\emptyset and doesn’t enforce both constraints 1 and 2. 3. III.
The third case is when or , since both and are concatenated to form the output of mirrorable RS-R algorithm.
Notice that I or II could be ignored in hamiltonian path context since both and can have non-adjacent dead ends. As Reconstruct considers these two cases inconsistencies, we need to use specific goal-oriented strategies if we want to reconstruct a hamiltonian path (see Sect. 3.3.3).
If Reconstruct finds a valid with , the next step is to choose (line 24), which will be the successor of , by using the following conventions in an ordered manner.
If , choose of the first element . 2. 2.
If , remove the first element from in order to make , hold for , then choose such that , . 3. 3.
If is removed from because of I, II or III in next state, perform and remove from instead of , Then, choose such that ,.
Observation 3**.**
Whenever a goal-oriented strategy removes either or from , and makes hold for , Reconstruct must use the conventions of this section in order to choose a non-visited
Notice that Reconstruct temporarily changes when (line 19) in order to force to use the aforementioned conventions even when is an non-mapped vertex.
If an inconsistency is found during this process, an error needs to be thrown by Reconstruct (lines 6 and 30). Every inconsistent C_{\text{v_{H}}} component must be attached by goal-oriented strategies (lines 34). Because of that, Reconstruct undoes modifications in , , , and (line 33), in order to go back to an earlier state to be able to use some goal-oriented strategy to attach inconsistent C_{\text{v_{H}}} components. The reconstruction process continues until either the reconstruction of is done (line 3) or a goal-oriented strategy aborts the reconstruction process.
As an example of hamiltonian sequence reconstructed by SFCM-R, Figure 1 shows an arbitrary graph mapped by Mapping function with \text{v_{0}}=23 on the left side. On the right side, we can see the non-synchronized hamiltonian sequence of reconstructed by Reconstruct.
In this figure, purple edges represent synchronized edges added by Reconstruct to connect components of . The red edges represent non-synchronized edges that got converted to synchronized edges by Reconstruct. The green edges represent synchronized edges that were added to in order to attach an inconsistent C_{\text{v_{H}}} component with w\in C_{\text{v_{H}}}. is the final state of reconstruction process.
3.3 Goal-oriented approach
In this section, the goal-oriented approach is presented and can be used in a non-probabilistic goal-oriented implementation of reconstruction phrase. The main goal of using a goal-oriented approach is to prevent SFCM-R from imitating RS-E during the reconstruction process. Before continuing, we define a structure that we use to help Reconstruct to make goal-oriented choices. Such structure will be called real-scene perception network (RSPN), and we use it to store informations related to goal-oriented strategies.
Definition 18**.**
Real scene perception network (RSPN) is a directed tree-like goal-oriented network that starts at RSPN node, which has the following children set {A,C,J,N}, where is the the attachment node, is the current state node, is the ordering node, and is the region node.
It’s very important to store some informations about goal-oriented strategies since the only difference between an expansion process from another is the way we pass through by using edges , which can lead to the creation of different attachable C_{\text{v_{H}}}. Because Reconstruct has conventions to pass through by using paths of , RSPN and strategies can be useful to change relying on knowledge related to real scene instead of probability in order to give such conventions more flexibility.
Before continuing, two rates need to be defined.
Definition 19**.**
The negativity rate is the sum of from states to current state and represents the rate of how likely is the current state of reconstruction process to be inconsistent.
[TABLE]
[TABLE]
Definition 20**.**
The tolerance rate is the sum of degree of tolerance over from states to current state of reconstruction process.
[TABLE]
As Reconstruct undoes states to attach inconsistent C_{\text{v_{H}}} components, growth rate must be adjusted whenever a specific strategy fails to attach a C_{\text{v_{H}}} properly. A tolerance policy is needed to adjust and in order to select and trigger a goal-oriented strategy in an appropriate moment. must also prevent SFCM-R from imitating RS-E by making, what we call curve distortion ring , be disintegrated in some state of Reconstruct. is disintegrated when it returns .
[TABLE]
The disintegration of made by is used to make Reconstruct perform a new expansion call. These expansion calls, in turn, makes SFCM-R be more prone to degenerate itself in case of successive negative events that makes Reconstruct be tending to imitate RS-E explicitly, which is invalid (refer to section 3.3.2 to understand how this process works). Therefore, needs to adjust and of every state by using a set of actions in order to accomplish the aforementioned goals.
Therefore, one of the main goals of is to keep a balance between: (1) retarding the growth rate of both and by triggering goal-oriented strategies that attach inconsistent C_{\text{v_{H}}} components properly; and (2) not retarding the growth rate of both and when some goal-oriented strategy fails to attach inconsistent C_{\text{v_{H}}} components; in order to Reconstruct be able to continue to reconstruction process without imitating RS-E. Later in this paper, we will prove that a potential hamiltonian sequence can be reconstructed by SFCM-R if is optimizable (see Sect. 3.4).
Definition 21**.**
Let H=(V,E,\text{v_{0}},L,\Omega) be a minimal scene. A tolerance policy is optimizable if it computes the following constrained optimization problem, with being a set that contains every inconsistent state found with , without making Reconstruct fail to produce a valid output while behaving like a non-exhaustive algorithm.
[TABLE]
3.3.1 Quantum-inspired explanation
To understand how this process can prevent SFCM-R from imitating RS-E, we can intuitively think of the retardation of growth rate process as the following simplified quantum-inspired process. In this process, we assume that a distortion ring has distortion particles , that can behave like their own anti-distortion particles , and vice-versa. When and collide, they annihilate each other.
Let be the number of distortion particles expected to be observed in distortion ring , and be an unknown non-observed number of anti-distortion particles in distortion ring . In addition, let be the sum of Electromagnetic (EM) waves emitted in as a function of time, be imaginary EM waves that are expected to be emitted from observed particles as a function of time, and be imaginary EM waves with opposite charge that are expected to be emitted from observable particles as a function of time. To simplify, we assume that is equivalent to the positive amplitude peak of and is equivalent to the positive amplitude peak of .
The idea here is to consider a consistent state of reconstruction process particles, an inconsistent state of reconstruction process particles, and Reconstruct the observer of both and . The following equations are used in this explanation.
[TABLE]
[TABLE]
[TABLE]
[TABLE]
In addition, we use the following sigmoid function to represent , which is the growth rate in state . For conciseness, we assume that updates both and whenever is changed to avoid repetition.
[TABLE]
A distortion ring is represented by a circle whose center is the point , as illustrated in next figure. is represented by the following equation.
[TABLE]
The force of (or simply ) is equal to the amplitude of the second inner wave of from . If is a positive peak amplitude, we have an observable distortion ring (in blue) with . If is a negative peak amplitude or , we have an observable anti-distortion ring (in red) with .
By convention, we use a dashed blue line for , a solid red line for , and a solid blue line for . Figure 2 shows with and .
Before continuing, consider the following corollary of Theorem 2
Corollary 2**.**
Mapping* performs an error curve distortion conceptually equivalent to , in order to distort its potentially-equivalent error rate curve, even when Sync-Error throws a non-catchable error or makes Mapping abort itself.*
By Corollary 2, we can assume that, neglecting some technical complexities, the observable collision rate between and , can be maximized in a way that it favours over . In other words, we want to observe in order to be sure that we have a consistent observable . Because of that, represents the EM waves emitted from a total of , particles, which is the residue expected after such collision process. In other words, we want to observe an imbalance between and particles, even if the observed happens to change due to the principle of superposition of states in quantum mechanics as Reconstruct passes through .
An ideal scenario is represented in Figure 3.
In this scenario, the curve of is illustrated in Figure 4. The blue line from to represents the curvature of the distorted curve that Mapping created, that is expected to exists by Corollary 2, given an optimizable and a scene with at least one hamiltonian sequence.
As the observable collision rate between and can be maximized in a way that it favours over , an optimizable assumes that Reconstruct is expected to terminate its execution by observing and projecting a curvature of a non-exponential curve between and . In other words, Reconstruct is expected to terminate its execution without aborting itself, with a small . Because of that, an optimizable considers the curve of the curvature of a potential error rate curve of a Reconstruct instance that runs without aborting itself in the worst case scenario.
Figure 5 shows after the observation of particles in a state with . Notice that the increase of was not enough for the amplitudes peaks of to be greater than the amplitude peaks of and .
The curve in the scenario is illustrated in Figure 6. Such curve is representing the curvature of a non-exponential curve, which is a desired curvature since we want to imitate RS-R.
Therefore, if Reconstruct finds a valid hamiltonian sequence in a state with , can make collapse to by setting , which is the configuration of an ideal distortion ring .
Figure 7 shows an anti-distortion ring with in a state of Reconstruct with , . Notice that the amplitude peaks of are greater than the amplitude peaks of , after the observation of an unexpected number of particles.
As illustrated in the Figure 7, Reconstruct observed that the maximization of collision rate between and doesn’t favoured over , since was spotted behaving like a . In other words, the expected imbalance between and was not observed, which means that is disintegrated. Because of that, the non-exponential curvature of became unstable.
As became unstable, could also make the real error rate function of Reconstruct collapse to in order to force the current instance of Reconstruct to ”jump” into an imaginary state of RS-E and, at the same time, make project a curvature of an exponential curve. Such curve is illustrated in the following figure.
As a consequence, can: (1) negate the definitions of and ; and (2) make collapse to by setting . If so, we will have an ideal anti-distortion ring with almost the same inner structure of the observed anti-distortion ring showed in Figure 7. Figure 9 shows such ideal anti-distortion ring.
In this scenario, can force a new expansion call, which makes SFCM-R be more prone to degenerate itself in case of successive negative events that make Reconstruct be tending to imitate RS-E explicitly. This is a desired behaviour of since SFCM-R can’t imitate RS-E explicitly.
In conclusion, is essentially taking advantage of Corollary 2 since it implies that the observable collision rate between and can be maximized in a way that it favours over , given an optimizable and a scene with at least one hamiltonian sequence. Therefore, the main goal of is to force Reconstruct to imitate RS-R in order to minimize the observation of particles, which represent inconsistent states, and consequently try to prevent Reconstruct from behaving like RS-E explicitly.
3.3.2 General goal-oriented strategies
In this section, we present the goal-oriented strategies that SFCM-R needs to use to reconstruct a hamiltonian sequence. We call them general goal-oriented strategies due to the fact that they can be used to reconstruct both hamiltonian paths or hamiltonian circuits. The goal-oriented proposed in this section are primarily focused on keeping connected while preventing SFCM-R from imitating RS-E. Because of that, we assume that every goal-oriented strategy presented in this section is enforcing both constraints 1 and 2. Please refer to section 3.3.3 to see specific strategies for hamiltonian path, that allow and to have non-adjacent dead ends when it’s needed.
Observation 4**.**
The strategies proposed in section 3.3.2 and 3.3.3 don’t have necessarily an order of activation. It depends on how is implemented, and specific signs that suggest that a specific strategy should be triggered by in Reconstruct environment.
Before continuing, we need to define some conventions. Every inconsistency \text{v_{H}}\in H_{\text{v_{H}}} must be added to current state node C when . If , every \text{v_{H}}\in H_{\text{v_{H}}} must be added as a child of \text{v_{H}}_{i} node in expansion call . Such \text{v_{H}}_{i} node is called static articulation and it must be child of J. Every C_{\text{v_{H}}} attached by adding an edge to with w\in C_{\text{v_{H}}}, must be added to attachment node A.
The first strategy is to have \phi=(\text{v_{H}},\square), with being a added to \text{v_{H}}_{i} of J, for every new expansion call made when . As an example, the figure bellow shows the node J of RSPN. We can see on the left side an expansion call with a node j_{0}=\text{v_{H}}_{0}=\{w_{1},w_{2},w_{3}\} that was created in expansion call , and another node j_{1}=\text{v_{H}}_{1}=\{w_{4}\} that was created in expansion call . The same figure shows J in expansion call with a node j_{2}=\text{v_{H}}_{2}=\{w_{3}\} that was created in expansion call . In such case, J was updated since can’t be part of two ordering constraints at the same time due to the fact that every vertex is visited once in hamiltonian sequence context.
Therefore, was removed from \text{v_{H}}_{0} in expansion call . As and are the unique nodes of \text{v_{H}}_{2} and \text{v_{H}}_{1} respectively, we can enforce the ordering between and in expansion call . In this case, j_{2}=\text{v_{H}}_{2} and j_{1}=\text{v_{H}}_{1} are active. Such enforcement could result in non-synchronized edge removal operations in current expansion. In addition, if j_{i}=\text{v_{H}}_{i} has only one child, j_{i}=\text{v_{H}}_{i} can’t be changed anymore.
By Strategy 1, if SFCM-R runs in exponential time, we’ll no longer have a consistent minimal scene mapping. Such situation forces Reconstruct to choose by probability. As Reconstruct can’t choose by probability, will be forced to make SFCM-R abort itself since will grow exponentially by using the following strategy. Therefore, this strategy forces the number of expansion calls to not grow exponentially.
Strategy 1**.**
Make a new expansion call with \phi=(\text{v_{H}},\square) such that \text{v_{H}}\in H_{\text{v_{H}}} when and add every vertex \text{v_{H}}\in H_{\text{v_{H}}} to a child j_{i}=\text{v_{H}}_{i} of node J. Update J and enforce ordering between j_{i}=\text{v_{H}}_{i} and j_{k}=\text{v_{H}}_{k} with , if both are active. If (1) such ordering can’t be enforced or (2) \text{v_{H}}_{i}=\emptyset, must grow exponentially in order to make SFCM-R abort itself.
It’s important to mention that SFCM-R assumes that both Mapping and RS-R have pre-synchronized forbidden conditions. It means that must avoid making SFCM-R abort itself by Strategy 1. Also notice that high peaks of can theoretically make J store an inconsistent ordering as the number of expansion calls grows. Even if it happens, J can’t be changed arbitrarily.
Therefore, must try to retard growth rate faster instead of making SFCM-R abort itself, in order to: (1) prevent a new expansion call; or (2) add another inconsistent H_{\text{v_{H}}} set to J that either postpones the activation of static points or causes less non-synchronized edge removal operations when .
Strategy 2**.**
Make a new expansion call with \phi=(\text{v_{H}},\square) such that \text{v_{H}}\in H_{\text{v_{H}}} when with H_{\text{v_{H}}} being a set that either postpones the activation of static points or causes less non-synchronized removal operations.
can also prevent the number of expansion calls from growing exponentially by preventing Reconstruct from making expansion calls to expand the same twice. Thus, we have the following strategy.
Strategy 3**.**
Every expansion call must have a different
As mentioned earlier, each expansion call generates a static j_{i}=\text{v_{H}}_{i} that must be added to node J of RSPN. However, SFCM-R needs to assume that the exactness rate is enough for reconstruction process since Reconstruct must use paths of , which is goal-oriented by Theorem 2, to pass through . The exactness rate is the rate of how many non-synchronized edges got converted to synchronized edges from state to current state . The more edges are removed from , the lower is the exactness rate . The function outputs a set of edges that was removed from in state . is the number of edges before reconstruction phrase.
[TABLE]
As we need to assume that the exactness rate is enough for reconstruction process, we want to restart the process considering as before making a new expansion call when . In this case, we have a path swap since becomes and vice-versa.
Strategy 4**.**
Before making a new expansion call, make a path swap in order to restart the process starting from path instead of path.
In addition, we need to use a lazy approach in order to assume that the exactness rate is enough for reconstruction process. As an example, if we undo states to attach some inconsistent C_{\text{v_{H}}}, we need to assume that such C_{\text{v_{H}}} will be properly attached without analysing the consequences of such attachment in its region.
Strategy 5**.**
Any inconsistency correction must be made by using a lazy approach.
The negativity rate can be also used when Reconstruct connects components of by adding successively in non-mapped regions, with such that . In this case, Reconstruct is tending to ignore paths completely and consequently imitate RS-E, specially when holds for every non-visited in the absence of inconsistent C_{\text{v_{H}}} components that need to be attached. Because of that, growth rate must be increased in this case.
In addition, the number of times that Reconstruct can do it must be limited by a variable that is decreased as growth rate is increased. This strategy is particularly useful to make SFCM-R degenerate itself when Reconstruct takes an incomplete as input, that was produced by Mapping without reaching its base.
Strategy 6**.**
If holds for every non-visited and Reconstruct successively connects components of by adding with , growth rate must be increased. If Reconstruct connects such components of in the absence of inconsistent C_{\text{v_{H}}} components that need to be attached, growth rate must get increased drastically.
Strategy 7**.**
The number of times that Reconstruct connects components of by adding successively, with such that must be limited by a variable that is decreased as growth rate is increased.
Observation 5**.**
Consider the following corollary of Theorem 2.
Corollary 3**.**
If is optimizable and Reconstruct wants to reconstruct a hamiltonian path, may need to compute in a new instance of SFCM-R when reaches a dead-end if Reconstruct takes an incomplete as input, with being a non-synchronized hamiltonian sequence that was produced by Mapping without reaching its base case.
*By Corollary 3 , may need to create a new instance of SFCM-R in order to prevent itself from using Strategy 6 or 7 to degenerate the current instance of SFCM-R in a wrong moment, due to the fact that the reconstruction of in a different instance of SFCM-R could make the current instance of SFCM-R reach its base case instead of trying to enforce constraints 1 and 2.
We can also use to make increase or decrease. For example, if Reconstruct tries to attach an inconsistent stored in node C of RSPN by undoing states in order to add a synchronized-edge such that w\in C_{\text{v_{H}}} and and every attachment attempt keeps generating another inconsistencies for every non-visited found, then growth rate and can be increased at the same time to prevent SFCM-R from imitating RS-E.
As a result, Reconstruct undoes states such that in order to not visit all neighbours of . Therefore, must be proportional to growth rate assuming that region is treatable by expanding or . Such relationship between and growth rate helps Reconstruct to attach frequently inconsistent C_{\text{v_{H}}} components. On the other hand, if we can’t find any attachable C_{\text{v_{H}}} component by undoing states due to a high peak of , we can just delete the synchronized edge that is generating them, since they could happen to be attachable later.
Strategy 8**.**
Undo states until we find the first inconsistent C_{\text{v_{H}}} stored in C node attachable through with such that S=\{w\in N(v):(w\sim C_{\text{v_{H}}})\neq\emptyset\wedge(\text{w was not visited})\}, , and remove the inconsistent edge from . Then, choose a non-visited with , and add a synchronized-edge such that w\in C_{\text{v_{H}}} and . If no attachable C_{\text{v_{H}}} component is found in any previous states, due to a high peak of , then increase growth rate, remove the inconsistent and go back to the former in order to choose another non-visited .
Strategy 9**.**
The variable must be proportional to growth rate assuming that region is treatable by expanding or .
The node A can have some properties node to make Reconstruct keep track of an inconsistent region that Reconstruct wants to correct by triggering a strategy. The total cost needed to attach an inconsistent C_{\text{v_{H}}} and its appearance frequency can be used by to detect if SFCM-R is tending to behave like RS-E. The total cost needed to attach an inconsistent C_{\text{v_{H}}} can be represented by the following equation, where: ; is the value of of state ; is the value of of an inconsistent state where a_{i}=C_{\text{v_{H}}},, appeared as inconsistency; and is an extra cost directly proportional to the appearance frequency of a_{i}=C_{\text{v_{H}}} in .
[TABLE]
Because of that, needs to make growth rate increase as both the total cost needed to attach an inconsistent C_{\text{v_{H}}} of , and its appearance frequency, tends to increase.
Thus, we have the following strategy.
Strategy 10**.**
Make growth rate increase, as gets increased.
Furthermore, we can also use the negativity rate along with attached C_{\text{v_{H}}} stored in A to change the variable . Thus, A can be used by Reconstruct to keep track of specific regions in current expansion, serving as an extra parameter to change . As an example, we can undo states until we find an arbitrary C_{\text{v_{H}}} that was attached in current Reconstruct call.
As mentioned before, we need to store inconsistent C_{\text{v_{H}}} components in node C before using any attaching strategy. However, SFCM-R can’t imitate RS-E by trying to attach them aggressively. Thus, the following strategies could be useful to prevent SFCM-R from imitating RS-E.
Strategy 11**.**
Avoid adding new C_{\text{v_{H}}^{\prime}} to C node until we have at least one well-succeeded C_{\text{v_{H}}} attaching.
Strategy 12**.**
If attachment attempts always generates new C^{\prime}_{\text{v_{H}}} components, growth rate must be increased drastically. In such case, try to attach additional \text{v_{H}}^{\prime} components by adding them to C node and giving them a higher priority.
Also, the number of C_{\text{v_{H}}} of C node can be limited by a variable that is decreased as growth rate is increased. Such strategy forces Reconstruct to not try to attach C_{\text{v_{H}}} components aggressively when we have successive peaks of .
Strategy 13**.**
The number of C_{\text{v_{H}}} components considered by current state must be limited by a variable that is decreased as growth rate is increased.
Notice that once we have a valid attachable C_{\text{v_{H}}}, the remaining C_{\text{v_{H}}} components can’t be chosen by probability. As the choice of remaining C^{\prime}_{\text{v_{H}}} components must be explicitly tied to a goal-oriented strategy, can remove these vertices from C since SFCM-R assumes that is enough for reconstruction process.
Strategy 14**.**
Remove every C_{\text{v_{H}}} from C node for every after a valid attachable C_{\text{v_{H}}} is found.
As mentioned earlier, if we try to attach every C_{\text{v_{H}}} aggressively we can end up with SFCM-R imitating RS-E, since we can have subscenes with only invalid C_{\text{v_{H}}} components. In other words, there is no guarantee that every C_{\text{v_{H}}} found in every of vertices will be consistent without making any expansion call. Also, SFCM-R assumes that every vertex is reachable through or . It means that there may exist components C_{\text{v_{H}}} only attachable though . In both cases, is overlapping since an inconsistent region can happen to be consistent by either: (1) making a path swap in order to expand to correct inconsistencies; or (2) making a new expansion with a different .
Definition 22**.**
A path overlapping in a region of vertices is when: (1) needs to pass through to attach or cancel the appearance of inconsistent C_{\text{v_{H}}} components found by expanding ; or (2) needs to be changed in order to attach or cancel the appearance of inconsistencies found by expanding or .
A path overlapping can occur in many cases. For example, if generates a non-reachable component with , is clearly invalid in both hamiltonian circuit and hamiltonian path context. Also, we can have, in hamiltonian circuit context, holding for by expanding , or even worse, successive peaks of in a region . If we have successive peaks of in a region , there may exist a C_{\text{v_{H}}} component frequently inconsistent by expanding , suggesting that it may be attachable by expanding . Another sign of path overlapping is when holds for in hamiltonian circuit context, and generates a component with and being very small. This sign suggests that such can’t be generated by .
In such cases, the path overlapping correction strategies can be useful since we may find different C_{\text{v_{H}}} components by expanding that can degenerate such inconsistencies without making new expansion calls. Therefore, we have the following strategy.
Strategy 15**.**
If we have a path overlapping in some in , undo states and make a path swap, so that we can pass through by expanding . If path overlapping is corrected, make another path swap to continue the reconstruction process through former .
As an alternative, instead of making a path swap to continue this process through former , we can continue through without making a path swap.
Strategy 16**.**
If we have a path overlapping in some , undo states and make a path swap, so that we can pass through by expanding . Continue through until we have another path overlapping.
Also, we can continue this process through until we have a new inconsistent C_{\text{v_{H}}}\sim x_{1} in either current state or earlier states with a different . If such C_{\text{v_{H}}} is found, we undo the states created after the path swap and then, make another path swap to go back to in order to attach C_{\text{v_{H}}}. The goal here is to generate new inconsistent C_{\text{v_{H}}} components to be attached by and change without relying on probability.
Strategy 17**.**
If we have a path overlapping in some , undo states and make a path swap, so that we can pass through by expanding . If path overlapping is corrected, continue through until we have new inconsistent C_{\text{v_{H}}}\sim x_{1} in either current state or earlier states with a different . If such C_{\text{v_{H}}} is found, undo the states created after the path swap and then, make another path swap to go back to former in order to attach such C_{\text{v_{H}}}.
As we’re ignoring u=\text{v_{A}} vertices in Mapping, we can have sequences of creatable components with , when Reconstruct is passing through a potential -path. If Reconstruct needs to attach an inconsistent C_{\text{v_{H}}} of a potential -path, we could choose an attachable C_{\text{v_{H}}} of one of its endpoints in order to not make growth rate get increased drastically. Such endpoints will be C_{\text{v_{H}}} components that appear as inconsistency frequently.
Strategy 18**.**
Undo states until we find the first attachable C_{\text{v_{H}}} of an endpoint of a potential -path instead of making growth rate increase drastically.
Before continuing, we need to define the last type of vertex mentioned in this paper, that will be called C_{\text{v_{H}}}* generators* or simply .
Definition 23**.**
(C_{\text{v_{H}}} generator)* Let H=(V,E,\text{v_{0}},L,\Omega) be a minimal scene. A vertex is a C_{\text{v_{H}}} generator when |H[V-w]_{\text{v_{H}}}|>|H[V]_{\text{v_{H}}}|.*
From a technical point of view, is not C_{\text{v_{H}}}. On the other hand, if we consider as an inconsistent C_{\text{v_{H}}},\text{v_{H}}=\text{v_{G}}, we can degenerate it so that the unwanted C_{\text{v_{H}}} components are not created by . Also, we can degenerate it by considering such unwanted C_{\text{v_{H}}} components inconsistencies if we want to change the inconsistent -path that is about to create. As is not an explicit C_{\text{v_{H}}}, this kind of event must make growth rate increase but it’s particularly useful in very specific cases.
As an example, let be a vertex that for every , generates two potential -paths starting from . It means that there’s only one way to reach without having and being paths with non-adjacent dead ends. If needs to be attached as C_{\text{v_{H}}}, using a lazy approach here could make growth rate increase. So we have to assume that either , or such unwanted C_{\text{v_{H}}} components created by , are inconsistencies in order to attach properly.
Another example is when we have unwanted C_{\text{v_{H}}} components preventing from making minimal scene attachments through Strategy 8. If these unwanted C_{\text{v_{H}}} are properly attached, can prevent itself from using path overlapping correction strategies. As a result, this strategy can make Reconstruct undo a small number of states, which can retard growth rate and consequently postpone the need of a new expansion call.
We can also use this strategy to enforce the ordering constraints of ordering node J, or when we have signs that suggests that there exists hidden region ordering constraints. A possible sign of hidden region ordering constraints is when Reconstruct finds itself using path overlapping correction strategies that generate always almost the same C_{\text{v_{H}}} components from and with no significant progress. In this case, Reconstruct would just make a new expansion call due to a high peak of in order to enforce such ordering by using ordering constraints of node J. However, can try to use this strategy before making a new expansion call when these components are about to force either or to create a wrong region ordering.
Strategy 19**.**
If there’s unwanted C_{\text{v_{H}}} components created by , assume that or such unwanted C_{\text{v_{H}}} components are inconsistent C_{\text{v_{H}}} components that need to be attached, make growth rate increase and try to attach these inconsistencies.
We can also store valid sequences of minimal scene attachments in the region node N of RSPN whenever we find inconsistencies that cause successive peaks of . In this case, a useful strategy is to create a temporary expansion call with with being frequently part of non-attachable C_{\text{v_{H}}} in current expansion, store a valid sequence of attached C_{\text{v_{H}}} components in N and enforce this sequence of attachments through by using a lazy approach locally. It means that will not enforce this sequence at first. It must enforce parts of such sequence of attachments progressively only if it finds successive peaks of .
The goal of this strategy is to minimize the number of expansions calls since we’re enforcing a known valid sequence of C_{\text{v_{H}}}. It’s important to mention that in order to enforce such ordering, these C_{\text{v_{H}}} components need to appear as inconsistency explicitly. Therefore, such strategy is an extra parameter to change . As an example, Reconstruct can undo states until it finds a vertex v\in C_{\text{v_{H}}} with C_{\text{v_{H}}} being part of a valid sequence of attachments.
Strategy 20**.**
If we have high peaks of in a region of vertices, then create a temporary expansion call with with being frequently part of non-attachable C_{\text{v_{H}}} components in current expansion in order to find and store a valid sequence of attached C_{\text{v_{H}}} components in N. Next, enforce this sequence of attachments C_{\text{v_{H}}} through or progressively by using a lazy approach locally. If this strategy fails, growth rate must be increased drastically.
As this strategy doesn’t assume that is enough to reconstruct the hamiltonian sequence in region , it must be used only in very specific cases. As an example, such strategy could be used when is about to abort the reconstruction process or detects that the number of expansion calls is increasing very fast with no significant progress whenever Reconstruct tries to pass through such region.
3.3.3 Goal-oriented strategies for hamiltonian path
In this section, we present specific goal-oriented strategies that SFCM-R needs to use to reconstruct a hamiltonian path. As mentioned earlier, the goal-oriented strategies of section 3.3.2 are focused on keeping connected, considering v\to\text{v_{H}}=T as an inconsistency. However, and may have non-adjacent dead ends in hamiltonian path. In this case, we can have up to one v\to\text{v_{H}}=T. In other words, we can have with being the number of creatable components ,,,, and being a variable that is incremented when or reaches a dead end.
Notice that the same strategies can be used in hamiltonian path context. In this context, we can ignore at least two C_{\text{v_{H}}} attaching operations. If these C_{\text{v_{H}}} components happen to be non-reachable by or , just enforce the attachment of such invalid C_{\text{v_{H}}} by using goal-strategies of section 3.3.2 and continue the reconstruction process.
Strategy 21**.**
In hamiltonian path context, Allow components to exist, assuming that these components are reachable by or .
As an alternative strategy, we can enforce to have H_{\text{v_{H}}}=\emptyset until we have only non-attachable C_{\text{v_{H}}} components. When it happens, allow one v\to\text{v_{H}}=T and split the scene in two different subscenes and with and . In this case, of will be the of and of will be the of . The of and will be the root of a creatable component with , (if one exists) of and , respectively.
Strategy 22**.**
In hamiltonian path context, enforce H_{\text{v_{H}}}=\emptyset until we have only non-attachable C_{\text{v_{H}}} components.
If we enforce H_{\text{v_{H}}}=\emptyset until we have only non-attachable C_{\text{v_{H}}} components, we can find possible mandatory dead ends of hamiltonian path. As an example, the figure bellow shows a RSPN with j_{0}=\text{v_{H}}_{0} being an empty child of J. The reason is that the vertices and , which were added to J in expansion call , were added to J again in expansion call to J when . It means that if we pass through or in expansion call , could get increased by at any moment since failed to prevent \text{v_{H}}_{0} from being empty.
When there’s an empty j_{i}=\text{v_{H}}_{i} node, such \text{v_{H}}_{i} can be considered active. In figure 3, and forms together the only possible choice of \text{v_{H}}_{0}, which represents a possible mandatory dead end. So if we have H_{\text{v_{H}}}\cap\{w_{1},w_{2}\}\neq\emptyset, or a creatable component with ,, , SFCM-R can just ignore these attachments at first since it must assume that could get increased by at any moment since failed to prevent \text{v_{H}}_{0} from being empty.
3.4 Proof of correctness
This section is dedicated to the proof of correctness of Reconstruct, which consequently proves the correctness of SFCM-R algorithm. In this section, the unknown negated forbidden condition of RS-R is refereed to as . Before continuing, consider the following corollaries of Theorem 2.
Corollary 4**.**
* can’t ignore the constraints of SFCM-R completely.*
Corollary 5**.**
If RS-R ran without aborting itself, its potentially-exponential error rate curve was completely distorted by in its final state.
Now, we will prove the following theorem, which states that Reconstruct is goal-oriented with at most expansion calls a different , are made by using an optimizable tolerance policy .
Theorem 3**.**
Reconstruct* is goal-oriented if at most expansion calls, with a different , are made by using an optimizable tolerance policy .*
Proof.
Let H=(V,E,\text{v_{0}},L,\Omega) be a scene, and be an optimizable tolerance policy. As Mapping ignores Theorem 1 partially and Reconstruct passes through by using paths of , Reconstruct is goal-oriented only if its error rate curve, which is the curve of , doesn’t degenerate the error rate curve distortion made by Mapping (Corollary 2) while enforcing both constraints 1 and 2.
Let with , be a forbidden sequence of that makes the current of state of Reconstruct be inconsistent in . Let Z=H_{\text{v_{H}}} be an inconsistent H_{\text{v_{H}}} generated by . If is found by Reconstruct, (along with the proposed goal-oriented strategies and variants) makes Reconstruct either:
- (1)
degenerate by undoing states in order to attach a C_{\text{v_{H}}} component such that \text{v_{H}}\in Z through or ; or 2. (2)
perform a new expansion call with such that \phi=(\text{v_{H}},\square) and \text{v_{H}}\in Z in order to degenerate ordering by accessing before .
Notice that:
- (I)
Reconstruct imitates Mapping, which is a goal-oriented by Theorem 2, in order to degenerate since it minimizes the appearance of non-mandatory C_{\text{v_{H}}} components by attaching them successfully, while using of paths to pass through , which could make SFCM-R ignore its own constraints partially to imitate RS-R, that also can ignore SFCM-R constraints partially by Corollary 4. 2. (II)
By Corollary 1, the existence of non-mandatory C_{\text{v_{H}}} components and potential isolated forbidden minors doesn’t imply that Reconstruct is ignoring by imitating Mapping; 3. (III)
is not degenerated by imitating RS-E explicitly due to both , and restrictions related to the proposed goal-oriented strategies (and variants) that forces to be consistent while preventing Reconstruct from imitating RS-E explicitly; 4. (IV)
Assuming that makes a recursive Hamiltonian-Sequence call to check if hold for , due to fact that RS-R performs only operations, can discard the scene of successive recursive calls without aborting RS-R in order to return to their callers. Each caller, in turn, either increments its error count by one or makes hold for the remaining . Thus, Reconstruct is imitating RS-R when Reconstruct is undoing states in order to attach a C_{\text{v_{H}}} component such that \text{v_{H}}\in Z; 5. (V)
We can also assume that can also change the first of the first Hamiltonian-Sequence call, when is preventing from constructing a valid hamiltonian sequence in order to not make RS-R fail to produce a valid output, with such that , ,, . Thus, Reconstruct is imitating RS-R when Reconstruct is performing a new expansion call with such that \phi=(\text{v_{H}},\square) and \text{v_{H}}\in Z in order to degenerate ordering by accessing before .
To illustrate (I), (II), (III), (IV) and (V), assume that RS-R, SFCM-R and RS-E are thermodynamic closed isolated systems in a row, defined by , , and , respectively. is a linear combination of Gaussian kernels, which illustrates non-overlapping homeomorphic imaginary surfaces in different dimensions.
[TABLE]
in the middle illustrates the following quantum superposition as we want.
[TABLE]
[TABLE]
[TABLE]
Let , and be , and , respectively, with being the temperature of at equilibrium and being an imaginary variable.
In this context, we set as follows because the hidden variable , that corresponds to the temperature at , is uniform in every when is at equilibrium. In this sense, as represents an inconsistency of SFCM-R, makes and increase.
[TABLE]
[TABLE]
Because (I), (II), (III), (IV) and (V), we can assume that and are essentially disputing the following minimax-based game, which tests the effectiveness of on minimizing its disorder (entropy) as growth rate increases by using a systematic method, which forces to approach instead of in order to not be more prone to abort .
[TABLE]
In other words, win only and only if it forces itself to not collapse to successive times due to , which can maximize the entropy of by approaching . Figure 12 illustrates an scenario where became unfair for .
In fact, by Theorem 2 , must compute the value of in order to not abort due to , with , S=\text{v_{H}}_{i}...\text{v_{H}}_{k} being a set that maps attachable C_{\text{v_{H}}} components in to subsets of . If such computation is possible, then the existence of implies that is unfair for because of reaching is guaranteed by because of (I), (II), (III), (IV) and (V). Likewise, the non-existence of implies that is unfair for because of reaching is guaranteed by .
It’s worth mentioning that also needs to minimize the entropy of by using a systematic method instead of using a probabilistic approach in order to not fail to produce a valid output, directly or indirectly, since needs to collapse to either or precisely.
[TABLE]
Therefore, (I), (II), (III), (IV) and (V) imply that the existence of is not a sufficient condition to make Reconstruct degenerate the error rate distortion made by Mapping and imitate RS-E.
Now, let be a set added to J node in expansion call that doesn’t active any static . As Reconstruct passes through by using paths, we have:
- (1)
by Corollary 1, paths of can generate potential independent forbidden minors; and 2. (2)
by Corollary 4, can’t ignore the constraints of SFCM-R completely.
Thus, we can assume that, if there exists and ,, then there exists two ordered fragments and of a potential hamiltonian sequence, such that , that is forced to create due to in order to degenerate and .
Otherwise, Reconstruct would need to imitate RS-E explicitly, since it should have used probability to imitate RS-E in order to avoid both and , instead of using the proposed goal-oriented strategies (and variants) along with to postpone the creation of both and as well as the activation of both and , which is invalid because of avoiding .
Notice we can also assume that RS-R also uses an optimizable tolerance policy, directly or indirectly, since:
- (1)
by Corollary 5, must distort the potentially-exponential error rate curve of RS-R, which is represented by the number of times that holds for , by using a systematic approach in order to make RS-R fail to produce a valid output; and 2. (2)
by Corollary 4, as can ignore the constraints of SFCM-R partially, we can assume that,directly or indirectly, can tolerate a small growth rate in order to consider SFCM-R constraints progressively as a mean to minimize the entropy of .
Otherwise, RS-R would also need to imitate RS-E explicitly, since it wouldn’t predict optimally if its error rate curve distortion would be degenerated in order to abort itself, which is invalid.
As needs to map the ordering constraints related to potential independent forbidden minors by using RSPN in order to not make RS-R imitate RS-E, Reconstruct is imitating RS-R due to the fact that Reconstruct needs to pass through before by using .
However, if Reconstruct happens to pass through before , there may exist a hidden region such that , that updates in way that the ordering remains preserved. As can be created by in any subsequent expansion call, such event is not a sufficient condition to prove that Reconstruct ignores ordering unless both j_{i}=\text{v_{H}}_{i} and j_{k}=\text{v_{H}}_{k} are active. In this case, if with and , could get increased by at any moment since:
- (1)
Reconstruct can’t create any in subsequent expansion calls; and 2. (2)
failed to postpone the creation of both \text{v_{H}}_{i} and \text{v_{H}}_{k} and the activation of both \text{v_{H}}_{i} and \text{v_{H}}_{k}, while preventing Reconstruct from imitating RS-E.
Because of that, is forced to delete some edges to enforce the ordering of active static points in order to make be consistent. In this case, Reconstruct is still using paths of even if some of edges are removed from , which means that the existence of such removal operations is not a sufficient condition to prove that the error rate distortion made by Mapping is degenerated by Reconstruct. In addition, by Corollary 4, can’t ignore the constraints of SFCM-R completely.
However, if Reconstruct is not able to add , for at least one , in an arbitrary region because of such ordering, Reconstruct can’t pass through such region unless by using probability. In such state, Reconstruct is aborted by since the error rate curve distortion made by Mapping (Corollary 2) is about to be degenerated, which makes trigger Strategy 1 to disintegrate the curve distortion ring in order to make grow exponentially.
That’s because Reconstruct would need to imitate the behaviour of RS-E explicitly by ignoring as well as its tolerance policy completely in order to continue the reconstruction process. Notice that such state imitates the abort condition of RS-R by making hold for every , since:
- (1)
failed to prevent Reconstruct from degenerating itself while preventing Reconstruct from imitating RS-E; and 2. (2)
can’t ignore the constraints of SFCM-R completely by Corollary 4.
In addition, as a static \text{v_{H}}_{i} can’t have duplicated points and the first Reconstruct call can update J node, expansion calls, with a different , is a sufficient condition to activate every static . If Reconstruct makes expansion calls with a different , needs to be a hamiltonian sequence in order to not violate any region ordering. Otherwise, Reconstruct is aborted by Strategy 1. In such case, by Corollary 5, Reconstruct also imitates the stop condition of RS-R, since a valid must exist for every found when RS-R is not aborted, and, a distorted error rate curve must exist when RS-R is not aborted.
Therefore, Reconstruct is goal-oriented if at most expansion calls, with a different , are made by using an optimizable tolerance policy .
∎
4 Conclusion
In this paper, a novel algorithm to hamiltonian sequence is proposed. Such algorithm tries to reconstruct a potential hamiltonian sequence by solving a synchronization problem between the forbidden condition of an unknown non-exhaustive hamiltonian sequence characterization test, which is a set of unknown sufficient conditions that makes such test fail to produce a valid output, and the forbidden condition of the proposed algorithm, which is a set of sufficient conditions that makes the proposed algorithm fail to produce a valid output. In conclusion, this study suggests that the hamiltonian sequence problem can be treated as a synchronization problem involving the two aforementioned forbidden conditions.
The reference list from the paper itself. Each links out to its DOI / PubMed record.
- 1[1] Björklund A (2014) Determining sums for undericted hamiltonicity. SIAM Journal on Computing, 43(1):280-299
- 2[2] Björklund A (2016) Bellow all subsets for some permutational counting problems. In 15th Scandinavian Symposiym and Workshops on Algorithm Theory (SWAT 2016), volume 53 of Leibniz International Procedings in Informatics (LIP Ics), pages 1-17
- 3[3] Dirac G (1952) Some theorems on abstract graphs. Proceedings of the London Mathematical Society. 3(1);69. 19
- 4[4] Garey MR, Johnson DS (1979) Computers and Intractability: A guide to the Theory of NP-Completeness
- 5[5] Held M, Karp RM (1962) A dynamic programming approach to sequencing problems, J. SIAM, 10(1): 196-210
- 6[6] Karp RM (1972) Reducibility among Combinatorial Problems. In: Miller RE, Thatcher JW, Bohlinger JD (eds) Complexity of Computer Computations . The IBM Research Symposia Series. Springer, Boston, MA
- 7[7] Mondshein LF (1971) Combinatorial Ordering and the Geometric Embedding of Graphs. Ph D thesis, M.I.T. Lincoln Laboratory / Hardvard University
- 8[8] Ore O (1960) Note on hamiltonian circuits. Amer. Math. Monthly , 67:55
