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

1 which fields in a log entry will be accessed for the

1. Which fields in a log entry will be accessed for the given log processing function? Assuming 64-byte cache blocks and no prefetching, how many cache misses per entry does the given function incur on average? 2. How ca ...

1 assuming there are no stalls or hazards what is the

1. Assuming there are no stalls or hazards, what is the utilization of the data memory? 2. Assuming there are no stalls or hazards, what is the utilization of the write-register port of the "Registers" unit? 3. Instead o ...

1 what methods does a social engineering hacker use to gain

1. What methods does a social engineering hacker use to gain information about a user's login id and password? How would this method differ if it were targeted towards an administrator's assistant versus a data-entry cle ...

1 provide junit test class taxreturntest with three test

1. Provide JUnit test class TaxReturnTest with three test methods that test different tax situations for the TaxReturn class in Chapter 5. 2. Write methods that show the letters H, E, L, O on the graphics window, where t ...

Repeat exercise p27 but apply the darker method twice to

Repeat Exercise P2.7, but apply the darker method twice to the object Color.RED. Call your class DarkerDemo. Exercise P2.7 In the Java library, a color is specified by its red, green, and blue components between 0 and 25 ...

Answer all 9 questionsshort answer 1-810 points each with

Answer All 9 questions Short Answer 1-8[10 points each with each about 3/4 - 1 page double-spaced]: 1. If the spot rate for Swiss Francs versus US Dollars is one SF equals 1.05 US$, and the annual interest rate on fixed ...

1 if the drain and gate supply voltages are dropped to 06v

1. If the drain and gate supply voltages are dropped to 0.6V and the oxide reduced to 40A as indicated by a recent (1989-1990)IBM 0.1-micron Si nMOST at 77K, compute the device parameters required in Table 662.1. Discuss ...

1 list and describe the four basic conversion strategies as

1. List and describe the four basic conversion strategies (as described in the chapter) that are used when converting to a new system. Under which circumstances is each of these the best approach? 2. What is technology g ...

The rsa encryption algorithm is based on the fact that it

The RSA encryption algorithm is based on the fact that it is hard to factor a large number (250+ digits). If you were able to factor a large number quickly how would you be able to find the encryption ( e ) and decryptio ...

1 evaluate the map method of your implementation of the

1. Evaluate the map() method of your implementation of the Colormap ADT from the previous question to determine the worst case time-complexity. 2. Colormaps are used in color quantization, which is the process of reducin ...

  • 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

Section onea in an atwood machine suppose two objects of

SECTION ONE (a) In an Atwood Machine, suppose two objects of unequal mass are hung vertically over a frictionless

Part 1you work in hr for a company that operates a factory

Part 1: You work in HR for a company that operates a factory manufacturing fiberglass. There are several hundred empl

Details on advanced accounting paperthis paper is intended

DETAILS ON ADVANCED ACCOUNTING PAPER This paper is intended for students to apply the theoretical knowledge around ac

Create a provider database and related reports and queries

Create a provider database and related reports and queries to capture contact information for potential PC component pro

Describe what you learned about the impact of economic

Describe what you learned about the impact of economic, social, and demographic trends affecting the US labor environmen