Cryptarithmetic problem in artificial intelligence, Computer Engineering

Assignment Help:

Solve the following cryptarithmetic problem using Prolog:

P I N G
P O N G
+ F U N
---------
I G N I P

Each of the 7 different letters stands for a different digit. The aim is to find a substitution of digits for the letters such that the resulting sum is arithmetically correct. Your program should find ALL answers, that do not have leading zeros.

It should be possible to query your solution in this manner:

?- crypt(P,I,N,G,O,F,U).

Your solution should then produce all of the combinations of the digits that satisfy the addition problem above. Don't get
confused between the letter "O" and the number "0" (zero).

HINT - use generate-and-test.

HINT - make sure you never let P=N, or G=F, etc... all of the
distinct letters have to stand for distinct digits.

2. Assume that you have a set of facts about airline flights in the following format:
flight(Number,Source,Dest,Leaves,Arrives).
for example:
flight(22,la,ny,10,15).
means that flight #22 leaves "la" at 10am and arrives
in "ny" at 3pm (assume a 24-hr clock, integers only).

Write the following rules:

-- long(Number,Time)
is true for flights which are in the air longer than Time.
-- route(Source,Dest)
is true for each pair of cities for which there is some sequence of flights starting at Source and ending at Dest.
(it doesn't have to display the route, just be true if there is a route).

You may assume that all flights are completed within the 0-24 time period.... that is, you DON'T have to worry about flights
which arrive after the clock "wraps around" back to zero.
The best solutions are queryable.


Related Discussions:- Cryptarithmetic problem in artificial intelligence

Which algorithm is used to solve computational problems, Which algorithm is...

Which algorithm is used to solve computational problems If we want to solve any problem then we use a series of well-defined steps. These steps are collectively known as algori

What is byte addressable memory, What is byte addressable memory? The a...

What is byte addressable memory? The assignment of successive addresses to successive byte locations in the memory is known as byte addressable memory.

Program testing and debugging, Program testing and debugging: Program ...

Program testing and debugging: Program testing is the method of checking program, to verify that it satisfies its needs and to detect errors. These errors can be of any type-

Explain about parallel programming environment, Q. Explain about parallel p...

Q. Explain about parallel programming environment? The parallel programming environment comprises of a debugger, an editor, performance evaluator, programme visualizer for incr

How aliases are used in DNS, How aliases are used in DNS? Explain. CNAM...

How aliases are used in DNS? Explain. CNAME entries are analogous to a symbolic link in a file system- the entry gives an alias for other DNS entry. Corporation of expertsmind

What is artificial intelligence robotics, Artificial Intelligence Robotics ...

Artificial Intelligence Robotics covers all the material required to understand the principles behind the AI approach to robotics and to program an artificially intelligent robot f

Concurrently read concurrently write, Q. Concurrently read concurrently wri...

Q. Concurrently read concurrently write? It is one of the models derived from PRAM. In this model the processors access the memory locations simultaneously for reading and writ

The function code currently active, The Function code currently active is a...

The Function code currently active is ascertained by what Variable? The function code at present active in  a Program can be ascertained from the SY-UCOMM  Variable.

Determine the uses of memory blocks, Determine the Uses of memory blocks. ...

Determine the Uses of memory blocks. Not as common a technique though something to consider. As Verilog has a very convenient syntax for declaring and loading memories, you ca

What is the concept of lock, Q. What is the Concept of Lock? Locks are ...

Q. What is the Concept of Lock? Locks are used for protected access of data in a shared variable system.  There are numerous kinds of locks:  1)  Binary Locks: These locks a

Write Your Message!

Captcha
Free Assignment Quote

Assured A++ Grade

Get guaranteed satisfaction & time on delivery in every assignment order you paid with us! We ensure premium quality solution document along with free turntin report!

All rights reserved! Copyrights ©2019-2020 ExpertsMind IT Educational Pvt Ltd