Implement a rule crypto that solves cryptarithmetic problems

Assignment Help Programming Languages
Reference no: EM131372339

Programming Languages Homework

Write the following as Prolog rules: 

1. Implement a rule "dogEnthusiast". Someone is a "dogEnthusiast" if they own AT LEAST TWO dogs. Assume that the only types of facts available are: 

"owner" facts of the form owner(p,n), meaning that person p owns animal named n.

"breed" facts of the form breed(a,b), meaning that animal named a is of type b.

For example: 

owner(fred,fido) means that a person named "fred" owns an animal named "fido". 

breed(fido,dog) means that the animal named "fido" is a dog. 

breed(leo,cat) means that the animal named "leo" is a cat. 

dogEnthusiast(sam) would be true if sam owned two different animals that were dogs.

2. Implement "listPicker" as a Prolog rule.

For example, the query:listPicker([42,3,99,7],[4,3,3],M) should result in Prolog's response:M = [7,99,99]. You only need to handle lists that contain integers.

3. Implement a rule "crypto" that solves the following cryptarithmetic multiplication problem:

TOCK * TOCK = GRIPTOCK

Each of the 4 letters (T,O,C,K) stands for a different digit. The 4 letters (G, R, I, P) can each be matched by any digit. The aim is to find a substitution of digits for the letters such that the above stated product is arithmetically correct. Your program should find all answers. It should be possible to query your solution in this manner:

?- crypto(G,R,I,P,T,O,C,K).

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

Make sure you never let T=C, or C=K, etc... all of the distinct letters T,O,C,K have to stand for distinct digits.

Don't be surprised if it takes your computer a while to solve this problem. Use generate-and-test!

4. Implement a rule "interleave" that takes two lists, and combines them into a single list by alternating the elements. For example:

?- interleave([3,4,5],[7,8,9],X) should respond X=[3,7,4,8,5,9]

If the two lists are different lengths, include the excess elements at the end of the result list, with a "999" inserted first. For example:

?- interleave([1,2],[4,5,6,7],X) results in X=[1,4,2,5,999,6,7] 

?- interleave([1,2,3,4],[6,7],X) results in X=[1,6,2,7,999,3,4]

5. Convert "digitinc" into a Prolog rule. For example:

?- digitinc(22897,X) should respond X=33908.

Submit your solutions in a single file.

Problem 2 & 5 - Reference

"listPicker"

-  Inputs two lists the first list is the data and second list is the picker, and Outputs a list of values in the data list ref. by values in picker list.

"digitinc"

-  Takes as input integers with an arbitrary number of digits, and returns another digit integer constructed of the original input integer's digits, each incremented.  

Instructions for Prolog Assignment- Note the following:  

  • I recommend using the SWI-Prolog system.
  • You are only allowed to use basic functions which do not make the problems trivial.

Reference no: EM131372339

Questions Cloud

Discuss use of binary tree when searching for keys in array : Discuss the use of a binary tree when searching for keys in an array.
Contingency leadership and situational leadership : What are the differences and similarities in contingency leadership and situational leadership. How are contingency leadership and situational leadership important to how successful an organization becomes.
Identify the predominant design : After comparing Mintzberg s five basic organizational configurations (See Figure 12.8 ), identify the predominant design that works best for a health care organization. Please be sure to provide evidence to support your organizational design selec..
When performing logistics support analysis : When performing a logistics support analysis (LSA) you would have an activity that include LCC or LORA? I need to know if this statement is either true or false. This deals with the topic logistics. Give detail proof that its either true or false.
Implement a rule crypto that solves cryptarithmetic problems : Implement a rule "crypto" that solves the following cryptarithmetic multiplication problem: Each of the 4 letters (T,O,C,K) stands for a different digit. The 4 letters (G, R, I, P) can each be matched by any digit. The aim is to find a substitution..
Different resource required from entrepreneurial undertaking : Describe how the stakeholders will be apprised of the project's ongoing risk management activities? Identify and Explain 10 different resources required from Entrepreneurial undertaking. Describe the Importer Security Filing (ISF) (or called 10+2). W..
Explain the situation and why it is an ethical problem : Explain the situation and why it is an ethical problem. Propose a workable solution to the problem and why you believe this solution will work.
Can you see a possible conflict here for shuttles : There are also time-related behaviors to take account of: morning arrivals, evening departures, and local peaks of activity around lunchtimes?
How the balance between these two sets of data varies : Report on the statistical information that is being gathered by taxis and the passenger source; also on taxi idle time and missed pickups. Experiment with different numbers of taxis to see how the balance between these two sets of data varies.

Reviews

Write a Review

Programming Languages Questions & Answers

  Write a haskell program to calculates a balanced partition

Write a program in Haskell which calculates a balanced partition of N items where each item has a value between 0 and K such that the difference b/w the sum of the values of first partition,

  Create an application to run in the amazon ec2 service

In this project you will create an application to run in the Amazon EC2 service and you will also create a client that can run on local machine and access your application.

  Explain the process to develop a web page locally

Explain the process to develop a Web page locally

  Write functions

These 14 questions covers java class, Array, link list , generic class.

  Programming assignment

If the user wants to read the input from a file, then the output will also go into a different file . If the user wants to read the input interactively, then the output will go to the screen .

  Write a prolog program using swi proglog

Write a Prolog program using swi proglog

  Create a custom application using eclipse

Create a custom Application Using Eclipse Android Development

  Create a application using the mvc architecture

create a application using the MVC architecture. No scripting elements are allowed in JSP pages.

  Develops bespoke solutions for the rubber industry

Develops bespoke solutions for the rubber industry

  Design a program that models the worms behavior

Design a program that models the worm's behavior.

  Writing a class

Build a class for a type called Fraction

  Design a program that assigns seats on an airplane

Write a program that allows an instructor to keep a grade book and also design and implement a program that assigns seats on an airplane.

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