Beispiel #1
0
    def __init__(self):
        """
        Initialize class.  No arguments; this function creates
        the flows & initializes various variables.
        """
        self.flows = []

        # initialize a flow network for each level & seed it.
        for i in range(0, len(self.levels)):
            flow = FlowNetwork()

            for seed_name in self.seeds:
                flow.add_edge("-", seed_name)
                
            self.flows.append(flow)

        ###
            
        levels_d = {}
        levels_rev_d = {}
        for n, level in enumerate(self.levels):
            levels_d[level] = n
            levels_rev_d[n] = level

        self.levels_d = levels_d
        self.levels_rev_d = levels_rev_d
Beispiel #2
0
    def __init__(self):
        """
        Initialize class.  No arguments; this function creates
        the flows & initializes various variables.
        """
        self.flows = []

        # initialize a flow network for each level & seed it.
        for i in range(0, len(self.levels)):
            flow = FlowNetwork()

            for seed_name in self.seeds:
                flow.add_edge("-", seed_name)

            self.flows.append(flow)

        ###

        levels_d = {}
        levels_rev_d = {}
        for n, level in enumerate(self.levels):
            levels_d[level] = n
            levels_rev_d[n] = level

        self.levels_d = levels_d
        self.levels_rev_d = levels_rev_d
Beispiel #3
0
# Prepare the script options
parser = OptionParser(usage='%prog [options] DATA_FILE')
parser.add_option('-o',
                  '--output',
                  action='store',
                  dest='output',
                  help='File to save results to [default: %default]')
options, args = parser.parse_args()
if len(args) != 1:
    parser.error('A source data file must be supplied!')

# Network capacities
capacities = [3200, 800, 200, 50, 12, 4, 2, 1]
# Create a new empty network. Seed node is '-'
network = TrustNetwork()

# Open source data file
with open(args[0], 'r') as f:
    for line in f.readlines():
        # Exclude commented lines
        if line and not line.startswith('#'):
            # Parse nodes
            from_node, to_node, level = line.strip().split(',')
            # Create edge
            network.add_edge(from_node, to_node)

# Randomly select some nodes to start with
starting_nodes = [choice(network) for i in xrange(3)]
for node in starting_nodes:
    network.add_edge('-', node)
from net_flow import TrustNetwork

capacities = [ 20, 7, 2, 1 ]
network = TrustNetwork()

network.add_edge("-", "el_seed")
network.add_edge("el_seed", "test1")
network.add_edge("test1", "test2")
network.add_edge("test3", "test4")
network.add_edge("-", "test4")

network.calculate(capacities)

for user in network:
    print "%-10s\t%s" % (user, network.is_auth(user))
from net_flow import TrustNetwork

capacities = [20, 7, 2, 1]
network = TrustNetwork()

network.add_edge("-", "el_seed")
network.add_edge("el_seed", "test1")
network.add_edge("test1", "test2")
network.add_edge("test3", "test4")
network.add_edge("-", "test4")

network.calculate(capacities)

for user in network:
    print "%-10s\t%s" % (user, network.is_auth(user))