# prolog and ruby

1. Task #1:) (20 points) Consider the following knowledge base as in the previous assignment:

nonStopFlight(la, chicago).

nonStopFlight(sanFrancisco, columbus).

nonStopFlight(detroit, sanFrancisco).

nonStopFlight(toledo, detroit).

nonStopFlight(houston, sanFrancisco).

You already wrote a recursive rule findFlight/2 that tells us whether we can travel by plane from one

town A to another town B. This time you write a recursive rule findRoute/2 that should find the route

(with zero or more airports as intermediate hops) from town A to town B. Your rule not only finds the

route, it also prints the route (showing each hop seperated by a dash or so) on the computer screen. If any

such route does not exist, prolog should respond "false". Run at least 2 querries and show the output (in

2. Task #2:) (20 points) Write a Prolog rule myDelete(A, List1, List2) which deletes all occurrences of

item A from List1 to produce result List2. As an example, running query myDelete(b, [b,c,d,b,c,b],

Result). should give us Resul t Æ [c,d,c]. Then, extend your Prolog rule so that it asks the user for the

name of the output file so that it can present the result in that output file. Test your implementation of the

rule with at least 2 querries and show the results in README. Writing README carries 2 points.

3. Task #3:) Part A: (12 points)Write Prolog code which can solve any given 9x9 Sudoku puzzle. Note that the

textbook has solution for the 4x4 Sudoku puzzle. You need to extend the textbook’s code (i.e., [login to view URL]

on Page 104-105) andmake itwork for the 9x9 puzzle. Test your implementation with at least 2 querries and

show the results in README. Writing README carries 1 point. Note: youmay need an alternative to

library rules fd_all_different and fd_domain depending on your prolog system.

4. Task #3:) Part B: (8 points) Write a Ruby program to do the above (i.e., which can solve any given 9x9

Sudoku puzzle). Run your Ruby program on the same instances of the puzzles as done in Part A. Measure

how much time your program takes and compare that with the time taken by Prolog version.

Skills: Prolog, Ruby on Rails

( 1 review ) Bowling Green, United States

Project ID: #18939709

## 4 freelancers are bidding on average \$64 for this job

cimemi

Hi, I am a software engineer experienced in Prolog (I am using SWI Prolog). I can complete your project within 3 days from awarding, properly tested and commented. Looking forward to hearing from you.

\$100 USD in 3 days
(27 Reviews)
4.7
rmendoza83

Hi, I think I made this exercises before on prolog, I can help you with this, you can check my reviews

\$100 USD in 2 days
(11 Reviews)
4.3
alvinpiter

Hello, I have 2+ years experience working with ruby and I have strong algorithm background (I ranked 895 in here: [login to view URL]). Looking forward to working with you :)

\$30 USD in 3 days
(2 Reviews)
1.6
\$25 USD in 1 day
(0 Reviews)
0.0