Ask Question, Ask an Expert

+1-415-315-9853

info@mywordsolution.com

Ask Computer Engineering Expert

For this assignment you will study and implement Korf’s algorithm for finding optimal solutions to random instances of Rubik’s Cube. Included with the assignment is a copy of Korf’s original paper. You should begin by reading the paper. Korf initially suggest using an iterative deepening version of A* (IDA*) with the heuristic. However, he points out that the inaccuracy of this heuristic results in too many nodes generated and therefore too much time to compute a solution. His answer to this problem is to precompute the heuristic for three components of the cube (corners, sides, sides) and store the values in a table. If these tables are small enough to be kept in memory, they can be referenced as part of the heuristic function. The assignment then breaks down into two steps:

1. Precompute the three tables for Korf’s heuristic and store the tables in a file. Be sure to choose a representation that is memory-efficient.

2. prepare a program that takes an arbitrary cube state as input and outputs an optimal solution move sequence. Your program should read in the tables that you precomputed, and use IDA* and Korf’s heuristic to find the solution.

I/O

For both input and output we will use the letters {R, O, Y, G, B, W} to represent the colors {Red, Orange, Yellow, Green, Blue, White}, respectively.

Input

For input your program should take the name of a file that will contain an arbitrary cube state. The file will contain a specific two dimensional representation of the cube, using the letters above to describe each cube face. The structure of the two dimensional representation will be as follows:

1850_cube face.jpg


Sample Files
The goal state would be:                             A valid non-goal state would be:
RRR                                                                    GGW
RRR                                                                    RRG
RRR                                                                    RRG                                                              
GGGYYYBBB                                                   OWWGGOYYR
GGGYYYBBB                                                   OGOYYYRBR
GGGYYYBBB                                                   YYYRBGRWW
OOO                                                                  BOY
OOO                                                                  BOB
OOO                                                                  BOB
WWW                                                                OGO
WWW                                                                WWB
WWW                                                                WWB

All spaces should be ignored when reading the files. Note that the six center faces are always the same in any valid state.
Invalid States

Not all arrangements of the faces are reachable from the goal state. The first thing your program should do is check that the input state is valid. If not, the program should output a message indicating that the state is invalid and terminate.

Output

Your program should output the optimal solution sequence for the input state as a string to standard input. The format of the solution sequence will be a string with two characters per move. The first character will be the color of the center cubie of the face to be rotated. The second character will be the number of 90° clockwise rotations, i.e. ∈ {1, 2, 3}. E.g., for the above non-goal state, the optimal solution would be O1W1R1Y3.

Language

You may use a programming language of your choice for this assignment. You are responsible for choosing a programming language and making it work. If you plan to use a non-standard language, be sure to start early so you have time to change languages if your approach does not work.

Report

In addition to the source code, report must contains the following:

• Explanation of your approach for computing and storing the tables

• Details about the tables, including number of entries and memory requirements

• Instructions for running your program

• Solutions for the ten sample states (to be provided)

Computer Engineering, Engineering

  • Category:- Computer Engineering
  • Reference No.:- M91571

Have any Question? 


Related Questions in Computer Engineering

Economics and knowledge are related while fundamental

Economics and knowledge are related. While fundamental economic concepts remain the same, obtaining and applying knowledge has made the process of economic theory more practical. In the following discussion, consider the ...

Using table 2212 which contains the nist recommended key

Using Table 22.12, which contains the NIST recommended key sizes of the same security strength for both FFC and ECC, determine the length of p and the length of the private key x when using the D-H protocol for establish ...

1 define what the project management framework is and

1) Define what the project management framework is and explain what pieces make up the framework. What are the processes and framework? What is the purpose of having a framework? Note: The answer should be between 500 to ...

Can you please help me with thishotel occupancya hotels

Can you please help me with this? Hotel occupancy: a hotel's occupancy rate is calculated as follows: occupancy rate = number of rooms occupied / total number of rooms Write a program that calculates and display the occu ...

Cluster analysisattached filesbull week 4 cluster

Cluster Analysis Attached Files: • Week 4 Cluster Data.xlsx Included with this assignment is an Excel spreadsheet that contains data with two dimension values. The purpose of this assignment is to demonstrate steps perfo ...

In 100 word discuss bribery would actions such as

In 100 word, discuss bribery. Would actions, such as politicians adding earmarks in legislation or pharmaceutical salespersons giving away drugs to physicians, constitute bribery? Identify three business activities that ...

How would your answers to exercise 107 change if attribute

How would your answers to Exercise 10.7 change if attribute a is not a candidate key for R? How would they change if we assume that records in R are sorted on a? Exercise 10.7 Consider a relation R(a, b, c, d) containing ...

Describe the entity-relationship model how are entities

Describe the entity-relationship model. How are entities, relationships, and attributes represented in this model? What is a composite entity? Describe the approach to diagrams that use a crow's foot. Describe how you wo ...

Give brief answers to the following questions1 what is a

Give brief answers to the following questions: 1. What is a transaction? In what ways is it different from an ordinary program (in a language such as C)? 2. Define these terms: atomicity, consistency, isolation, durabili ...

Your final project is to look ahead to october when apple

Your final project is to look ahead to October when Apple will change Xcode from Objective C to SWIFT. In this project you will use your Xcode skills learned in this course to do a SWIFT project. Read the overview for th ...

  • 4,153,160 Questions Asked
  • 13,132 Experts
  • 2,558,936 Questions Answered

Ask Experts for help!!

Looking for Assignment Help?

Start excelling in your Courses, Get help with Assignment

Write us your full requirement for evaluation and you will receive response within 20 minutes turnaround time.

Ask Now Help with Problems, Get a Best Answer

A cola-dispensing machine is set to dispense 9 ounces of

A cola-dispensing machine is set to dispense 9 ounces of cola per cup, with a standard deviation of 1.0 ounce. The manuf

What is marketingbullwhat is marketing think back to your

What is Marketing? • "What is marketing"? Think back to your impressions before you started this class versus how you

Question -your client david smith runs a small it

QUESTION - Your client, David Smith runs a small IT consulting business specialising in computer software and techno

Inspection of a random sample of 22 aircraft showed that 15

Inspection of a random sample of 22 aircraft showed that 15 needed repairs to fix a wiring problem that might compromise

Effective hrmquestionhow can an effective hrm system help

Effective HRM Question How can an effective HRM system help facilitate the achievement of an organization's strate