NeurApp 1.1
NeurApp - software for exploring approximation by artificial neural networks on functions of one or two variables.

IG::Script::LoadableScriptShellNeuralITOriginalBase Class Reference

Base class for loadable scripts that are used as custom applications that inclued neural networks approximations and optimization. More...

Inheritance diagram for IG::Script::LoadableScriptShellNeuralITOriginalBase:
Collaboration diagram for IG::Script::LoadableScriptShellNeuralITOriginalBase:

List of all members.

Classes

class  StoredScriptSettings
 In methods of this class you will find all the settings that apply to this script. More...

Public Member Functions

 LoadableScriptShellNeuralITOriginalBase ()
override void Analyse (Num.IAnalysisResults anRes)
 Dummy analysis, jsut throws the exception.
virtual string Test (string[] arguments)
 Runs a custom basic test. In its current variants, it jus prints some data about important directories, etc.
virtual string Custom (string[] arguments)
 Runs a custom test.
virtual string RunParallelSimulations (string[] arguments)
 Runs multiple simulations in parallel threads and saves results in each parallel thread.
virtual string CollectParallelSimulationResults (string[] arguments)
 Collects results of simulations run in parallel threads, joins them into a single object and saves them.
override void Script_AddCommands (ICommandLineApplicationInterpreter interpreter, SortedList< string, string > helpStrings)
 Adds commands to the internal interpreter.
virtual IVector TestApproximation (IVector parameters)
 Performs a test approximation at the specified vector of parameters and outputs and returns results.
virtual IVector[][] TestApproximationTable (int numPoints)
 Calculates a table of specified number of approximations, with parameters running between two points that are chosen by the algorithm.
virtual IVector[][] TestApproximationTable (IVector param1, IVector param2, int numPoints)
 Performs a table of approximatinos between two specified vectors of approximation input parameters, and outputs results. It also returns the table of results (approximated output values in form of vectors). Approximations are performed in specified number of equidistant points between the two specified vectors of input parameters.
virtual AnalysisResults TestAnalysis (IVector parameters)
 Performs test analysis at the specified optimization parameters and outputs results. Analysis results are returned, too.
virtual AnalysisResults[] TestAnalysisTable (int numPoints)
 Calculates a table of specified number of analyses, with parameters running between two points that are chosen by the algorithm.
virtual AnalysisResults[] TestAnalysisTable (IVector param1, IVector param2, int numPoints)
 Performs a table of direct analyses between two specified vectors of optimization parameters, and outputs results. It also returns the table of analysis results. Analyses are performed in specified number of equidistant points between the two specified vectors of parameters.
virtual void OptimizeSimplex ()
virtual void TransfNeuralToOptimizationParameters (IVector neuralParameters, ref IVector optimizationParameters)
 Maps input parameters for neural network to optimization input parameters.
virtual void TransfOptimizationToNeuralParameters (IVector optimizationParameters, ref IVector neuralParameters)
 Maps optimization input parameters to neural network input parameters.
delegate string ParallelRunDelegate (int threadIndex)
virtual void ParSimBegin (int numThreads)
 Launches parallel jobs.
virtual void GatherParallelResults (int numThreads)
 Reads results form all parallel threads, gathers them in a single training set, and saves them in the template optimiation directory.
virtual string ParSimGetOptimizationDirectoryPath (int threadIndex)
 Returns path to the directory containing optimization data for the specified parallel thread.
virtual string ParSimGetMutexName (int threadIndex)
 Returns name of the mutex for locking data on disk that is used by the specified parallel thread.
virtual string ParSimGetParallelResultsFilePath (int threadIndex)
 Returns path of the file where resuls of calculation in the specified parallel thread are stored.
virtual string GetParallelResultFilePath ()
 Returns path of the file where resuls of calculation in the specified parallel thread are stored.
virtual void ParSimPreparelDirectory (int threadIndex)
 Prepares data for running calculations in the parallel thread with the specified index.
void ParSimAddResults (int threadIndex, SampledDataSet results)
 Reads results of the specified thread and adds them to the existing training set.
string ParSimRunJob (int threadIndex)
 Runs the job in the specified parallel thread.
virtual void ParSimGetNextInput (ref IVector simInput)
 Generates the next vector of simulation input parameters that will be used for calculation of a new parallel simulation.
virtual void ParSimGetNextNeuralInput (ref IVector simInput)
 Generates the next vector of neural input parameters that will be used for calculation of a new training element.
virtual string ParSimGetSimulationDirectoryPath (int threadIndex)
 Returns the simulation directory for the specified parallel calculation thread.
virtual
IResponseEvaluatorVectorSimple 
ParSimGetSimulator (int threadIndex)
 Creates simulator file manager for the simulator that will the specified parallel task.
abstract void TransfSimulationToNeuralInput (IVector original, ref IVector result)
 Transforms the specified vector of simulation input parameters to the vector of neural input parameters and stores the vector to the specified variable.
virtual void TransfNeuralToSimulationInput (IVector original, ref IVector result)
 Transforms the specified vector of neural input parameters to the vector of simulation input parameters and stores the vector to the specified variable.
virtual void TransfSimulationToNeuralOutput (IVector original, ref IVector result)
 Transforms the specified vector of simulation output values (results) to the vector of neural output values and stores the vector to the specified variable.
virtual void TransfNeuralToSimulationOutput (IVector original, ref IVector result)
 Transforms the specified vector of neural output values to the vector of simulation output values (results) and stores the vector to the specified variable.
virtual SampledDataElement GetTrainingElement (int i)
 Gets the training element with the specified index (chosen out of al training points, including verificaion points).
virtual bool IsVerificationPoint (int trainingPointIndex)
 Whether the training point with the specified index is a verification points and has not been used in training.
List< SampledDataElement > GetTrainingElements (bool includeVerificationPoints)
 Returns a list of all neural training elements. The returned list is created anew.
List< SampledDataElement > GetTrainingElements (bool includeVerificationPoints, bool includeNonVerificationPoints)
 Returns a list of all neural training elements. The returned list is created anew.
virtual void GetNeuralInputPerturbance (double ratio, ref IVector perturbance)
 Returns a perturbance vector whose componenets represent magnitudes of perturbances of neural input parameters with the specified relative ratio with corresponding parameters' scaling lengths.
virtual void GetNeuralOutputPerturbance (double ratio, ref IVector perturbance)
 Returns a perturbance vector whose componenets represent magnitudes of perturbances of neural output values with the specified relative ratio with corresponding values' scaling lengths.
virtual void GetNeuralInputVector (double relativeComponents, ref IVector inputVector)
 Returns an input vector whose components are at specified relative distances (with respect to full range) from lower bounds on componens of input vectors.
virtual void GetNeuralOutputVector (double relativeComponents, ref IVector outputVector)
 Returns an output vector whose components are at specified relative distances (with respect to full range) from lower bounds on componens of input vectors.
virtual void GetNeuralInputVector (IVector relativeComponents, ref IVector inputVector)
 Returns an input vector whose components are at specified relative distances (with respect to full range) from lower bounds on componens of input vectors.
virtual void GetNeuralOutputVector (IVector relativeComponents, ref IVector outputVector)
 Returns an output vector whose components are at specified relative distances (with respect to full range) from lower bounds on componens of input vectors.
virtual void GetNeuralInputRelative (IVector inputVector, ref IVector relativeComponents)
 Calculates relative components (running from 0 to 1 within bounds for specified vector component) for the specified vector of neural input parameters.
virtual void GetNeuralOutputRelative (IVector outputVector, ref IVector relativeComponents)
 Calculates relative components (running from 0 to 1 within bounds for specified vector component) for the specified vector of neural output values.
virtual double InputDistance (IVector v1, IVector v2)
 Returns measure of distance between two vectors in the space of input parameters. Euclidean norm scaled accorging to individual parameter ranges is returned.
virtual double OutputDistance (IVector v1, IVector v2)
 Returns measure of distance between two vectors in the space of output parameters. Euclidean norm scaled accorging to individual parameter ranges is returned.
virtual double InputDistance (IVector v1, int trainingPointIndex)
 Returns measure of distance between the specified neural input vector and vector of input parameters of the training point with the specified index.
virtual double OutputDistance (IVector v1, int trainingPointIndex)
 Returns measure of distance between the specified neural output values vector and vector of output values of the training point with the specified index.
virtual int GetClosestInputIndex (IVector v1, bool includeVerificationPoints)
 Returns index of training element with the shortest distance of its input parameters to the specified vector.
virtual int GetClosestOutputIndex (IVector v1, bool includeVerificationPoints)
 Returns index of training element with the shortest distance of its output values to the specified vector of output values.
void TestClosestPoints (int numClosestPoints, bool includeVerificationPoints, bool printByComponents, params IVector[] points)
 For each point in the specified array, the training points are sorted according to the distance to this point, and data for the specified number of closest points are written. Result of this test can give some rough feeling about filling of space (but very rough because anisotropy can not be detected in this way).
void TestClosestPoints (int numClosestPoints, bool includeVerificationPoints, bool printByComponents, bool printIndividualPointsComp, params IVector[] points)
 For each point in the specified array, the training points are sorted according to the distance to this point, and data for the specified number of closest points are written. For individual points, differences are not printed by components.Result of this test can give some rough feeling about filling of space (but very rough because anisotropy can not be detected in this way).
void TestClosestPoints (int numClosestPoints, bool includeVerificationPoints, bool printByComponents, params SampledDataElement[] points)
 For each point (training element) in the specified array, the training points are sorted according to the distance to this point, and data for the specified number of closest points are written. For individual points, differences are not printed by components.Result of this test can give some rough feeling about filling of space (but very rough because anisotropy can not be detected in this way).
void TestClosestPoints (int numClosestPoints, bool includeVerificationPoints, bool printByComponents, bool printIndividualPointsComp, params SampledDataElement[] points)
 For each point (training element) in the specified array, the training points are sorted according to the distance to this point, and data for the specified number of closest points are written. Result of this test can give some rough feeling about filling of space (but very rough because anisotropy can not be detected in this way).
virtual void NeuralCalculate (params double[] inputParameters)
 Calculates approximation at specified input parameters.
virtual void NeuralCalculate (IVector inputParameters)
 Calculates approximation at specified input parameters.
virtual void NeuralCalculate (IVector inputParameters, ref IVector outputValues)
 Calculates approximation at specified input parameters.
virtual List< SampledDataElement > GetRandomTrainingElements (int numElements, bool includeVerificationPoints)
 Creates and returns a list of training elements that are randomly chosen from the current training set. Trainingpoints that are not verification points are always included in the set of points for selection. The global random generator is used to select training elements.
virtual List< SampledDataElement > GetRandomTrainingElements (int numElements, bool includeVerificationPoints, bool includeNonVerificationPoints)
 Creates and returns a list of training elements that are randomly chosen from the current training set. The global random generator is used to select training elements.
virtual List< SampledDataElement > GetRandomTrainingElements (IRandomGenerator rand, int numElements, bool includeVerificationPoints)
 Creates and returns a list of training elements that are randomly chosen from the current training set. Trainingpoints that are not verification points are always included in the set of points for selection.
virtual List< SampledDataElement > GetRandomTrainingElements (IRandomGenerator rand, int numElements, bool includeVerificationPoints, bool includeNonVerificationPoints)
 Creates and returns a list of training elements that are randomly chosen from the current training set.
virtual IVector GetRandomNeuralInput ()
 Creates and returns a random vector of neural input parameters whose elements (components) lie within the lower and upper bounds on parameters. Global random generator is used to generate vecor components.
virtual void GetRandomNeuralInput (IRandomGenerator rand, ref IVector result)
 Generates a random vector of neural input parameters whose elements (components) lie within the lower and upper bounds on parameters, and stores it to the specified vector.
virtual IVector GetRandomNeuralInput (IRandomGenerator rand)
 Creates and returns a random vector of neural input parameters whose elements (components) lie within the lower and upper bounds on parameters.
virtual void GetRandomNeuralInput (ref IVector result)
 Generates a random vector of neural input parameters whose elements (components) lie within the lower and upper bounds on parameters.
virtual IVector GetRandomNeuralOutput ()
 Creates and returns a random vector of neural output values whose elements (components) lie within the lower and upper bounds on values. Global random generator is used to generate vecor components.
virtual IVector GetRandomNeuralOutput (IRandomGenerator rand)
 Creates and returns a random vector of neural output values whose elements (components) lie within the lower and upper bounds on values.
virtual void GetRandomNeuralOutput (ref IVector result)
 Generates a random vector of neural output values whose elements (components) lie within the lower and upper bounds on values.
virtual void GetRandomNeuralOutput (IRandomGenerator rand, ref IVector result)
 Generates a random vector of neural output values whose elements (components) lie within the lower and upper bounds on neural output values, and stores it to the specified vector.
virtual void PrepareNeuronsTable (int minNeurons, int maxNeurons, int numNeurons, ref int[] neurpnsTable)
 Prepares table of neurons in geometric sequence.
void TrainANN (int annType, int NumNeurons, int MaxEpochs, int EpochsInBundle, double LearnignRate, double Momentum, double InputSafetyFactor, double OutputSafetyFactor, double PercentVerificationPoints)
 Train the artificial neural network.
virtual string CreateDistortedModelData (string[] arguments)
 Creates data for distorted model and stores the data in the specified directory. Data of the current ANN model (read on demand from the standard locations of the model directory) is used as original data. The method chnages boundaries of input and output elements (eventually with the boundaries provided in a data definition file), creates and writes new data definition, then randomly samples the specified number of points by the original model, transforms input parameters and output values of hte transformed points in order to fit the new prescribed boundaries, and stores the new sampled data in the specified directory.Ifthe directory where distorted model data is stored already exists, then the user is prompted whether to overwrite its contents or not.
virtual void TestDistances (int referencePointIndex, int maxNumPoints)
 Test of distances of a specified number of training points with respect to the training point with specified index, in the input parameters space as well as in the output parameter space.
virtual void TestNeuralSpeed (int numEvaluations)
 Performs test of speed of calculation of neural network.
virtual void PrintNeuralData ()
 This example demonstrates how to extract data necessary for definition of optimization problems.
void SaveSensitivityCSV ()
 Saves sensitivity test in csv file.

Public Attributes

const string ConstTest = "Test"
 Comamnd name for test.
const string ConstHelpTest = "Test of functionality."
const string ConstCustom = "Custom"
 Comamnd name for test.
const string ConstHelpCustom = "Custom command that can be quickly modified as needed, for performing."
const string ConstRunParallel = "RunParallel"
 Comamnd name for running parallel simulations.
const string ConstHelpRunParallel = "Runs parallel simulations. Args: numThreads numRunsPerThread"
const string ConstCollectParallel = "collectparallel"
 Comamnd name for running parallel simulations.
const string ConstHelpCollectParallel = "Collects results of parallel simulations. Args: numThreads"
const string ConstCreateDistortedModelData = "CreateDistortedModelData"
 Comamnd name for testing network response for centered point from verification or training points for all Inputs/outputs.
const string ConstHelpCreateDistortedModelData
string ParallelResultsFilename = "ParallelResults"
int ParSimNumRuns = 2
 Number of runs of simulator in each parallel thread.
int ParSimNumThreads = 2
 Number of jobs that can be executed in parallel.
int ParSimSavingFrequency = 4
 Specifies how often the results are saved.
string ParSimResultFilename = "GatheredNeuralTrainingData.json"
bool saveGraphs = false

Static Public Attributes

static string TrainedNetworkAlternativeLovation = null
 If different than null, this static property provides alternative location of the file which neural network approximator is resd from, in terms of path relative to optimization directory.

Protected Member Functions

override void InitializeThis (string[] arguments)
 Inializes the current script object.
virtual void PrintInternalCommandAndArguments (string[] arguments)
 Prints internal command being executed and its actual arguments.
virtual void GetSimulationInputDefault (ref IVector result)
 Gets the vector of default values of simulation parameters and stores it in the specified vector.
virtual void GetSimulationInputMin (ref IVector result)
 Gets the vector of lower bounds on simulation parameters and stores it in the specified vector.
virtual void GetSimulationInputMax (ref IVector result)
 Gets the vector of upper bounds on simulation parameters and stores it in the specified vector.
virtual void ParSimPrepareDirectories (int numThreads)
 Prepares data for the specified number of parallel execution threads.
virtual void ParSimWaitAllCompletion ()
 Waits until all parallel jobs complete. It is necessary to execute this in the main thread because ending of the main thread would kill all parallel threads (jobs are executed in background threads via async. invoke mechanism).
virtual void ParSimAsyncCallback (IAsyncResult ar)
 Callback method for asynchronous runs.
virtual string ParSimGetDirectoryExtension (int threadIndex)
 Returns directory extension for data directory used in the specified parallel calculation thread.
virtual void GetNeuralInputDefault (ref IVector result)
 Gets the vector of default values of neural parameters and stores it in the specified vector.
virtual void GetNeuralInputMin (ref IVector result)
 Gets the vector of lower bounds on neural parameters and stores it in the specified vector.
virtual void GetNeuralInputMax (ref IVector result)
 Gets the vector of upper bounds on neural parameters and stores it in the specified vector.
virtual void GetRandomNeuralInputFromDataDefinition (IRandomGenerator rand, ref IVector result)
 Generates a random vector of neural input parameters whose elements (components) lie within the lower and upper bounds on parameters, and stores it to the specified vector.

Protected Attributes

IVector _simulationInputDefault
IVector _simulationInputMin
IVector _simulationInputMax
IBoundingBox _simulationInputBounds
string _parallelResultsFilename = "ParallelResults"
string _parallelResultsFileExtension = ".json"
List< IAsyncResult > ParallelResults
object ParSimProcessDelayLock = new object()
int ParSimProcessDelayMilliseconds = 500
 Minimal delay between two successive launches of simulator processes, in milliseconds. This delay is introduced in order to prevent unusual errors that occur when running two simulator processes at approcimately the same time (although they use completely separate data directory structures).
List< IVector > _sensitivityResultsVerification
List< IVector > _sensitivityResultsTraining
INeuralApproximator _trainedNetwork
SampledDataSet _trainingData
SampledDataSet _verificationData
IVector _neuralInputDefault
IVector _neuralInputMin
IVector _neuralInputMax
IBoundingBox _neuralInputBounds

Properties

abstract int NumOptimizationParameters [get, set]
 Number of optimization parameters.
abstract int NumOptimizationConstraints [get, set]
 Number of optimization constraints.
virtual InputOutputDataDefiniton SimulationDataDefinition [get]
 Simulation data definition (input and output used by simulator).
virtual int NumSimulationParameters [get, set]
 Number of simulation input parameters.
virtual int NumSimulationOutputs [get, set]
 Number of simulation output values.
virtual IBoundingBox SimulationInputBounds [get, set]
 Bounds on simulation input parameters.
string ParallelResultsFileExtension [get, set]
virtual
NeuraApproximationFileManager 
NeuralFM [get]
 File manager that provides access to trained neural network and related data.
virtual INeuralApproximator TrainedNetwork [get, set]
 Trained neural network.
virtual List< IVector > SensitivityVerificationResults [get, set]
virtual List< IVector > SensitivityTrainingResults [get, set]
virtual INeuralApproximator XXX_TrainedNetwork [get, set]
 Trained neural network.
virtual InputOutputDataDefiniton NeuralDataDefinition [get, set]
 Neural data definition.
virtual SampledDataSet TrainingData [get, set]
virtual SampledDataSet VerificationData [get, set]
virtual int NumNeuralParameters [get, set]
 Number of neural network input parameters.
virtual int NumNeuralOutputs [get, set]
 Number of neural network output values.
virtual IBoundingBox NeuralInputBounds [get, set]
 Bounds on neural input parameters.
virtual SampledDataSet NeuralTrainingData [get]
 Gets the training data.
virtual int NumAllTrainingPoints [get]
 Gets number of all training points, including verification points.
virtual IVector SomeNeuralInput [get]
 Returns some vector of input parameters that is within the range. This methods just reads and returns the current vector of input parameter from the directory for the first time, and then returns the same vector every time.
virtual IVector NeuralInputFromFile [get]
 Vector of input parameters read form the file.

Private Attributes

InputOutputDataDefiniton _simulationDataDefinition
IVector _neuralInput
NeuraApproximationFileManager _neuralFileManager
InputOutputDataDefiniton _neuralDataDefinition
SampledDataSet _neuralTrainingData
IVector _someInput

Detailed Description

Base class for loadable scripts that are used as custom applications that inclued neural networks approximations and optimization.

This is an abstract class. Derived class LoadableScriptShellNeural serves the same purpose and is concrete (but some implementations just throw exceptions).

$A Igor xx Jul11 Dec12 Feb12;


Constructor & Destructor Documentation

IG::Script::LoadableScriptShellNeuralITOriginalBase::LoadableScriptShellNeuralITOriginalBase ( ) [inline]

Member Function Documentation

override void IG::Script::LoadableScriptShellNeuralITOriginalBase::InitializeThis ( string[]  arguments) [inline, protected]

Inializes the current script object.

Parameters:
argumentsInitialization arguments. The first argument must be the working directory path.

Reimplemented from IG::Lib::LoadableScriptShellBase.

Reimplemented in IG::Script::LoadableScriptShellNeuralIT, and IG::Script::LoadableScriptShellNeuralITOriginal.

override void IG::Script::LoadableScriptShellNeuralITOriginalBase::Analyse ( Num.IAnalysisResults  anRes) [inline]

Dummy analysis, jsut throws the exception.

Parameters:
anRes

NotImplementedException

Reimplemented in IG::Script::LoadableScriptShellNeuralITOriginal.

virtual void IG::Script::LoadableScriptShellNeuralITOriginalBase::PrintInternalCommandAndArguments ( string[]  arguments) [inline, protected, virtual]

Prints internal command being executed and its actual arguments.

Parameters:
argumentsScript run arguments, the first one is command name.
virtual string IG::Script::LoadableScriptShellNeuralITOriginalBase::Test ( string[]  arguments) [inline, virtual]

Runs a custom basic test. In its current variants, it jus prints some data about important directories, etc.

Parameters:
argumentsCommand arguments, first one (index 0) is always command name.
Returns:
null.
virtual string IG::Script::LoadableScriptShellNeuralITOriginalBase::Custom ( string[]  arguments) [inline, virtual]

Runs a custom test.

Parameters:
argumentsCommand arguments, first one (index 0) is always command name.
Returns:
null.

This command is reserved for quick custom tests whose code will change frequently. In general, you should override the command code in the derived classes if you need this functionality.

virtual string IG::Script::LoadableScriptShellNeuralITOriginalBase::RunParallelSimulations ( string[]  arguments) [inline, virtual]

Runs multiple simulations in parallel threads and saves results in each parallel thread.

Parameters:
argumentsCommand arguments, first one (index 0) is always command name.
Returns:
null.
virtual string IG::Script::LoadableScriptShellNeuralITOriginalBase::CollectParallelSimulationResults ( string[]  arguments) [inline, virtual]

Collects results of simulations run in parallel threads, joins them into a single object and saves them.

Parameters:
argumentsCommand arguments.
Returns:
null.
override void IG::Script::LoadableScriptShellNeuralITOriginalBase::Script_AddCommands ( ICommandLineApplicationInterpreter  interpreter,
SortedList< string, string >  helpStrings 
) [inline]

Adds commands to the internal interpreter.

Parameters:
interpreterInterpreter where commands are executed.
helpStringsList containg help strings.

Reimplemented in IG::Script::LoadableScriptShellNeuralIT.

virtual IVector IG::Script::LoadableScriptShellNeuralITOriginalBase::TestApproximation ( IVector  parameters) [inline, virtual]

Performs a test approximation at the specified vector of parameters and outputs and returns results.

Parameters:
parametersParameters at which approximation output vector is calculated.
Returns:
Vector of approximated output values.
virtual IVector [][] IG::Script::LoadableScriptShellNeuralITOriginalBase::TestApproximationTable ( int  numPoints) [inline, virtual]

Calculates a table of specified number of approximations, with parameters running between two points that are chosen by the algorithm.

Parameters:
numPointsNumber of points in which approximation results results are calculated.
Returns:
Array of two arrays - of input vector and of calculated approximated outputs (in form of vectors).
virtual IVector [][] IG::Script::LoadableScriptShellNeuralITOriginalBase::TestApproximationTable ( IVector  param1,
IVector  param2,
int  numPoints 
) [inline, virtual]

Performs a table of approximatinos between two specified vectors of approximation input parameters, and outputs results. It also returns the table of results (approximated output values in form of vectors). Approximations are performed in specified number of equidistant points between the two specified vectors of input parameters.

Parameters:
param1The first vector of approximation input parameters.
param2The second vector of approximation input parameters.
numPointsNumber of points where calculations (approximations) are perfomed, must be at least two.
Returns:
Array of two arrays - of input vector and of calculated approximated outputs (in form of vectors).
virtual AnalysisResults IG::Script::LoadableScriptShellNeuralITOriginalBase::TestAnalysis ( IVector  parameters) [inline, virtual]

Performs test analysis at the specified optimization parameters and outputs results. Analysis results are returned, too.

Parameters:
parametersOptimization parameters at which the analysis is performed.
virtual AnalysisResults [] IG::Script::LoadableScriptShellNeuralITOriginalBase::TestAnalysisTable ( int  numPoints) [inline, virtual]

Calculates a table of specified number of analyses, with parameters running between two points that are chosen by the algorithm.

Parameters:
numPointsNumber of points in which analysis results are calculated.
Returns:
Array of calculated analysis results.
virtual AnalysisResults [] IG::Script::LoadableScriptShellNeuralITOriginalBase::TestAnalysisTable ( IVector  param1,
IVector  param2,
int  numPoints 
) [inline, virtual]

Performs a table of direct analyses between two specified vectors of optimization parameters, and outputs results. It also returns the table of analysis results. Analyses are performed in specified number of equidistant points between the two specified vectors of parameters.

Parameters:
param1The first vector of parameters.
param2The second vector of parameters.
numPointsNumber of analyses perfomed, must be at least two.
Returns:
Array of calculated analysis results.
virtual void IG::Script::LoadableScriptShellNeuralITOriginalBase::OptimizeSimplex ( ) [inline, virtual]
virtual void IG::Script::LoadableScriptShellNeuralITOriginalBase::TransfNeuralToOptimizationParameters ( IVector  neuralParameters,
ref IVector  optimizationParameters 
) [inline, virtual]

Maps input parameters for neural network to optimization input parameters.

Parameters:
neuralParametersVector of neural network's input parameters.
optimizationParametersVector where corresponding optimization parameters are written. Reallocated if necessary.
virtual void IG::Script::LoadableScriptShellNeuralITOriginalBase::TransfOptimizationToNeuralParameters ( IVector  optimizationParameters,
ref IVector  neuralParameters 
) [inline, virtual]

Maps optimization input parameters to neural network input parameters.

Parameters:
optimizationParametersVector where corresponding optimization parameters are written.
neuralParametersVector of neural network's input parameters. Reallocated if necessary.
virtual void IG::Script::LoadableScriptShellNeuralITOriginalBase::GetSimulationInputDefault ( ref IVector  result) [inline, protected, virtual]

Gets the vector of default values of simulation parameters and stores it in the specified vector.

Parameters:
resultVector where result is stored.

Elements of vector are obtained from data definition. If for some element default value is not defined then it is set to 0.

virtual void IG::Script::LoadableScriptShellNeuralITOriginalBase::GetSimulationInputMin ( ref IVector  result) [inline, protected, virtual]

Gets the vector of lower bounds on simulation parameters and stores it in the specified vector.

Parameters:
resultVector where result is stored.

Elements of vector are obtained from data definition. If for some element bound is not defined then it is set to double.MinValue

virtual void IG::Script::LoadableScriptShellNeuralITOriginalBase::GetSimulationInputMax ( ref IVector  result) [inline, protected, virtual]

Gets the vector of upper bounds on simulation parameters and stores it in the specified vector.

Parameters:
resultVector where result is stored.

Elements of vector are obtained from data definition. If for some element bound is not defined then it is set to double.MaxValue

delegate string IG::Script::LoadableScriptShellNeuralITOriginalBase::ParallelRunDelegate ( int  threadIndex)
virtual void IG::Script::LoadableScriptShellNeuralITOriginalBase::ParSimPrepareDirectories ( int  numThreads) [inline, protected, virtual]

Prepares data for the specified number of parallel execution threads.

Parameters:
numThreadsNumber of parallel threads for which data is prepared.
virtual void IG::Script::LoadableScriptShellNeuralITOriginalBase::ParSimWaitAllCompletion ( ) [inline, protected, virtual]

Waits until all parallel jobs complete. It is necessary to execute this in the main thread because ending of the main thread would kill all parallel threads (jobs are executed in background threads via async. invoke mechanism).

virtual void IG::Script::LoadableScriptShellNeuralITOriginalBase::ParSimBegin ( int  numThreads) [inline, virtual]

Launches parallel jobs.

Parameters:
numThreadsNumber of parallel threads for which data is prepared.
virtual void IG::Script::LoadableScriptShellNeuralITOriginalBase::GatherParallelResults ( int  numThreads) [inline, virtual]

Reads results form all parallel threads, gathers them in a single training set, and saves them in the template optimiation directory.

virtual void IG::Script::LoadableScriptShellNeuralITOriginalBase::ParSimAsyncCallback ( IAsyncResult  ar) [inline, protected, virtual]

Callback method for asynchronous runs.

Parameters:
arAsynchronous results that are passed to the method.
virtual string IG::Script::LoadableScriptShellNeuralITOriginalBase::ParSimGetDirectoryExtension ( int  threadIndex) [inline, protected, virtual]

Returns directory extension for data directory used in the specified parallel calculation thread.

Parameters:
threadIndexIndex of the parllel calculation thread and corresponding data directory.
virtual string IG::Script::LoadableScriptShellNeuralITOriginalBase::ParSimGetOptimizationDirectoryPath ( int  threadIndex) [inline, virtual]

Returns path to the directory containing optimization data for the specified parallel thread.

Parameters:
threadIndexIndex of parallel calculation thread for which the directory is returned.
virtual string IG::Script::LoadableScriptShellNeuralITOriginalBase::ParSimGetMutexName ( int  threadIndex) [inline, virtual]

Returns name of the mutex for locking data on disk that is used by the specified parallel thread.

Parameters:
threadIndexIndex (internal) of thread for which mutex name is obtained.
virtual string IG::Script::LoadableScriptShellNeuralITOriginalBase::ParSimGetParallelResultsFilePath ( int  threadIndex) [inline, virtual]

Returns path of the file where resuls of calculation in the specified parallel thread are stored.

Parameters:
threadIndexIndex of the parallel thread.
virtual string IG::Script::LoadableScriptShellNeuralITOriginalBase::GetParallelResultFilePath ( ) [inline, virtual]

Returns path of the file where resuls of calculation in the specified parallel thread are stored.

Parameters:
threadIndexIndex of the parallel thread.
virtual void IG::Script::LoadableScriptShellNeuralITOriginalBase::ParSimPreparelDirectory ( int  threadIndex) [inline, virtual]

Prepares data for running calculations in the parallel thread with the specified index.

Parameters:
threadIndex
void IG::Script::LoadableScriptShellNeuralITOriginalBase::ParSimAddResults ( int  threadIndex,
SampledDataSet  results 
) [inline]

Reads results of the specified thread and adds them to the existing training set.

Parameters:
threadIndexIndex of the thread.
resultsTraining results to which results are added.
string IG::Script::LoadableScriptShellNeuralITOriginalBase::ParSimRunJob ( int  threadIndex) [inline]

Runs the job in the specified parallel thread.

Parameters:
threadIndexIndex of the parallel thread.
Returns:
null.
virtual void IG::Script::LoadableScriptShellNeuralITOriginalBase::ParSimGetNextInput ( ref IVector  simInput) [inline, virtual]

Generates the next vector of simulation input parameters that will be used for calculation of a new parallel simulation.

Vector of neural input parameters is generated first by ParSimGetNextNeuralInput, then neural parameters are tansformed to simulation parameters.

virtual void IG::Script::LoadableScriptShellNeuralITOriginalBase::ParSimGetNextNeuralInput ( ref IVector  simInput) [inline, virtual]

Generates the next vector of neural input parameters that will be used for calculation of a new training element.

virtual string IG::Script::LoadableScriptShellNeuralITOriginalBase::ParSimGetSimulationDirectoryPath ( int  threadIndex) [inline, virtual]

Returns the simulation directory for the specified parallel calculation thread.

Parameters:
threadIndexIndex of parallel calculation thread for which the directory is returned.
virtual IResponseEvaluatorVectorSimple IG::Script::LoadableScriptShellNeuralITOriginalBase::ParSimGetSimulator ( int  threadIndex) [inline, virtual]

Creates simulator file manager for the simulator that will the specified parallel task.

Parameters:
threadIndexIndex of parallel task and its corresponding data directory.

<remeremarks>Derived classes that implement parallel execution of simulators for generating training data eill either override this method, or mor conveniently the CreateNewSimulator method that is called from this method.</remeremarks>

abstract void IG::Script::LoadableScriptShellNeuralITOriginalBase::TransfSimulationToNeuralInput ( IVector  original,
ref IVector  result 
) [pure virtual]

Transforms the specified vector of simulation input parameters to the vector of neural input parameters and stores the vector to the specified variable.

Parameters:
originalVector to be transformed.
resultVector where result of transformation is stored.

Implemented in IG::Script::LoadableScriptShellNeuralITOriginal.

virtual void IG::Script::LoadableScriptShellNeuralITOriginalBase::TransfNeuralToSimulationInput ( IVector  original,
ref IVector  result 
) [inline, virtual]

Transforms the specified vector of neural input parameters to the vector of simulation input parameters and stores the vector to the specified variable.

Parameters:
originalVector to be transformed.
resultVector where result of transformation is stored.

Reimplemented in IG::Script::LoadableScriptShellNeuralITOriginal.

virtual void IG::Script::LoadableScriptShellNeuralITOriginalBase::TransfSimulationToNeuralOutput ( IVector  original,
ref IVector  result 
) [inline, virtual]

Transforms the specified vector of simulation output values (results) to the vector of neural output values and stores the vector to the specified variable.

Parameters:
originalVector to be transformed.
resultVector where result of transformation is stored.

Reimplemented in IG::Script::LoadableScriptShellNeuralITOriginal.

virtual void IG::Script::LoadableScriptShellNeuralITOriginalBase::TransfNeuralToSimulationOutput ( IVector  original,
ref IVector  result 
) [inline, virtual]

Transforms the specified vector of neural output values to the vector of simulation output values (results) and stores the vector to the specified variable.

Parameters:
originalVector to be transformed.
resultVector where result of transformation is stored.

Reimplemented in IG::Script::LoadableScriptShellNeuralITOriginal.

virtual void IG::Script::LoadableScriptShellNeuralITOriginalBase::GetNeuralInputDefault ( ref IVector  result) [inline, protected, virtual]

Gets the vector of default values of neural parameters and stores it in the specified vector.

Parameters:
resultVector where result is stored.

Elements of vector are obtained from data definition. If for some element default value is not defined then it is set to 0.

virtual void IG::Script::LoadableScriptShellNeuralITOriginalBase::GetNeuralInputMin ( ref IVector  result) [inline, protected, virtual]

Gets the vector of lower bounds on neural parameters and stores it in the specified vector.

Parameters:
resultVector where result is stored.

Elements of vector are obtained from data definition. If for some element bound is not defined then it is set to double.MinValue

virtual void IG::Script::LoadableScriptShellNeuralITOriginalBase::GetNeuralInputMax ( ref IVector  result) [inline, protected, virtual]

Gets the vector of upper bounds on neural parameters and stores it in the specified vector.

Parameters:
resultVector where result is stored.

Elements of vector are obtained from data definition. If for some element bound is not defined then it is set to double.MaxValue

virtual SampledDataElement IG::Script::LoadableScriptShellNeuralITOriginalBase::GetTrainingElement ( int  i) [inline, virtual]

Gets the training element with the specified index (chosen out of al training points, including verificaion points).

virtual bool IG::Script::LoadableScriptShellNeuralITOriginalBase::IsVerificationPoint ( int  trainingPointIndex) [inline, virtual]

Whether the training point with the specified index is a verification points and has not been used in training.

List<SampledDataElement> IG::Script::LoadableScriptShellNeuralITOriginalBase::GetTrainingElements ( bool  includeVerificationPoints) [inline]

Returns a list of all neural training elements. The returned list is created anew.

Parameters:
includeVerificationPointsFlag indicating whether verification points are also included in the returned list.
List<SampledDataElement> IG::Script::LoadableScriptShellNeuralITOriginalBase::GetTrainingElements ( bool  includeVerificationPoints,
bool  includeNonVerificationPoints 
) [inline]

Returns a list of all neural training elements. The returned list is created anew.

Parameters:
includeVerificationPointsFlag indicating whether verification points are also included in the returned list.
includeNonVerificationPointsFlag indicating whether non-verification points are included in the returned list.
virtual void IG::Script::LoadableScriptShellNeuralITOriginalBase::GetNeuralInputPerturbance ( double  ratio,
ref IVector  perturbance 
) [inline, virtual]

Returns a perturbance vector whose componenets represent magnitudes of perturbances of neural input parameters with the specified relative ratio with corresponding parameters' scaling lengths.

Parameters:
ratioRatio between perturbance component and scaling length of each parameter.

Scaling length is either the difference between maximal and minimal value, or 0.

Parameters:
perturbanceVector where perturbance magnitudes are stored.
virtual void IG::Script::LoadableScriptShellNeuralITOriginalBase::GetNeuralOutputPerturbance ( double  ratio,
ref IVector  perturbance 
) [inline, virtual]

Returns a perturbance vector whose componenets represent magnitudes of perturbances of neural output values with the specified relative ratio with corresponding values' scaling lengths.

Parameters:
ratioRatio between perturbance component and scaling length of each value.

Scaling length is either the difference between maximal and minimal value, or 0.

Parameters:
perturbanceVector where perturbance magnitudes are stored.
virtual void IG::Script::LoadableScriptShellNeuralITOriginalBase::GetNeuralInputVector ( double  relativeComponents,
ref IVector  inputVector 
) [inline, virtual]

Returns an input vector whose components are at specified relative distances (with respect to full range) from lower bounds on componens of input vectors.

Parameters:
relativeComponentsRelative coordinate of all vector components of the returned vector, which run from 0 to 1 within the range of components (defined by minimal and maximal bounds).
inputVectorObject where generated vector is stored.
virtual void IG::Script::LoadableScriptShellNeuralITOriginalBase::GetNeuralOutputVector ( double  relativeComponents,
ref IVector  outputVector 
) [inline, virtual]

Returns an output vector whose components are at specified relative distances (with respect to full range) from lower bounds on componens of input vectors.

Parameters:
relativeComponentsRelative coordinate of all vector components of the returned vector, which run from 0 to 1 within the range of components (defined by minimal and maximal bounds).
inputVectorObject where generated vector is stored.
virtual void IG::Script::LoadableScriptShellNeuralITOriginalBase::GetNeuralInputVector ( IVector  relativeComponents,
ref IVector  inputVector 
) [inline, virtual]

Returns an input vector whose components are at specified relative distances (with respect to full range) from lower bounds on componens of input vectors.

Parameters:
relativeComponentsRelative coordinates of all vector components of the returned vector, which run from 0 to 1 within the range of components (defined by minimal and maximal bounds).
inputVectorObject where generated vector is stored.
virtual void IG::Script::LoadableScriptShellNeuralITOriginalBase::GetNeuralOutputVector ( IVector  relativeComponents,
ref IVector  outputVector 
) [inline, virtual]

Returns an output vector whose components are at specified relative distances (with respect to full range) from lower bounds on componens of input vectors.

Parameters:
relativeComponentsRelative coordinates of all vector components of the returned vector, which run from 0 to 1 within the range of components (defined by minimal and maximal bounds).
inputVectorObject where generated vector is stored.
virtual void IG::Script::LoadableScriptShellNeuralITOriginalBase::GetNeuralInputRelative ( IVector  inputVector,
ref IVector  relativeComponents 
) [inline, virtual]

Calculates relative components (running from 0 to 1 within bounds for specified vector component) for the specified vector of neural input parameters.

Parameters:
inputVectorVector of input parameters for neural network.
relativeComponentsVector where transformed relative components of the specified vector are stored.
virtual void IG::Script::LoadableScriptShellNeuralITOriginalBase::GetNeuralOutputRelative ( IVector  outputVector,
ref IVector  relativeComponents 
) [inline, virtual]

Calculates relative components (running from 0 to 1 within bounds for specified vector component) for the specified vector of neural output values.

Parameters:
outputVectorVector of output values in neural network approximator's output space.
relativeComponentsVector where transformed relative components of the specified vector are stored.
virtual double IG::Script::LoadableScriptShellNeuralITOriginalBase::InputDistance ( IVector  v1,
IVector  v2 
) [inline, virtual]

Returns measure of distance between two vectors in the space of input parameters. Euclidean norm scaled accorging to individual parameter ranges is returned.

virtual double IG::Script::LoadableScriptShellNeuralITOriginalBase::OutputDistance ( IVector  v1,
IVector  v2 
) [inline, virtual]

Returns measure of distance between two vectors in the space of output parameters. Euclidean norm scaled accorging to individual parameter ranges is returned.

virtual double IG::Script::LoadableScriptShellNeuralITOriginalBase::InputDistance ( IVector  v1,
int  trainingPointIndex 
) [inline, virtual]

Returns measure of distance between the specified neural input vector and vector of input parameters of the training point with the specified index.

Parameters:
v1First vector in space of input parameter for calculating distance.
trainingPointIndexIndex of training point for obtaining the second input vector.
virtual double IG::Script::LoadableScriptShellNeuralITOriginalBase::OutputDistance ( IVector  v1,
int  trainingPointIndex 
) [inline, virtual]

Returns measure of distance between the specified neural output values vector and vector of output values of the training point with the specified index.

Parameters:
v1First vector in space of output values for calculating distance.
trainingPointIndexIndex of training point for obtaining the second output vector.
virtual int IG::Script::LoadableScriptShellNeuralITOriginalBase::GetClosestInputIndex ( IVector  v1,
bool  includeVerificationPoints 
) [inline, virtual]

Returns index of training element with the shortest distance of its input parameters to the specified vector.

Parameters:
v1Vector to which the distance is observed.
countVerificationPointsWhether verification points are included or not.
virtual int IG::Script::LoadableScriptShellNeuralITOriginalBase::GetClosestOutputIndex ( IVector  v1,
bool  includeVerificationPoints 
) [inline, virtual]

Returns index of training element with the shortest distance of its output values to the specified vector of output values.

Parameters:
v1Vector to which the distance is observed.
countVerificationPointsWhether verification points are included or not.
void IG::Script::LoadableScriptShellNeuralITOriginalBase::TestClosestPoints ( int  numClosestPoints,
bool  includeVerificationPoints,
bool  printByComponents,
params IVector[]  points 
) [inline]

For each point in the specified array, the training points are sorted according to the distance to this point, and data for the specified number of closest points are written. Result of this test can give some rough feeling about filling of space (but very rough because anisotropy can not be detected in this way).

Parameters:
numClosestPointsNumber of closest points that are written.
includeVerificationPointsWhether verification points are included or not.
printByComponentsIf true then results are also printed by components.
pointsPoints that are checked for closest trainnig data points.
void IG::Script::LoadableScriptShellNeuralITOriginalBase::TestClosestPoints ( int  numClosestPoints,
bool  includeVerificationPoints,
bool  printByComponents,
bool  printIndividualPointsComp,
params IVector[]  points 
) [inline]

For each point in the specified array, the training points are sorted according to the distance to this point, and data for the specified number of closest points are written. For individual points, differences are not printed by components.Result of this test can give some rough feeling about filling of space (but very rough because anisotropy can not be detected in this way).

Parameters:
numClosestPointsNumber of closest points that are written.
includeVerificationPointsWhether verification points are included or not.
printByComponentsIf true then results are also printed by components.
printIndividualPointsCompIf true then individual components of differences are printed for individual points (otherwise, they are only printed in statistics).
pointsPoints that are checked for closest trainnig data points.
void IG::Script::LoadableScriptShellNeuralITOriginalBase::TestClosestPoints ( int  numClosestPoints,
bool  includeVerificationPoints,
bool  printByComponents,
params SampledDataElement[]  points 
) [inline]

For each point (training element) in the specified array, the training points are sorted according to the distance to this point, and data for the specified number of closest points are written. For individual points, differences are not printed by components.Result of this test can give some rough feeling about filling of space (but very rough because anisotropy can not be detected in this way).

Parameters:
numClosestPointsNumber of closest points that are written.
includeVerificationPointsWhether verification points are included or not.
printByComponentsIf true then results are also printed by components.
pointsPoints that are checked for closest trainnig data points.
void IG::Script::LoadableScriptShellNeuralITOriginalBase::TestClosestPoints ( int  numClosestPoints,
bool  includeVerificationPoints,
bool  printByComponents,
bool  printIndividualPointsComp,
params SampledDataElement[]  points 
) [inline]

For each point (training element) in the specified array, the training points are sorted according to the distance to this point, and data for the specified number of closest points are written. Result of this test can give some rough feeling about filling of space (but very rough because anisotropy can not be detected in this way).

Parameters:
numClosestPointsNumber of closest points that are written.
includeVerificationPointsWhether verification points are included or not.
printByComponentsIf true then results are also printed by components.
printIndividualPointsIf true then individual components of differences are printed for

Parameters:
pointsPoints that are checked for closest trainnig data points.
virtual void IG::Script::LoadableScriptShellNeuralITOriginalBase::NeuralCalculate ( params double[]  inputParameters) [inline, virtual]

Calculates approximation at specified input parameters.

Parameters:
inputParametersInput parameters.
virtual void IG::Script::LoadableScriptShellNeuralITOriginalBase::NeuralCalculate ( IVector  inputParameters) [inline, virtual]

Calculates approximation at specified input parameters.

Parameters:
inputParametersInput parameters.
virtual void IG::Script::LoadableScriptShellNeuralITOriginalBase::NeuralCalculate ( IVector  inputParameters,
ref IVector  outputValues 
) [inline, virtual]

Calculates approximation at specified input parameters.

Parameters:
inputParametersInput parameters.
virtual List<SampledDataElement> IG::Script::LoadableScriptShellNeuralITOriginalBase::GetRandomTrainingElements ( int  numElements,
bool  includeVerificationPoints 
) [inline, virtual]

Creates and returns a list of training elements that are randomly chosen from the current training set. Trainingpoints that are not verification points are always included in the set of points for selection. The global random generator is used to select training elements.

Parameters:
numElementsNumber of elemnts that are randomly selected and put into the returned list. If the number of all available elements is smaller than this number then exception is thrown.
includeVerificationPointsA flag indicationg whether verification elements should also be included.
virtual List<SampledDataElement> IG::Script::LoadableScriptShellNeuralITOriginalBase::GetRandomTrainingElements ( int  numElements,
bool  includeVerificationPoints,
bool  includeNonVerificationPoints 
) [inline, virtual]

Creates and returns a list of training elements that are randomly chosen from the current training set. The global random generator is used to select training elements.

Parameters:
numElementsNumber of elemnts that are randomly selected and put into the returned list. If the number of all available elements is smaller than this number then exception is thrown.
includeVerificationPointsA flag indicationg whether verification elements should also be included.
includeNonVerificationPointsA flag indicating whether non-verification elements should be included in the list.
virtual List<SampledDataElement> IG::Script::LoadableScriptShellNeuralITOriginalBase::GetRandomTrainingElements ( IRandomGenerator  rand,
int  numElements,
bool  includeVerificationPoints 
) [inline, virtual]

Creates and returns a list of training elements that are randomly chosen from the current training set. Trainingpoints that are not verification points are always included in the set of points for selection.

Parameters:
randRandom generator used for random selection of training elements.
numElementsNumber of elemnts that are randomly selected and put into the returned list. If the number of all available elements is smaller than this number then exception is thrown.
includeVerificationPointsA flag indicationg whether verification elements should also be included.
virtual List<SampledDataElement> IG::Script::LoadableScriptShellNeuralITOriginalBase::GetRandomTrainingElements ( IRandomGenerator  rand,
int  numElements,
bool  includeVerificationPoints,
bool  includeNonVerificationPoints 
) [inline, virtual]

Creates and returns a list of training elements that are randomly chosen from the current training set.

Parameters:
randRandom generator used for random selection of training elements.
numElementsNumber of elemnts that are randomly selected and put into the returned list. If the number of all available elements is smaller than this number then exception is thrown.
includeVerificationPointsA flag indicationg whether verification elements should also be included.
includeNonVerificationPointsA flag indicating whether non-verification elements should be included in the list.
virtual IVector IG::Script::LoadableScriptShellNeuralITOriginalBase::GetRandomNeuralInput ( ) [inline, virtual]

Creates and returns a random vector of neural input parameters whose elements (components) lie within the lower and upper bounds on parameters. Global random generator is used to generate vecor components.

virtual void IG::Script::LoadableScriptShellNeuralITOriginalBase::GetRandomNeuralInput ( IRandomGenerator  rand,
ref IVector  result 
) [inline, virtual]

Generates a random vector of neural input parameters whose elements (components) lie within the lower and upper bounds on parameters, and stores it to the specified vector.

Parameters:
randRandom number generator used to generate the elements.
resultVector object whre the generated random vector is stored; allocated if necessary.
virtual IVector IG::Script::LoadableScriptShellNeuralITOriginalBase::GetRandomNeuralInput ( IRandomGenerator  rand) [inline, virtual]

Creates and returns a random vector of neural input parameters whose elements (components) lie within the lower and upper bounds on parameters.

Parameters:
randRandom number generator used to generate the elements.
virtual void IG::Script::LoadableScriptShellNeuralITOriginalBase::GetRandomNeuralInput ( ref IVector  result) [inline, virtual]

Generates a random vector of neural input parameters whose elements (components) lie within the lower and upper bounds on parameters.

virtual void IG::Script::LoadableScriptShellNeuralITOriginalBase::GetRandomNeuralInputFromDataDefinition ( IRandomGenerator  rand,
ref IVector  result 
) [inline, protected, virtual]

Generates a random vector of neural input parameters whose elements (components) lie within the lower and upper bounds on parameters, and stores it to the specified vector.

Parameters:
randRandom number generator used to generate the elements.
resultVector object whre the generated random vector is stored; allocated if necessary.
virtual IVector IG::Script::LoadableScriptShellNeuralITOriginalBase::GetRandomNeuralOutput ( ) [inline, virtual]

Creates and returns a random vector of neural output values whose elements (components) lie within the lower and upper bounds on values. Global random generator is used to generate vecor components.

virtual IVector IG::Script::LoadableScriptShellNeuralITOriginalBase::GetRandomNeuralOutput ( IRandomGenerator  rand) [inline, virtual]

Creates and returns a random vector of neural output values whose elements (components) lie within the lower and upper bounds on values.

Parameters:
randRandom number generator used to generate the elements.
virtual void IG::Script::LoadableScriptShellNeuralITOriginalBase::GetRandomNeuralOutput ( ref IVector  result) [inline, virtual]

Generates a random vector of neural output values whose elements (components) lie within the lower and upper bounds on values.

virtual void IG::Script::LoadableScriptShellNeuralITOriginalBase::GetRandomNeuralOutput ( IRandomGenerator  rand,
ref IVector  result 
) [inline, virtual]

Generates a random vector of neural output values whose elements (components) lie within the lower and upper bounds on neural output values, and stores it to the specified vector.

Parameters:
randRandom number generator used to generate the elements.
resultVector object whre the generated random vector is stored; allocated if necessary.
virtual void IG::Script::LoadableScriptShellNeuralITOriginalBase::PrepareNeuronsTable ( int  minNeurons,
int  maxNeurons,
int  numNeurons,
ref int[]  neurpnsTable 
) [inline, virtual]

Prepares table of neurons in geometric sequence.

Parameters:
minNeuronsMinimum number of neurons.
maxNeuronsMaximum number of neurons.
numNeuronsNumber of neurons in sequence.
neurpnsTableTable of neurons.

$A Tako78 Nov12;

void IG::Script::LoadableScriptShellNeuralITOriginalBase::TrainANN ( int  annType,
int  NumNeurons,
int  MaxEpochs,
int  EpochsInBundle,
double  LearnignRate,
double  Momentum,
double  InputSafetyFactor,
double  OutputSafetyFactor,
double  PercentVerificationPoints 
) [inline]

Train the artificial neural network.

Parameters:
annType1 - NeuronDotNet, 2 - Aforge.
NumNeuronsNumber of neirons in 1st hidden layer.
MaxEpochsMax epochs.
EpochsInBundleEpochs in bundle.
LearnignRateLearning rate.
MomentumMomentum.
InputSafetyFactorInput safety factor.
OutputSafetyFactorOutput safety factor.
PercentVerificationPointsPercentage for verification points.
virtual string IG::Script::LoadableScriptShellNeuralITOriginalBase::CreateDistortedModelData ( string[]  arguments) [inline, virtual]

Creates data for distorted model and stores the data in the specified directory. Data of the current ANN model (read on demand from the standard locations of the model directory) is used as original data. The method chnages boundaries of input and output elements (eventually with the boundaries provided in a data definition file), creates and writes new data definition, then randomly samples the specified number of points by the original model, transforms input parameters and output values of hte transformed points in order to fit the new prescribed boundaries, and stores the new sampled data in the specified directory.Ifthe directory where distorted model data is stored already exists, then the user is prompted whether to overwrite its contents or not.

Parameters:
argumentsCommand arguments, first one (index 0) is always command name.

Arguments are:

WorkingDirectory - working directory where the original model is found.

DistortedModelDirectory - directory where distorted model is stored. Specified as absolute path or relative to the current directory.

NumDataPoints - number of data points in the sampled data generated by the original model.

ChangeElementNames - optional, default false; whether data element names are changed.

ChangeTitlesAndDescriptions - optional, default true; whether element titles and descriptions are changed.

DataDefinitionFile - optional; data definition file for distorted model. If specified then new parameter bounds and other data (names, titles, descriptions, etc.) are taken from here, otherwise data is generated as necessary.

DistortionFactor - optional, default 2.5 - factor by which bounds are multiplied.

RandomFactor - ouptional, default 0.25 - mahnitude of additional random shiht of bounds (relative to distorted interval length).

Returns:
null.
virtual void IG::Script::LoadableScriptShellNeuralITOriginalBase::TestDistances ( int  referencePointIndex,
int  maxNumPoints 
) [inline, virtual]

Test of distances of a specified number of training points with respect to the training point with specified index, in the input parameters space as well as in the output parameter space.

Parameters:
referencePointIndexIndex of the point for which distances are calculated.
maxNumPointsMaximal number of points taken in the test.
virtual void IG::Script::LoadableScriptShellNeuralITOriginalBase::TestNeuralSpeed ( int  numEvaluations) [inline, virtual]

Performs test of speed of calculation of neural network.

Parameters:
numEvaluationsNumber of times the approximation is calculated.
virtual void IG::Script::LoadableScriptShellNeuralITOriginalBase::PrintNeuralData ( ) [inline, virtual]

This example demonstrates how to extract data necessary for definition of optimization problems.

void IG::Script::LoadableScriptShellNeuralITOriginalBase::SaveSensitivityCSV ( ) [inline]

Saves sensitivity test in csv file.

$A Tako78 Jul13;


Member Data Documentation

Comamnd name for test.

Comamnd name for test.

const string IG::Script::LoadableScriptShellNeuralITOriginalBase::ConstHelpCustom = "Custom command that can be quickly modified as needed, for performing."

Comamnd name for running parallel simulations.

const string IG::Script::LoadableScriptShellNeuralITOriginalBase::ConstHelpRunParallel = "Runs parallel simulations. Args: numThreads numRunsPerThread"

Comamnd name for running parallel simulations.

const string IG::Script::LoadableScriptShellNeuralITOriginalBase::ConstHelpCollectParallel = "Collects results of parallel simulations. Args: numThreads"

Comamnd name for testing network response for centered point from verification or training points for all Inputs/outputs.

Initial value:
 ConstCreateDistortedModelData +
@" WorkingDirectory DistortedModelDirectory ChangeElementNames ChangeTitlesAndDescriptions DataDefinitionFile 
  - creates data definition and data files for a model that is obtained by distortion 
  of the specified original model.Parameters:
    WorkingDirectory - working directory where the original model is found.
    DistortedModelDirectory - directory where distorted model is stored.
    NumDataPoints - number of data points in the sampled data generated by the original model.
    ChangeElementNames - optional; whether data element names are changed.
    ChangeTitlesAndDescriptions - optional; whether element titles and descriptions are changed.
    DataDefinitionFile - optinal; data definition file for distorted model. If specified then new parameter 
        bounds and other data (names, titles, descriptions, etc.) are taken from here.
    DistortionFactor - optional, default 2.5 - factor by which bounds are multiplied.
    RandomFactor - ouptional, default 0.25 - mahnitude of additional random shiht of bounds 
        (relative to distorted interval length).
"

Number of runs of simulator in each parallel thread.

Number of jobs that can be executed in parallel.

Specifies how often the results are saved.

Minimal delay between two successive launches of simulator processes, in milliseconds. This delay is introduced in order to prevent unusual errors that occur when running two simulator processes at approcimately the same time (although they use completely separate data directory structures).

If different than null, this static property provides alternative location of the file which neural network approximator is resd from, in terms of path relative to optimization directory.


Property Documentation

abstract int IG::Script::LoadableScriptShellNeuralITOriginalBase::NumOptimizationParameters [get, set]

Number of optimization parameters.

Reimplemented in IG::Script::LoadableScriptShellNeuralITOriginal.

abstract int IG::Script::LoadableScriptShellNeuralITOriginalBase::NumOptimizationConstraints [get, set]

Number of optimization constraints.

Reimplemented in IG::Script::LoadableScriptShellNeuralITOriginal.

virtual InputOutputDataDefiniton IG::Script::LoadableScriptShellNeuralITOriginalBase::SimulationDataDefinition [get]

Simulation data definition (input and output used by simulator).

virtual int IG::Script::LoadableScriptShellNeuralITOriginalBase::NumSimulationParameters [get, set]

Number of simulation input parameters.

virtual int IG::Script::LoadableScriptShellNeuralITOriginalBase::NumSimulationOutputs [get, set]

Number of simulation output values.

virtual IBoundingBox IG::Script::LoadableScriptShellNeuralITOriginalBase::SimulationInputBounds [get, set]

Bounds on simulation input parameters.

string IG::Script::LoadableScriptShellNeuralITOriginalBase::ParallelResultsFileExtension [get, set]
virtual NeuraApproximationFileManager IG::Script::LoadableScriptShellNeuralITOriginalBase::NeuralFM [get]

File manager that provides access to trained neural network and related data.

virtual INeuralApproximator IG::Script::LoadableScriptShellNeuralITOriginalBase::TrainedNetwork [get, set]

Trained neural network.

Implements IG::Neural::INeuralModel.

virtual List<IVector> IG::Script::LoadableScriptShellNeuralITOriginalBase::SensitivityVerificationResults [get, set]
virtual List<IVector> IG::Script::LoadableScriptShellNeuralITOriginalBase::SensitivityTrainingResults [get, set]
virtual INeuralApproximator IG::Script::LoadableScriptShellNeuralITOriginalBase::XXX_TrainedNetwork [get, set]

Trained neural network.

virtual InputOutputDataDefiniton IG::Script::LoadableScriptShellNeuralITOriginalBase::NeuralDataDefinition [get, set]

Neural data definition.

Implements IG::Neural::INeuralModel.

virtual SampledDataSet IG::Script::LoadableScriptShellNeuralITOriginalBase::TrainingData [get, set]
virtual SampledDataSet IG::Script::LoadableScriptShellNeuralITOriginalBase::VerificationData [get, set]
virtual int IG::Script::LoadableScriptShellNeuralITOriginalBase::NumNeuralParameters [get, set]

Number of neural network input parameters.

virtual int IG::Script::LoadableScriptShellNeuralITOriginalBase::NumNeuralOutputs [get, set]

Number of neural network output values.

virtual IBoundingBox IG::Script::LoadableScriptShellNeuralITOriginalBase::NeuralInputBounds [get, set]

Bounds on neural input parameters.

virtual SampledDataSet IG::Script::LoadableScriptShellNeuralITOriginalBase::NeuralTrainingData [get]

Gets the training data.

virtual int IG::Script::LoadableScriptShellNeuralITOriginalBase::NumAllTrainingPoints [get]

Gets number of all training points, including verification points.

virtual IVector IG::Script::LoadableScriptShellNeuralITOriginalBase::SomeNeuralInput [get]

Returns some vector of input parameters that is within the range. This methods just reads and returns the current vector of input parameter from the directory for the first time, and then returns the same vector every time.

virtual IVector IG::Script::LoadableScriptShellNeuralITOriginalBase::NeuralInputFromFile [get]

Vector of input parameters read form the file.


The documentation for this class was generated from the following file:
 All Classes Namespaces Files Functions Variables Enumerations Properties