package com.danisola.bandit.testframework; import com.danisola.bandit.*; import com.danisola.bandit.testframework.arms.Arm; import com.danisola.bandit.testframework.arms.BernoulliArm; import com.danisola.bandit.testframework.gui.MainDialog; import javafx.application.Application; import javafx.fxml.FXMLLoader; import javafx.scene.Scene; import javafx.stage.Stage; public class Main extends Application { @Override public void start(Stage primaryStage) throws Exception{ Arm[] arms = new Arm[]{ new BernoulliArm(0.015), new BernoulliArm(0.02), new BernoulliArm(0.01) }; int numArms = arms.length; BanditAlgorithm[] algorithms = new BanditAlgorithm[]{ new EpsilonGreedyAlgorithm(numArms, 0.1), new EpsilonFirstAlgorithm(numArms, 1000), new SoftmaxAlgorithm(numArms, 0.1), new Ucb1Algorithm(numArms) }; FXMLLoader fxmlLoader = new FXMLLoader(getClass().getResource("/main_dialog.fxml")); MainDialog mainDialog = new MainDialog(arms, algorithms); fxmlLoader.setController(mainDialog); int minWidth = 800; int minHeight = 600; primaryStage.setTitle("Bandit Algorithms - Test framework"); primaryStage.setMinWidth(minWidth); primaryStage.setMinHeight(minHeight); primaryStage.setOnCloseRequest(mainDialog::handle); primaryStage.setScene(new Scene(fxmlLoader.load(), minWidth, minHeight)); primaryStage.show(); } public static void main(String[] args) { launch(args); } }