Package edu.wisc.game.tools
Class MwByHuman
java.lang.Object
edu.wisc.game.tools.AnalyzeTranscripts
edu.wisc.game.tools.MwByHuman
Ranking rule sets by the ease of learning by human players. As
requested by PK, 2022-12-22.
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic class
An MWSeries object contains the data for one series (group of episodes played by one player under the same rule set) needed to contribute a number to an M-W Comparandum.static enum
Used to control how series are assigned to comparanda -
Field Summary
FieldsModifier and TypeFieldDescriptionThe JSP page should always print this message.Info about each episode gets added hereFields inherited from class edu.wisc.game.tools.AnalyzeTranscripts
quiet
-
Constructor Summary
ConstructorsConstructorDescriptionMwByHuman
(MwByHuman.PrecMode _precMode, int _targetStreak, double _targetR, double _defaultMStar, Fmter _fm) -
Method Summary
Modifier and TypeMethodDescriptionvoid
exportSavedMws
(File gsum) Exports the data generated in Stage1boolean
getError()
getEx()
protected void
protected void
Sets the error flag and the error messagestatic void
void
processStage1
(Vector<String> plans, Vector<String> pids, Vector<String> nicknames, Vector<Long> uids) The Stage 1 processing involves scanning the transcripts for the players associated with the relevant experiment plan, and computing the required statistics for all (player,ruleSet) pairs involved.void
processStage2
(boolean fromFile, boolean useMDagger, File csvOutDir) Now, the MW Test, using this.savedMws computed in stage1.protected void
saveAnyData
(Vector<TranscriptManager.ReadTranscriptData.Entry[]> section, Vector<edu.wisc.game.tools.EpisodeHandle> includedEpisodes) Saves the data (the summary of a series) for a single (player, ruleSet) pair.void
void
setError
(boolean _error) void
Methods inherited from class edu.wisc.game.tools.AnalyzeTranscripts
analyzePlayerRecord, computeP0andR
-
Field Details
-
infomsg
The JSP page should always print this message. Most often it is just an empty string, anyway; but it may be used for debugging and status messages. -
savedMws
Info about each episode gets added here
-
-
Constructor Details
-
MwByHuman
public MwByHuman(MwByHuman.PrecMode _precMode, int _targetStreak, double _targetR, double _defaultMStar, Fmter _fm) - Parameters:
_targetStreak
- this is how many consecutive error-free moves the player must make (e.g. 10) in order to demonstrate successful learning. If 0 or negative, this criterion is turned off_targetR
- the product of R values of a series of consecutive moves should be at least this high) in order to demonstrate successful learning. If 0 or negative, this criterion is turned off
-
-
Method Details
-
main
- Throws:
Exception
-
getReport
-
getError
public boolean getError() -
setError
public void setError(boolean _error) -
getErrmsg
-
setErrmsg
-
giveError
Sets the error flag and the error message -
giveError
-
getEx
-
exceptionTrace
-
setFm
-
processStage1
public void processStage1(Vector<String> plans, Vector<String> pids, Vector<String> nicknames, Vector<Long> uids) throws Exception The Stage 1 processing involves scanning the transcripts for the players associated with the relevant experiment plan, and computing the required statistics for all (player,ruleSet) pairs involved.- Throws:
Exception
-
exportSavedMws
Exports the data generated in Stage1- Parameters:
gsum
- File to write- Throws:
IOException
-
processStage2
Now, the MW Test, using this.savedMws computed in stage1. Generates a report that's attached to this.results.- Parameters:
fromFile
- Indicates that the m* data have come from an extrernal file, and are not internally computed.precMode
- Controls how the series are assigned to "distinct experiences".
-
saveAnyData
protected void saveAnyData(Vector<TranscriptManager.ReadTranscriptData.Entry[]> section, Vector<edu.wisc.game.tools.EpisodeHandle> includedEpisodes) throws IOException, IllegalInputException, RuleParseException Saves the data (the summary of a series) for a single (player, ruleSet) pair. In some cases, a series can be skipped (not saved). This is the case if only the data for a specific target is requested (target!=null), or if we only want the data for "Naive" players.This method is called from AnalyzeTranscripts.analyzePlayerRecord(), overriding the eponymous method in that class.
- Overrides:
saveAnyData
in classAnalyzeTranscripts
- Parameters:
section
- A vector of arrays, each array representing the recorded moves for one episode. In its entirety, section describes all episodes in the series.includedEpisodes
- All non-empty episodes played by this player in this rule set. This array must be aligned with section[]- Throws:
IOException
IllegalInputException
RuleParseException
-