| Molecules can be viewed as graphs—atoms as vertices, bonds as edges—and chemical discovery can therefore be framed as a combinatorial and topological problem. Enumerating all possible molecular graphs that satisfy given structural rules is central to understanding chemical diversity, yet this task grows exponentially with system size. Despite decades of effort, efficiently exploring even small subspaces—such as polycyclic aromatic hydrocarbons—remains an open mathematical challenge.
This project aims to develop graph-theoretic and algorithmic tools for the systematic enumeration and analysis of molecular structures. Students will formulate the problem using concepts from discrete mathematics and graph theory, such as connectivity, planarity, automorphism, and isomorphism detection. By designing and implementing algorithms in Python, they will generate and classify families of graphs corresponding to chemically valid molecules, analyze their symmetry and topological invariants, and visualize the structure of the resulting “chemical space.” The project’s goals are to (1) build graph-based generators for specific molecular classes (e.g., polybenzenoid hydrocarbons), (2) apply combinatorial reasoning to eliminate duplicates and invalid structures, and (3) characterize the resulting networks using mathematical descriptors. Beyond chemistry, these methods offer insights into complex network topology, enumerative combinatorics, and algorithmic design, making the project ideal for students interested in the intersection of mathematics, computer science, and chemistry. |