"# <center>Graph Theory within Topological Data Analysis</center>\n",
"\n",
"<center>by Shawk Masboob</center>"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Graph theory utilizes limited topological thought (i.e. it can be considered a subset of topology). Topological objects consist of nodes, edges, and faces. In graph theory, these objects arise through natural geo-spatial data (cell tower data, election data, etc.) or through artificial construction (social complexity theory, political relations theory, etc.). Some application of graph theory involve using graphs modeling relations and processes in physical, biological, and social and information systems. Graph theory is also used to represent computer networks. \n",
"\n",
"Graph theory and topology are related in that graphs are a 1-simplicial complex. A simplicial complex is a finite collection of simplices. [1]. A simplex is a generalized triangle in any arbitrary dimension where the 0-simplex is a point, the 1-simplex is a line segment, the 2-simplex is a triangle, the 3-simplex is a tetrahedron, the 4-simplex is a 5-cell, and so on. The figure below provides a simple example of simplices."
]
},
{
"attachments": {},
"cell_type": "markdown",
"metadata": {},
"source": [
"|  | \n",
"|:--:| \n",
"|__Figure 1.__ From left to right: a point (vertex), a line segment (an edge), a triangle, and a tetrahedron.\n",
"Image Source: [1] |"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"The shift from the 1-simplicial complex and the 2-simplicial complex provides a simple demonstration of the relationship between graph theory and topology. It is challenging to discuss concepts within topology without implicitly referencing properties of graph theory. \n",
"\n",
"As mentioned above, there are many applications within graph theory. These same applications can be done using topology, specifically topological data analysis (TDA). TDA seeks to analyze datasets using various techniques from topology. It is beneficial to convert the data points with simplicial complexes based on some distance metric. A simple way of converting data points into a global object is to use each point as the vertices of a graph and to let the edges of the graph be determined by proximity. [2]. The graph at this stage (1-simplex), while capturing connectivity within the data, fails to capture higher order features beyond clustering. [2]. Moving up the “simplicial scales” allows the researcher to see other interesting features that may not be so obvious when using a standard graph. The Cech Complex and the Rips Complex are the two most common methods used to “fill in” the higher dimensional simplices. [2] Figure 2 demonstrates the process of converting a dataset into a higher order simplicial complex. "
]
},
{
"attachments": {},
"cell_type": "markdown",
"metadata": {},
"source": [
"|  | \n",
"|:--:| \n",
"|__Figure 2.__ The bottom left image is the Cech Complex and the bottom right image is the Rips Complex.\n",
"Image Source: [2] |"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"As seen from Figure 2, any point cloud data can be converted into a higher order simplicial complex after selecting a specified proximity measure. \n",
"\n",
"A real-world example that combines graph theory and TDA is as follows: the human brain can be visualized using graph theory. However, the human brain is a very complex network that is hard to visualize. MAPPER (a Python TDA package) can be used to reduce the high-dimensional dataset without having to make many assumptions about the data. [3]. Doing so allows the researcher to visualize the data using some graph. \n",
"\n",
"TDA is used to understand complex and high dimensional data problems. The simple technique mentioned above is capable to pointing out the natural patterns within a dataset that a standard graph cannot. Graph theory is useful if one seeks construct a network. If one seeks to go beyond network construction and clustering, they ought to consider using TDA. That said, TDA is not independent of graph theory. There are some theoretical similarities and applications. As noted above, a graph is a 1-simplicial complex. "
"[2] Ghrist, Robert. “Barcodes: The Persistent Topology of Data.” Bulletin of the American Mathematical Society, vol. 45, no. 01, 2007, pp. 61–76., doi:10.1090/s0273-0979-07-01191-3.\n",
"\n",
"[3] Saggar, M., Sporns, O., Gonzalez-Castillo, J. et al. Towards a new approach to reveal dynamical organization of the brain using topological data analysis. Nat Commun 9, 1399 (2018). https://doi.org/10.1038/s41467-018-03664-4"
]
}
],
"metadata": {
"anaconda-cloud": {},
"kernelspec": {
"display_name": "Python 3",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.7.3"
}
},
"nbformat": 4,
"nbformat_minor": 1
}
%% Cell type:markdown id: tags:
# <center>Graph Theory within Topological Data Analysis</center>
<center>by Shawk Masboob</center>
%% Cell type:markdown id: tags:
Graph theory utilizes limited topological thought (i.e. it can be considered a subset of topology). Topological objects consist of nodes, edges, and faces. In graph theory, these objects arise through natural geo-spatial data (cell tower data, election data, etc.) or through artificial construction (social complexity theory, political relations theory, etc.). Some application of graph theory involve using graphs modeling relations and processes in physical, biological, and social and information systems. Graph theory is also used to represent computer networks.
Graph theory and topology are related in that graphs are a 1-simplicial complex. A simplicial complex is a finite collection of simplices. [1]. A simplex is a generalized triangle in any arbitrary dimension where the 0-simplex is a point, the 1-simplex is a line segment, the 2-simplex is a triangle, the 3-simplex is a tetrahedron, the 4-simplex is a 5-cell, and so on. The figure below provides a simple example of simplices.
%% Cell type:markdown id: tags:
|  |
|:--:|
|__Figure 1.__ From left to right: a point (vertex), a line segment (an edge), a triangle, and a tetrahedron.
Image Source: [1] |
%% Cell type:markdown id: tags:
The shift from the 1-simplicial complex and the 2-simplicial complex provides a simple demonstration of the relationship between graph theory and topology. It is challenging to discuss concepts within topology without implicitly referencing properties of graph theory.
As mentioned above, there are many applications within graph theory. These same applications can be done using topology, specifically topological data analysis (TDA). TDA seeks to analyze datasets using various techniques from topology. It is beneficial to convert the data points with simplicial complexes based on some distance metric. A simple way of converting data points into a global object is to use each point as the vertices of a graph and to let the edges of the graph be determined by proximity. [2]. The graph at this stage (1-simplex), while capturing connectivity within the data, fails to capture higher order features beyond clustering. [2]. Moving up the “simplicial scales” allows the researcher to see other interesting features that may not be so obvious when using a standard graph. The Cech Complex and the Rips Complex are the two most common methods used to “fill in” the higher dimensional simplices. [2] Figure 2 demonstrates the process of converting a dataset into a higher order simplicial complex.
%% Cell type:markdown id: tags:
|  |
|:--:|
|__Figure 2.__ The bottom left image is the Cech Complex and the bottom right image is the Rips Complex.
Image Source: [2] |
%% Cell type:markdown id: tags:
As seen from Figure 2, any point cloud data can be converted into a higher order simplicial complex after selecting a specified proximity measure.
A real-world example that combines graph theory and TDA is as follows: the human brain can be visualized using graph theory. However, the human brain is a very complex network that is hard to visualize. MAPPER (a Python TDA package) can be used to reduce the high-dimensional dataset without having to make many assumptions about the data. [3]. Doing so allows the researcher to visualize the data using some graph.
TDA is used to understand complex and high dimensional data problems. The simple technique mentioned above is capable to pointing out the natural patterns within a dataset that a standard graph cannot. Graph theory is useful if one seeks construct a network. If one seeks to go beyond network construction and clustering, they ought to consider using TDA. That said, TDA is not independent of graph theory. There are some theoretical similarities and applications. As noted above, a graph is a 1-simplicial complex.
[2] Ghrist, Robert. “Barcodes: The Persistent Topology of Data.” Bulletin of the American Mathematical Society, vol. 45, no. 01, 2007, pp. 61–76., doi:10.1090/s0273-0979-07-01191-3.
[3] Saggar, M., Sporns, O., Gonzalez-Castillo, J. et al. Towards a new approach to reveal dynamical organization of the brain using topological data analysis. Nat Commun 9, 1399 (2018). https://doi.org/10.1038/s41467-018-03664-4