示例#1
0
    def __init__(self,
                 device,
                 name,
                 tolerance,
                 t_max,
                 local_search_iterations=0,
                 epsilon=0.05):

        super(SurveyPropagatorSolver, self).__init__(
            device=device,
            name=name,
            propagator=pdp_propagate.SurveyPropagator(device,
                                                      decimator_dimension=1,
                                                      include_adaptors=False),
            decimator=pdp_decimate.SequentialDecimator(
                device,
                message_dimension=(3, 1),
                scorer=pdp_predict.SurveyScorer(device,
                                                message_dimension=1,
                                                include_adaptors=False),
                tolerance=tolerance,
                t_max=t_max),
            predictor=pdp_predict.IdentityPredictor(device=device,
                                                    random_fill=True),
            local_search_iterations=local_search_iterations,
            epsilon=epsilon)
示例#2
0
 def __init__(
     self,
     device,
     name,
     edge_dimension,
     meta_data_dimension,
     propagator_dimension,
     decimator_dimension,
     mem_hidden_dimension,
     agg_hidden_dimension,
     mem_agg_hidden_dimension,
     classifier_dimension,
     dropout,
     tolerance,
     t_max,
     local_search_iterations=0,
     epsilon=0.05,
 ):
     super(NeuralSequentialDecimatorSolver, self).__init__(
         device=device,
         name=name,
         propagator=pdp_propagate.NeuralMessagePasser(
             device,
             edge_dimension,
             decimator_dimension,
             meta_data_dimension,
             propagator_dimension,
             mem_hidden_dimension,
             mem_agg_hidden_dimension,
             agg_hidden_dimension,
             dropout,
         ),
         decimator=pdp_decimate.SequentialDecimator(
             device,
             message_dimension=(3, 1),
             scorer=pdp_predict.NeuralPredictor(
                 device,
                 decimator_dimension,
                 1,
                 edge_dimension,
                 meta_data_dimension,
                 mem_hidden_dimension,
                 agg_hidden_dimension,
                 mem_agg_hidden_dimension,
                 variable_classifier=util.PerceptronTanh(
                     decimator_dimension, classifier_dimension, 1
                 ),
                 function_classifier=None,
             ),
             tolerance=tolerance,
             t_max=t_max,
         ),
         predictor=pdp_predict.IdentityPredictor(device=device, random_fill=True),
         local_search_iterations=local_search_iterations,
         epsilon=epsilon,
     )
示例#3
0
 def __init__(self, device, name, iteration_num, epsilon=0.05):
     super(WalkSATSolver, self).__init__(
         device=device,
         name=name,
         propagator=None,
         decimator=None,
         predictor=pdp_predict.IdentityPredictor(device=device, random_fill=True),
         local_search_iterations=iteration_num,
         epsilon=epsilon,
     )