@Override
  public void init(String prefix) {
    // initialize global arm model
    GlobalArmModel.initialize(prefix);

    // initialize static fields
    K = (double) GlobalArmModel.numberOfArms();
    d = GlobalArmModel.getDValue();

    // initialize counters
    n = new double[GlobalArmModel.numberOfArms()];
    Arrays.fill(n, 0.0);
    sumN = 0.0;

    // model
    s = Arrays.copyOf(n, n.length);
    w = Arrays.copyOf(n, n.length);
    r = Arrays.copyOf(n, n.length);
    q = Arrays.copyOf(n, n.length);
    f = Arrays.copyOf(n, n.length);
    g = Arrays.copyOf(n, n.length);

    // parameter
    c = Configuration.getDouble(prefix + ".p2greedy.C");
  }