<｜begin▁of▁sentence｜>### Instruction:
As a cartographer working on a project to map out a transportation network for a city, I need to use igraph's network analysis capabilities to simplify a graph representation of the network. I have a graph with the following edge set: [(0, 1), (1, 2), (2, 3), (0, 2), (1, 3)]. To streamline the network representation, I have to use igraph's contract_vertices function to merge vertices 1 and 2 into a single vertex and then simplify the graph to remove self-loops and parallel edges. This will help me create a clearer and more efficient map of the city's transportation network.
### Response:
import igraph as ig

# Create a graph with edges
edges = [(0, 1), (1, 2), (2, 3), (0, 2), (1, 3)]
g = ig.Graph(edges=edges)

# Contract vertices 1 and 2 into a single vertex
mapping = {1: 0, 2: 0}
g.contract_vertices(mapping, combine_attrs='first')

# Simplify the graph to remove self-loops and parallel edges
g.simplify()
print(g)
<|EOT|>
