# UNIVERSIDAD NACIONAL DEL ALTIPLANO PUNO
# INGENIERIA ESTADISTICA E INFORMATICA
# INTELIGENCIA ARTIFICIAL
library(ggraph)
## Warning: package 'ggraph' was built under R version 4.1.3
## Loading required package: ggplot2
## Warning: package 'ggplot2' was built under R version 4.1.3
library(tidyverse)
## Warning: package 'tidyverse' was built under R version 4.1.3
## -- Attaching packages --------------------------------------- tidyverse 1.3.1 --
## v tibble 3.1.6 v dplyr 1.0.8
## v tidyr 1.2.0 v stringr 1.4.0
## v readr 2.1.2 v forcats 0.5.1
## v purrr 0.3.4
## Warning: package 'tibble' was built under R version 4.1.3
## Warning: package 'tidyr' was built under R version 4.1.3
## Warning: package 'readr' was built under R version 4.1.3
## Warning: package 'purrr' was built under R version 4.1.3
## Warning: package 'dplyr' was built under R version 4.1.3
## Warning: package 'stringr' was built under R version 4.1.3
## Warning: package 'forcats' was built under R version 4.1.3
## -- Conflicts ------------------------------------------ tidyverse_conflicts() --
## x dplyr::filter() masks stats::filter()
## x dplyr::lag() masks stats::lag()
library(ggthemes)
## Warning: package 'ggthemes' was built under R version 4.1.3
library(dplyr)
library(igraph)
## Warning: package 'igraph' was built under R version 4.1.3
##
## Attaching package: 'igraph'
## The following objects are masked from 'package:dplyr':
##
## as_data_frame, groups, union
## The following objects are masked from 'package:purrr':
##
## compose, simplify
## The following object is masked from 'package:tidyr':
##
## crossing
## The following object is masked from 'package:tibble':
##
## as_data_frame
## The following objects are masked from 'package:stats':
##
## decompose, spectrum
## The following object is masked from 'package:base':
##
## union
library(sand)
## Warning: package 'sand' was built under R version 4.1.3
## Loading required package: igraphdata
## Warning: package 'igraphdata' was built under R version 4.1.3
##
## Statistical Analysis of Network Data with R, 2nd Edition
## Type in C2 (+ENTER) to start with Chapter 2.
library(pander)
## Warning: package 'pander' was built under R version 4.1.3
library(reshape2)
## Warning: package 'reshape2' was built under R version 4.1.3
##
## Attaching package: 'reshape2'
## The following object is masked from 'package:tidyr':
##
## smiths
library(readxl)
## Warning: package 'readxl' was built under R version 4.1.3
Data <- read_excel("D:/INTELIGENCIA ARTIFICIAL/Data.xlsx")
Data
## # A tibble: 9 x 3
## var1 var2 Peso
## <dbl> <dbl> <dbl>
## 1 1 2 7
## 2 1 3 9
## 3 2 3 10
## 4 2 4 15
## 5 3 4 11
## 6 3 6 2
## 7 4 5 6
## 8 5 6 9
## 9 6 1 14
# Data <- edit(data.frame())
g <- graph.data.frame(Data, directed = F)
class(g)
## [1] "igraph"
V(g)$name
## [1] "1" "2" "3" "4" "5" "6"
E(g)$Peso
## [1] 7 9 10 15 11 2 6 9 14
tkplot(g)
## [1] 1
plot(g, edge.label = paste(E(g)$Peso, sep = ""))

# Camino mas corto entre 1 y 5
sp <- shortest.paths(g, v = "1", to = "5")
sp[]
## 5
## 1 2
gsp <- get.shortest.paths(g, from = "1", to = "5")
V(g)[gsp$vpath[[1]]]
## + 3/6 vertices, named, from f818b17:
## [1] 1 6 5
# Matriz de adyacencia con ceros
adj <- get.adjacency(g, attr = 'Peso', sparse = F)
adj
## 1 2 3 4 5 6
## 1 0 7 9 0 0 14
## 2 7 0 10 15 0 0
## 3 9 10 0 11 0 2
## 4 0 15 11 0 6 0
## 5 0 0 0 6 0 9
## 6 14 0 2 0 9 0
# Caminos mas cortos desde 1
allsp <- get.all.shortest.paths(g, from = "1")
str(allsp)
## List of 2
## $ res :List of 7
## ..$ : 'igraph.vs' Named int 1
## .. ..- attr(*, "names")= chr "1"
## .. ..- attr(*, "env")=<weakref>
## .. ..- attr(*, "graph")= chr "f818b170-c50c-11ec-b9ac-eb85bb52b508"
## ..$ : 'igraph.vs' Named int [1:2] 1 2
## .. ..- attr(*, "names")= chr [1:2] "1" "2"
## .. ..- attr(*, "env")=<weakref>
## .. ..- attr(*, "graph")= chr "f818b170-c50c-11ec-b9ac-eb85bb52b508"
## ..$ : 'igraph.vs' Named int [1:2] 1 3
## .. ..- attr(*, "names")= chr [1:2] "1" "3"
## .. ..- attr(*, "env")=<weakref>
## .. ..- attr(*, "graph")= chr "f818b170-c50c-11ec-b9ac-eb85bb52b508"
## ..$ : 'igraph.vs' Named int [1:3] 1 3 4
## .. ..- attr(*, "names")= chr [1:3] "1" "3" "4"
## .. ..- attr(*, "env")=<weakref>
## .. ..- attr(*, "graph")= chr "f818b170-c50c-11ec-b9ac-eb85bb52b508"
## ..$ : 'igraph.vs' Named int [1:3] 1 2 4
## .. ..- attr(*, "names")= chr [1:3] "1" "2" "4"
## .. ..- attr(*, "env")=<weakref>
## .. ..- attr(*, "graph")= chr "f818b170-c50c-11ec-b9ac-eb85bb52b508"
## ..$ : 'igraph.vs' Named int [1:3] 1 6 5
## .. ..- attr(*, "names")= chr [1:3] "1" "6" "5"
## .. ..- attr(*, "env")=<weakref>
## .. ..- attr(*, "graph")= chr "f818b170-c50c-11ec-b9ac-eb85bb52b508"
## ..$ : 'igraph.vs' Named int [1:2] 1 6
## .. ..- attr(*, "names")= chr [1:2] "1" "6"
## .. ..- attr(*, "env")=<weakref>
## .. ..- attr(*, "graph")= chr "f818b170-c50c-11ec-b9ac-eb85bb52b508"
## $ nrgeo: num [1:6] 1 1 1 2 1 1