Ask Question, Ask an Expert

+61-413 786 465

info@mywordsolution.com

Ask Software Engineering Expert

Part 1: Sequential Processes

Challenge 1

The mazes the bots inhabit are now slightly more complex.  As the bot travels around a maze it may lose or gain resources each time it visits a node. If a bot's resources ever reach 0% the bot dies. Clearly, a bot's resources can never exceed 100%. If a visit to a node would lead a bot's resources exceeding 100%, its resources will be capped at 100%.

You should implement a bot that finds the shortest safe route through a maze.  Your bot will have access to a complete map of the maze, including the resource adjustments in place at each node.  See the code documentation for details on how to access this map, and the information in them.

You will be provided with a number of mazes and associated tester software to test your bots.

Indicative code size: This challenge does not require any major change to the maze traversal algorithm of the bot provided.  The additional code should be significantly smaller than the traversal code already provided.

Challenge 2

This is similar to challenge 1.  Again visiting a node will affect a bot's resources.  The difference is that a bot will no longer have access to a map of the maze.  Instead the bot will need to explore the maze and build up a map.  The bot can access information about its current location and the immediately neighbouring nodes.  This includes information about the location names and the resource adjustments in force at those locations.  The bot can use this information to build up its map.  The bot can at any time leave a copy of its current map in the maze.  This copy will be available throughout the maze, and will overprepare any previous map left in the maze.  See the code documentation for details on how to access the information about the locations, and for details on how to manage maps.

A series of bots will be sent through the maze.  You will need to implement a combination of bots.  Earlier bots will need to explore the maze, building up a map of the maze for later bots to use.  The later bots will be able to use the maps left by earlier bots, and will be similar, if not identical, to the bots from challenge 1.

You will be provided with a number of mazes and associated tester software to test your bots.

Indicative code size: This challenge requires the development of a new traversal strategy to implement the exploration phase of the bots.  This is likely to require code of approximately the same order of size as the traversal code provided.

Challenge 3

This is similar to challenge 2.  The only difference is that the bots will no longer have direct access to information about the resource adjustments in force at their current location, or at the directly neighbouring locations.  The bots will need to deduce this information from observation of their own resource levels.  See the code documentation for details on how to access this information.

You will again need to implement a combination of explore bots and challenge 1 type bots.

You will again be provided with a number of mazes and associated tester software to test your bots.

Indicative code size: This challenge should not require any major changes to the traversal strategy developed for challenge 2.  The code additional to challenge 2 should be significantly smaller than the traversal code provided with the basic bot.

 

Challenge 4

In this challenge bots will only be able to leave copies of their maps at their current locations.  This means that explorer bots may need to return to the maze's entrance node(s) in order to leave their maps there for the use of any future bots.

You will, of course, again be provided with a number of mazes and associated tester software to test your bots.

Indicative code size: This challenge will require an additional traversal strategy allowing the bot to return to the entrance node(s) to leave copies of its map.  The code additional to challenge 4 is likely to require code of approximately the same order of size as the traversal code provided in the basic bot.

Part 2: Concurrent Processes

There will now be multiple bots in a maze, although these will now be the simple mazes, without any resource adjustment at the nodes.  Instead, the bots' resources will be affected by deals between the bots.  Whenever two bots meet at a node they will trade with each other.  Each bot must decide whether or not to cooperate with the other bot.  If both bots cooperate they will both have their resources increased by 10% (absolute - e.g. if a bot's resources were 60% they will be increased to 70%, not 66%).  If neither bot chooses to cooperate (i.e. they both "defect") they will both be punished by having their resources reduced by 5% (absolute).  If one bot cooperates and the other defects the one cooperating will suffer for its naïvety by having its resources reduced by 20% (absolute), and the defecting bot will be rewarded for its audacity by a 30% (absolute) increase in its resources.  Again, resources will be capped at 100%, and a bot whose resources drop to 0% will die. This is summarised in the following table:

Challenge 5 - 

Deals between bots are brokered by the nodes in the graph.  A bot will, from its point of view:

  • enter a node;
  • if there is a bot waiting

then do a deal with that bot

else wait for a bot to arrive (and then do a deal)

end if;

  • choose next node;
  • go to next node;

From a node's point of view this same process is seen as:

  • bot A arrives;
  • if there is a bot, B say, waiting to do a deal

then broker a deal between A and B

else get A to wait at this node

end if;

For this challenge you must implement this behaviour for nodes.  The bots will be independent threads, and you will have to use Java's concurrency mechanisms to manage these threads, ensuring that bots wait as necessary, and resume execution correctly.  You must also ensure that the bots' resources are adjusted correctly according to the outcome of the deals.  See the code documentation for details of how to ask bots whether they are going to cooperate or defect on a deal, and on how to adjust the bots' resource levels.

You will be provided with sets of bots to test your node and associated tester software to test your code.

Indicative code size: This challenge should be no more challenging than the tutorial exercises on synchronisation and communication between concurrent processes in Java.  See the tutorial model answers for an indication of the complexity of code likely to be required.

Challenge 6

Challenge 6 is similar to challenge 5, but is made more complicated by the fact that bots may decide to completely distrust other bots.  If one bot distrusts another it is not willing to trade with that other bot.  Consequently if, for ex, bot A is waiting at a node to do a deal, and bot B arrives, but either bot A distrusts bot B, or bot B distrusts bot A, then both bot A and bot B will have to wait for other bots to arrive before they can do a deal.

From the node's point of view the process is now:

  • bot A arrives;
  • if there is a bot, B say, waiting to do a deal

and B is willing to trade with A

and A is willing to trade with B

then broker a deal between A and B

else get A to wait at this node

end if;

For this challenge you must implement this behaviour for nodes, using Java's concurrency mechanisms. 

Indicative code size: This challenge will probably require the use of some more advanced Java synchronisation tools and will probably result in code of the order of 2 to 3 times the length of the challenge 6 code.


Attachment:- Assignment_Files.zip

Software Engineering, Computer Science

  • Category:- Software Engineering
  • Reference No.:- M913952
  • Price:- $70

Priced at Now at $70, Verified Solution

Have any Question?


Related Questions in Software Engineering

Address the following integrating biblical perspectives

Address the following, integrating biblical perspectives where appropriate: Define a hate crime and describe how white supremacist groups use the Internet to spread their message of hate. Explain why hate crime legislati ...

Assignment part 1objectives to learn to identify the

Assignment Part 1 Objectives: To learn to identify the relevant use cases for a given application, describe the use cases and develop an object-oriented domain model. Problem Statement - Standing Orders Management System ...

Proposaldesign of an efficient gps tracking system tag for

Proposal Design of an efficient GPS Tracking System (tag) for monitoring small species IMPLEMENTING EMBEDDED SYSTEMS USING SYSML Task Using PapyrusSysML Software (Downloadable online - Evaluation Copy- Latest Version) Mo ...

Instructions - onion routingin this assignment you will

INSTRUCTIONS - ONION ROUTING In this assignment, you will answer the following questions related to Onion Routing and Tor. 1. Describe the infrastructure of Onion Routing and explain how it works for providing anonymity ...

In this assignment you will answer the following questions

In this assignment, you will answer the following questions related to Android platform and Android security design. 1. Describe Android architecture in detail by explaining the four conceptual layers. 2. Describe Androi ...

In this assignment you will answer the following review

In this assignment, you will answer the following review questions from the reading materials of the module/week. 1. "What are the key components of a typical P2P application? Describe their functions." 2. "What are the ...

Write reply to this article with references with apa

Write reply to this article with references with APA bibliography. Hate Crimes Over the past couple of years, hate crimes have been on the rise in America's largest cities. Studies show that there were sharp spikes in th ...

Write review on this article with apa formatalthough

Write review on this article with APA format. Although computer crimes are being seen in our society more and more each day, it is still difficult to prosecute people who commit these crimes mainly because everything is ...

Research projectin the course we have covered various

RESEARCH PROJECT In the course, we have covered various security and privacy issues that arise in the cyberspace field. We have learned to identify these risks and have discussed the current approaches and developments f ...

Assignment lab - statement of workclient liberty vacation

Assignment Lab - Statement of Work Client: Liberty Vacation Planning Inc. (LVP) Project: Website Assessment 1. Project Objectives With this statement of work, LVP is engaging you to conduct a website assessment to determ ...

  • 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

Why might a bank avoid the use of interest rate swaps even

Why might a bank avoid the use of interest rate swaps, even when the institution is exposed to significant interest rate

Describe the difference between zero coupon bonds and

Describe the difference between zero coupon bonds and coupon bonds. Under what conditions will a coupon bond sell at a p

Compute the present value of an annuity of 880 per year

Compute the present value of an annuity of $ 880 per year for 16 years, given a discount rate of 6 percent per annum. As

Compute the present value of an 1150 payment made in ten

Compute the present value of an $1,150 payment made in ten years when the discount rate is 12 percent. (Do not round int

Compute the present value of an annuity of 699 per year

Compute the present value of an annuity of $ 699 per year for 19 years, given a discount rate of 6 percent per annum. As