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

Typewriters with special attachments, Typewriters with special attachments ...

Typewriters with special attachments Certain special attachments can be used to the typewriter for typing work of a special nature. These are: The continuous stationery dev

List the various file attributes, List the various file attributes. A f...

List the various file attributes. A file has certain other attributes, which differ from one operating system to another, but typically consist of these: Name, identifier, type

Explain the stack storage allocation model, Explain the stack storage alloc...

Explain the stack storage allocation model. In a stack-based allocation, all objects are allocated in last-in, first-out data structure and a stack. For example: Recursive subr

How does the computer execute a program, Let's attempt to answer a fundamen...

Let's attempt to answer a fundamental question: 'How does the Computer execute a Program?' Let's describe this with the help of an example from higher level language domain. Pr

Explain micro-operations performed by cpu, Q. Explain Micro-operations perf...

Q. Explain Micro-operations performed by CPU? The micro-operations performed by CPU can be categorized as:    Micro-operations for data transfer from register-memory, re

Explain the regular expression and transition diagram, State the relation a...

State the relation among Regular Expression, Transition Diagram and Finite State Machines. By using a simple instance establish your claim.   Answer: For each regular language,

How to use multiple source files in php, a. How to use source files in PHP?...

a. How to use source files in PHP? Define with examples. b. What are benefits of PHP sessions? How is a PHP session formed? c. What is XML and explain its utility? Design an

Advantages and disadvantages of e-commerce, E-commerce is one of the most s...

E-commerce is one of the most significant aspects of the internet. Having emerged recently and growing at a steady state, it becomes essential to look at the advantages and disadva

Differentiate between exception and validation testing, Differentiate betwe...

Differentiate between exception and validation testing. - Validation testing is done to test the software in conformance to the needs specified. It aims to demonstrate that the

Display frames (horizontal and vertical lines) in lists, How can you displa...

How can you display frames (horizontal and vertical lines) in lists? You can show tabular lists with horizontal and vertical lines (FRAMES) using the ULINE command and the syst

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