Ever since the internet became publicly available it has allowed users to interact with each other across virtual networks. With this large amounts of data being collected the clustering of this information has become an even more powerful tool for recognize patterns and trends in a network. In this research we look build a model for Community Detection in these online social networks. We combine the ideas from both discrete mathematics and sociology, to build an algorithm with the specific intent on discovering communities that exist in an online social network. We present many of the sociology theories behind the patterns and clusters from in data and how our to identify overlapping and hierarchical communities. We investigate the propert...