Форум сайта python.su
0
привет
У меня есть несколько вопросов по поводу некоторых кодирования питона. Я пытался решить эти три проблемы, но безрезультатно. я понятия не имею, как начать их решения. Это дополнительный курс, который я беру. У меня 2 выпускных экзаменов в школе завтра, и вся помощь будет высоко оценен.
Question 1:
One of the problems with our page ranking system is pages can collude with each other to improve their page ranks. We consider A->B a reciprocal link if there is a link path from B to A of length equal to or below the collusion level, k. The length of a link path is the number of links which are taken to travel from one page to the other.
If k = 0, then a link from A to A is a reciprocal link for node A, since no links needs to be taken to get from A to A.
If k=1, B->A would count as a reciprocal link if there is a link A->B, which includes one link and so is of length 1. (it requires two parties, A and B, to collude to increase each others page rank).
If k=2, B->A would count as a reciprocal link for node A if there is a path A->C->B, for some page C, (link path of length 2), or a direct link A-> B (link path of length 1).
The compute_ranks code must:
- take an extra input k, which is a non-negative integer, and
- exclude reciprocal links of length up to and including k from helping the page rank.
def compute_ranks(graph): d = 0.8 # damping factor numloops = 10 ranks = {} npages = len(graph) for page in graph: ranks[page] = 1.0 / npages for i in range(0, numloops): newranks = {} for page in graph: newrank = (1 - d) / npages for node in graph: if page in graph[node]: newrank = newrank + d * (ranks[node]/len(graph[node])) newranks[page] = newrank ranks = newranks return ranks
g = {'a': ['a', 'b', 'c'], 'b':['a'], 'c':['d'], 'd':['a']} #print compute_ranks(g, 0) # the a->a link is reciprocal #>>> {'a': 0.26676872354238684, 'c': 0.1216391112164609, # 'b': 0.1216391112164609, 'd': 0.1476647842238683} #print compute_ranks(g, 1) # a->a, a->b, b->a links are reciprocal #>>> {'a': 0.14761759762962962, 'c': 0.08936469270123457, # 'b': 0.04999999999999999, 'd': 0.12202199703703702} #print compute_ranks(g, 2) # a->a, a->b, b->a, a->c, c->d, d->a links are reciprocal # (so all pages end up with the same rank) #>>> {'a': 0.04999999999999999, 'c': 0.04999999999999999, # 'b': 0.04999999999999999, 'd': 0.04999999999999999}
def cellular_automaton():
print cellular_automaton('.x.x.x.x.', 17, 2) #>>> xxxxxxx.. print cellular_automaton('.x.x.x.x.', 249, 3) #>>> .x..x.x.x print cellular_automaton('...x....', 125, 1) #>>> xx.xxxxx print cellular_automaton('...x....', 125, 2) #>>> .xxx.... print cellular_automaton('...x....', 125, 3) #>>> .x.xxxxx print cellular_automaton('...x....', 125, 4) #>>> xxxx...x print cellular_automaton('...x....', 125, 5) #>>> ...xxx.x print cellular_automaton('...x....', 125, 6) #>>> xx.x.xxx print cellular_automaton('...x....', 125, 7) #>>> .xxxxx.. print cellular_automaton('...x....', 125, 8) #>>> .x...xxx print cellular_automaton('...x....', 125, 9) #>>> xxxx.x.x print cellular_automaton('...x....', 125, 10) #>>> ...xxxxx
Офлайн
568
У меня есть несколько вопросов по поводу некоторых кодирования питона. Я пытался решить эти три проблемы, но безрезультатно. я понятия не имею, как начать их решения. Это дополнительный курс, который я беру. У меня 2 выпускных экзаменов в школе завтра, и вся помощь будет высоко оценен.Пристрелите бота на взлёте.
Офлайн
0
что?
Офлайн