Package com.barrybecker4.optimization.parameter.types

Examples of com.barrybecker4.optimization.parameter.types.Parameter


    }

    @Override
    protected GameOptionsDialog createOptionsDialog(Component parent, GameController controller )
    {
        return new GalacticOptionsDialog( parent, controller );
    }
View Full Code Here


     * display a dialog at the end of the game showing who won and other relevant
     * game specific information.
     */
    @Override
    public void showWinnerDialog() {
        GalacticTallyDialog tallyDialog = new GalacticTallyDialog(parent_, (GalacticController)controller_);
        tallyDialog.showDialog();
    }
View Full Code Here

     */
    private void showOrdersDialog(GalacticController gc) {

        GalacticPlayer currentPlayer = (GalacticPlayer)gc.getCurrentPlayer();

        OrdersDialog ordersDialog =
                new OrdersDialog(null, currentPlayer, gc.getNumberOfYearsRemaining());
        Point p = getParent().getLocationOnScreen();

        // offset the dlg so the Galaxy grid is visible as a reference
        ordersDialog.setLocation((int)(p.getX()+0.7*getParent().getWidth()), (int)(p.getY()+getParent().getHeight()/3.0));

        boolean canceled = ordersDialog.showDialog();
        if ( !canceled ) { // newGame a game with the newly defined options
            currentPlayer.setOrders( ordersDialog.getOrders() );
            gc.advanceToNextPlayer();
        }
    }
View Full Code Here

        ParameterArray initialGuess = new TantrixPath(board);
        assert(initialGuess.size() > 0) : "The random path should have some tiles!";
        long startTime = System.currentTimeMillis();

        Optimizer optimizer = new Optimizer(this);
        optimizer.setListener(this);

        ParameterArray solution =
            optimizer.doOptimization(strategy, initialGuess, SOLVED_THRESH);

        solution_ =
            new TantrixBoard(((TantrixPath)solution).getTilePlacements(), board.getPrimaryColor());

        TilePlacementList moves;
View Full Code Here

     * @return list of moves to a solution.
     */
    @Override
    public TilePlacementList solve()  {

        ParameterArray initialGuess = new TantrixPath(board);
        assert(initialGuess.size() > 0) : "The random path should have some tiles!";
        long startTime = System.currentTimeMillis();

        Optimizer optimizer = new Optimizer(this);
        optimizer.setListener(this);

        ParameterArray solution =
            optimizer.doOptimization(strategy, initialGuess, SOLVED_THRESH);

        solution_ =
            new TantrixBoard(((TantrixPath)solution).getTilePlacements(), board.getPrimaryColor());

View Full Code Here

    public void ok() {
        int len = weights_.size();
        String sErrors = "";
        for ( int i = 0; i < len; i++ ) {
            double v = Double.parseDouble( weightFields_[i].getText() );
            Parameter p = weights_.get(i);
            if ( v<p.getMinValue())  {
                sErrors += v+" is too small for "+p.getName()+". The min vlaue of "+p.getMinValue()+" will be used.\n";
            }
            else if (v>p.getMaxValue()) {
                sErrors += v+" is too big for "+p.getName()+". The max value of "+p.getMaxValue()+" will be used.\n";
            }
            else {
                weights_.get(i).setValue(v);
            }
        }
View Full Code Here

    protected ParameterArray reverse() {
        AbstractParameterArray paramCopy = this.copy();
        int len = size();

        for (int i=0; i<len/2; i++) {
            Parameter temp = paramCopy.params_[i];
            paramCopy.params_[i] = paramCopy.params_[len - i - 1];
            paramCopy.params_[len - i - 1] = temp;
        }
        return paramCopy;
    }
View Full Code Here

            int index1 = MathUtil.RANDOM.nextInt(size());
            int index2 = MathUtil.RANDOM.nextInt(size());
            while (index2 == index1) {
                index2 = MathUtil.RANDOM.nextInt(size());
            }
            Parameter temp =  nbr.params_[index1];
            nbr.params_[index1] = nbr.params_[index2];
            nbr.params_[index2] = temp;
        }

        return nbr;
View Full Code Here

        List<Parameter> theParams = Arrays.asList(params_);
        Collections.shuffle(theParams, MathUtil.RANDOM);

        Parameter[] newParams = new Parameter[params_.length];
        for ( int k = 0; k < params_.length; k++ ) {
            Parameter newParam = theParams.get(k).copy();
            newParams[k] = newParam;
        }

        return new PermutedParameterArray(newParams);
    }
View Full Code Here

                       ParameterArray params, ParameterArray testParams) {

        double fwdFitness;
        double bwdFitness;

        Parameter p = testParams.get( i );
        // increment forward.
        delta.set(i, p.incrementByEps(Direction.FORWARD));

        fwdFitness = findFitnessDelta(optimizee, params, testParams);

        // revert the increment
        p.incrementByEps(Direction.BACKWARD);
        // this checks the fitness on the other side (backwards).
        p.incrementByEps(Direction.BACKWARD);

        bwdFitness = findFitnessDelta(optimizee, params, testParams);

        fitnessDelta.set(i, fwdFitness - bwdFitness);
        return sumOfSqs + (fitnessDelta.get(i) * fitnessDelta.get(i)) / (delta.get(i) * delta.get(i));
 
View Full Code Here

TOP

Related Classes of com.barrybecker4.optimization.parameter.types.Parameter

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.