in src/qbsolv_community.py [0:0]
def solve_classical(self, num_comm):
"""
Call QUBO classical solver for community detection
:param num_comm: int, number of communities to solve for
:return: dict, two dictionaries for graph's community results and QBSolv reponse results
"""
t0 = time.time()
q_dict = create_qubo_dict(self.graph, num_comm, self.alpha)
# execute optimization task using QBSolv classical (run on your local notebook instance)
response_classical = QBSolv().sample_qubo(
q_dict, num_repeats=self.num_repeats, solver_limit=self.solver_limit, seed=self.seed
)
print(f"Mode: Classical, time spent is {round(time.time()-t0, 2)} seconds for {self.num_repeats} repetitions")
print(response_classical)
# extract the best solution that has the lowest energy
sample_classical = np.array(list(response_classical.first.sample.values()))
comm_classical = qbsolv_response_to_community(self.graph, sample_classical, num_comm)
return comm_classical, response_classical