Algorithms are step-by-step instructions designed by human experts to solve a problem. Effective algorithms play central roles in modern computing, and have impacted many industrial applications, such as recommendation and advertisement in internet, resource allocation in cloud computing, robot and route planning, disease understanding and drug design.
However, designing effective algorithms is a time-consuming and difficult task. It often requires lots of intuition and expertise to tailor algorithmic choices in particular applications. Furthermore, when complex application data are involved, it becomes even more challenging for human experts to reason about algorithm behavior.
Can we use deep learning and AI to help algorithm design? There have been a number of recent advancements that have allowed algorithms to designed from specific algorithmic families automatically using data, often leading to either state-of-the-art empirical performance or provable performance guarantees on observed instance distributions. In this talk, I will provide an introduction to this area, and explain a few pieces of work along this direction.