Read the Wikipedia article on Prolog [login to view URL] and review the PPTs attached from last week’s lecture.
The map coloring problem and the seven bridges of Konigsberg problem are classical mathematics problems which are considered very difficult.
Yet we saw a Prolog program only thirteen lines long which purports to solve a limited case of the map coloring problem. Look up one of the URLs referenced in the PPTs and consider the classical mathematics graphic theory solution. How is it that a declarative parallel programming language like Prolog can solve a problem like this without the heavy lifting of graph theory?
Sketch very roughly a computer solution using graph theory and a conventional language like C or C# and estimate how many lines of code it might take to solve this same five state map coloring problem.
Finally state your opinion on the following questions:
1. Is the prolog solution algorithmic or heuristic?
2. Is the graph theory solution algorithmic or heuristic?
3. Estimate how many lines of Prolog it might take to solve the seven bridges of Konigsberg problem with Prolog.
See: [login to view URL]
4. Why is Prolog not a prescriptive sequential programming language and how does this make it suitable for parallel execution?