# Random.Walk.Restart.Multiplex: Performs Random Walk with Restart on a Multiplex Network In RandomWalkRestartMH: Random walk with restart on multiplex and heterogeneous Networks

## Description

`Random.Walk.Restart.Multiplex` is a function to perform a Random Walk with Restart on a Multiplex network (on a `Multiplex` object). See more details about the algorithm below.

## Usage

 ```1 2 3 4 5``` ```Random.Walk.Restart.Multiplex(...) ## Default S3 method: Random.Walk.Restart.Multiplex(x, MultiplexObject, Seeds, r = 0.7, tau, ...) ```

## Arguments

 `...` Further arguments passed to `Random.Walk.Restart.Multiplex` `x` An object of the `Matrix` package describing a column normalized adjacency matrix of a multiplex network. `MultiplexObject` A `Multiplex` object generated by the function `create.multiplex` representing a multiplex network. `Seeds` A vector containing the names of the seeds for the Random Walk algorithm. See more details below. `r` A numeric value between 0 and 1. It sets the probability of restarting to a seed node after each step. See more details below. `tau` A vector containing the probability of restart on the seeds of the different layers (layers weights). It must have the same length than the number of layers of the multpiplex network. The sum of its components divided by the number of layers must be 1. See more details below.

## Details

Random Walk with Restart simulates an imaginary particle that starts on a seed(s) node(s) and follows randomly the edges of a network. At each step, there is a restart probability, r, meaning that the particle comes back to the seed(s). The extension to multiplex networks allows the particle to explore different monoplex networks (layers). At each step, the particle can also jump to the same node in a different layer.

• `Seeds`: A vector containing the name of the different seed node(s). It's mandatory to provide at least one seed. The seed(s) node(s) should belong to any of the layers. The length of this vector should be smaller than the total number of nodes in the multiplex network.

• `r`: A numeric value representing the restart probability on the seeds for the random walker. It must be between 0 and 1. It is set by default to 0.7, which is the most common value in this kind of approaches. It means that, at each step, the walker has a 70% of probability of coming back to one of the seeds.

• `tau`: A numeric vector containing the probability of restarting in the nodes of the different layers of the multiplex. In the example below, we define the node 1 as the seed node. However, we can find this node in both layers. Therefore, the walker can restart in any of these seed nodes. It is a way to give different relevance (weight) to the different layers.

## Value

A `RWRM_Results` object. It contains a sorted ranking of all the nodes of the multiplex network, except the seeds, along with their score. In addition, it contains in a different field the nodes used as seeds.

## Author(s)

Alberto Valdeolivas Urbelz alvaldeolivas@gmail.com

```create.multiplex, compute.adjacency.matrix, normalize.multiplex.adjacency, isRWRM_Results, Random.Walk.Restart.MultiplexHet```
 ```1 2 3 4 5 6 7``` ```m1 <- igraph::graph(c(1,2,1,3,2,3), directed = FALSE) m2 <- igraph::graph(c(1,3,2,3,3,4,1,4), directed = FALSE) multiObject <- create.multiplex(m1,m2) AdjMatrix <- compute.adjacency.matrix(multiObject) AdjMatrixNorm <- normalize.multiplex.adjacency(AdjMatrix) SeedNodes <- c(1) Random.Walk.Restart.Multiplex(AdjMatrixNorm,multiObject,SeedNodes) ```