Revert "Added missing fields to many copy constructors. (#8957)" (#8999)

This reverts commit 82708e4273.

Some of these (AI related result in bloated memory usage, needs more investigation).
This commit is contained in:
Alex Vasile 2022-05-25 12:57:24 -06:00 committed by GitHub
parent 2f3831599d
commit 015cdf3136
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
79 changed files with 597 additions and 811 deletions

View file

@ -31,7 +31,6 @@ public class MomirGame extends GameImpl {
public MomirGame(final MomirGame game) {
super(game);
this.numPlayers = game.numPlayers;
}
@Override

View file

@ -68,7 +68,7 @@ public class ComputerPlayer6 extends ComputerPlayer /*implements Player*/ {
protected Set<String> actionCache;
private static final List<TreeOptimizer> optimizers = new ArrayList<>();
protected int lastLoggedTurn;
protected int lastLoggedTurn = 0;
protected static final String BLANKS = "...............................................";
static {
@ -80,7 +80,11 @@ public class ComputerPlayer6 extends ComputerPlayer /*implements Player*/ {
public ComputerPlayer6(String name, RangeOfInfluence range, int skill) {
super(name, range);
maxDepth = Math.max(skill, 4);
if (skill < 4) {
maxDepth = 4;
} else {
maxDepth = skill;
}
maxThink = skill * 3;
maxNodes = Config2.maxNodes;
getSuggestedActions();
@ -90,11 +94,7 @@ public class ComputerPlayer6 extends ComputerPlayer /*implements Player*/ {
public ComputerPlayer6(final ComputerPlayer6 player) {
super(player);
this.maxDepth = player.maxDepth;
this.maxNodes = player.maxNodes;
this.maxThink = player.maxThink;
this.lastLoggedTurn = player.lastLoggedTurn;
this.currentScore = player.currentScore;
this.root = player.root;
if (player.combat != null) {
this.combat = player.combat.copy();
}
@ -102,8 +102,6 @@ public class ComputerPlayer6 extends ComputerPlayer /*implements Player*/ {
this.targets.addAll(player.targets);
this.choices.addAll(player.choices);
this.actionCache = player.actionCache;
this.attackersList.addAll(player.attackersList);
this.attackersToCheck.addAll(player.attackersToCheck);
}
@Override

View file

@ -58,7 +58,6 @@ public class SimulatedPlayer2 extends ComputerPlayer {
this.suggested = new ArrayList<>(player.suggested);
// this.allActions = player.allActions; // dynamic, no need to copy
this.originalPlayer = player.originalPlayer.copy();
this.forced = player.forced;
}
@Override

View file

@ -67,7 +67,7 @@ import java.util.Map.Entry;
public class ComputerPlayer extends PlayerImpl implements Player {
private static final Logger log = Logger.getLogger(ComputerPlayer.class);
private long lastThinkTime; // msecs for last AI actions calc
private long lastThinkTime = 0; // msecs for last AI actions calc
protected int PASSIVITY_PENALTY = 5; // Penalty value for doing nothing if some actions are available
@ -105,9 +105,6 @@ public class ComputerPlayer extends PlayerImpl implements Player {
public ComputerPlayer(final ComputerPlayer player) {
super(player);
this.lastThinkTime = player.lastThinkTime;
this.PASSIVITY_PENALTY = player.PASSIVITY_PENALTY;
this.COMPUTER_DISABLE_TIMEOUT_IN_GAME_SIMULATIONS = player.COMPUTER_DISABLE_TIMEOUT_IN_GAME_SIMULATIONS;
}
@Override

View file

@ -31,13 +31,10 @@ public class ComputerPlayerMCTS extends ComputerPlayer implements Player {
private static final int THINK_MAX_RATIO = 100;
private static final double THINK_TIME_MULTIPLIER = 2.0;
private static final boolean USE_MULTIPLE_THREADS = true;
private static final Logger logger = Logger.getLogger(ComputerPlayerMCTS.class);
protected transient MCTSNode root;
protected String lastPhase = "";
protected long totalThinkTime;
protected long totalSimulations;
protected int maxThinkTime;
private static final Logger logger = Logger.getLogger(ComputerPlayerMCTS.class);
private int poolSize;
public ComputerPlayerMCTS(String name, RangeOfInfluence range, int skill) {
@ -53,11 +50,6 @@ public class ComputerPlayerMCTS extends ComputerPlayer implements Player {
public ComputerPlayerMCTS(final ComputerPlayerMCTS player) {
super(player);
this.maxThinkTime = player.maxThinkTime;
this.poolSize = player.poolSize;
this.lastPhase = player.lastPhase;
this.totalSimulations = player.totalSimulations;
this.totalThinkTime = player.totalThinkTime;
}
@Override
@ -65,6 +57,8 @@ public class ComputerPlayerMCTS extends ComputerPlayer implements Player {
return new ComputerPlayerMCTS(this);
}
protected String lastPhase = "";
@Override
public boolean priority(Game game) {
if (game.getStep().getType() == PhaseStep.UPKEEP) {
@ -158,6 +152,9 @@ public class ComputerPlayerMCTS extends ComputerPlayer implements Player {
MCTSNode.logHitMiss();
}
protected long totalThinkTime = 0;
protected long totalSimulations = 0;
protected void applyMCTS(final Game game, final NextAction action) {
int thinkTime = calculateThinkTime(game, action);

View file

@ -30,8 +30,8 @@ import java.util.*;
*/
public class SimulatedPlayerMCTS extends MCTSPlayer {
private final boolean isSimulatedPlayer;
private int actionCount;
private boolean isSimulatedPlayer;
private int actionCount = 0;
private static final Logger logger = Logger.getLogger(SimulatedPlayerMCTS.class);
public SimulatedPlayerMCTS(Player originalPlayer, boolean isSimulatedPlayer) {
@ -43,7 +43,6 @@ public class SimulatedPlayerMCTS extends MCTSPlayer {
public SimulatedPlayerMCTS(final SimulatedPlayerMCTS player) {
super(player);
this.isSimulatedPlayer = player.isSimulatedPlayer;
this.actionCount = player.actionCount;
}
@Override

View file

@ -40,8 +40,8 @@ public class ComputerPlayer2 extends ComputerPlayer implements Player {
protected int maxDepth;
protected int maxNodes;
protected int maxThink;
protected int nodeCount;
protected long thinkTime;
protected int nodeCount = 0;
protected long thinkTime = 0;
protected transient LinkedList<Ability> actions = new LinkedList<>();
protected transient List<UUID> targets = new ArrayList<>();
protected transient List<String> choices = new ArrayList<>();
@ -59,10 +59,6 @@ public class ComputerPlayer2 extends ComputerPlayer implements Player {
public ComputerPlayer2(final ComputerPlayer2 player) {
super(player);
this.maxDepth = player.maxDepth;
this.maxNodes = player.maxNodes;
this.maxThink = player.maxThink;
this.nodeCount = player.nodeCount;
this.thinkTime = player.thinkTime;
this.currentScore = player.currentScore;
if (player.combat != null) {
this.combat = player.combat.copy();

View file

@ -28,9 +28,9 @@ import java.util.concurrent.ConcurrentLinkedQueue;
public class SimulatedPlayer extends ComputerPlayer {
private static final Logger logger = Logger.getLogger(SimulatedPlayer.class);
private final boolean isSimulatedPlayer;
private boolean isSimulatedPlayer;
private transient ConcurrentLinkedQueue<Ability> allActions;
private static final PassAbility pass = new PassAbility();
private static PassAbility pass = new PassAbility();
protected int maxDepth;
public SimulatedPlayer(Player originalPlayer, boolean isSimulatedPlayer, int maxDepth) {
@ -44,7 +44,6 @@ public class SimulatedPlayer extends ComputerPlayer {
public SimulatedPlayer(final SimulatedPlayer player) {
super(player);
this.isSimulatedPlayer = player.isSimulatedPlayer;
this.maxDepth = player.maxDepth;
}
@Override