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 http://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

Create a new java project

Create a new Java project, Execute (run) a working Java program and Define and identify Java comments, strings and methods - Maintain a working program by always running a pro

Star life cycle model

interface design proces, Star Life Cycle as a model for interface Design, Nielsen's usability principles, Shneiderman's eight golden rules

Development of a safety-critical software system

Explain why this estimate should be adjusted to take project, personnel, product, and organizational factors into account. Suggest four factors that might have significant e

Brands of virtualization software available

Compare and contrast the top three (3) brands of virtualization software available. Focus your efforts on components such as standard configuration, hardware requirements pr

Write balanced transportation problem to minimize sum

With customer 1 penalty cost of 490 is incurred; with customer 2, $80; and with customer 3, $110. Write balanced transportation problem to minimize the sum of shortage and s

Information security issues that organisations face

Create an initial post in which you take a position on the resources, methods and approaches that can help make firms more secure. In your post, summarise the top 3-5 major

Summarize advantages and the disadvantages of such a group

A group meeting of stakeholders in an organization is sometimes suggested as a useful compromise between individual interviews and questionnaires to collect information from

Erp project implementation

Based upon the preliminary information developed by CCC (Toledo Pizza Company - ERP Implementation (A)) and further analysis using benchmarking information, the following in

Reviews

Write a Review

 
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