Algorithms, Computer Engineering

Assignment Help:
Design an algorithm (using pseudocode) that takes in as an input, two 2-D int arrays that are assumed to be 2 black-and-white images: initialImage x, whose dimensions are IxJ, and finalImage y, whose dimensions are IxK. The algorithm will compare x to the y, row-by-row, as defined below. Your algorithm will employ a dynamic programming scheme to compare X to Y identifying the minimal difference between each row.

Because you are working with black-and-white images only, you should assume that each image is a 2-D int array consisting of 2 possible values: 0 or 1, where 0 represents black and 1 represents white. Thus, this 2-D grid of 0 and 1 values comprise a 2-D black-and-white image. Each row of this image is then simply a 1-D int array filled with either 0s or 1s. Therefore, you must define how you will measure the difference between the strings of 0s and 1s in each row.

Remember that you will do the comparison one row in the images at a time.

First, compare X1,* to Y1,*. (Here X1,* is the first row in image X and Y1,* is the first row in image Y ). Next, compare X2 to Y2... Each one of these comparisons will require the construction of a D (distance) matrix.

In the following example, the first row of X is X1,*, and the first row of Y is Y1,* = 00110.



Use the following recurrence relation to develop your pseudocode:



After the D matrix is completed, the minimum number in the bottom row is the minimal mismatch for this row. You will assign this value to the variable minVali. This number tells how different row X1,* is from row Y1,* . You will then repeat this comparison for all rows i and aggregate the difference when complete into variable totalDifference = Si minVali.

As a result, the algorithm will compare the total difference to a threshold value called thresh. If total value is above the threshold, the images are declared different, otherwise they are declared to be similar images. You can assume that the thresh variable is supplied as an input to your algorithm.

Part 1

Create a portfolio that includes all previous IPs.

Part 2a:

Design pseudocode for the image comparison algorithm discussed above, given input Images X, Y, and thresh. The output is a declaration: The images are similar, or the images are different.

Part 2b:

Discuss the optimality of the dynamic programming solution. Discuss the time complexity of this algorithm in terms of the size of the inputs X and Y.

Related Discussions:- Algorithms

How call processing takes place, How call processing takes place? Fund...

How call processing takes place? Fundamental Call Procedure: Fig. demonstrates a simplification diagram exemplifying how two telephone sets (as subscribers) are interconnecte

Explain the t flip flop, Explain the T Flip Flop? The toggle, or T, fli...

Explain the T Flip Flop? The toggle, or T, flip-flop is the bistable device that changes state on command from a common input terminal.   Truth Table

What is an i/o interface, What is an I/O Interface? Input-output interf...

What is an I/O Interface? Input-output interface provides a method for transferring binary information among internal storage, like memory and CPU registers, and external I/O d

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

What is instruction cycle, What is Instruction Cycle A program residing...

What is Instruction Cycle A program residing in the memory unit of the computer having of a sequence of instructions.  The program is implemented in the computer by going throu

Simplify following using k-map, Q. Explain XNOR gate with three input varia...

Q. Explain XNOR gate with three input variable and draw necessary circuits. Q. Simplify FOLLOWING Using K-Map 1. m0 + m1 + m6 + m7 + m12 + m13 + m8 + m9 2. m0 + m2 + m4 +

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

Explain the significance of encryption, Problem: (i) What are the main...

Problem: (i) What are the main threats that an organisation holding sensitive data, such as Public Data, on computer storage must guard against? (ii) To protect such data,

How many flip flops are required to construct decade countr, How many flip ...

How many flip flops are required to construct a decade counter ? Ans. 4 FlipFlop's are required because decade counter counts 10 states from 0 to 9 (that is from 0000 to 1001).

How can a shift register be used as a counter, What is a shift register? Ca...

What is a shift register? Can a shift register be used as a counter? If yes, explain how?     Ans: Shift Register: A register wherein data gets shifted towards left or right

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