def ratio_pf_1sube(tree, numRoles):
    return h.hierarchical(tree,
                          numRoles,
                          score=h.score_ratio,
                          oneShot=False,
                          foresting=True,
                          pruning_factor=1 - 0.36787944117)
def inner_count_foresting_one_shot_no_inner_pruning(tree, numRoles):
    return h.hierarchical(tree,
                          numRoles,
                          score=h.score_inner,
                          oneShot=True,
                          foresting=True,
                          pruning_inner_factor=1)
def ratio_pf_8_one_shot(tree, numRoles):
    return h.hierarchical(tree,
                          numRoles,
                          score=h.score_ratio,
                          oneShot=True,
                          foresting=True,
                          pruning_factor=0.8)
def ratio_pf_99(tree, numRoles):
    return h.hierarchical(tree,
                          numRoles,
                          score=h.score_ratio,
                          oneShot=False,
                          foresting=True,
                          pruning_factor=0.99)
def leaf_pf_10(tree, numRoles):
    return h.hierarchical(tree,
                          numRoles,
                          score=h.score_leaf,
                          oneShot=False,
                          foresting=True,
                          pruning_factor=1)
def leaf_pf_2e(tree, numRoles):
    return h.hierarchical(tree,
                          numRoles,
                          score=h.score_leaf,
                          oneShot=False,
                          foresting=True,
                          pruning_factor=2 * 0.36787944117)
def leaf_count_no_inner_pruning(tree, numRoles):
    return h.hierarchical(tree,
                          numRoles,
                          score=h.score_leaf,
                          oneShot=True,
                          foresting=False,
                          pruning_inner_factor=1)
def ratio_no_inner_pruning(tree, numRoles):
    return h.hierarchical(tree,
                          numRoles,
                          score=h.score_ratio,
                          oneShot=True,
                          foresting=False,
                          pruning_inner_factor=1)
def leaf_count_pruning_5_foresting(tree, numRoles):
    return h.hierarchical(tree,
                          numRoles,
                          score=h.score_leaf,
                          oneShot=False,
                          foresting=True,
                          pruning_factor=0.5)
def ratio_foresting(tree, numRoles):
    return h.hierarchical(tree,
                          numRoles,
                          score=h.score_ratio,
                          oneShot=False,
                          foresting=True)
def inner_count(tree, numRoles):
    return h.hierarchical(tree,
                          numRoles,
                          score=h.score_inner,
                          oneShot=True,
                          foresting=False)
def leaf_count_foresting(tree, numRoles):
    return h.hierarchical(tree,
                          numRoles,
                          score=h.score_leaf,
                          oneShot=True,
                          foresting=True)
def simple_leaf_count(tree, numRoles):
    return h.hierarchical(tree,
                          numRoles,
                          score=h.score_leaf,
                          oneShot=True,
                          foresting=False)
def diff_foresting(tree, numRoles):
    return h.hierarchical(tree,
                          numRoles,
                          score=h.score_diff,
                          oneShot=False,
                          foresting=True)