Populate the graph with edges connecting concepts

Assignment Help Software Engineering
Reference no: EM13909461

Algorithms and Complexity

The problem statement:

A trout is a fish. 
A TIGER IS A CAT.
A fish has gills. 
A TIGER HAS-STRIPES . 
A fish has fins. 
A TIGER IS WILD .
Fish is food.
A TABBIE IS A CAT .
Fish is animal.
A TABBIE HAS-STRIPES 
An apple is a fruit. 
A TABBIE IS A PET .
Fruit has a stem. 
A FLAG HAS-STRIPES
Fruit is food. A trout is a fish. A FLAG IS AN ARTIFACT
Fruit is vegetable. A cod is a fish. A CAT IS A MAMMAL .
An animal is a living thing. A trout lives in freshwater.  A MAMMAL IS AN ANIMAL . 
A vegetable is a living thing. A cod lives in saltwater.  A DOG IS A MAMMAL .

The knowledge, as expressed by the statements above, needs to be represented by a directed and labelled graph. This graph is meant to provide an insight into the world of some species, to be represented by vertices, and their properties, to be represented by labelled edges. This structure shall provide a mini knowledge base, which can provide answers to questions about properties of species, e.g., what is a vegetable.

Your tasks and deliverables:

A) Download the zipped Java skeleton source code (.java files) already implementing a weighted directed graph via an adjacency matrix, together with the text (KnowledgeStatements.txt) input data file including the statements above, as well as the stdlib.jar library. You can do so by
• Logging on to Blackboard at https://www.westminster.ac.uk/blackboard;
• Go to the relevant module Blackboard site, folder Assessment;

B) Unzip and create the project to work with (see also programming assignment checklist below)

C) Modify the logic of the application in the Main class, as well as the implementation of the supportive data structures, i.e., Graph and Vertex, in such a way that the following tasks are accomplished:

1. Populate the graph vertices (nodes) with all concepts/classes appearing in the knowledge statements above. For instance, Food, Apple, Stem Cat, Tabbie, Dog, etc.

2. Populate the graph with edges connecting concepts/classes as of the given statements above. You need to consider that these edges will be labelled by the predicate in the given statements. For instance, Fruit has a stem shall be represented by the nodes ‘Fruit' and ‘Stem' being connected by the directed edge (direction from Fruit to Stem), which will be labelled by the predicate "has a".

3. Implement a console/ terminal type of interaction upon which the following operations can be selected after successful compilation and running of the programme:

a) A DISPLAY method or operation, which displays all the inputted knowledge statements as of the input text file knowledgeStatements.txt, each statement in a different row;

b) A SEARCH method or operation, which receives as input an arbitrary concept/class and returns all meaningful inheritance relationships. For instance, SearchGenealogy(Trout) shall return Fish and Food as an answer.

c) A SEARCH method or operation, which receives as input an arbitrary concept/class and returns all associated features. For instance, SearchFeatures(Fish) shall return has gills, has fins, is food, is animal, as an answer.

4. Estimate the performance in terms of order of growth classifications, for both SEARCH operations, and justify your performance analysis by putting forward comments in plain English on top of the Main class and programme file.

5. Submit a zipped archive of the source and executable code (e.g., in Java, .java and .class files, respectively), ready for compilation and execution.

Reference no: EM13909461

Questions Cloud

What is the value of martell minings stock : Martell Mining Company's ore reserves are being depleted, so its sales are falling. Also, because its pit is getting deeper each year, its costs are rising. As a result, the company's earnings and dividends are declining at the constant rate of 9% pe..
What is the stocks expected price : A stock is expected to pay a dividend of $2.00 the end of the year (that is, D1 = $2.00), and it should continue to grow at a constant rate of 5% a year. If its required return is 13%, what is the stock's expected price 1 years from today?
Calculate the average check per meal period : An owner invested $180,000 in a new family-style restaurant, of which $160,000 was immediately used to purchase equipment and $20,000 was retained for working cash. Calculate the average check per meal period that will cover all costs, including desi..
What is your current mortgage balance outstanding : Suppose you currently have a mortgage with 10 years remaining with annual payments (the next one coming in exactly one year) at a rate of 6%. The original mortgage amount was a 20-year mortgage for $1 million. What is your current mortgage balance ou..
Populate the graph with edges connecting concepts : Populate the graph with edges connecting concepts/classes as of the given statements above. You need to consider that these edges will be labelled by the predicate in the given statements
Show that for all sample functions except set of probability : Show that for all sample functions N(t, ω), except a set of probability 0, N(t, ω)/t 2/M for all sufficiently larget. Note: Since M is arbitrary, this means that lim N(t)/t = 0 WP1.
Future of managed health care delivery systems : Future of Managed Health Care Delivery Systems.Use eight to ten scholarly and/ or peer-reviewed sources and  the following guide as you write your proposal and bibliography
Cash flows are expected to grow at an annual rate : You are evaluating the potential purchase of a small business currently generating $42,500 after-tax cash flow (Do=$42,500). On the basis of a review of similar-risk investment opportunities, you must earn an 18% rate of return on the proposed purcha..
What changes would you make to the provided schema : What changes would you make to the provided schema

Reviews

Write a Review

Software Engineering Questions & Answers

  What is the cost variance and schedule variance

What is the cost variance, schedule variance, cost performance index (CPI), and schedule performance index (SPI) for the project?

  Identify competing security products such as antivirus

identify two competing security products such as antivirus software, firewall, anti-spyware, or any hardware. For each product, describe its capabilities, target business uses.

  Create an entire sdlc process

Planning Phase: Create an entire SDLC process that will bring added value to a business. Identify the project-what is it supposed to do

  Sdlc method to implement a new technology

Write a paper of no more than 3,000 words in which you discuss one of the bookstores, use the SDLC method to implement a new technology into the bookstore, and detail a disaster recovery plan for the bookstore

  Development process for new information systems

Discuss how this and other information security considerations will affect the design and development process for new information systems.

  When a company has a need for software one option is to buy

when a company has a need for software one option is to buy it from a software vendor or build it internally if the it

  Key components of a data communication system

Describe the key components of a data communication system. Next, discuss the overall manner in which a company uses data communication in order to reduce its operations cost. Include one (1) example of such a reduction in operation costs to suppo..

  Explain how architecting systems provide a means to deliver

the article is an overview of the topic of software architecture and contains several brief case studies in chapter 4.

  Articles on legislation and regulations

Use the Internet online database to find at least two (2) articles on legislation and regulations, as well as legal and ethical issues inherent in information security. Be prepared to discuss.

  Assignment questionschoose one information system an

assignment questionschoose one information system an example of the system can be australian tax return system net bank

  Assess online tutorials and online communities in regard to

online communities please respond to the followingevaluate online tutorials and online communities in regard to helping

  Risc machine assembly

A compiler for a RISC machine will introduce delay slots into this code so that processor can employ the delayed branch mechanism.

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