Пример #1
0
def build_graph(n, lmbd, mu):
    g = Graph()

    for i in range(0, n + 1):  # [0,1,2,...,n]
        g.add_vertex((i))

    # strelki s lambdami
    for i in range(0, n):
        g.add_arrow((i), (i + 1), (n - i) * lmbd)

    # strelki s mu
    for i in range(n, 0, -1):
        g.add_arrow((i), (i - 1), mu)

    return g
Пример #2
0
def build_graph(n1, n2, lmbd, mu):
    g = Graph()

    for i in range(0, n1 + 1):
        for j in range(0, n2 + 1):
            g.add_vertex((i, j))


    #strelki s lambdami i mu po gorizontali
    for j in range(0, n2 + 1):      # 0 <= j <= n2
        for i in range(0, n1):      # 0 <= i <= n1-1
            g.add_arrow( (i,j) ,      (i+1,j) ,    (n1 - i) * lmbd )    #strelka s lambda
            g.add_arrow( (i+1,j) ,    (i,j) ,      mu              )    #strelka s mu v druguu storonu

    #strelki s lambdami po vertikali
    for i in range(0, n1 + 1):
        for j in range(0, n2):
            g.add_arrow((i,j), (i,j+1), (n2 - j) * lmbd)


    #strelki s mu v pervom stolbtse (t k u nas tolko odin OA)
    for j in range(0, n2):
        g.add_arrow((0, j+1), (0, j), mu)

    return g