Machine Learning for Programming

home · about · subscribe

April 26, 2015 · -

Peter Norvig presented a great overview how programming could use more machine learning. He presented quite nice overview of what has been done in research and what could be possible. Generally, the presentation followed a question-answer style where he first presented the question and then try to give answer by providing additional context. I liked this format a lot. It is both easy to follow and also easy to build the solution step by step.

What is programming?

What is Machine Learning?

Questions & Answers

Q: Can we learn functions from examples?
A: Yes, for many kinds of functions.

Q: Can we learn parts of programs from examples?
A: Yes, machine learning is the ultimate agile programming.

Program Induction

Q: Can we learn entire programs from examples?
A: Yes, for short programs; no, for complex programs

Mini Lesson in ML


Gradient Descent

Neural Network

Q: Can we learn complex non-traditional programs from examples?
A: Not yet, maybe someday.

Q: Can we learn to optimize programs?
A: Yes, short parts.

Q: Can we learn to efficiently execute declarative programs?
A: Maybe. So far, not done via learning. Need help with languages.

Declarative Languages for AI/ML Applications

Q: Can we learn an interpreter?
A: Partly, that is not the point.

Q: Can we learn a user’s language?
A: Interesting idea, but so far done by hand.

Q: Can we learn tutoring feedback from examples?
A: Yes! Works better as a human/machine partnership.

All Rights Reserved

Copyright, 2020