SlideShare a Scribd company logo
Buy here:
http://theperfecthomework.com/cmsc-350-final-project/
Social Graphs - An Application of Graphs
1. Specification
The concept of Social Graph was introduced by M. Zuckerberg at the first Facebook F8
conference in 2007 when he introduced the Facebook platform to model relationships
among internet users
Part 1
Consider the attached file Graph.java which defines a generic undirected Graph class.
Design and implement a class SocialGraph (in a separate source file SocialGraph.java)
which extends the class Graph. In a social graph, the vertices (graph nodes) represent
people names while the un-directed edges represent the acquaintance relationships
between them. Class SocialGraph should define constructor(s) and enhance the behavior of
the class Graph by defining the following social graphs’ specific methods
normalizedDegreeOfCentrality calculates and returns the normalized degree of centrality for
a given
vertex v. The required value is calculated as:
degree(v) / (n-1)
where degree(v) represents the number of vertex incident edges and n represents the
number of graph vertices.
For social graphs, a high degree of centrality for a person v reflects his/her dominant position
in the group or
his/her social interaction skills.
numberOfTrianglesIncidentToVertex, calculates and returns the number of triangles incident
to vertex v. The
algorithm below calculates the number of triangles incident for all graph vertices (V is the set
of vertices, E is the
set of edges):
foreach v in V
foreach pair of vertices (p, q) in AdjacencyList(v)
if (p, q) is in E then add 1 to triangles[v]
listOfTrianglesIncidentToVertex calculates and returns the list of triangles incident to vertex
v.
A triangle should be specified by its vertices.
clusterIndividual for a given vertex v, calculates and returns the percentage indicating how
close its neighbors
are to make a complete graph and is calculated as:
[(number of edges connecting v's neighbor vertices) / (number of edges, potentially
connecting v's neighbor
vertices)] * 100
where:
- the number of edges connecting v’s neighbor vertices is calculated as:
(number of triangles incident to vertex v)
- the number of edges, potentially connecting v's neighbor vertices is calculated as:
[degree(v) * (degree(v) - 1)] / 2
This value measures how close wrapped are the persons in the social graph around the
given person.
averageClustering for the social graph is calculated as (the sum applies to all vertices v in
V):
(1 / n) * ∑ clusterIndividual (v)
This value indicates the overall density of the social graph.
isAcquaintance determines whether two persons supplied as parameters can establish
social contact direct or
through a chain of transitive acquaintance relationships (in terms of graphs it means that
there is a path
between the two nodes representing the two persons).
Part 2
Design and implement a driver program TestSocialGraph (in a separate source file
TestSocialGraph.java) for testing the methods implemented in Part 1. The driver program
should build a social graph from an input file data.txt. After building the social graph, in a
loop, the program should invite the user to select for execution one of the following
operations: (1) normalizedDegreeOfCentrality, (2) numberOfTrianglesIncidentToVertex, (3)
listOfTrianglesIncidentToVertex, (4) clusterIndividual, (5) averageClustering, (6)
isIndirectAcquaintance, (7) addVertex, (8) addEdge, (9) printEdges and (0) exit the loop and
the program. As a result of each operation execution, relevant information should be
displayed to the user. For example, as a result of invoking clusterIndividual method, the
cluster individual value for the given person should be displayed.
An example of the data input file content, its format and the corresponding social graph
layout is shown in the attached file SocialGraph_Example.pdf.
The programs should compile without errors.
Notes.
1. You may consider that there are no errors in the input file structure.
2. If an operation requires additional information, the user will be prompted to enter it.
3. The input file (a simple .txt file) should be generated by the students using a simple text
editor such as Notepad.
4. Person names (instead of indices) should be used in I/O operations involved by the user
interface

More Related Content

What's hot

Fundamentals of Software Engineering
Fundamentals of Software Engineering Fundamentals of Software Engineering
Fundamentals of Software Engineering
Madhar Khan Pathan
 
Matlab vectors
Matlab vectorsMatlab vectors
Matlab vectors
pramodkumar1804
 
Markov Cluster Algorithm & real world application
Markov Cluster Algorithm & real world applicationMarkov Cluster Algorithm & real world application
Markov Cluster Algorithm & real world application
Andjela Todorovic
 
Excel Training
Excel TrainingExcel Training
Excel Training
James Ramsey
 
Project Poster
Project PosterProject Poster
Project Poster
Sameer Desai
 
Analyzing social media networks with NodeXL - Chapter-04 images
Analyzing social media networks with NodeXL - Chapter-04 imagesAnalyzing social media networks with NodeXL - Chapter-04 images
Analyzing social media networks with NodeXL - Chapter-04 images
Marc Smith
 
Analyzing social media networks with NodeXL - Chapter-03 images
Analyzing social media networks with NodeXL - Chapter-03 imagesAnalyzing social media networks with NodeXL - Chapter-03 images
Analyzing social media networks with NodeXL - Chapter-03 images
Marc Smith
 
Project 1
Project 1Project 1
Project 1
Wael Sharba
 
Decorator Design Pattern in C#
Decorator Design Pattern in C#Decorator Design Pattern in C#
Decorator Design Pattern in C#
Kasun Ranga Wijeweera
 
Singleton Design Pattern in C#
Singleton Design Pattern in C#Singleton Design Pattern in C#
Singleton Design Pattern in C#
Kasun Ranga Wijeweera
 
Cause effect graphing.ppt
Cause effect graphing.pptCause effect graphing.ppt
Cause effect graphing.ppt
sqpyxfcihpbarzldil
 
Project 2
Project 2Project 2
Project 2
Raghu Palakodety
 
The method of comparing two image files
 The method of comparing two image files The method of comparing two image files
The method of comparing two image files
Minh Anh Nguyen
 
Analyzing social media networks with NodeXL - Chapter-07 Images
Analyzing social media networks with NodeXL - Chapter-07 ImagesAnalyzing social media networks with NodeXL - Chapter-07 Images
Analyzing social media networks with NodeXL - Chapter-07 Images
Marc Smith
 
Analyzing social media networks with NodeXL - Chapter- 08 images
Analyzing social media networks with NodeXL - Chapter- 08 imagesAnalyzing social media networks with NodeXL - Chapter- 08 images
Analyzing social media networks with NodeXL - Chapter- 08 images
Marc Smith
 

What's hot (15)

Fundamentals of Software Engineering
Fundamentals of Software Engineering Fundamentals of Software Engineering
Fundamentals of Software Engineering
 
Matlab vectors
Matlab vectorsMatlab vectors
Matlab vectors
 
Markov Cluster Algorithm & real world application
Markov Cluster Algorithm & real world applicationMarkov Cluster Algorithm & real world application
Markov Cluster Algorithm & real world application
 
Excel Training
Excel TrainingExcel Training
Excel Training
 
Project Poster
Project PosterProject Poster
Project Poster
 
Analyzing social media networks with NodeXL - Chapter-04 images
Analyzing social media networks with NodeXL - Chapter-04 imagesAnalyzing social media networks with NodeXL - Chapter-04 images
Analyzing social media networks with NodeXL - Chapter-04 images
 
Analyzing social media networks with NodeXL - Chapter-03 images
Analyzing social media networks with NodeXL - Chapter-03 imagesAnalyzing social media networks with NodeXL - Chapter-03 images
Analyzing social media networks with NodeXL - Chapter-03 images
 
Project 1
Project 1Project 1
Project 1
 
Decorator Design Pattern in C#
Decorator Design Pattern in C#Decorator Design Pattern in C#
Decorator Design Pattern in C#
 
Singleton Design Pattern in C#
Singleton Design Pattern in C#Singleton Design Pattern in C#
Singleton Design Pattern in C#
 
Cause effect graphing.ppt
Cause effect graphing.pptCause effect graphing.ppt
Cause effect graphing.ppt
 
Project 2
Project 2Project 2
Project 2
 
The method of comparing two image files
 The method of comparing two image files The method of comparing two image files
The method of comparing two image files
 
Analyzing social media networks with NodeXL - Chapter-07 Images
Analyzing social media networks with NodeXL - Chapter-07 ImagesAnalyzing social media networks with NodeXL - Chapter-07 Images
Analyzing social media networks with NodeXL - Chapter-07 Images
 
Analyzing social media networks with NodeXL - Chapter- 08 images
Analyzing social media networks with NodeXL - Chapter- 08 imagesAnalyzing social media networks with NodeXL - Chapter- 08 images
Analyzing social media networks with NodeXL - Chapter- 08 images
 

Viewers also liked

Herramientas colaborativas administración de cursos de formación online
Herramientas colaborativas administración de cursos de formación onlineHerramientas colaborativas administración de cursos de formación online
Herramientas colaborativas administración de cursos de formación online
DIONISIA BERMEJO SANCHEZ
 
Entrevista Hector Robles revista MED PLUS n99
Entrevista Hector Robles revista MED PLUS n99Entrevista Hector Robles revista MED PLUS n99
Entrevista Hector Robles revista MED PLUS n99
Hector Robles
 
CMIS 320 RESEARCH PAPER
CMIS 320 RESEARCH PAPERCMIS 320 RESEARCH PAPER
CMIS 320 RESEARCH PAPER
HamesKellor
 
CMIT 321 FINAL EXAM (2016 VERSION)
CMIT 321 FINAL EXAM (2016 VERSION)CMIT 321 FINAL EXAM (2016 VERSION)
CMIT 321 FINAL EXAM (2016 VERSION)
HamesKellor
 
CMIT 350 FINAL EXAM CCNA CERTIFICATION PRACTICE EXAM
CMIT 350 FINAL EXAM CCNA CERTIFICATION PRACTICE EXAMCMIT 350 FINAL EXAM CCNA CERTIFICATION PRACTICE EXAM
CMIT 350 FINAL EXAM CCNA CERTIFICATION PRACTICE EXAM
HamesKellor
 
CMIT 321 WEEK 2 QUIZ
CMIT 321 WEEK 2 QUIZCMIT 321 WEEK 2 QUIZ
CMIT 321 WEEK 2 QUIZ
HamesKellor
 
Финал конкурса "Учитель года-2016"
Финал конкурса "Учитель года-2016"Финал конкурса "Учитель года-2016"
Финал конкурса "Учитель года-2016"
Zinaida Alexandrova
 
Todo proyecto es un trabajo, pero no todo trabajo es un proyectos
Todo proyecto es un trabajo, pero no todo trabajo es un proyectosTodo proyecto es un trabajo, pero no todo trabajo es un proyectos
Todo proyecto es un trabajo, pero no todo trabajo es un proyectos
Andrea Vera Vilatuña
 
Методы и программа исследования _ занятие Тамары Кулинкович _ www.businessres...
Методы и программа исследования _ занятие Тамары Кулинкович _ www.businessres...Методы и программа исследования _ занятие Тамары Кулинкович _ www.businessres...
Методы и программа исследования _ занятие Тамары Кулинкович _ www.businessres...
HRPR Camp - Самое технологичное событие в HR
 
Бібліографічний запис-Бібліографічний опис Gost7 1-06
Бібліографічний запис-Бібліографічний опис Gost7 1-06Бібліографічний запис-Бібліографічний опис Gost7 1-06
Бібліографічний запис-Бібліографічний опис Gost7 1-06
Lana Nazarieva
 
Highlights: 2016 Enrollment Estimates
Highlights: 2016 Enrollment EstimatesHighlights: 2016 Enrollment Estimates
Highlights: 2016 Enrollment Estimates
Massachusetts Department of Higher Education
 
Child labour in pakistan
Child labour in pakistan Child labour in pakistan
Child labour in pakistan
imsciences
 
Ftp (file transfer protocol)
Ftp (file transfer protocol)Ftp (file transfer protocol)
Ftp (file transfer protocol)
Raghu nath
 

Viewers also liked (13)

Herramientas colaborativas administración de cursos de formación online
Herramientas colaborativas administración de cursos de formación onlineHerramientas colaborativas administración de cursos de formación online
Herramientas colaborativas administración de cursos de formación online
 
Entrevista Hector Robles revista MED PLUS n99
Entrevista Hector Robles revista MED PLUS n99Entrevista Hector Robles revista MED PLUS n99
Entrevista Hector Robles revista MED PLUS n99
 
CMIS 320 RESEARCH PAPER
CMIS 320 RESEARCH PAPERCMIS 320 RESEARCH PAPER
CMIS 320 RESEARCH PAPER
 
CMIT 321 FINAL EXAM (2016 VERSION)
CMIT 321 FINAL EXAM (2016 VERSION)CMIT 321 FINAL EXAM (2016 VERSION)
CMIT 321 FINAL EXAM (2016 VERSION)
 
CMIT 350 FINAL EXAM CCNA CERTIFICATION PRACTICE EXAM
CMIT 350 FINAL EXAM CCNA CERTIFICATION PRACTICE EXAMCMIT 350 FINAL EXAM CCNA CERTIFICATION PRACTICE EXAM
CMIT 350 FINAL EXAM CCNA CERTIFICATION PRACTICE EXAM
 
CMIT 321 WEEK 2 QUIZ
CMIT 321 WEEK 2 QUIZCMIT 321 WEEK 2 QUIZ
CMIT 321 WEEK 2 QUIZ
 
Финал конкурса "Учитель года-2016"
Финал конкурса "Учитель года-2016"Финал конкурса "Учитель года-2016"
Финал конкурса "Учитель года-2016"
 
Todo proyecto es un trabajo, pero no todo trabajo es un proyectos
Todo proyecto es un trabajo, pero no todo trabajo es un proyectosTodo proyecto es un trabajo, pero no todo trabajo es un proyectos
Todo proyecto es un trabajo, pero no todo trabajo es un proyectos
 
Методы и программа исследования _ занятие Тамары Кулинкович _ www.businessres...
Методы и программа исследования _ занятие Тамары Кулинкович _ www.businessres...Методы и программа исследования _ занятие Тамары Кулинкович _ www.businessres...
Методы и программа исследования _ занятие Тамары Кулинкович _ www.businessres...
 
Бібліографічний запис-Бібліографічний опис Gost7 1-06
Бібліографічний запис-Бібліографічний опис Gost7 1-06Бібліографічний запис-Бібліографічний опис Gost7 1-06
Бібліографічний запис-Бібліографічний опис Gost7 1-06
 
Highlights: 2016 Enrollment Estimates
Highlights: 2016 Enrollment EstimatesHighlights: 2016 Enrollment Estimates
Highlights: 2016 Enrollment Estimates
 
Child labour in pakistan
Child labour in pakistan Child labour in pakistan
Child labour in pakistan
 
Ftp (file transfer protocol)
Ftp (file transfer protocol)Ftp (file transfer protocol)
Ftp (file transfer protocol)
 

Similar to CMSC 350 FINAL PROJECT

HalifaxNGGs
HalifaxNGGsHalifaxNGGs
HalifaxNGGs
Nikos Kostagiolas
 
Graph Analyses with Python and NetworkX
Graph Analyses with Python and NetworkXGraph Analyses with Python and NetworkX
Graph Analyses with Python and NetworkX
Benjamin Bengfort
 
Graph convolutional networks in apache spark
Graph convolutional networks in apache sparkGraph convolutional networks in apache spark
Graph convolutional networks in apache spark
Emiliano Martinez Sanchez
 
Social network-analysis-in-python
Social network-analysis-in-pythonSocial network-analysis-in-python
Social network-analysis-in-python
Joe OntheRocks
 
Analysis of Impact of Graph Theory in Computer Application
Analysis of Impact of Graph Theory in Computer ApplicationAnalysis of Impact of Graph Theory in Computer Application
Analysis of Impact of Graph Theory in Computer Application
IRJET Journal
 
Intake 37 6
Intake 37 6Intake 37 6
Intake 37 6
Mahmoud Ouf
 
Data visualization using R
Data visualization using RData visualization using R
Data visualization using R
Ummiya Mohammedi
 
RDataMining slides-network-analysis-with-r
RDataMining slides-network-analysis-with-rRDataMining slides-network-analysis-with-r
RDataMining slides-network-analysis-with-r
Yanchang Zhao
 
Intake 38 6
Intake 38 6Intake 38 6
Intake 38 6
Mahmoud Ouf
 
A SYSTEM FOR VISUALIZATION OF BIG ATTRIBUTED HIERARCHICAL GRAPHS
A SYSTEM FOR VISUALIZATION OF BIG ATTRIBUTED HIERARCHICAL GRAPHSA SYSTEM FOR VISUALIZATION OF BIG ATTRIBUTED HIERARCHICAL GRAPHS
A SYSTEM FOR VISUALIZATION OF BIG ATTRIBUTED HIERARCHICAL GRAPHS
IJCNCJournal
 
Transformations and actions a visual guide training
Transformations and actions a visual guide trainingTransformations and actions a visual guide training
Transformations and actions a visual guide training
Spark Summit
 
Using spectral radius ratio for node degree
Using spectral radius ratio for node degreeUsing spectral radius ratio for node degree
Using spectral radius ratio for node degree
IJCNCJournal
 
Challenges in Migrating Imperative Deep Learning Programs to Graph Execution:...
Challenges in Migrating Imperative Deep Learning Programs to Graph Execution:...Challenges in Migrating Imperative Deep Learning Programs to Graph Execution:...
Challenges in Migrating Imperative Deep Learning Programs to Graph Execution:...
Raffi Khatchadourian
 
JFree chart
JFree chartJFree chart
Create swath profiles in GRASS GIS
Create swath profiles in GRASS GISCreate swath profiles in GRASS GIS
Create swath profiles in GRASS GIS
Skyler Sorsby
 
Numerical_Analysis_of_Semiconductor_PN_Junctions_U.pdf
Numerical_Analysis_of_Semiconductor_PN_Junctions_U.pdfNumerical_Analysis_of_Semiconductor_PN_Junctions_U.pdf
Numerical_Analysis_of_Semiconductor_PN_Junctions_U.pdf
DeveshSinghal13
 
R basics
R basicsR basics
R basics
Sagun Baijal
 
Abstracting Strings For Model Checking Of C Programs
Abstracting Strings For Model Checking Of C ProgramsAbstracting Strings For Model Checking Of C Programs
Abstracting Strings For Model Checking Of C Programs
Martha Brown
 
Final Design Project - Memo (with GUI)
Final Design Project - Memo (with GUI)Final Design Project - Memo (with GUI)
Final Design Project - Memo (with GUI)
Alex Larcheveque
 
Modeling Aspects with AP&P Components
Modeling Aspects with AP&P ComponentsModeling Aspects with AP&P Components
Modeling Aspects with AP&P Components
mukhtarhudaya
 

Similar to CMSC 350 FINAL PROJECT (20)

HalifaxNGGs
HalifaxNGGsHalifaxNGGs
HalifaxNGGs
 
Graph Analyses with Python and NetworkX
Graph Analyses with Python and NetworkXGraph Analyses with Python and NetworkX
Graph Analyses with Python and NetworkX
 
Graph convolutional networks in apache spark
Graph convolutional networks in apache sparkGraph convolutional networks in apache spark
Graph convolutional networks in apache spark
 
Social network-analysis-in-python
Social network-analysis-in-pythonSocial network-analysis-in-python
Social network-analysis-in-python
 
Analysis of Impact of Graph Theory in Computer Application
Analysis of Impact of Graph Theory in Computer ApplicationAnalysis of Impact of Graph Theory in Computer Application
Analysis of Impact of Graph Theory in Computer Application
 
Intake 37 6
Intake 37 6Intake 37 6
Intake 37 6
 
Data visualization using R
Data visualization using RData visualization using R
Data visualization using R
 
RDataMining slides-network-analysis-with-r
RDataMining slides-network-analysis-with-rRDataMining slides-network-analysis-with-r
RDataMining slides-network-analysis-with-r
 
Intake 38 6
Intake 38 6Intake 38 6
Intake 38 6
 
A SYSTEM FOR VISUALIZATION OF BIG ATTRIBUTED HIERARCHICAL GRAPHS
A SYSTEM FOR VISUALIZATION OF BIG ATTRIBUTED HIERARCHICAL GRAPHSA SYSTEM FOR VISUALIZATION OF BIG ATTRIBUTED HIERARCHICAL GRAPHS
A SYSTEM FOR VISUALIZATION OF BIG ATTRIBUTED HIERARCHICAL GRAPHS
 
Transformations and actions a visual guide training
Transformations and actions a visual guide trainingTransformations and actions a visual guide training
Transformations and actions a visual guide training
 
Using spectral radius ratio for node degree
Using spectral radius ratio for node degreeUsing spectral radius ratio for node degree
Using spectral radius ratio for node degree
 
Challenges in Migrating Imperative Deep Learning Programs to Graph Execution:...
Challenges in Migrating Imperative Deep Learning Programs to Graph Execution:...Challenges in Migrating Imperative Deep Learning Programs to Graph Execution:...
Challenges in Migrating Imperative Deep Learning Programs to Graph Execution:...
 
JFree chart
JFree chartJFree chart
JFree chart
 
Create swath profiles in GRASS GIS
Create swath profiles in GRASS GISCreate swath profiles in GRASS GIS
Create swath profiles in GRASS GIS
 
Numerical_Analysis_of_Semiconductor_PN_Junctions_U.pdf
Numerical_Analysis_of_Semiconductor_PN_Junctions_U.pdfNumerical_Analysis_of_Semiconductor_PN_Junctions_U.pdf
Numerical_Analysis_of_Semiconductor_PN_Junctions_U.pdf
 
R basics
R basicsR basics
R basics
 
Abstracting Strings For Model Checking Of C Programs
Abstracting Strings For Model Checking Of C ProgramsAbstracting Strings For Model Checking Of C Programs
Abstracting Strings For Model Checking Of C Programs
 
Final Design Project - Memo (with GUI)
Final Design Project - Memo (with GUI)Final Design Project - Memo (with GUI)
Final Design Project - Memo (with GUI)
 
Modeling Aspects with AP&P Components
Modeling Aspects with AP&P ComponentsModeling Aspects with AP&P Components
Modeling Aspects with AP&P Components
 

More from HamesKellor

CMST 290 FINAL EXAM
CMST 290 FINAL EXAMCMST 290 FINAL EXAM
CMST 290 FINAL EXAM
HamesKellor
 
CMST 301 PROJECT 1 CASE STUDY
CMST 301 PROJECT 1 CASE STUDYCMST 301 PROJECT 1 CASE STUDY
CMST 301 PROJECT 1 CASE STUDY
HamesKellor
 
CMSC 350 PROJECT 3
CMSC 350 PROJECT 3CMSC 350 PROJECT 3
CMSC 350 PROJECT 3
HamesKellor
 
CMSC 350 PROJECT 4
CMSC 350 PROJECT 4 CMSC 350 PROJECT 4
CMSC 350 PROJECT 4
HamesKellor
 
CMSC 350 PROJECT 4
CMSC 350 PROJECT 4CMSC 350 PROJECT 4
CMSC 350 PROJECT 4
HamesKellor
 
CMSC 350 PROJECT 1
CMSC 350 PROJECT 1CMSC 350 PROJECT 1
CMSC 350 PROJECT 1
HamesKellor
 
CMSC 350 HOMEWORK 2
CMSC 350 HOMEWORK 2CMSC 350 HOMEWORK 2
CMSC 350 HOMEWORK 2
HamesKellor
 
CMSC 350 HOMEWORK 3
CMSC 350 HOMEWORK 3CMSC 350 HOMEWORK 3
CMSC 350 HOMEWORK 3
HamesKellor
 
CMSC 350 HOMEWORK 1
CMSC 350 HOMEWORK 1CMSC 350 HOMEWORK 1
CMSC 350 HOMEWORK 1
HamesKellor
 
CMSC 335 HOMEWORK 3
CMSC 335 HOMEWORK 3CMSC 335 HOMEWORK 3
CMSC 335 HOMEWORK 3
HamesKellor
 
CMSC 330 PROJECT 1
CMSC 330 PROJECT 1CMSC 330 PROJECT 1
CMSC 330 PROJECT 1
HamesKellor
 
CMSC 335 FINAL PROJECT
CMSC 335 FINAL PROJECTCMSC 335 FINAL PROJECT
CMSC 335 FINAL PROJECT
HamesKellor
 
CMSC 330 QUIZ 4
CMSC 330 QUIZ 4CMSC 330 QUIZ 4
CMSC 330 QUIZ 4
HamesKellor
 
CMIT 425 RISK ASSESSMENT PAPER
CMIT 425 RISK ASSESSMENT PAPERCMIT 425 RISK ASSESSMENT PAPER
CMIT 425 RISK ASSESSMENT PAPER
HamesKellor
 
CMIT 391 LINUX IMPLEMENTATION PROPOSAL
CMIT 391 LINUX IMPLEMENTATION PROPOSALCMIT 391 LINUX IMPLEMENTATION PROPOSAL
CMIT 391 LINUX IMPLEMENTATION PROPOSAL
HamesKellor
 
CMIT/265 FINAL PROJECT NETWORK DESIGN PROPOSAL
CMIT/265 FINAL PROJECT NETWORK DESIGN PROPOSALCMIT/265 FINAL PROJECT NETWORK DESIGN PROPOSAL
CMIT/265 FINAL PROJECT NETWORK DESIGN PROPOSAL
HamesKellor
 
CMIT 321 WEEK 2 QUIZ.
CMIT 321 WEEK 2 QUIZ.CMIT 321 WEEK 2 QUIZ.
CMIT 321 WEEK 2 QUIZ.
HamesKellor
 
CMIT 370 FINAL EXAM
CMIT 370 FINAL EXAMCMIT 370 FINAL EXAM
CMIT 370 FINAL EXAM
HamesKellor
 
CMIT 321 QUIZ 4
CMIT 321 QUIZ 4CMIT 321 QUIZ 4
CMIT 321 QUIZ 4
HamesKellor
 
CMIT 321 QUIZ 7
CMIT 321 QUIZ 7CMIT 321 QUIZ 7
CMIT 321 QUIZ 7
HamesKellor
 

More from HamesKellor (20)

CMST 290 FINAL EXAM
CMST 290 FINAL EXAMCMST 290 FINAL EXAM
CMST 290 FINAL EXAM
 
CMST 301 PROJECT 1 CASE STUDY
CMST 301 PROJECT 1 CASE STUDYCMST 301 PROJECT 1 CASE STUDY
CMST 301 PROJECT 1 CASE STUDY
 
CMSC 350 PROJECT 3
CMSC 350 PROJECT 3CMSC 350 PROJECT 3
CMSC 350 PROJECT 3
 
CMSC 350 PROJECT 4
CMSC 350 PROJECT 4 CMSC 350 PROJECT 4
CMSC 350 PROJECT 4
 
CMSC 350 PROJECT 4
CMSC 350 PROJECT 4CMSC 350 PROJECT 4
CMSC 350 PROJECT 4
 
CMSC 350 PROJECT 1
CMSC 350 PROJECT 1CMSC 350 PROJECT 1
CMSC 350 PROJECT 1
 
CMSC 350 HOMEWORK 2
CMSC 350 HOMEWORK 2CMSC 350 HOMEWORK 2
CMSC 350 HOMEWORK 2
 
CMSC 350 HOMEWORK 3
CMSC 350 HOMEWORK 3CMSC 350 HOMEWORK 3
CMSC 350 HOMEWORK 3
 
CMSC 350 HOMEWORK 1
CMSC 350 HOMEWORK 1CMSC 350 HOMEWORK 1
CMSC 350 HOMEWORK 1
 
CMSC 335 HOMEWORK 3
CMSC 335 HOMEWORK 3CMSC 335 HOMEWORK 3
CMSC 335 HOMEWORK 3
 
CMSC 330 PROJECT 1
CMSC 330 PROJECT 1CMSC 330 PROJECT 1
CMSC 330 PROJECT 1
 
CMSC 335 FINAL PROJECT
CMSC 335 FINAL PROJECTCMSC 335 FINAL PROJECT
CMSC 335 FINAL PROJECT
 
CMSC 330 QUIZ 4
CMSC 330 QUIZ 4CMSC 330 QUIZ 4
CMSC 330 QUIZ 4
 
CMIT 425 RISK ASSESSMENT PAPER
CMIT 425 RISK ASSESSMENT PAPERCMIT 425 RISK ASSESSMENT PAPER
CMIT 425 RISK ASSESSMENT PAPER
 
CMIT 391 LINUX IMPLEMENTATION PROPOSAL
CMIT 391 LINUX IMPLEMENTATION PROPOSALCMIT 391 LINUX IMPLEMENTATION PROPOSAL
CMIT 391 LINUX IMPLEMENTATION PROPOSAL
 
CMIT/265 FINAL PROJECT NETWORK DESIGN PROPOSAL
CMIT/265 FINAL PROJECT NETWORK DESIGN PROPOSALCMIT/265 FINAL PROJECT NETWORK DESIGN PROPOSAL
CMIT/265 FINAL PROJECT NETWORK DESIGN PROPOSAL
 
CMIT 321 WEEK 2 QUIZ.
CMIT 321 WEEK 2 QUIZ.CMIT 321 WEEK 2 QUIZ.
CMIT 321 WEEK 2 QUIZ.
 
CMIT 370 FINAL EXAM
CMIT 370 FINAL EXAMCMIT 370 FINAL EXAM
CMIT 370 FINAL EXAM
 
CMIT 321 QUIZ 4
CMIT 321 QUIZ 4CMIT 321 QUIZ 4
CMIT 321 QUIZ 4
 
CMIT 321 QUIZ 7
CMIT 321 QUIZ 7CMIT 321 QUIZ 7
CMIT 321 QUIZ 7
 

Recently uploaded

Call 8867766396 Satta Matka Dpboss Matka Guessing Satta batta Matka 420 Satta...
Call 8867766396 Satta Matka Dpboss Matka Guessing Satta batta Matka 420 Satta...Call 8867766396 Satta Matka Dpboss Matka Guessing Satta batta Matka 420 Satta...
Call 8867766396 Satta Matka Dpboss Matka Guessing Satta batta Matka 420 Satta...
bosssp10
 
Zodiac Signs and Food Preferences_ What Your Sign Says About Your Taste
Zodiac Signs and Food Preferences_ What Your Sign Says About Your TasteZodiac Signs and Food Preferences_ What Your Sign Says About Your Taste
Zodiac Signs and Food Preferences_ What Your Sign Says About Your Taste
my Pandit
 
Mastering B2B Payments Webinar from BlueSnap
Mastering B2B Payments Webinar from BlueSnapMastering B2B Payments Webinar from BlueSnap
Mastering B2B Payments Webinar from BlueSnap
Norma Mushkat Gaffin
 
How are Lilac French Bulldogs Beauty Charming the World and Capturing Hearts....
How are Lilac French Bulldogs Beauty Charming the World and Capturing Hearts....How are Lilac French Bulldogs Beauty Charming the World and Capturing Hearts....
How are Lilac French Bulldogs Beauty Charming the World and Capturing Hearts....
Lacey Max
 
Satta Matka Dpboss Matka Guessing Kalyan Chart Indian Matka Kalyan panel Chart
Satta Matka Dpboss Matka Guessing Kalyan Chart Indian Matka Kalyan panel ChartSatta Matka Dpboss Matka Guessing Kalyan Chart Indian Matka Kalyan panel Chart
Satta Matka Dpboss Matka Guessing Kalyan Chart Indian Matka Kalyan panel Chart
➒➌➎➏➑➐➋➑➐➐Dpboss Matka Guessing Satta Matka Kalyan Chart Indian Matka
 
2024-6-01-IMPACTSilver-Corp-Presentation.pdf
2024-6-01-IMPACTSilver-Corp-Presentation.pdf2024-6-01-IMPACTSilver-Corp-Presentation.pdf
2024-6-01-IMPACTSilver-Corp-Presentation.pdf
hartfordclub1
 
Best practices for project execution and delivery
Best practices for project execution and deliveryBest practices for project execution and delivery
Best practices for project execution and delivery
CLIVE MINCHIN
 
一比一原版新西兰奥塔哥大学毕业证(otago毕业证)如何办理
一比一原版新西兰奥塔哥大学毕业证(otago毕业证)如何办理一比一原版新西兰奥塔哥大学毕业证(otago毕业证)如何办理
一比一原版新西兰奥塔哥大学毕业证(otago毕业证)如何办理
taqyea
 
Lundin Gold Corporate Presentation - June 2024
Lundin Gold Corporate Presentation - June 2024Lundin Gold Corporate Presentation - June 2024
Lundin Gold Corporate Presentation - June 2024
Adnet Communications
 
BeMetals Investor Presentation_June 1, 2024.pdf
BeMetals Investor Presentation_June 1, 2024.pdfBeMetals Investor Presentation_June 1, 2024.pdf
BeMetals Investor Presentation_June 1, 2024.pdf
DerekIwanaka1
 
Company Valuation webinar series - Tuesday, 4 June 2024
Company Valuation webinar series - Tuesday, 4 June 2024Company Valuation webinar series - Tuesday, 4 June 2024
Company Valuation webinar series - Tuesday, 4 June 2024
FelixPerez547899
 
Income Tax exemption for Start up : Section 80 IAC
Income Tax  exemption for Start up : Section 80 IACIncome Tax  exemption for Start up : Section 80 IAC
Income Tax exemption for Start up : Section 80 IAC
CA Dr. Prithvi Ranjan Parhi
 
Digital Marketing with a Focus on Sustainability
Digital Marketing with a Focus on SustainabilityDigital Marketing with a Focus on Sustainability
Digital Marketing with a Focus on Sustainability
sssourabhsharma
 
Industrial Tech SW: Category Renewal and Creation
Industrial Tech SW:  Category Renewal and CreationIndustrial Tech SW:  Category Renewal and Creation
Industrial Tech SW: Category Renewal and Creation
Christian Dahlen
 
Building Your Employer Brand with Social Media
Building Your Employer Brand with Social MediaBuilding Your Employer Brand with Social Media
Building Your Employer Brand with Social Media
LuanWise
 
Digital Transformation Frameworks: Driving Digital Excellence
Digital Transformation Frameworks: Driving Digital ExcellenceDigital Transformation Frameworks: Driving Digital Excellence
Digital Transformation Frameworks: Driving Digital Excellence
Operational Excellence Consulting
 
2022 Vintage Roman Numerals Men Rings
2022 Vintage Roman  Numerals  Men  Rings2022 Vintage Roman  Numerals  Men  Rings
2022 Vintage Roman Numerals Men Rings
aragme
 
Organizational Change Leadership Agile Tour Geneve 2024
Organizational Change Leadership Agile Tour Geneve 2024Organizational Change Leadership Agile Tour Geneve 2024
Organizational Change Leadership Agile Tour Geneve 2024
Kirill Klimov
 
How to Implement a Real Estate CRM Software
How to Implement a Real Estate CRM SoftwareHow to Implement a Real Estate CRM Software
How to Implement a Real Estate CRM Software
SalesTown
 
Best Forex Brokers Comparison in INDIA 2024
Best Forex Brokers Comparison in INDIA 2024Best Forex Brokers Comparison in INDIA 2024
Best Forex Brokers Comparison in INDIA 2024
Top Forex Brokers Review
 

Recently uploaded (20)

Call 8867766396 Satta Matka Dpboss Matka Guessing Satta batta Matka 420 Satta...
Call 8867766396 Satta Matka Dpboss Matka Guessing Satta batta Matka 420 Satta...Call 8867766396 Satta Matka Dpboss Matka Guessing Satta batta Matka 420 Satta...
Call 8867766396 Satta Matka Dpboss Matka Guessing Satta batta Matka 420 Satta...
 
Zodiac Signs and Food Preferences_ What Your Sign Says About Your Taste
Zodiac Signs and Food Preferences_ What Your Sign Says About Your TasteZodiac Signs and Food Preferences_ What Your Sign Says About Your Taste
Zodiac Signs and Food Preferences_ What Your Sign Says About Your Taste
 
Mastering B2B Payments Webinar from BlueSnap
Mastering B2B Payments Webinar from BlueSnapMastering B2B Payments Webinar from BlueSnap
Mastering B2B Payments Webinar from BlueSnap
 
How are Lilac French Bulldogs Beauty Charming the World and Capturing Hearts....
How are Lilac French Bulldogs Beauty Charming the World and Capturing Hearts....How are Lilac French Bulldogs Beauty Charming the World and Capturing Hearts....
How are Lilac French Bulldogs Beauty Charming the World and Capturing Hearts....
 
Satta Matka Dpboss Matka Guessing Kalyan Chart Indian Matka Kalyan panel Chart
Satta Matka Dpboss Matka Guessing Kalyan Chart Indian Matka Kalyan panel ChartSatta Matka Dpboss Matka Guessing Kalyan Chart Indian Matka Kalyan panel Chart
Satta Matka Dpboss Matka Guessing Kalyan Chart Indian Matka Kalyan panel Chart
 
2024-6-01-IMPACTSilver-Corp-Presentation.pdf
2024-6-01-IMPACTSilver-Corp-Presentation.pdf2024-6-01-IMPACTSilver-Corp-Presentation.pdf
2024-6-01-IMPACTSilver-Corp-Presentation.pdf
 
Best practices for project execution and delivery
Best practices for project execution and deliveryBest practices for project execution and delivery
Best practices for project execution and delivery
 
一比一原版新西兰奥塔哥大学毕业证(otago毕业证)如何办理
一比一原版新西兰奥塔哥大学毕业证(otago毕业证)如何办理一比一原版新西兰奥塔哥大学毕业证(otago毕业证)如何办理
一比一原版新西兰奥塔哥大学毕业证(otago毕业证)如何办理
 
Lundin Gold Corporate Presentation - June 2024
Lundin Gold Corporate Presentation - June 2024Lundin Gold Corporate Presentation - June 2024
Lundin Gold Corporate Presentation - June 2024
 
BeMetals Investor Presentation_June 1, 2024.pdf
BeMetals Investor Presentation_June 1, 2024.pdfBeMetals Investor Presentation_June 1, 2024.pdf
BeMetals Investor Presentation_June 1, 2024.pdf
 
Company Valuation webinar series - Tuesday, 4 June 2024
Company Valuation webinar series - Tuesday, 4 June 2024Company Valuation webinar series - Tuesday, 4 June 2024
Company Valuation webinar series - Tuesday, 4 June 2024
 
Income Tax exemption for Start up : Section 80 IAC
Income Tax  exemption for Start up : Section 80 IACIncome Tax  exemption for Start up : Section 80 IAC
Income Tax exemption for Start up : Section 80 IAC
 
Digital Marketing with a Focus on Sustainability
Digital Marketing with a Focus on SustainabilityDigital Marketing with a Focus on Sustainability
Digital Marketing with a Focus on Sustainability
 
Industrial Tech SW: Category Renewal and Creation
Industrial Tech SW:  Category Renewal and CreationIndustrial Tech SW:  Category Renewal and Creation
Industrial Tech SW: Category Renewal and Creation
 
Building Your Employer Brand with Social Media
Building Your Employer Brand with Social MediaBuilding Your Employer Brand with Social Media
Building Your Employer Brand with Social Media
 
Digital Transformation Frameworks: Driving Digital Excellence
Digital Transformation Frameworks: Driving Digital ExcellenceDigital Transformation Frameworks: Driving Digital Excellence
Digital Transformation Frameworks: Driving Digital Excellence
 
2022 Vintage Roman Numerals Men Rings
2022 Vintage Roman  Numerals  Men  Rings2022 Vintage Roman  Numerals  Men  Rings
2022 Vintage Roman Numerals Men Rings
 
Organizational Change Leadership Agile Tour Geneve 2024
Organizational Change Leadership Agile Tour Geneve 2024Organizational Change Leadership Agile Tour Geneve 2024
Organizational Change Leadership Agile Tour Geneve 2024
 
How to Implement a Real Estate CRM Software
How to Implement a Real Estate CRM SoftwareHow to Implement a Real Estate CRM Software
How to Implement a Real Estate CRM Software
 
Best Forex Brokers Comparison in INDIA 2024
Best Forex Brokers Comparison in INDIA 2024Best Forex Brokers Comparison in INDIA 2024
Best Forex Brokers Comparison in INDIA 2024
 

CMSC 350 FINAL PROJECT

  • 1. Buy here: http://theperfecthomework.com/cmsc-350-final-project/ Social Graphs - An Application of Graphs 1. Specification The concept of Social Graph was introduced by M. Zuckerberg at the first Facebook F8 conference in 2007 when he introduced the Facebook platform to model relationships among internet users Part 1 Consider the attached file Graph.java which defines a generic undirected Graph class. Design and implement a class SocialGraph (in a separate source file SocialGraph.java) which extends the class Graph. In a social graph, the vertices (graph nodes) represent people names while the un-directed edges represent the acquaintance relationships between them. Class SocialGraph should define constructor(s) and enhance the behavior of the class Graph by defining the following social graphs’ specific methods normalizedDegreeOfCentrality calculates and returns the normalized degree of centrality for a given vertex v. The required value is calculated as: degree(v) / (n-1) where degree(v) represents the number of vertex incident edges and n represents the number of graph vertices. For social graphs, a high degree of centrality for a person v reflects his/her dominant position in the group or his/her social interaction skills.
  • 2. numberOfTrianglesIncidentToVertex, calculates and returns the number of triangles incident to vertex v. The algorithm below calculates the number of triangles incident for all graph vertices (V is the set of vertices, E is the set of edges): foreach v in V foreach pair of vertices (p, q) in AdjacencyList(v) if (p, q) is in E then add 1 to triangles[v] listOfTrianglesIncidentToVertex calculates and returns the list of triangles incident to vertex v. A triangle should be specified by its vertices. clusterIndividual for a given vertex v, calculates and returns the percentage indicating how close its neighbors are to make a complete graph and is calculated as: [(number of edges connecting v's neighbor vertices) / (number of edges, potentially connecting v's neighbor vertices)] * 100 where: - the number of edges connecting v’s neighbor vertices is calculated as: (number of triangles incident to vertex v) - the number of edges, potentially connecting v's neighbor vertices is calculated as: [degree(v) * (degree(v) - 1)] / 2
  • 3. This value measures how close wrapped are the persons in the social graph around the given person. averageClustering for the social graph is calculated as (the sum applies to all vertices v in V): (1 / n) * ∑ clusterIndividual (v) This value indicates the overall density of the social graph. isAcquaintance determines whether two persons supplied as parameters can establish social contact direct or through a chain of transitive acquaintance relationships (in terms of graphs it means that there is a path between the two nodes representing the two persons). Part 2 Design and implement a driver program TestSocialGraph (in a separate source file TestSocialGraph.java) for testing the methods implemented in Part 1. The driver program should build a social graph from an input file data.txt. After building the social graph, in a loop, the program should invite the user to select for execution one of the following operations: (1) normalizedDegreeOfCentrality, (2) numberOfTrianglesIncidentToVertex, (3) listOfTrianglesIncidentToVertex, (4) clusterIndividual, (5) averageClustering, (6) isIndirectAcquaintance, (7) addVertex, (8) addEdge, (9) printEdges and (0) exit the loop and the program. As a result of each operation execution, relevant information should be displayed to the user. For example, as a result of invoking clusterIndividual method, the cluster individual value for the given person should be displayed. An example of the data input file content, its format and the corresponding social graph layout is shown in the attached file SocialGraph_Example.pdf. The programs should compile without errors. Notes.
  • 4. 1. You may consider that there are no errors in the input file structure. 2. If an operation requires additional information, the user will be prompted to enter it. 3. The input file (a simple .txt file) should be generated by the students using a simple text editor such as Notepad. 4. Person names (instead of indices) should be used in I/O operations involved by the user interface