Great Deal! Get Instant $10 FREE in Account on First Order + 10% Cashback on Every Order Order Now

Wireless Sensor Networks Warning: you must not attempt to get help from external sources such as online sites that offer solutions or obtain code from other students. Any submission for grading must...

1 answer below »
Wireless Sensor Networks Warning: you must not attempt to get help from external sources such as online sites that offer solutions or obtain code from other students. Any submission for grading must be your own work. You must not copy from others or allow your work to be copied. We will check for similarities of code. Any violation will result in your receiving zero for this project or an F for this course. No exception. The lab submission must include a well-written report. Your report must adequately describe your solutions, such as algorithm design, pseudo code, time complexity etc. Total points: 100 This project must be completed using Java and is an individual project. Naming of your programs must strictly follow the following convention: (1) one file for each part; (2) Lab1 followed by your Uid and I for part I (for example Lab1U00998499I.java). Upload only your source code (one file for each part), and a report to the Pilot dropbox. Note: The location of the input file and the output file must be your local directory. In your programs, a directory or a path MUST NOT be used for your input/output files. Use only a file name, i.e, no absolute path. The solution time complexity for this lab is an important consideration in grading. Therefore, you should design and implement your solutions carefully. Test cases will exercise your programs thoroughly. Your programs should efficiently handle potentially large problems. Your code must produce correct solutions for all test cases within 4-5 seconds. Grading. You will be given only 1 simple case in the problem description below. Your solutions will be tested with more cases that are of much larger size. These test cases will NOT be provided to you. In real-world, you never know what the test cases are. Test cases will exercise your programs thoroughly. Therefore, your programs should efficiently handle potentially large problems. Your lab will be graded based on how many test cases you can pass. There will be no partial credit for a case. Therefore, you should devise more cases on your own to test your code. You need to consider border cases and cases of very large size before submitting your lab. Problem A wireless sensor network consists of autonomous sensors scattered in a field where they monitor/detect/track objects and environmental conditions such as temperature, sound, and pressure. In this lab, you are going to process information collected by sensor networks to detect possible objects and regions of interest. Part I. Object Detection A sensor network is deployed in a 2D field (a 2D rectangular grid) to detect objects of interest. For ease of data presentation, the collected sensor data is described by an N×N grid of characters. The characters are in the range A…Z. The object could be an animal or a vehicle of some shape or color. Let the characters represent one of 26 possible colors. As the designer of the sensor network, you know roughly what you plan to detect. We define a potential object of interest (POI) as follows. A POI is a rectangular sub-grid (possibly the entire 2D grid) with sides parallel to the sides of the sensor network field which is a square. We stipulate that a POI must not be contained within any other POI. That is, no smaller subset of a POI is also a POI. Additionally, we expect a POI must contain exactly two colors. One of the two colors forms a contiguous region. The other color forms two or more contiguous regions. A real-world case would be to identify vehicles with camouflage. A region is considered to be contiguous if one can traverse the entire region by moving repeatedly from one cell in the region to another cell in the region taking steps up, down, left, or right (diagonals moves are not allowed). For example, a 2D sensor field may produce sensor data as a rectangle with the following colors CCCCC CBCBC CCCBB This turns out to be a valid POI because the color C forms a single contiguous region and color B forms more than one contiguous region. In this dataset, we may have detected part of a vehicle. In Part I, you are asked to write a program to determine the number of potential objects of interest in the given 2D sensor data set. INPUT FORMAT (file sensor1.txt): The first line of input specifies the size of the sensor field N (where 1≤N≤20). The field is an NxN square. The next N lines describe the data produced by the sensor network. Each line consists of N colors represented by N characters. OUTPUT FORMAT (file sensor1out.txt): Your solution must produce a single integer to indicate the number of potential objects of interest detected in the sensor field. SAMPLE INPUT: 4 DBBZ BBBZ DDBB DBBZ SAMPLE OUTPUT: 2 In the example above, we can detect two potential objects of interest. DBB BBB DDB DBB and BZ BZ BB BZ Part II. Region of Interest In Part II, we use the same sensor network to monitor a field. However, the objective is different. Instead of detecting objects of interest, we are interested in finding out the size of regions of interest. As in Part I, we have a sensor field of NxN square cells. Each sensor reports the “status” of a cell using an integer. Neighboring cells (cells either above, below, left, or to the right) reporting the same “status” form a contiguous region. We do not count diagonal cells with the same “status” as part of the same contiguous region however. Your task is to write software to determine two things: (1) the size of the maximum contiguous region (i.e., count the number of cells) of the same “status”; (2) the size of the maximum contiguous region that shows two different “status”. This kind of contiguous region must have two different “status”, not just one “status”. INPUT FORMAT (file sensor2.txt): The first line of input specifies the size of the sensor field N (where 1≤N≤250). The field is an NxN square of cells. This is followed by N lines. Each of the N lines contains N integers “status” of the sensor reading of the cell (the sensor “status” value is between 0 and 106). The sensor network designer knows that there are at least two different “status” values that will be produced by the sensor network in the sensor field. OUTPUT FORMAT (file sensor2out.txt): Produce two pieces of information in two separate lines: (1) the size of the largest contiguous region that shows the same “status”; (2) the size of the largest contiguous region that shows two different “status”. SAMPLE INPUT: 4 8 3 9 3 4 9 9 2 9 9 2 7 8 2 2 9 SAMPLE OUTPUT: 5 10
Answered 8 days After Mar 11, 2022

Solution

Pawan answered on Mar 20 2022
112 Votes
SOLUTION.PDF

Answer To This Question Is Available To Download

Related Questions & Answers

More Questions »

Submit New Assignment

Copy and Paste Your Assignment Here