Graph product

From Wikipedia, the free encyclopedia
(Redirected from Graph products)
Jump to navigation Jump to search

In graph theory, a graph product is a binary operation on graphs. Specifically, it is an operation that takes two graphs G1 and G2 and produces a graph H with the following properties:

  • The vertex set of H is the Cartesian product V(G1) × V(G2), where V(G1) and V(G2) are the vertex sets of G1 and G2, respectively.
  • Two vertices (a1,a2) and (b1,b2) of H are connected by an edge, iff a condition about a1, b1 in G1 and a2, b2 in G2 is fulfilled.

The graph products differ in what exactly this condition is. It is always about whether or not the vertices an, bn in Gn are equal or connected by an edge.

The terminology and notation for specific graph products in the literature varies quite a lot; even if the following may be considered somewhat standard, readers are advised to check what definition a particular author uses for a graph product, especially in older texts.

Even for more standard definitions, it is not always consistent in the literature how to handle self-loops. The formulas below for the number of edges in a product also may fail when including self-loops. For example, the tensor product of a single vertex self-loop with itself is another single vertex self-loop with E=1, and not E=2 as the formula EG×H=2EGEH would suggest.

Overview table

[edit | edit source]

The following table shows the most common graph products, with denoting "is connected by an edge to", and ≁ denoting non-adjacency. While ≁ does allow equality, ≄ means they must be distinct and non-adjacent. The operator symbols listed here are by no means standard, especially in older papers.

Name Condition for (a1,a2)(b1,b2) Number of edges
v1=|V(G1)|v2=|V(G2)|e1=|E(G1)|e2=|E(G2)|
Example
with anrelbn
abbreviated as reln
Cartesian product
(box product)
G1G2
a1=b1a2b2

a1b1a2=b2
=12

1=2
v1e2+e1v2
Tensor product
(Kronecker product,
categorical product)
G1×G2
a1b1a2b2 12 2e1e2
Strong product
(Normal product,
AND product)
G1G2
=(G1×G2)(G1G2)
a1=b1a2b2

a1b1a2=b2

a1b1a2b2
=12

1=2

12
v1e2+e1v2+2e1e2
Lexicographical product
G1G2 or G1[G2]
a1b1

a1=b1a2b2
1

=12
v1e2+e1v22
Co-normal product
(disjunctive product,[1] OR product)
G1*G2 or G1G2
=G1[G2]G2[G1]
=G1G2
a1b1

a2b2
1

2
v12e2+e1v222e1e2
Modular product
G1G2
=(G1G2)(G1×G2)
a1b1a2b2

a1≄b1a2≄b2
12

12
Rooted product see article v1e2+e1
Zig-zag product see article see article see article
Replacement product
Homomorphic product[2][4]
G1G2
a1=b1

a1b1a2≁b2
=1

12
v1v2(v21)/2+e1(v222e2)

In general, a graph product is determined by any condition for (a1,a2)(b1,b2) that can be expressed in terms of an=bn and anbn.

Mnemonic

[edit | edit source]

Let K2 be the complete graph on two vertices (i.e. a single edge). The product graphs K2K2, K2×K2, and K2K2 look exactly like the graph representing the operator. For example, K2K2 is a four cycle (a square) and K2K2 is the complete graph on four vertices.

The G1[G2] notation for lexicographic product serves as a reminder that this product is not commutative. The resulting graph looks like substituting a copy of G2 for every vertex of G1.

See also

[edit | edit source]

Notes

[edit | edit source]
  1. ^ Graph Products Revisited: Tight Approximation Hardness of Induced Matching, Poset Dimension and More, Parinya Chalermsook, Bundit Laekhanukit, Danupon Nanongkai, 2012
  2. ^ a b Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  3. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  4. ^ The hom-product of [3] is the graph complement of the homomorphic product of.[2]

References

[edit | edit source]
  • Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  • Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  • Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  • Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  • Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  • Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).