'''
Created on Sep 19, 2019

@author: mania
'''

import utils.graph as gr
from utils.inputs import *


graphs = []
graphs_dict = {}


q3ds = gr.Graph(6, type=gr.Type.sequential)
q3ds.add_edge(0, 1, 0)
q3ds.add_edge(1, 2, 0)
q3ds.add_edge(2, 3, 0)
q3ds.add_edge(3, 4, 0)
q3ds.add_edge(4, 5, 0)
q3ds.add_edge(5, 6, 0)
q3ds.config_inputs(0, {'d': 0})
graphs.append(q3ds)
graphs_dict['DSQ3'] = q3ds


q1h = gr.Graph(3, type=gr.Type.broadcast)
q1h.add_edge(0, 1, 0)
q1h.add_edge(0, 2, 0)
q1h.add_edge(1, 2, 0)
q1h.config_inputs(0, {'lineitem': 0})
graphs.append(q1h)
graphs_dict['HQ1'] = q1h


q2h = gr.Graph(7, type=gr.Type.sequential)
q2h.add_edge(0, 1, 0)
q2h.add_edge(1, 2, 0)
q2h.add_edge(2, 3, 0)
q2h.add_edge(3, 4, 0)
q2h.add_edge(4, 5, 0)
q2h.add_edge(4, 6, 0)
q2h.add_edge(5, 6, 0)
q2h.config_inputs(0, {'region': 0, 'nation': 0})
q2h.config_inputs(1, {'supplier': 0})
q2h.config_inputs(2, {'partsupp': 0})
q2h.config_inputs(3, {'part': 0})
graphs.append(q2h)
graphs_dict['HQ2'] = q2h


q3h = gr.Graph(5,type=gr.Type.sequential)
q3h.add_edge(0, 1, 0)
q3h.add_edge(1, 2, 0)
q3h.add_edge(2, 3, 0)
q3h.add_edge(2, 4, 0)
q3h.add_edge(3, 4, 0)
q3h.config_inputs(0, {'orders': 0})
q3h.config_inputs(1, {'lineitem': 0})
graphs.append(q3h)
graphs_dict['HQ3'] = q3h

q4h = gr.Graph(4, type=gr.Type.broadcast)
q4h.add_edge(0, 1, 0)
q4h.add_edge(1, 2, 0)
q4h.add_edge(1, 3, 0)
q4h.add_edge(3, 4, 0)
q4h.config_inputs(0, {'orders': 0, 'lineitem': 0})
graphs.append(q4h)
graphs_dict['HQ4'] = q4h

q5h = gr.Graph(8, type=gr.Type.sequential)
q5h.add_edge(0, 1, 0)
q5h.add_edge(1, 2, 0)
q5h.add_edge(2, 3, 0)
q5h.add_edge(3, 4, 0)
q5h.add_edge(4, 5, 0)
q5h.add_edge(5, 6, 0)
q5h.add_edge(5, 7, 0)
q5h.add_edge(6, 7, 0)
q5h.config_inputs(0, {'nation': 0, 'region': 0})
q5h.config_inputs(1, {'supplier': 0})
q5h.config_inputs(2, {'lineitem': 0})
q5h.config_inputs(3, {'orders': 0})
q5h.config_inputs(4, {'customer': 0})
graphs.append(q5h)
graphs_dict['HQ5'] = q5h


q6h = gr.Graph(1, type=gr.Type.tiny)
q6h.config_inputs(0, {'lineitem': 0})
graphs.append(q6h)
graphs_dict['HQ6'] = q6h

q7h = gr.Graph(8, type=gr.Type.aggregate)
q7h.add_edge(0, 4, 0)
q7h.add_edge(1, 3, 0)
q7h.add_edge(2, 4, 0)
q7h.add_edge(3, 4, 0)
q7h.add_edge(4, 5, 0)
q7h.add_edge(5, 6, 0)
q7h.add_edge(5, 7, 0)
q7h.add_edge(6, 7, 0)
q7h.config_inputs(0, {'nation': 0})
q7h.config_inputs(1, {'nation': 0})
q7h.config_inputs(2, {'supplier': 0, 'lineitem': 0})
q7h.config_inputs(3, {'orders': 0, 'customer': 0})
graphs.append(q7h)
graphs_dict['HQ7'] = q7h

q8h = gr.Graph(11, type=gr.Type.complex)
q8h.add_edge(0, 3, 0)
q8h.add_edge(0, 4, 0)
q8h.add_edge(1, 4, 0)
q8h.add_edge(2, 3, 0)
q8h.add_edge(3, 5, 0)
q8h.add_edge(4, 7, 0)
q8h.add_edge(5, 7, 0)
q8h.add_edge(6, 7, 0)
q8h.add_edge(8, 9, 0)
q8h.add_edge(8, 10, 0)
q8h.add_edge(9, 10, 0)
q8h.config_inputs(0, {'region': 0})
q8h.config_inputs(1, {'part': 0, 'lineitem': 0})
q8h.config_inputs(3, {'nation': 0})
q8h.config_inputs(4, {'supplier': 0})
q8h.config_inputs(6, {'customer': 0, 'orders': 0})
graphs.append(q8h)
graphs_dict['HQ8'] = q8h


q9h = gr.Graph(8, type=gr.Type.aggregate)
q9h.add_edge(0, 2, 0)
q9h.add_edge(1, 2, 0)
q9h.add_edge(2, 3, 0)
q9h.add_edge(3, 4, 0)
q9h.add_edge(4, 5, 0)
q9h.add_edge(5, 6, 0)
q9h.add_edge(5, 7, 0)
q9h.add_edge(6, 7, 0)
q9h.config_inputs(0, {'nation': 0})
q9h.config_inputs(1, {'lineitem': 0, 'part': 0})
q9h.config_inputs(2, {'supplier': 0})
q9h.config_inputs(3, {'parsupp': 0})
q9h.config_inputs(4, {'orders': 0})
graphs.append(q9h)
graphs_dict['HQ9'] = q9h

q10h = gr.Graph(6, type=gr.Type.sequential)
q10h.add_edge(0, 1, 0)
q10h.add_edge(1, 2, 0)
q10h.add_edge(2, 3, 0)
q10h.add_edge(3, 4, 0)
q10h.add_edge(3, 5, 0)
q10h.add_edge(4, 5, 0)
q10h.config_inputs(0, {'customer': 0, 'orders': 0})
q10h.config_inputs(1, {'nation': 0})
q10h.config_inputs(2, {'lineitem': 0})
graphs.append(q10h)
graphs_dict['HQ10'] = q10h

q11h = gr.Graph(6, type=gr.Type.broadcast)
q11h.add_edge(0, 1, 0)
q11h.add_edge(1, 2, 0)
q11h.add_edge(1, 3, 0)
q11h.add_edge(3, 4, 0)
q11h.add_edge(3, 5, 0)
q11h.add_edge(4, 5, 0)
q11h.config_inputs(0, {'nation': 0, 'supplier': 0})
q11h.config_inputs(1, {'partsupp': 0})
graphs.append(q11h)
graphs_dict['HQ11'] = q11h


q12h = gr.Graph(4, type=gr.Type.sequential)
q12h.add_edge(0, 1, 0)
q12h.add_edge(1, 2, 0)
q12h.add_edge(1, 3, 0)
q12h.add_edge(2, 3, 0)
q12h.config_inputs(0, {'li2': 0, 'li2': 0})
graphs.append(q12h)
graphs_dict['HQ12'] = q12h

q13h = gr.Graph(4, type=gr.Type.sequential)
q13h.add_edge(0, 1, 0)
q13h.add_edge(1, 2, 0)
q13h.add_edge(1, 3, 0)
q13h.add_edge(2, 3, 0)
q13h.config_inputs(0, {'customer': 0, 'orders': 0})
graphs.append(q13h)
graphs_dict['HQ13'] = q13h

q14h = gr.Graph(3, type=gr.Type.tiny)
q14h.add_edge(0, 1, 0)
q14h.add_edge(1, 2, 0)
q14h.config_inputs(0, {'part': 0, 'lineitem': 0})
graphs.append(q14h)
graphs_dict['HQ14'] = q14h

q15h = gr.Graph(6, type=gr.Type.complex)
q15h.add_edge(0, 1, 0)
q15h.add_edge(0, 2, 0)
q15h.add_edge(2, 3, 0)
q15h.add_edge(3, 4, 0)
q15h.add_edge(3, 5, 0)
q15h.add_edge(4, 5, 0)
q15h.config_inputs(0, {'lineitem': 0})
q15h.config_inputs(2, {'supplier': 0})
graphs.append(q15h)
graphs_dict['HQ15'] = q15h

q16h = gr.Graph(5, type=gr.Type.aggregate)
q16h.add_edge(0, 1, 0)
q16h.add_edge(1, 2, 0)
q16h.add_edge(2, 3, 0)
q16h.add_edge(2, 4, 0)
q16h.add_edge(3, 4, 0)
q16h.config_inputs(0, {'partsupp': 0, 'supplier': 0})
q16h.config_inputs(1, {'part': 0})
graphs.append(q16h)
graphs_dict['HQ16'] = q16h

q17h = gr.Graph(2, type=gr.Type.tiny)
q17h.add_edge(0, 1, 0)
q17h.add_edge(1, 2, 0)
q17h.config_inputs(0, {'lineitem': 0, 'part': 0})
graphs.append(q17h)
graphs_dict['HQ17'] = q17h

q18h = gr.Graph(6, type=gr.Type.complex)
q18h.add_edge(0, 1, 0)
q18h.add_edge(1, 2, 0)
q18h.add_edge(2, 3, 0)
q18h.add_edge(3, 4, 0)
q18h.add_edge(3, 5, 0)
q18h.add_edge(4, 5, 0)
q18h.config_inputs(0, {'lineitem': 0, 'orders': 0})
q18h.config_inputs(1, {'customer': 0})
graphs.append(q18h)
graphs_dict['HQ18'] = q18h


q19h = gr.Graph(2, type=gr.Type.tiny)
q19h.add_edge(0, 1, 0)
q19h.config_inputs(0, {'lineitem': 0, 'part': 0})
graphs.append(q19h)
graphs_dict['HQ19'] = q19h


q20h = gr.Graph(9, type=gr.Type.aggregate)
q20h.add_edge(0, 3, 0)
q20h.add_edge(1, 3, 0)
q20h.add_edge(2, 4, 0)
q20h.add_edge(3, 4, 0)
q20h.add_edge(4, 5, 0)
q20h.add_edge(5, 6, 0)
q20h.add_edge(6, 7, 0)
q20h.add_edge(6, 8, 0)
q20h.add_edge(7, 8, 0)
q20h.config_inputs(0, {'nation': 0, 'supplier': 0})
q20h.config_inputs(1, {'part': 0})
q20h.config_inputs(2, {'lineitem': 0})
q20h.config_inputs(3, {'partsupp': 0})
graphs.append(q20h)
graphs_dict['HQ20'] = q20h

q21h = gr.Graph(8, type=gr.Type.complex)
q21h.add_edge(0, 2, 0)
q21h.add_edge(1, 2, 0)
q21h.add_edge(1, 3, 0)
q21h.add_edge(2, 4, 0)
q21h.add_edge(3, 4, 0)
q21h.add_edge(4, 5, 0)
q21h.add_edge(5, 6, 0)
q21h.add_edge(5, 7, 0)
q21h.add_edge(6, 7, 0)
q20h.config_inputs(0, {'nation': 0})
q20h.config_inputs(1, {'lineitem': 0})
q20h.config_inputs(3, {'supplier': 0})
q20h.config_inputs(4, {'orders': 0})
graphs.append(q21h)
graphs_dict['HQ21'] = q21h

q22h = gr.Graph(6, type=gr.Type.sequential)
q22h.add_edge(0, 1, 0)
q22h.add_edge(1, 2, 0)
q22h.add_edge(2, 3, 0)
q22h.add_edge(3, 4, 0)
q22h.add_edge(3, 5, 0)
q22h.add_edge(4, 5, 0)
q22h.config_inputs(0, {'customer': 0})
q22h.config_inputs(1, {'orders': 0})
graphs.append(q22h)
graphs_dict['HQ22'] = q22h

######################################################################
q1a = gr.Graph(8, type=gr.Type.aggregate)
q1a.add_edge(0, 3, 0)
q1a.add_edge(1, 3, 0)
q1a.add_edge(1, 4, 0)
q1a.add_edge(2, 4, 0)
q1a.add_edge(3, 5, 0)
q1a.add_edge(4, 5, 0)
q1a.add_edge(5, 6, 0)
q1a.add_edge(6, 7, 0)
q1a.static_runtime(0, 50, 23)
q1a.static_runtime(1, 232, 77)
q1a.static_runtime(2, 634, 100)
q1a.static_runtime(3, 60, 40)
q1a.static_runtime(4, 80, 50)
q1a.static_runtime(5, 41, 41)
q1a.static_runtime(6, 11, 11)
q1a.static_runtime(7, 40, 40)
q1a.config_inputs(0, {'a1': inputs['a1']})
q1a.config_inputs(1, {'b23': inputs['b23'], 'c23': inputs['c23']})
q1a.config_inputs(2, {'d23': inputs['d23'], 'e23': inputs['e23']})
q1a.config_inputs(3, {'sup': inputs['sup']})
q1a.config_inputs(4, {'ad': inputs['ad']})
q1a.set_misestimated_jobs(np.array([1, 1, 0, 1, 0, 1, 1, 1, 0, 1, 1, 1, 1, 0, 0, 0]))
graphs.append(q1a)
graphs_dict['AQ1'] = q1a

q2a = gr.Graph(11, type=gr.Type.complex)
q2a.add_edge(0, 3, 0)
q2a.add_edge(1, 3, 0)
q2a.add_edge(1, 4, 0)
q2a.add_edge(2, 4, 0)
q2a.add_edge(4, 5, 0)
q2a.add_edge(5, 6, 0)
q2a.add_edge(5, 7, 0)
q2a.add_edge(6, 7, 0)
q2a.add_edge(3, 8, 0)
q2a.add_edge(8, 9, 0)
q2a.add_edge(9, 10, 0)
q2a.static_runtime(0, 50, 23)
q2a.static_runtime(1, 634, 200)
q2a.static_runtime(2, 232, 77)
q2a.static_runtime(3, 7, 2)
q2a.static_runtime(4, 53, 17)
q2a.static_runtime(5, 41, 41)
q2a.static_runtime(6, 11, 11)
q2a.static_runtime(7, 40, 40)
q2a.static_runtime(8, 0, 0)
q2a.static_runtime(9, 0, 0)
q2a.static_runtime(10, 0, 0)
q2a.config_inputs(0, {'d': inputs['d']})
q2a.config_inputs(1, {'b7': inputs['b7'], 'li': inputs['li']})
q2a.config_inputs(2, {'d7': inputs['d7'], 'c7': inputs['c7']})
q2a.config_inputs(3, {'sup': inputs['sup']})
q2a.config_inputs(4, {'ad': inputs['ad']})
q2a.set_misestimated_jobs(np.array([1, 1, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0]))
graphs.append(q2a)
graphs_dict['AQ2'] = q2a

q3a = gr.Graph(12, type=gr.Type.complex)
q3a.add_edge(0, 2, 0)
q3a.add_edge(0, 3, 0)
q3a.add_edge(1, 4, 0)
q3a.add_edge(3, 6, 0)
q3a.add_edge(4, 7, 0)
q3a.add_edge(5, 7, 0)
q3a.add_edge(6, 9, 0)
q3a.add_edge(7, 9, 0)
q3a.add_edge(8, 9, 0)
q3a.add_edge(9, 10, 0)
q3a.add_edge(9, 11, 0)
q3a.add_edge(10, 11, 0)
q3a.static_runtime(0, 7, 2)
q3a.static_runtime(1, 636, 212)
q3a.static_runtime(2, 7, 2)
q3a.static_runtime(3, 76, 25)
q3a.static_runtime(4, 50, 20)
q3a.static_runtime(5, 251, 83)
q3a.static_runtime(6, 49, 16)
q3a.static_runtime(7, 5, 1)
q3a.static_runtime(8, 76, 25)
q3a.static_runtime(9, 39, 13)
q3a.static_runtime(10, 11, 3)
q3a.static_runtime(11, 39, 13)
q3a.config_inputs(0, {'na': inputs['na']})
q3a.config_inputs(1, {'p': inputs['p'], 'li': inputs['li']})
q3a.config_inputs(3, {'d': inputs['d']})
q3a.config_inputs(4, {'sup': inputs['sup']})
q3a.config_inputs(5, {'or': inputs['or'], 'cus': inputs['cus']})
q3a.config_inputs(6, {'c2': inputs['c2']})
q3a.config_inputs(8, {'re': inputs['re']})
q3a.set_misestimated_jobs(np.array([0, 1, 1, 1, 0, 0, 0, 1, 0, 1, 0, 1, 1, 1, 0, 0, 0, 1, 0, 1, 0, 1, 1,1]))
graphs.append(q3a)
graphs_dict['AQ3'] = q3a

q4a = gr.Graph(8, type=gr.Type.aggregate)
q4a.add_edge(0, 2, 0)
q4a.add_edge(1, 2, 0)
q4a.add_edge(2, 3, 0)
q4a.add_edge(3, 4, 0)
q4a.add_edge(4, 5, 0)
q4a.add_edge(5, 6, 0)
q4a.add_edge(5, 7, 0)
q4a.add_edge(6, 7, 0)
q4a.static_runtime(0, 7, 2)
q4a.static_runtime(1, 645, 215)
q4a.static_runtime(2, 90, 30)
q4a.static_runtime(3, 172, 57)
q4a.static_runtime(4, 205, 68)
q4a.static_runtime(5, 43, 43)
q4a.static_runtime(6, 11, 11)
q4a.static_runtime(7, 41, 41)
q4a.config_inputs(0, {'b7': inputs['b7']})
q4a.config_inputs(1, {'p': inputs['p'], 'li': inputs['li']})
q4a.config_inputs(2, {'ad': inputs['ad']})
q4a.config_inputs(3, {'e4': inputs['e4']})
q4a.config_inputs(4, {'f4': inputs['f4']})
q4a.set_misestimated_jobs(np.array([1, 0, 0, 0, 0, 1, 1, 0, 0, 1, 1, 1, 0, 1, 1, 0]))
graphs.append(q4a)
graphs_dict['AQ4'] = q4a

q5a = gr.Graph(6, type=gr.Type.sequential)
q5a.add_edge(0, 1, 0)
q5a.add_edge(1, 2, 0)
q5a.add_edge(2, 3, 0)
q5a.add_edge(3, 4, 0)
q5a.add_edge(3, 5, 0)
q5a.add_edge(4, 5, 0)
q5a.static_runtime(0, 220, 73)
q5a.static_runtime(1, 50, 16)
q5a.static_runtime(2, 548, 182)
q5a.static_runtime(3, 45, 45)
q5a.static_runtime(4, 11, 11)
q5a.static_runtime(5, 43, 43)
q5a.config_inputs(0, {'a5': inputs['a5'], 'or': inputs['or']})
q5a.config_inputs(1, {'b5': inputs['b5']})
q5a.config_inputs(2, {'li': inputs['li']})
q5a.set_misestimated_jobs(np.array([0, 1, 1, 1, 0, 1, 0, 1, 1, 0, 0, 0]))
graphs.append(q5a)
graphs_dict['AQ5'] = q5a

q6a = gr.Graph(6, type=gr.Type.broadcast)
q6a.add_edge(0, 1, 0)
q6a.add_edge(1, 2, 0)
q6a.add_edge(1, 3, 0)
q6a.add_edge(3, 4, 0)
q6a.add_edge(3, 5, 0)
q6a.add_edge(4, 5, 0)
q6a.static_runtime(0, 77, 25)
q6a.static_runtime(1, 153, 51)
q6a.static_runtime(2, 12, 4)
q6a.static_runtime(3, 40, 13)
q6a.static_runtime(4, 11, 11)
q6a.static_runtime(5, 40, 40)
q6a.config_inputs(0, {'sup': inputs['sup'], 'b6': inputs['b6']})
q6a.config_inputs(1, {'c6': inputs['c6']})
q6a.config_inputs(2, {'ab': inputs['ab']})
q6a.config_inputs(3, {'d6': inputs['d6']})
q6a.set_misestimated_jobs(np.array([0, 1, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0]))
graphs.append(q6a)
graphs_dict['AQ6'] = q6a

q7a = gr.Graph(4, type=gr.Type.broadcast)
q7a.add_edge(0, 1, 0)
q7a.add_edge(1, 2, 0)
q7a.add_edge(1, 3, 0)
q7a.add_edge(2, 3, 0)
q7a.static_runtime(0, 667, 222)
q7a.static_runtime(1, 41, 13)
q7a.static_runtime(2, 11, 11)
q7a.static_runtime(3, 39, 39)
q7a.config_inputs(0, {'li2': inputs['li2'], 'f4': inputs['f4']})
q7a.config_inputs(0, {'g': inputs['g']})
q7a.set_misestimated_jobs(np.array([0, 1, 0, 0, 0, 1, 0, 0]))
graphs.append(q7a)
graphs_dict['AQ7'] = q7a


q8a = gr.Graph(4, type=gr.Type.broadcast)
q8a.add_edge(0, 1, 0)
q8a.add_edge(0, 2, 0)
q8a.add_edge(2, 3, 0)
q8a.add_edge(1, 3, 0)
q8a.static_runtime(0, 16, 12)
q8a.static_runtime(1, 16, 8)
q8a.static_runtime(2, 12, 8)
q8a.static_runtime(3, 16, 8)
q8a.config_inputs(0, {'a1': inputs['a1']})
q8a.config_inputs(1, {'a2': inputs['a2']})
q8a.config_inputs(2, {'a3': inputs['a3']})
q8a.config_inputs(3, {'a4': inputs['a4']})
q8a.set_misestimated_jobs(np.array([1, 0, 0, 0, 0, 0, 1, 0]))
graphs.append(q8a)
graphs_dict['AQ8'] = q8a

q9a = gr.Graph(4, type=gr.Type.aggregate)
q9a.add_edge(0, 2, 0)
q9a.add_edge(1, 2, 0)
q9a.add_edge(2, 3, 0)
q9a.static_runtime(0, 16, 8)
q9a.static_runtime(1, 12, 8)
q9a.static_runtime(2, 16, 12)
q9a.static_runtime(3, 16, 8)
q9a.config_inputs(0, {'b1': inputs['b1']})
q9a.config_inputs(1, {'b2': inputs['b2']})
q9a.config_inputs(2, {'b3': inputs['b3']})
q9a.config_inputs(3, {'b4': inputs['b4']})
q9a.set_misestimated_jobs(np.array([1, 1, 0, 1, 1, 1, 1, 1]))
graphs.append(q9a)
graphs_dict['AQ9'] = q9a

q10a = gr.Graph(10, type=gr.Type.complex)
q10a.add_edge(0, 1, 0)
q10a.add_edge(0, 3, 0)
q10a.add_edge(1, 9, 0)
q10a.add_edge(2, 4, 0)
q10a.add_edge(2, 5, 0)
q10a.add_edge(3, 4, 0)
q10a.add_edge(5, 6, 0)
q10a.add_edge(5, 7, 0)
q10a.add_edge(4, 8, 0)
q10a.add_edge(9, 8, 0)
q10a.static_runtime(0, 670, 233)
q10a.static_runtime(1, 188, 60)
q10a.static_runtime(2, 170, 65)
q10a.static_runtime(3, 200, 70)
q10a.static_runtime(4, 188, 62)
q10a.static_runtime(5, 115, 38)
q10a.static_runtime(6, 39, 13)
q10a.static_runtime(7, 40, 13)
q10a.static_runtime(8, 0, 0)
q10a.static_runtime(9, 0, 0)
q10a.config_inputs(0, {'aa': inputs['aa']})
q10a.config_inputs(1, {'ab': inputs['ab']})
q10a.config_inputs(2, {'ad': inputs['ad']})
q10a.config_inputs(3, {'ac': inputs['ac']})
q10a.config_inputs(4, {'f': inputs['f']})
q10a.config_inputs(5, {'g': inputs['g']})
q10a.config_inputs(6, {'h': inputs['h']})
q10a.config_inputs(7, {'b': inputs['b']})
q10a.set_misestimated_jobs(np.array([1, 1, 1, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1]))
graphs.append(q10a)
graphs_dict['AQ10'] = q10a

q11a = gr.Graph(7, type=gr.Type.complex)
q11a.add_edge(0, 1, 0)
q11a.add_edge(0, 2, 0)
q11a.add_edge(1, 6, 0)
q11a.add_edge(2, 3, 0)
q11a.add_edge(3, 4, 0)
q11a.add_edge(4, 5, 0)
q11a.add_edge(6, 4, 0)
q11a.static_runtime(0, 250, 80)
q11a.static_runtime(1, 300, 100)
q11a.static_runtime(2, 170, 75)
q11a.static_runtime(3, 58, 19)
q11a.static_runtime(4, 140, 50)
q11a.static_runtime(5, 40, 40)
q11a.static_runtime(6, 0, 0)
q11a.config_inputs(0, {'a': inputs['a']})
q11a.config_inputs(1, {'b': inputs['b']})
q11a.config_inputs(2, {'c': inputs['c']})
q11a.config_inputs(3, {'d': inputs['d']})
q11a.config_inputs(4, {'b': inputs['b']})
q11a.set_misestimated_jobs(np.array([0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1]))
graphs.append(q11a)
graphs_dict['AQ11'] = q11a

q12a = gr.Graph(4, type=gr.Type.complex)
q12a.add_edge(0, 1, 0)
q12a.add_edge(1, 2, 0)
q12a.add_edge(1, 3, 0)
q12a.add_edge(2, 3, 0)
q12a.static_runtime(0, 240, 80)
q12a.static_runtime(1, 40, 13)
q12a.static_runtime(2, 11, 3)
q12a.static_runtime(3, 39, 13)
q12a.config_inputs(0, {'f4': inputs['f4'], 'a5': inputs['a5']})
q12a.set_misestimated_jobs(np.array([1, 0, 1, 0, 1, 0, 0, 0]))
graphs.append(q12a)
graphs_dict['AQ12'] = q12a

q13a = gr.Graph(4, type=gr.Type.complex)
q13a.add_edge(0, 1, 0)
q13a.add_edge(0, 2, 0)
q13a.add_edge(1, 3, 0)
q13a.add_edge(2, 3, 0)
q13a.static_runtime(0, 350, 210)
q13a.static_runtime(1, 25, 13)
q13a.static_runtime(2, 120, 48)
q13a.static_runtime(3, 200, 140)
q13a.config_inputs(0, {'ab': inputs['ab']})
q13a.config_inputs(1, {'g': inputs['g']})
q13a.config_inputs(2, {'a13': inputs['a13']})
q13a.config_inputs(3, {'b23': inputs['b23'], 'b13': inputs['b13']})
q13a.set_misestimated_jobs(np.array([0, 0, 1, 0, 0, 1, 0, 0]))
graphs.append(q13a)
graphs_dict['AQ13'] = q13a

q14a = gr.Graph(5, type=gr.Type.complex)
q14a.add_edge(0, 1, 0)
q14a.add_edge(0, 2, 0)
q14a.add_edge(1, 3, 0)
q14a.add_edge(2, 3, 0)
q14a.add_edge(3, 4, 0)
q14a.static_runtime(0, 80, 50)
q14a.static_runtime(1, 100, 40)
q14a.static_runtime(2, 80, 60)
q14a.static_runtime(3, 50, 50)
q14a.static_runtime(4, 49, 49)
q14a.config_inputs(0, {'c23': inputs['c23'], 'f': inputs['f']})
q14a.config_inputs(1, {'a14': inputs['a14']})
q14a.config_inputs(2, {'d6': inputs['d6']})
q14a.set_misestimated_jobs(np.array([1, 1, 1, 1, 0, 1, 1, 0, 1, 1]))
graphs.append(q14a)
graphs_dict['AQ14'] = q14a

q15a = gr.Graph(8, type=gr.Type.complex)
q15a.add_edge(0, 3, 0)
q15a.add_edge(1, 3, 0)
q15a.add_edge(1, 4, 0)
q15a.add_edge(2, 4, 0)
q15a.add_edge(3, 5, 0)
q15a.add_edge(4, 5, 0)
q15a.add_edge(5, 6, 0)
q15a.add_edge(6, 7, 0)
q15a.static_runtime(0, 50, 23)
q15a.static_runtime(1, 232, 77)
q15a.static_runtime(2, 634, 200)
q15a.static_runtime(3, 60, 40)
q15a.static_runtime(4, 80, 50)
q15a.static_runtime(5, 41, 41)
q15a.static_runtime(6, 11, 11)
q15a.static_runtime(7, 40, 40)
q15a.config_inputs(0, {'a1': inputs['a1']})
q15a.config_inputs(1, {'b23': inputs['b23'], 'c23': inputs['c23']})
q15a.config_inputs(2, {'d23': inputs['d23'], 'e23': inputs['e23']})
q15a.config_inputs(3, {'sup': inputs['sup']})
q15a.config_inputs(4, {'ad': inputs['ad']})
q15a.set_misestimated_jobs(np.array([0, 0, 1, 0, 1, 0, 1, 0, 1, 1, 0, 1, 0, 1, 0, 1]))
graphs.append(q15a)
graphs_dict['AQ15'] = q15a

q16a = gr.Graph(6, type=gr.Type.complex)
q16a.add_edge(0, 1, 0)
q16a.add_edge(0, 2, 0)
q16a.add_edge(0, 3, 0)
q16a.add_edge(1, 4, 0)
q16a.add_edge(2, 4, 0)
q16a.add_edge(3, 5, 0)
q16a.static_runtime(0, 400, 23)
q16a.static_runtime(1, 250, 175)
q16a.static_runtime(2, 300, 125)
q16a.static_runtime(3, 275, 150)
q16a.static_runtime(4, 80, 45)
q16a.static_runtime(5, 80, 35)
q16a.config_inputs(0, {'a16': inputs['a16']})
q16a.config_inputs(1, {'b16': inputs['b16']})
q16a.config_inputs(2, {'c23': inputs['c23']})
q16a.config_inputs(3, {'c16': inputs['c16']})
q16a.config_inputs(4, {'d16': inputs['d16']})
q16a.config_inputs(5, {'e16': inputs['e16']})
q16a.set_misestimated_jobs(np.array([0, 1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0]))
graphs.append(q16a)
graphs_dict['AQ16'] = q16a

q17a = gr.Graph(6, type=gr.Type.complex)
q17a.add_edge(0, 1, 0)
q17a.add_edge(0, 2, 0)
q17a.add_edge(0, 3, 0)
q17a.add_edge(1, 4, 0)
q17a.add_edge(2, 4, 0)
q17a.add_edge(3, 5, 0)
q17a.static_runtime(0, 735, 245)
q17a.static_runtime(1, 550, 300)
q17a.static_runtime(2, 90, 50)
q17a.static_runtime(3, 110, 70)
q17a.static_runtime(4, 130, 70)
q17a.static_runtime(5, 240, 130)
q17a.config_inputs(0, {'li': inputs['li'], 'f4': inputs['f4']})
q17a.config_inputs(1, {'d6': inputs['d6'], 'a18': inputs['a18']})
q17a.config_inputs(2, {'b18': inputs['b18']})
q17a.config_inputs(3, {'d': inputs['d']})
q17a.config_inputs(4, {'f': inputs['f']})
q17a.config_inputs(5, {'g': inputs['g']})
q17a.set_misestimated_jobs(np.array([0, 1, 0, 0, 1, 0, 1, 0, 0, 0, 1, 1]))
graphs.append(q17a)
graphs_dict['AQ17'] = q17a

q18a = gr.Graph(3, type=gr.Type.aggregate)
q18a.add_edge(0, 2, 0)
q18a.add_edge(1, 2, 0)
q18a.static_runtime(0, 400, 240)
q18a.static_runtime(1, 420, 320)
q18a.static_runtime(2, 200, 100)
q18a.config_inputs(0, {'a18': inputs['a18']})
q18a.config_inputs(1, {'d6': inputs['d6']})
q18a.config_inputs(2, {'a14': inputs['a14']})
q18a.set_misestimated_jobs(np.array([0, 1, 1, 0, 1, 0]))
graphs.append(q18a)
graphs_dict['AQ18'] = q18a



