Nama : Fairuz Ardhan Haunan
NIM : 220605110038
Kelas : Linear Algebra A
Dosen Pengampu : Prof. Dr. Suhartono, M.Kom.
Jurusan : Teknik Informatika
Universitas : UIN Maulana Malik Ibrahim Malang
Analisis jaringan menjadi alat yang sangat berguna dalam data sains. sebagai contoh, Penganalisis Jaringan Sosial (Social Network Analysis) dapat diaplikasikan untuk memahami keterhubungan sosial diantara para pekerja. Keterhubungan sosial memiliki efek stres melalui berbagai cara sebagimana yang di hipotesiskan oleh Holt-Lunstad. Walaupun keterhubungan sosial biasanya dipercaya memiliki efek positive bagi kesehatan dan kesejahteraan, beberapa studi menunjukkan bahwasannya keterhubungan sosial juga memiliki beberapa efek negatif. Seperti kita hubungkan antara keterhubungan sosial dengan bertambahnya kebiasaan merusak seperti adanya obat-obatan terlarang dan perilaku kasar.
Data âUKFacultyâ yang berasal dari package igraphdata mengandung sebuah jaringan sosial yang dibentuk dari hubungan personal dari sebuah fakultas di sebuah universitas Inggris. Pada data set ini, terdapat data dari 81 anggota fakultas.
Kita akan mendiskusikan basis dari graif dan jaringan termasuk didalamnya definisi mereka. Kemudian kita akan mendiskusikan beberapa properti dari teori grafis.
Anggap kita memiliki V = {1, 2, . . . , 10}. Kemudian grafis G tak terarahkan akan kita tampilkan pada sebuah visualisasi dengan 23 batas yang tak terarahkan.
library(igraph)
##
## Attaching package: 'igraph'
## The following objects are masked from 'package:stats':
##
## decompose, spectrum
## The following object is masked from 'package:base':
##
## union
G <- sample_gnp(10, 0.5)
plot(G)
Kemudian data V = {1, 2, 3, 4, 5} akan kita visualisasikan dengan sembilan batas yang terarahkan.
library(igraph)
N <- barabasi.game(10)
plot(N)
Random Grafis Tak Terarahkan dibuat berdasarkan model Erd¨osâR´enyi dengan 10 sudut dan sebuah probabilitas dari menghubungkan dua sudut yang sama dengan 0,5.
as_adjacency_matrix(G)
## 10 x 10 sparse Matrix of class "dgCMatrix"
##
## [1,] . 1 1 . . 1 . . 1 .
## [2,] 1 . . . 1 . . . 1 1
## [3,] 1 . . 1 1 1 1 . . .
## [4,] . . 1 . 1 1 1 . . .
## [5,] . 1 1 1 . . . . . .
## [6,] 1 . 1 1 . . 1 1 . .
## [7,] . . 1 1 . 1 . . . .
## [8,] . . . . . 1 . . . 1
## [9,] 1 1 . . . . . . . 1
## [10,] . 1 . . . . . 1 1 .
Kita akan mengkomputasikan matriks kedekatan dari jaringan melalui fungsi as adjacency matrix() dari package igraph.
as_adjacency_matrix(N)
## 10 x 10 sparse Matrix of class "dgCMatrix"
##
## [1,] . . . . . . . . . .
## [2,] 1 . . . . . . . . .
## [3,] 1 . . . . . . . . .
## [4,] 1 . . . . . . . . .
## [5,] . . . 1 . . . . . .
## [6,] 1 . . . . . . . . .
## [7,] . . 1 . . . . . . .
## [8,] . . 1 . . . . . . .
## [9,] . . . 1 . . . . . .
## [10,] . . . 1 . . . . . .
Matriks Laplacian memberitahukan kita banyak hal mengenai sifat-sifat dari grafis. Untuk menampilkan sifat-sifat ini kita harus menggunakan alat dari linear algebra. Kita akan mengasumsikan bahwa kita memilki grafis yang tidak terarahkan. Apabila kita memiliki grafis yang terarahkan, kita akan membuat sudut yang terarahkan dan tidak terarahkan untuk grafis tersebut.
Asumsikan kita memiliki matriks Laplacian L dengan
library(pracma)
L <- matrix(c(3, -1, -1, -1, 0, -1, 3, -1, 0, -1, -1, -1, 3, -1, 0, -1,
0, -1, 2, 0, 0, -1, 0, 0, 1), 5, 5)
nullspace(L)
## [,1]
## [1,] 0.4472136
## [2,] 0.4472136
## [3,] 0.4472136
## [4,] 0.4472136
## [5,] 0.4472136
LL <- L
LL[1,] <- LL[1,]/LL[1,1]
LL[2,] <- LL[2,]/LL[2,2]
LL[3,] <- LL[3,]/LL[3,3]
LL[4,] <- LL[4,]/LL[4,4]
LL[5,] <- LL[5,]/LL[5,5]
Kita akan mengkomputasikannya dengan fungsi eigen().
E <- eigen(LL)
Untuk mendapatkan nilai eigen, kita menggunakan perintah $values.
E$values
## [1] 1.767592e+00 1.333333e+00 1.333333e+00 5.657415e-01 1.340063e-16
Kemudian kita jumlahkan semuanya dengan fungsi sum().
sum(E$values)
## [1] 5