Professional Documents
Culture Documents
LAPR1 2014/15
Enunciado do Projeto
Objetivos
Com este projeto pretende-se que os alunos desenvolvam uma aplicao em linguagem Java
onde apliquem um processo bsico de desenvolvimento de aplicaes informticas,
valorizando todas as fases do ciclo de desenvolvimento, desde a conceo aos testes de
validao. Pretende-se tambm que os alunos elaborem um relatrio que descreva a aplicao
concebida, o processo de desenvolvimento e que apresente e critique os resultados obtidos.
No final, devem fazer uma apresentao, em PowerPoint, do projeto desenvolvido.
Toda a gesto documental e respetivo trabalho colaborativo dever estar suportado na
aplicao OneDrive, do Office 365 (http://login.microsoftonline.com/), usando as credenciais de
acesso ao portal do ISEP.
Enunciado
A aplicao pedida permite a anlise de redes sociais (LinkedIn, Facebook, Twitter,).
Uma rede social pode ser vista como uma estrutura formada por pessoas (os ns) e o
relacionamento entre as pessoas (as ligaes entre os ns). Esta estrutura denomina-se grafo e
pode ser representada como na Figura 1 e na Figura 2-a.
A anlise das redes sociais pretende analisar e detetar padres de relacionamento entre
pessoas numa rede.
Uma forma de representar um grafo a matriz de adjacncias (ver Figura 2-b). Trata-se de uma
matriz quadrada, com o nmero de linhas (colunas) igual ao nmero de ns do grafo. Se houver
uma ligao entre quaisquer dois ns surge um 1 na posio correspondente, seno surge um
0.
Pag. 1
LAPR1 2014/15
Figura 2: a) Grafo
b) Matriz de adjacncias
() =
()
1
1
=1 (, )
Sendo d(i,j) = distncia entre i e j (ou seja, o menor nmero de ligaes que temos de
percorrer para ir de i at j).
P3. A aplicao deve calcular as matrizes A2,, An, sendo A a matriz de adjacncias e n a
dimenso da matriz.
LAPR1 2014/15, EFG, LAPR1 v00
Pag. 2
LAPR1 2014/15
P4. Deve tambm calcular a matriz das distncias mais curtas entre cada 2 ns.
Nota: Para calcular o nmero de caminhos de comprimento n deve calcular-se An, sendo
A a matriz de adjacncias.
P5. Deve ainda calcular o valor de centralidade de proximidade (Cc) para todos os ns e
encontrar o n mais central (mais prximo de 1), destacando-o graficamente.
Centralidade de intermediao (betweeness)
A medida de centralidade de intermediao de um n k num grafo G com n ns dada pela
expresso
()
() =
1<
,
Este valor, para cada n, obtm-se somando o nmero de caminhos mais curtos entre i e j
que passam pelo n k, bij(k), a dividir por bij, nmero de caminhos mais curtos entre os ns
i e j. Esta medida diz-nos que um n importante se faz parte de muitos caminhos.
P6. A aplicao deve calcular a matriz com o nmero de caminhos mais curtos entre os ns.
P7. Deve tambm calcular a centralidade de intermediao para cada n (Cb). Deve ainda
destacar graficamente o n mais central (o maior).
Centralidade do vetor prprio
As medidas de centralidade espectrais procuram obter propriedades das redes a partir das
propriedades dos valores prprios e dos vetores prprios da matriz de adjacncias. A
centralidade de vetor prprio atribui relevncia a um n, em funo da sua relao com os
seus vizinhos. Ou seja, se um n k est ligado somente a outro n i (tendo assim uma baixa
centralidade de grau) mas os vizinhos de i forem importantes, o n k tambm ser
importante, tendo uma elevada centralidade de vetor prprio.
P8. A aplicao deve calcular o n mais central (ou seja, o n correspondente componente
mais alta do vetor prprio associado ao maior valor prprio e com todas as componentes
positivas) e assinala-lo graficamente.
Para tal, deve:
Pag. 3
LAPR1 2014/15
Dados
Os dados de entrada da aplicao devem ser lidos a partir de um ficheiro HTML. Tambm
devem ser guardados, num ficheiro HTML, os clculos intermdios.
Entrada de dados
Ler os dados a partir de um ficheiro em formato HTML, onde consta a matriz de adjacncias
com as ligaes entre as pessoas na rede (ver Figura 3). Esta matriz pode ter qualquer
dimenso. A entrada de dados deve ser visualizada na janela da aplicao (mtodo
adicionarDados da classe Janela).
Resultados
Apresentar, num ficheiro em formato HTML os diferentes passos intermdios de clculo de
vetores e de matrizes. Estes resultados devem ser visualizados na janela da aplicao
(mtodo adicionarResultados da classe Janela).
Notas gerais
O LinkedIn uma rede social para contactos profissionais. Para uma melhor
compreenso do objetivo deste trabalho, sugere-se que se registe no LinkedIn
(caso ainda no esteja) e que adira ao grupo DEI-ISEP.
O trabalho dever ser desenvolvido num NICO projeto NetBeans. No Moodle
encontra-se um projeto base para desenvolvimento da aplicao. Este projeto
disponibiliza as classes Janela e EigenValues que pertencem package lapr1.
A aplicao dever ser chamada da linha de comandos (java jar
nome_programa.jar nome_fich_input.html nome_fich_output.html).
Os ficheiros em HTML utilizados pela aplicao, devero ser armazenados na
pasta principal do projeto NetBeans.
A aplicao deve ser estruturada e organizada em mdulos.
Pag. 4
LAPR1 2014/15
Prazos e entregas
Pag. 5