SHARE
TWEET

Untitled

a guest Oct 23rd, 2019 79 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. import numpy as np
  2. import math
  3.  
  4. def GMMRanking(matrix):
  5.     rowMul = list()
  6.  
  7.     for row in matrix:
  8.         mult = 1
  9.         for item in np.asarray(row[0])[0]:
  10.             mult *= item
  11.         rowMul.append(np.power(mult,1/len(matrix)))
  12.  
  13.     rowSum = np.asarray(rowMul).sum()
  14.     rowMul = np.asarray(np.matrix(rowMul).transpose()) / rowSum
  15.     return rowMul
  16.  
  17. def Satty(matrix):
  18.     size = len(matrix)
  19.     lmax = max(np.linalg.eigvals(matrix))
  20.     return (lmax - size) / (size - 1)
  21.  
  22. def Geom(matrix):
  23.     matrixSum = 0
  24.     matrix = GMMRanking(matrix)
  25.     scalar = 2/((len(matrix)-1)*(len(matrix)-2))
  26.     for row in matrix:
  27.         for item in row:
  28.             matrixSum += np.power(np.log(item),2)
  29.  
  30.     return scalar * matrixSum
  31.  
  32. def Koczkodaj(matrix):
  33.     n = len(matrix)
  34.     def K(i,j,k):
  35.         return (matrix[i,j]/(matrix[i,k]*matrix[k,j]))
  36.  
  37.     def minimum(i,j,k):
  38.         return min(math.fabs(1-K(i,j,k)),math.fabs(1-(1/K(i,j,k))))
  39.  
  40.     trp = [ minimum(i,j,k) for i in range(0,n-2) for j in range(1,n-1) for k in range(2,n)]
  41.     return max(trp)
  42.  
  43. A = np.matrix([[1,7,3],[(1/7),1,2],[(1/3),(1/2),1]])
  44. B = np.matrix([[1,(1/5),7,1],[5,1,(1/2),2],[(1/7),2,1,3],[1,(1/2),(1/3),1]])
  45. C = np.matrix([[1,2,5,1,7],[(1/2),1,3,(1/2),5],[(1/5),(1/3),1,(1/5),2],[1,2,5,1,7],[(1/7),(1/5),(1/2),(1/7),1]])
  46.  
  47. print("Wskazniki macierzy A: ")
  48. print("Satty'ego : ", Satty(A))
  49. print("Geometryczny : ", Geom(A))
  50. print("Koczkodaj : ", Koczkodaj(A))
  51.  
  52. print("Wskazniki macierzy B: ")
  53. print("Satty'ego : ", Satty(B))
  54. print("Geometryczny : ", Geom(B))
  55. print("Koczkodaj : ", Koczkodaj(B))
  56.  
  57. print("Wskazniki macierzy C: ")
  58. print("Satty'ego : ", Satty(C))
  59. print("Geometryczny : ", Geom(C))
  60. print("Koczkodaj : ", Koczkodaj(C))
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
Not a member of Pastebin yet?
Sign Up, it unlocks many cool features!
 
Top