Thuật toán Xếp hạng trang có thể áp dụng trong các trang web. Trang web là một đồ thị có hướng, chúng ta biết rằng hai thành phần của Đồ thị được hướng dẫn là -nodes và các kết nối. Các trang là nút và siêu liên kết là kết nối, kết nối giữa hai nút.
Chúng tôi có thể tìm ra tầm quan trọng của mỗi trang bằng Xếp hạng trang và nó là chính xác. Giá trị của Xếp hạng trang là xác suất sẽ nằm trong khoảng từ 0 đến 1.
Giá trị Xếp hạng trang của từng nút trong biểu đồ phụ thuộc vào giá trị Xếp hạng trang của tất cả các nút kết nối với nó và các nút đó được kết nối theo chu kỳ với các nút có thứ hạng mà chúng tôi muốn, chúng tôi sử dụng phương pháp lặp hội tụ để gán giá trị cho Xếp hạng trang.
Mã mẫu
import numpy as np import scipy as sc import pandas as pd from fractions import Fraction def display_format(my_vector, my_decimal): return np.round((my_vector).astype(np.float), decimals=my_decimal) my_dp = Fraction(1,3) Mat = np.matrix([[0,0,1], [Fraction(1,2),0,0], [Fraction(1,2),1,0]]) Ex = np.zeros((3,3)) Ex[:] = my_dp beta = 0.7 Al = beta * Mat + ((1-beta) * Ex) r = np.matrix([my_dp, my_dp, my_dp]) r = np.transpose(r) previous_r = r for i in range(1,100): r = Al * r print (display_format(r,3)) if (previous_r==r).all(): break previous_r = r print ("Final:\n", display_format(r,3)) print ("sum", np.sum(r))
Đầu ra
[[0.333] [0.217] [0.45 ]] [[0.415] [0.217] [0.368]] [[0.358] [0.245] [0.397]] [[0.378] [0.225] [0.397]] [[0.378] [0.232] [0.39 ]] [[0.373] [0.232] [0.395]] [[0.376] [0.231] [0.393]] [[0.375] [0.232] [0.393]] [[0.375] [0.231] [0.394]] [[0.375] [0.231] [0.393]] [[0.375] [0.231] [0.393]] [[0.375] [0.231] [0.393]] [[0.375] [0.231] [0.393]] [[0.375] [0.231] [0.393]] [[0.375] [0.231] [0.393]] [[0.375] [0.231] [0.393]] [[0.375] [0.231] [0.393]] [[0.375] [0.231] [0.393]] [[0.375] [0.231] [0.393]] [[0.375] [0.231] [0.393]] [[0.375] [0.231] [0.393]] [[0.375] [0.231] [0.393]] [[0.375] [0.231] [0.393]] [[0.375] [0.231] [0.393]] [[0.375] [0.231] [0.393]] [[0.375] [0.231] [0.393]] [[0.375] [0.231] [0.393]] [[0.375] [0.231] [0.393]] [[0.375] [0.231] [0.393]] [[0.375] [0.231] [0.393]] [[0.375] [0.231] [0.393]] [[0.375] [0.231] [0.393]] [[0.375] [0.231] [0.393]] [[0.375] [0.231] [0.393]] [[0.375] [0.231] [0.393]] [[0.375] [0.231] [0.393]] [[0.375] [0.231] [0.393]] [[0.375] [0.231] [0.393]] [[0.375] [0.231] [0.393]] [[0.375] [0.231] [0.393]] [[0.375] [0.231] [0.393]] [[0.375] [0.231] [0.393]] [[0.375] [0.231] [0.393]] [[0.375] [0.231] [0.393]] [[0.375] [0.231] [0.393]] [[0.375] [0.231] [0.393]] [[0.375] [0.231] [0.393]] [[0.375] [0.231] [0.393]] [[0.375] [0.231] [0.393]] [[0.375] [0.231] [0.393]] [[0.375] [0.231] [0.393]] [[0.375] [0.231] [0.393]] [[0.375] [0.231] [0.393]] [[0.375] [0.231] [0.393]] [[0.375] [0.231] [0.393]] [[0.375] [0.231] [0.393]] [[0.375] [0.231] [0.393]] [[0.375] [0.231] [0.393]] [[0.375] [0.231] [0.393]] [[0.375] [0.231] [0.393]] [[0.375] [0.231] [0.393]] [[0.375] [0.231] [0.393]] [[0.375] [0.231] [0.393]] [[0.375] [0.231] [0.393]] [[0.375] [0.231] [0.393]] [[0.375] [0.231] [0.393]] Final: [[0.375] [0.231] [0.393]] sum 0.9999999999999951