Esempio n. 1
0
    def test_run_and_analyze(self, logger):
        """
        This method run the experiment and checks if a number of votes was found in oder to satisfy an
        overall desired stability.
        """
        n = 8
        experiment = ExperimentMajorityVoteFindVotes(
            log_name=logger.logger_name,
            n=n,
            k=2,
            challenge_count=2**8,
            seed_instance=0xC0DEBA5E,
            seed_instance_noise=0xdeadbeef,
            transformation=LTFArray.transform_id,
            combiner=LTFArray.combiner_xor,
            mu=0,
            sigma=1,
            sigma_noise_ratio=NoisyLTFArray.sigma_noise_from_random_weights(
                n, 1, .5),
            seed_challenges=0xf000,
            desired_stability=0.95,
            overall_desired_stability=0.8,
            minimum_vote_count=1,
            iterations=2,
            bias=None)
        experiment.execute(logger.queue, logger.logger_name)

        self.assertGreaterEqual(experiment.result_overall_stab,
                                experiment.overall_desired_stability,
                                'No vote_count was found.')
Esempio n. 2
0
    def test_run_and_analyze_bias_value(self, logger):
        """
        This method runs the experiment with a bias value and checks if a number of votes was found in order to
        satisfy an overall desired stability.
        """
        n = 8
        experiment = ExperimentMajorityVoteFindVotes(
            progress_log_prefix=logger.logger_name,
            parameters=MVParameters(n=n,
                                    k=2,
                                    challenge_count=2**8,
                                    seed_instance=0xC0DEBA5E,
                                    seed_instance_noise=0xdeadbeef,
                                    transformation='id',
                                    combiner='xor',
                                    mu=0,
                                    sigma=1,
                                    sigma_noise_ratio=NoisyLTFArray.
                                    sigma_noise_from_random_weights(n, 1, .5),
                                    seed_challenges=0xf000,
                                    desired_stability=0.95,
                                    overall_desired_stability=0.8,
                                    minimum_vote_count=1,
                                    iterations=2,
                                    bias=0.56))

        experiment.execute(logger.queue, logger.logger_name)

        self.assertGreaterEqual(
            experiment.result.overall_stab,
            experiment.parameters.overall_desired_stability,
            'No vote_count was found.')
Esempio n. 3
0
    def test_run_and_analyze(self):
        logger_name = 'log'

        # Setup multiprocessing logging
        queue = multiprocessing.Queue(-1)
        listener = multiprocessing.Process(target=log_listener,
                                           args=(
                                               queue,
                                               setup_logger,
                                               logger_name,
                                           ))
        listener.start()

        n = 8
        experiment = ExperimentMajorityVoteFindVotes(
            log_name=logger_name,
            n=n,
            k=2,
            challenge_count=2**8,
            seed_instance=0xC0DEBA5E,
            seed_instance_noise=0xdeadbeef,
            transformation=LTFArray.transform_id,
            combiner=LTFArray.combiner_xor,
            mu=0,
            sigma=1,
            sigma_noise_ratio=NoisyLTFArray.sigma_noise_from_random_weights(
                n, 1, .5),
            seed_challenges=0xf000,
            desired_stability=0.95,
            overall_desired_stability=0.8,
            minimum_vote_count=1,
            iterations=2,
            bias=False)
        experiment.execute(queue, logger_name)

        self.assertGreaterEqual(experiment.result_overall_stab,
                                experiment.overall_desired_stability,
                                'No vote_count was found.')
        queue.put_nowait(None)
        listener.join()