Advertisement
ashwanimalviya

Julia Error

Jan 26th, 2021
494
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.33 KB | None | 0 0
  1. function ShortestPath(DAG, K2Score)
  2.  
  3. for i = 1:length(K2Score)
  4. ind = findall(K2Score .== 0.0)
  5. #K2Score[1,ind] ~= root,
  6. K2Score[1,ind] = 0.01
  7.  
  8. end
  9.  
  10.  
  11. # Finding the root.
  12. G = DAG
  13. M,N = size(DAG)
  14. k = 1
  15. for i in 1:M
  16. for j in 1:N
  17. if G[i,j] ~= 0
  18. a[1,k] = i
  19. a[2,k] = j
  20. k = k +1
  21. end
  22. end
  23. end
  24.  
  25.  
  26. ##
  27. n = k-1
  28. k = 1;
  29. for j in 1:N
  30. flag = 0
  31. for i in 1:M
  32. if G[i,j] ~= 0
  33. flag = 1
  34. end
  35. end
  36. if flag .== 0
  37. root[1,k] = j; # Must store all the values
  38. k = k+1
  39. end
  40. end
  41.  
  42. ## Applying bellman algorithm
  43.  
  44.  
  45. for ii = 1:length(root)
  46.  
  47. k =1
  48. for i = 1:n
  49. if a[1,i] .== root[1,ii]
  50. b[1,k] = a[1,i]
  51. b[2,k] = a[2,i]
  52. k = k+1
  53. end
  54. end
  55.  
  56.  
  57. for i = 1:n
  58. if a[1,i] ~= root[1,ii]
  59. b[1,k] = a[1,i]
  60. b[2,k] = a[2,i]
  61. k = k+1
  62. end
  63. end
  64.  
  65.  
  66.  
  67. for i = 1:M
  68. for ii = 1:length(root)
  69. dist[ii,i] = 20000; # infinity Value
  70. end
  71. end
  72.  
  73. dist[ii,root[1,ii]] = 0
  74. for i = 1: M
  75. for j = 1:n
  76. k = dist[ii,b[1,j]] + 1
  77. if k .< dist[ii,b[2,j]]
  78. dist[ii,b[2,j]] = k
  79. end
  80. end
  81. end
  82. ## Finding the minimum of distance
  83. final_dist = minimum(dist, dims = 1)
  84.  
  85. end
  86.  
  87. return final_dist
  88.  
  89. end
  90.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement