def log_multinomial_coefficient(list_of_primitive_rules):
"""
Count copies of each primitive and calculate a log multinomial coefficient.
~
"""
list_of_tuples = [p.as_tuple() for p in list_of_primitive_rules]
counts = dict.fromkeys(set(list_of_tuples),0)
for t in list_of_tuples:
counts[t] += 1
N = len(list_of_primitive_rules)
v = np.array(counts.values())
return gammaln(N+1)-np.sum(gammaln(v+1))
评论列表
文章目录