logo Hurry, Grab up to 30% discount on the entire course
Order Now logo

Ask This Question To Be Solved By Our ExpertsGet A+ Grade Solution Guaranteed

expert
Hardik DixitSociology
(5/5)

788 Answers

Hire Me
expert
Jessica FullerrPolitical science
(5/5)

643 Answers

Hire Me
expert
Malachi HousePhilosophy
(4/5)

923 Answers

Hire Me
expert
Juber KhanCriminology
(5/5)

892 Answers

Hire Me
Data structures & Algorithms

Write a Placement Algorithm for Directed Acyclic Graph (DAG) to be placed on XY- plane such that cost of the placement is minimized and the solution s optimized.

INSTRUCTIONS TO CANDIDATES
ANSWER ALL QUESTIONS

Write a Placement Algorithm for Directed Acyclic Graph (DAG) to be placed on XY- plane such that cost of the placement is minimized and the solution s optimized.

 

ijaag 18 6 2
21
32
43
54
65
76
8 17
g 18
10 7 2 3
ii 8 3 4
12 9 5 6
13 10 7 8
14 11 1 10
15 12 10 9
16 13 12 8
17 14 1 12
18 15 11 13
1g 16 13 9
20 17 14 15
21 18 7 16


Input File format:

Figure 1

The input file describes a directed acyclic graph (DAG), and all the internal nodes (i.e., nodes other than the PI and PO nodes) in the DAG have exactly two inputs. The first line contains the string “aag” followed by three integers, m, i, and o. m denotes the total number of nodes in the DAG. i denotes the number of primary input nodes (PIs). o denotes the number of primary output nodes (POs). The following i lines list the node ID PI node. The next o lines list the node ID of each PO node. The following lines indicate the (x y z), where y and z are input nodes to x.

nods_IvI
23456
89
12
14
16
18
oj
ill
27
3 10
4 11
s 13
6 15
7 17
B
9


The nodes should be placed according to their levels. Levels of the above DAG can be:

Figure 2

 

Cost Function: Sum of distance between all the edges (Manhattan Distance).

 

As per the above Figure 2, the DAG is been divided into several groups based on their levels.

Levels

Level 1: all the input nodes (1, 2, 3, 4, 5, 6).

Level 2: Output of input nodes (7, 8, 9).

Level 3: Output of level 2 nodes (10)

 

Level 7: output nodes (17, 18)

placement: Each level should be placed on each Column of XY-plane such that the cost function is minimized i.e., the solution is optimized as shown below:

Note that the graph is Directed and Acyclic. Consider two nodes A and B. B is the output node of A ( A → B), if A is placed on x-axis X = 1, then B cannot be placed on X

=1. It should at least be placed on X=2 i.e Nodes of different level cannot be placed on same column.

For example:

Solution 1:

 

Initially, we have to place nodes of each level on same column. Then we have to find the best location of each node based on their adjacent nodes such that the total Manhattan distance is minimized.

Both, solution 1 and solution 2 are accepted. But solution 2 is more optimized.

In solution 1, Level 1 nodes are placed on Column 1, Level 2 are placed on column 2 and so on. Then best location of each nodes is been found based on their adjacent connected nodes.

 

In solution 2, node 1 of column 1 can be placed on column 3 as it is then placed close to its adjacent node 11.

Implement an algorithm to optimize your solution.

Output Format

Environment Issue

The official evaluation platform will be an Ubuntu workstation, gcc and g++ compilers are available. We do not use Windows platform for evaluation, so please include your Makefile.

Project Submission

Source codes and the files should be compressed to .tar file. Please include a Makefile for compiling the codes and a Readme file for relevant information in using the codes. You also need to submit a report which describes and analyzes the algorithm you used.

Related Questions

. The fundamental operations of create, read, update, and delete (CRUD) in either Python or Java

CS 340 Milestone One Guidelines and Rubric  Overview: For this assignment, you will implement the fundamental operations of create, read, update,

. Develop a program to emulate a purchase transaction at a retail store. This  program will have two classes, a LineItem class and a Transaction class

Retail Transaction Programming Project  Project Requirements:  Develop a program to emulate a purchase transaction at a retail store. This

. The following program contains five errors. Identify the errors and fix them

7COM1028   Secure Systems Programming   Referral Coursework: Secure

. Accepts the following from a user: Item Name Item Quantity Item Price Allows the user to create a file to store the sales receipt contents

Create a GUI program that:Accepts the following from a user:Item NameItem QuantityItem PriceAllows the user to create a file to store the sales receip

. The final project will encompass developing a web service using a software stack and implementing an industry-standard interface. Regardless of whether you choose to pursue application development goals as a pure developer or as a software engineer

CS 340 Final Project Guidelines and Rubric  Overview The final project will encompass developing a web service using a software stack and impleme