Identifying Code in Graphs
- The identifying code problem is a graph problem that requires every vertex to have a unique intersection with a minimal dominating set based on its closed neighborhood.
- It is widely applicable in fault diagnosis, sensor placement, and network verification, and it contrasts with locating-dominating sets.
- The problem is NP-complete in general, with known bounds and special polynomial-time solutions in restricted graph families.
An identifying code (IC) problem on a graph asks for a minimum-cardinality subset of vertices (an "identifying code") such that the sets of neighbors in the code uniquely identify all vertices, including those in the code itself. This concept is a central object in combinatorial search, fault diagnosis, network verification, and sensor location schemes. The identification requirement is stricter than that for a locating-dominating set: in an identifying code, every vertex—both inside and outside the code—must have a unique intersection with the code in its closed neighborhood.
1. Fundamental Notions and Formal Definitions
Let be a simple, undirected, finite graph. For each , the open neighborhood is , and the closed neighborhood is .
- Identifying Code: A set is an identifying code if, for every , the set is nonempty (dominating property), and for any two distinct vertices , (identification property). The identifying code number is the minimum cardinality of an identifying code.
This is a special case in the broader landscape of separating systems; related notions include locating-dominating sets, which only require identification of non-code vertices (Balbuena et al., 2014).
2. Identifying Code vs. Locating-Dominating Set
While both identifying codes and locating-dominating sets require domination and distinguishability, the key distinction is:
- Locating-Dominating Set: Only requires that vertices outside the set are distinguished (i.e., for all , ), and only dominates (Foucaud et al., 2014, Foucaud et al., 2015).
- Identifying Code: Requires that all vertices (including code vertices themselves) are distinguished by their closed neighborhood code intersections, and that every vertex is dominated (Balbuena et al., 2014).
In symbol:
3. Existence, Structure, and Extremal Bounds
Existence
Not every graph admits an identifying code. For instance, graphs with twins—vertices with the same closed neighborhood—cannot have an identifying code, because the intersection for all .
- Therefore, twin-freeness (no two vertices share the same closed neighborhood) is a necessary and sufficient condition for the existence of an identifying code.
Classic Bounds
- For a graph of order and maximum degree , every identifying code must satisfy
mirroring classic domination lower bounds (Balbuena et al., 2014, Foucaud et al., 2014).
- For regular graphs, there exist standard constructions showing .
- For graphs of girth at least 5 (i.e., no cycles of length 3 or 4), both the location-domination number and the identifying code number are (Balbuena et al., 2014).
Extremal Examples
- Infinite families exhibit tightness: For instance, cycles and Cartesian products such as certain grids demonstrate that the maximum possible identifying code density cannot be improved beyond known bounds in specific structures (Balbuena et al., 2014).
4. Algorithmic Complexity
The identifying code problem is computationally intractable in the general case:
- NP-Completeness: Determining whether a graph has an identifying code of size at most is NP-complete, even in restricted graph classes (Jean et al., 2022, Cappelle et al., 2020).
- Parameterized Complexity: No -time algorithm exists unless ETH fails when parameterized by the code size , and essentially no subexponential kernel exists for standard structural parameterizations (Cappelle et al., 2020).
- Polynomial-Time Cases: Identifying codes can be computed in polynomial time in specific graph families—such as trees or graphs of bounded clique-width—where efficient dynamic programming is possible (Cappelle et al., 2020).
5. Extensions and Fault Tolerance
Identifying codes serve as a foundation for more robust network monitoring schemes:
- Redundant Identifying Codes: Codes that tolerate failures by separating vertices via -tuples or “error-correcting” versions (each vertex is covered by many codewords and distinguished after removal/errors) (Jean et al., 2022, Jean et al., 2022, Jean et al., 2022).
- Hypergraphs and Variants: The concept extends to hypergraphs, with similar domination and identification axioms; the primary obstacle to existence remains the twin-free condition (now defined with respect to edge-sets) (Fazil et al., 2014).
- Oriented Graphs (Digraphs): The identifying code problem can be formulated in digraphs with suitable replacement of the neighborhood function by the in-neighbor relation; complexity and structural questions persist (Foucaud et al., 2019, Bousquet et al., 2021).
6. Connections to Related Parameters
The identifying code number is tightly connected to several other graph invariants:
| Parameter | Definition (informal) | Relationship to IC |
|---|---|---|
| Domination number | Smallest set dominating all vertices | |
| Location-domination number | Smallest dominating set uniquely identifying non-code nodes | |
| Metric dimension | Smallest set of basepoints distinguishing all vertices by distance vectors | Can be smaller than IC |
Identifying codes subsume locating-dominating sets (if the graph is twin-free), and both are related to classical separating systems and metric-based identification schemes. The difference between the metric dimension and the identifying code number is a subject of ongoing investigation (Foucaud et al., 2014).
7. Open Problems and Research Directions
Several major questions remain central in the theory of identifying codes:
- Tight Upper Bounds: For which graph classes is , and can this be improved for general twin-free graphs? This echoes the major conjecture for locating-dominating sets (Foucaud et al., 15 Jun 2025, Bousquet et al., 2024).
- Characterization of Extremal and Realizable Families: Classifying all connected twin-free graphs with , or realizing given code sizes within diverse topological constraints (Foucaud et al., 2014, Balbuena et al., 2014).
- Efficient Algorithms in Special Classes: Identification of additional classes—such as cographs, interval graphs, or claw-free graphs—where polynomial-time identifying code algorithms exist (Cappelle et al., 2020).
- Robustness and Error-Correction: Investigating error-correcting and redundant variants of identifying codes, especially minimum-density constructions in standard infinite grids (Jean et al., 2022, Jean et al., 2022, Jean et al., 2022).
- Isolation in Hypergraphs and Directed Graphs: Transferring and adapting results on identification from undirected graphs to hypergraphs and digraphs, including structural and algorithmic aspects (Fazil et al., 2014, Foucaud et al., 2019).
Identifying codes remain a central challenge in structural combinatorics and algorithmic graph theory, with deep connections to network monitoring, combinatorial search, and information theory.