OptaPlanner logo
  • Download
  • Learn
    • Documentation
    • Videos
    • Slides
    • Training

    • Use cases
    • Compatibility
    • Testimonials and case studies
  • Get help
  • Blog
  • Source
  • Team
  • Services
  • KIE
    • Drools
    • OptaPlanner
    • jBPM
    • Kogito
  • Star
  • T
  • L
  • F
  • YT
Fork me on GitHub

Does A.I. include constraint solvers?

Thu 7 September 2017
Avatar Geoffrey De Smet
Geoffrey De Smet

Twitter LinkedIn GitHub

OptaPlanner lead

The A.I. winter is over. For a few years now, the interest in Artificial Intelligence technologies is growing again. Not just from us, A.I. geeks. Business sees the potential to invest. To acquire new funding, many research projects are rebranding themselves as A.I. technology. Often justified. But not always. Can Constraint Solvers use the A.I. tag too?

A little history: the fifth generation project

For almost two decades, A.I. was a dirty word. To understand why, we need to go back to 1982, when Japan decided to invest massively in the fifth generation computer, an Artificial Intelligence platform which would leapfrog the existing computers of the time and break IBM’s monopoly. In a reaction, other countries funded similar projects. Suddenly research money fell out of the sky. The 80’s summer of A.I.

It failed. Despite decadent funding for almost 10 years, the fifth generation research had little practical use to show for. Some of the research was ahead of its time: lacking big data, smartphones and faster computers, it couldn’t work yet. Other research was completely useless.

In the aftermath of that failure, in the 90’s and early 2000’s, the term A.I. was tainted. A.I. didn’t work. Developers quickly stopped branding their technologies as such. Constraint solvers strengthened their Operations Research affiliation. Search engines acted as if they’re a simple dictionary lookup. Rule engines focused on decision tables. They all avoided mentioning their A.I. affiliation. Except for neural nets.

Neural nets: one tech fits all?

The last few years, neural nets made Artificial Intelligence cool again. A neural net mimics the neurons in our brain (not as much as you’d think). It’s a black box that transforms input data into output data, by pushing it through a number of neural layers of mostly sum and multiply arithmetic. For decades, its accuracy was too low, but that changed dramatically, with the recent rise of big data and the discovery of better backpropagation methods. The latter enables more layers. More layers equals deep learning.

Nowadays, neural nets can recognize faces and voices. And in a hybrid combination with other A.I. technologies (such as minimax), they can even beat the world’s champion of Go. Sounds like magic. But these are all pattern recognition problems. They can’t handle other problems. Neural nets can’t find the fastest route from La Louvre to the Colosseum. They can’t build the ultimate American road trip.

The right A.I. for the job

Neural nets aren’t an AGI (artificial general intelligence). Neither are constraint solvers or production rule systems, for that matter. Each one can only solve one subset of A.I. problems. That’s probably a good thing: none can become Skynet and pose a treat to humanity.

So to solve business problems with intelligent software, use the algorithm that fits the use case:

theRightAIForTheJob

This hasn’t stopped academics from trying. There’s plenty of research with neural nets to solve vehicle routing or employee rostering, it’s just consistency inferior to constraint solving algorithms such as Tabu Search and Simulated Annealing. Why settle for a 1% reduction in driving time when you can have 15%?

Visa versa, constraints solvers can’t even solve the infamous image recognition of a hot dog.

Do all algorithms produce intelligence?

Multiplying 1234 by 5678 isn’t easy, yet we don’t consider this artificial intelligence. Similarly, sorting algorithms aren’t A.I. either. Why is that?

Maybe it’s because those problems don’t have an error margin. A.I. problems do: Given an image of a husky dog, some people recognize a wolf instead. Given a TSP problem to draw the shortest tour, people submit unique results of varying quality.

Maybe it’s because the calculation and sorting algorithms are understandable. There is no black box. It’s relatively easy to see how the computer transforms the input, instruction by instruction, into the output.

What about constraint solvers?

Historically, constraint solvers (such as OptaPlanner) are definitely part of the field of Operations Research, but that doesn’t exclude them from other fields.

I’d argue that constraints solvers also fall into the field of Artificial Intelligence. Not just because papers and books say so. Mainly because constraint solving use cases are inherently complex problems to master. There’s great variation in solution quality, both by human planners and specialized algorithms alike. Given a sufficiently large dataset, the optimal solution is impossible to find. Furthermore, researchers still discover new algorithms, even though other algorithms are almost 40 years old.

What do you think? Are constraint solvers part of the field of Artificial Intelligence?


Permalink
 tagged as community insight

Comments

Visit our forum to comment

Giscus Comments

AtomNews feed
Don’t want to miss a single blog post?
Follow us on
  • T
  • L
  • F
Blog archive
Latest release
  • 8.14.0.Final released
    Wed 8 December 2021
Upcoming events
  • DevConf.CZ
    Brno, Czech Republic (virtual) - Fri 28 January 2022
    • Artificial Intelligence on Quarkus: I love it when an OptaPlan comes together by Geoffrey De Smet
  • JFokus
    Stockholm, Sweden - Mon 7 February 2022
    • AI maintenance scheduling with OptaPlanner on Quarkus by Geoffrey De Smet
  • Add event / Archive
Latest blog posts
  • OptaPlanner documentation turns over a new leaf
    Tue 26 October 2021
    Radovan Synek
  • Order picking optimization in warehouses and supermarkets with OptaPlanner
    Thu 14 October 2021
    Walter Medvedeo
  • Monitor OptaPlanner solvers through Micrometer
    Tue 12 October 2021
    Christopher Chianelli
  • A new AI constraint solver for Python: OptaPy
    Tue 5 October 2021
    Christopher Chianelli
  • How much faster is Java 17?
    Wed 15 September 2021
    Geoffrey De Smet
  • Constraint Streams get some more love
    Thu 19 August 2021
    Lukáš Petrovický
  • Let’s OptaPlan your jBPM tasks (part 2) - BPM Task assigning in the cloud
    Mon 26 July 2021
    Walter Medvedeo
  • Blog archive
Latest videos
  • AI lesson scheduling on Quarkus with OptaPlanner
    Thu 18 November 2021
    Geoffrey De Smet
  • Maintenance scheduling
    Fri 12 November 2021
    Geoffrey De Smet
  • Optimized order picking in warehouses and supermarkets
    Tue 26 October 2021
    Walter Medvedeo
  • A modern OO/FP constraint solver
    Tue 14 September 2021
    Geoffrey De Smet
  • Business processes task optimization in Kogito
    Tue 7 September 2021
    Walter Medvedeo
  • School timetable optimization
    Mon 6 September 2021
    Geoffrey De Smet
  • Schedule incoming calls real-time
    Mon 23 August 2021
    Radovan Synek
  • Video archive

OptaPlanner is open. All dependencies of this project are available under the Apache Software License 2.0 or a compatible license. OptaPlanner is trademarked.

This website was built with JBake and is open source.

Community

  • Blog
  • Get Help
  • Team
  • Governance
  • Academic research

Code

  • Build from source
  • Issue tracker
  • Release notes
  • Upgrade recipes
  • Logo and branding

KIE projects

  • Drools rule engine
  • OptaPlanner constraint solver
  • jBPM workflow engine
  • Kogito Business Automation platform
CC by 3.0 | Privacy Policy
Sponsored by Red Hat