---
title: Identifying Code in Graphs
url: https://www.emergentmind.com/topics/identifying-code-ic-problem
type: topic
---

# Identifying Code in Graphs

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 \( G = (V, E) \) be a simple, undirected, finite graph. For each \( v \in V \), the *open neighborhood* is \( N(v) = \{ u \in V : uv \in E \} \), and the *closed neighborhood* is \( N[v] = N(v) \cup \{ v \} \).

- **Identifying Code**: A set \( C \subseteq V \) is an *identifying code* if, for every \( v \in V \), the set \( N[v] \cap C \) is nonempty (dominating property), and for any two distinct vertices \( u, v \in V \), \( N[u] \cap C \neq N[v] \cap C \) (identification property). The *identifying code number* \( \gamma_{ID}(G) \) 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 [1407.7263].

## 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 \( u \neq v \in V \setminus D \), \( N(u) \cap D \neq N(v) \cap D \)), and only dominates \( V \setminus D \) [1412.2376, 1506.02623].
- **Identifying Code**: Requires that *all* vertices (including code vertices themselves) are distinguished by their closed neighborhood code intersections, and that every vertex is dominated [1407.7263].

In symbol:
\[
C \text{ is an identifying code} \iff
\begin{cases}
\forall v \in V: N[v] \cap C \neq \emptyset\\
\forall u \neq v \in V: N[u] \cap C \neq N[v] \cap C
\end{cases}
\]

## 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 \( N[u] \cap C = N[v] \cap C \) for all \( C \).

- 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 \( G \) of order \( n \) and maximum degree \( \Delta \), every identifying code must satisfy
  \[
  \gamma_{ID}(G) \ge \frac{n}{\Delta + 1}
  \]
  mirroring classic domination lower bounds [1407.7263, 1412.2376].
- For regular graphs, there exist standard constructions showing \( \gamma_{ID}(G) = \Theta(n) \).
- 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 \( \leq n/2 \) [1407.7263].

### Extremal Examples

- Infinite families exhibit tightness: For instance, cycles \( C_{6} \) and Cartesian products such as certain grids demonstrate that the maximum possible identifying code density cannot be improved beyond known bounds in specific structures [1407.7263].

## 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 \( k \) is NP-complete, even in restricted graph classes [2209.04500, 2011.14849].
- **Parameterized Complexity**: No \( 2^{o(d \log d)} \)-time algorithm exists unless ETH fails when parameterized by the code size \( d \), and essentially no subexponential kernel exists for standard structural parameterizations [2011.14849].
- **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 [2011.14849].

## 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 \( k \)-tuples or “error-correcting” versions (each vertex is covered by many codewords and distinguished after removal/errors) [2212.08193, 2201.09399, 2209.04500].
- **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) [1409.0662].
- **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 [1910.05311, 2112.01910].

## 6. Connections to Related Parameters

The identifying code number \( \gamma_{ID}(G) \) is tightly connected to several other graph invariants:

| Parameter                  | Definition (informal)                                      | Relationship to IC      |
|----------------------------|------------------------------------------------------------|------------------------|
| Domination number          | Smallest set dominating all vertices                       | \( \leq \gamma_{ID} \) |
| Location-domination number | Smallest dominating set uniquely identifying non-code nodes | \( \leq \gamma_{ID} \) |
| 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 [1412.2376].

## 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 \( \gamma_{ID}(G) \leq n/2 \), and can this be improved for general twin-free graphs? This echoes the major conjecture for locating-dominating sets [2506.12933, 2405.18162].
- **Characterization of Extremal and Realizable Families**: Classifying all connected twin-free graphs with \( \gamma_{ID}(G) = n/2 \), or realizing given code sizes within diverse topological constraints [1412.2376, 1407.7263].
- **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 [2011.14849].
- **Robustness and Error-Correction**: Investigating error-correcting and redundant variants of identifying codes, especially minimum-density constructions in standard infinite grids [2212.08193, 2201.09399, 2209.04500].
- **Isolation in Hypergraphs and Directed Graphs**: Transferring and adapting results on identification from undirected graphs to hypergraphs and digraphs, including structural and algorithmic aspects [1409.0662, 1910.05311].

Identifying codes remain a central challenge in structural combinatorics and algorithmic graph theory, with deep connections to network monitoring, combinatorial search, and information theory.

Source: https://www.emergentmind.com/topics/identifying-code-ic-problem