  The integration of low-level perception with high-level reasoning is one of
the oldest problems in Artificial Intelligence. Recently, several proposals
were made to implement the reasoning process in complex neural network
architectures. While these works aim at extending neural networks with the
capability of reasoning, a natural question that we consider is: can we extend
answer set programs with neural networks to allow complex and high-level
reasoning on neural network outputs? As a preliminary result, we propose
NeurASP -- a simple extension of answer set programs by embracing neural
networks where neural network outputs are treated as probability distributions
over atomic facts in answer set programs. We show that NeurASP can not only
improve the perception accuracy of a pre-trained neural network, but also help
to train a neural network better by giving restrictions through logic rules.
However, training with NeurASP would take much more time than pure neural
network training due to the internal use of a symbolic reasoning engine. For
future work, we plan to investigate the potential ways to solve the scalability
issue of NeurASP. One potential way is to embed logic programs directly in
neural networks. On this route, we plan to first design a SAT solver using
neural networks, then extend such a solver to allow logic programs.
