Abstract: Deep learning is a branch of machine learning which attempts to learn heirarchical representations of data to perform various tasks. One of the most common deep learning architectures is an artificial neural network which can learn complex mathematical relationships between inputs and outputs. In this work, we will present how neural network have been applied to solve NP-complete problems. Specifically we will focus on how Selsam et al. [1] attempt to solve the SAT problem using a novel neural network architecture called NeuroSAT. [1]Selsam, D., Lamm, M., Bünz, B., Liang, P., de Moura, L., & Dill, D. L. (2018). Learning a SAT solver from single-bit supervision. arXiv preprint arXiv:1802.03685. Group Members: Kevin Duarte Rodney LaLonde