如何在不访问相同顶点/节点的情况下进行随机行走

时间:2018-07-18 10:21:34

标签: r igraph network-analysis random-walk

我正在使用iGraph在R中运行随机游走功能,我的随机游走者正在沿着路网行驶。但是,当我运行以下代码时,我发现随机遍历总是返回到相同的顶点/节点。有什么方法可以让随机助步器每次都遵循一条新路径吗?

    set.seed(1)
    resample <- function(x, ...) x[sample.int(length(x), ...)]
    n <- 1000
    tm <- G
    x = sub$idNode1[sample(1:length(sub$idNode1),1)]

    start <- x # Random walk starting vertex
    len <- 100 # Walk length
    path <- c(start, rep(NA, len))
    for(i in 2:(len + 1)) {
        idx <- G[path[i - 1], ] != 0
        if(any(idx)) {
            path[i] <- resample(which(idx), 1, prob = G[path[i - 1], idx])
        } else {
          break # Stopping if we get stuck
        }

0 个答案:

没有答案