Below is a little bit more about me, the work I do, and the people I work with.
I'm a web and mobile developer and AI PhD Student from the South of England.
My name is Adam Green. I’m a programmer, researcher, mathematician and all-round tech geek. I’ve been writing code since I was 11, and for the past 10 years have studied and worked in a field related to my two major passions, technology and mathematics.
My portfolio of work spans a variety of different fields, from robotics and electronics, to web and mobile development, radio and film production to AI design and development.
I hold a Bachelors Degree in Computer Science from King’s College London. I am currently working towards my Doctorate in Artificial Intelligence at King’s as well.
I’ve spent the past two years developing a variety of projects for different clients and building a team of very skilled people - designers, developers, SEO experts and marketers - to help individuals and companies build their next big idea.
By day, I'm an Artificial Intelligence PhD student working to teach robots how to love... I mean plan.
For my PhD, I research new approaches to a field of AI called planning. "Planning" is the act of deciding in advance what needs to be done in the future. As surprising as it may seem, computers are pretty bad at it. AI Planning involves using machines to autonomously plan problems that would have previously been solved by hand.
Consider for example delivering a package. Delivering one package is a fairly trivial computational task calculating a route from where the package is to where it needs to be. However, now consider 100 packages, 5 trucks, and 2 drivers, where each legally has to take a 30-minute break every 4 hours. The task becomes exponentially more complex with scale. Unlike humans, who can use intuition to solve this problem, AI does not have the same luxury.
Computers typically take exhaustive approaches to these kinds of problems - exploring all the possible scenarios - whether that's 1 driver, driving 1 truck delivering all 100 packages, or 2 drivers driving all 5 trucks, with 20 packages on each. However, much like the unstoppable force meets the immovable object, when a problem grows exponentially with size, exhaustion is not a feasible solution. If we just multiply these numbers together, there are 1000 possible approaches.
AI Planning is about shrinking the space that needs to be exhausted, ruling out the obviously incorrect (or impractical) solutions, so that we can hone in on the subset of solutions that actually achieves a useful plan.
My work specifically focuses on time and numbers. How do we plan when we need to think about the amount of fuel left, or getting a package to a location by a certain time?
In particular I focus on how AI Planning tools can be integrated with other AI tools, such as Linear Programs (LPs), Mixed Integer Programs (MIPs) and Constraint Programming (CP).
The objective of my thesis is to show that by combining these tools better than they've been combined previously, we can solve larger problems, or similar size problems more quickly.