//License: See LICENSE.txt for copy of source license (AGPLv3) //Copyright: Author: Richard Bruce Baxter Copyright (c) 2005-2016 Baxter AI (baxterai.com) //Release Notes: Ensure ANNrules.xml and all input files are formatted for your operating system, e.g. Linux: dos2unix ANNrules.xml Windows: toDos.exe ANNrules.xml (http://www.textpad.com/add-ons/files/utilities/convert.zip) //OpenANN Change Record: Release-30July2012: OpenANN 29-July-2012 - first public release OpenANN 28-September-2012a - source comments clean up / OpenCS compatibility updates OpenANN 11-October-2012a - upgrade all svg code to use XMLParserClass OpenANN 18-November-2012a - manually decapitalise first letter of each word in function before abbreviations (ie double capitalisation) OpenANN 13-April-2014a - use C++ vectors to store neuron connections rather than NeuronContainer/NeuronConnectionContainer class OpenANN 14-April-2014a - initialise all variables in NeuronClass OpenANN 14-April-2014a - use outputNeuralNetworkToVectorGraphicsAndRaytrace() in outputNetworkAsVectorGraphics() OpenANN 14-April-2014b - Windows Compatibility - initialise all variables in NeuronConnectionClass OpenANN 03-September-2014a - Windows Compatibility - ANNsprite.cpp/LRRCsprite.cpp; Windows cannot initialise dynamic arrays on stack - change all references to "int spriteColourArray[spriteNumberOfLines]" to "int spriteColourArray[SPRITE_TEXTUAL_MAX_NUM_OF_LINES]" OpenANN 27-July-2015a - no changes ... OpenANN 28-April-2016a - rename ANN_ADVANCED to ANN_SUBNETS OpenANN 28-April-2016a - ANN_ALGORITHM_SEPARATE_CLASSIFICATION_AND_MEMORY_NETWORKS: [Commercial] OpenANN 28-April-2016a - rename ANNupdateAlgorithm.cpp/.h to ANNupdateAlgorithmBackpropagation.cpp/.h OpenANN 28-April-2016a - ANN_ALGORITHM_SEPARATE_CLASSIFICATION_AND_MEMORY_NETWORKS: [Commercial] OpenANN 28-April-2016a - ANN_ALGORITHM_SEPARATE_CLASSIFICATION_AND_MEMORY_NETWORKS: [Commercial] OpenANN 02-May-2016a - ANN_ALGORITHM_CLASSIFICATION_NETWORK: [Commercial] OpenANN 02-May-2016a - ANN_ALGORITHM_CLASSIFICATION_NETWORK: Maintain an ordered list of neurons (based on their usage), and use this to conduct pruning OpenANN 02-May-2016a - ANN_ALGORITHM_CLASSIFICATION_NETWORK: [Commercial] OpenANN 02-May-2016a - ANN_ALGORITHM_CLASSIFICATION_NETWORK: [Commercial] OpenANN 02-May-2016a - ANN_ALGORITHM_CLASSIFICATION_NETWORK: [Commercial] OpenANN 02-May-2016a - ANN_ALGORITHM_CLASSIFICATION_NETWORK: [Commercial] OpenANN 02-May-2016a - ANN_ALGORITHM_CLASSIFICATION_NETWORK: [Commercial] OpenANN 02-May-2016a - ANN_ALGORITHM_CLASSIFICATION_NETWORK: [Commercial] OpenANN 02-May-2016a - ANN_ALGORITHM_CLASSIFICATION_NETWORK: [Commercial] OpenANN 02-May-2016a - ANN_ALGORITHM_CLASSIFICATION_NETWORK: [Commercial] OpenANN 02-May-2016a - ANN_ALGORITHM_CLASSIFICATION_NETWORK: [Commercial] OpenANN 02-May-2016a - remove old CPLUSPLUSERRORCORRECTION3 OpenANN 02-May-2016a - ANN_ALGORITHM_CLASSIFICATION_NETWORK: [Commercial] OpenANN 02-May-2016a - ANN_ALGORITHM_CLASSIFICATION_NETWORK: [Commercial] OpenANN 02-May-2016a - ANN_ALGORITHM_CLASSIFICATION_NETWORK: [Commercial] OpenANN 02-May-2016a - ANN_ALGORITHM_CLASSIFICATION_NETWORK: [Commercial] OpenANN 02-May-2016a - ANN_ALGORITHM_CLASSIFICATION_NETWORK: [Commercial] OpenANN 02-May-2016a - ANN_ALGORITHM_CLASSIFICATION_NETWORK: [Commercial] OpenANN 02-May-2016a - ANN_ALGORITHM_CLASSIFICATION_NETWORK: [Commercial] OpenANN 02-May-2016a - ANN_ALGORITHM_CLASSIFICATION_NETWORK: [Commercial] OpenANN 02-May-2016a - ANN_ALGORITHM_CLASSIFICATION_NETWORK: [Commercial] OpenANN 02-May-2016a - ANN_ALGORITHM_CLASSIFICATION_NETWORK: [Commercial] OpenANN 02-May-2016a - ANN_ALGORITHM_CLASSIFICATION_NETWORK: [Commercial] OpenANN 02-May-2016a - ANN_ALGORITHM_CLASSIFICATION_NETWORK: [Commercial] OpenANN 02-May-2016a - ANN_ALGORITHM_CLASSIFICATION_NETWORK: [Commercial] OpenANN 02-May-2016a - ANN_ALGORITHM_CLASSIFICATION_NETWORK: [Commercial] OpenANN 02-May-2016a - ANN_ALGORITHM_CLASSIFICATION_NETWORK: [Commercial] OpenANN 02-May-2016a - ANN_ALGORITHM_CLASSIFICATION_NETWORK: [Commercial] OpenANN 02-May-2016a - ANN_ALGORITHM_CLASSIFICATION_NETWORK: [Commercial] OpenANN 02-May-2016a - ANN_ALGORITHM_CLASSIFICATION_NETWORK: [Commercial] OpenANN 02-May-2016a - [disabled] implement ANN_DEBUG_DO_NOT_RANDOMISE_INPUT_DATA OpenANN 02-May-2016a - ANN_ALGORITHM_CLASSIFICATION_NETWORK: [Commercial] OpenANN 02-May-2016a - rename inputNeuronMatchTemp to backNeuronMatchTemp OpenANN 02-May-2016a - ANN_ALGORITHM_CLASSIFICATION_NETWORK: [Commercial] OpenANN 02-May-2016a - ANN_ALGORITHM_CLASSIFICATION_NETWORK: [Commercial] OpenANN 02-May-2016a - ANN_ALGORITHM_CLASSIFICATION_NETWORK: [Commercial] OpenANN 02-May-2016a - ANN_ALGORITHM_CLASSIFICATION_NETWORK: [Commercial] OpenANN 02-May-2016a - ANN_ALGORITHM_CLASSIFICATION_NETWORK: [Commercial] OpenANN 02-May-2016a - ANN_ALGORITHM_CLASSIFICATION_NETWORK: [Commercial] OpenANN 02-May-2016a - ANN_ALGORITHM_CLASSIFICATION_NETWORK: [Commercial] OpenANN 02-May-2016a - ANN_ALGORITHM_CLASSIFICATION_NETWORK: [Commercial] OpenANN 02-May-2016a - ANN_ALGORITHM_CLASSIFICATION_NETWORK: [Commercial] OpenANN 02-May-2016a - ANN_ALGORITHM_CLASSIFICATION_NETWORK: [Commercial] OpenANN 02-May-2016a - ANN_ALGORITHM_CLASSIFICATION_NETWORK: [Commercial] OpenANN 02-May-2016a - ANN_ALGORITHM_CLASSIFICATION_NETWORK: [Commercial] OpenANN 02-May-2016a - ANN_ALGORITHM_CLASSIFICATION_NETWORK: [Commercial] OpenANN 02-May-2016a - ANN_ALGORITHM_CLASSIFICATION_NETWORK: [Commercial] OpenANN 02-May-2016a - ANN_ALGORITHM_CLASSIFICATION_NETWORK: [Commercial] OpenANN 02-May-2016a - ANN_ALGORITHM_CLASSIFICATION_NETWORK: [Commercial] OpenANN 02-May-2016a - ANN_ALGORITHM_CLASSIFICATION_NETWORK: [Commercial] OpenANN 02-May-2016a - ANN_ALGORITHM_CLASSIFICATION_NETWORK: [Commercial] OpenANN 02-May-2016a - ANN_ALGORITHM_CLASSIFICATION_NETWORK: [Commercial] OpenANN 02-May-2016a - ANN_ALGORITHM_CLASSIFICATION_NETWORK: [Commercial] OpenANN 02-May-2016a - ANN_ALGORITHM_CLASSIFICATION_NETWORK: [Commercial] OpenANN 02-May-2016a - ANN_ALGORITHM_CLASSIFICATION_NETWORK: [Commercial] OpenANN 06-June-2016a - ANN_ALGORITHM_CLASSIFICATION_NETWORK: [Commercial] OpenANN 06-June-2016a - update ANNmain - change position of parseANNrulesXMLfile/fillInANNSpriteExternVariables OpenANN 06-June-2016a - update ANNmain - change position of mainUI execution OpenANN 06-June-2016a - ANN_ALGORITHM_CLASSIFICATION_NETWORK: [Commercial] OpenANN 06-June-2016a - (updated 3i7b) update ANNsprite - fix writeSpriteTextToSVG svg output: print the last line of text without a trailing end of line character OpenANN 06-June-2016a - fix mass replace bug; rename SPRITE_TEXTUAL_INCLUDE_ANNneuronConnection_WEIGHT* back to SPRITE_TEXTUAL_INCLUDE_NEURONCONNECTION_WEIGHT_INFO/SPRITE_TEXTUAL_INCLUDE_NEURONCONNECTION_WEIGHT_COLOUR_NAME/SPRITE_TEXTUAL_INCLUDE_NEURONCONNECTION_WEIGHT_INFO_NAME/SPRITE_TEXTUAL_INCLUDE_NEURONCONNECTION_INFO OpenANN 06-June-2016a - update ANNsprite - extract writeSpriteTextToSVG from ANNdetermineSpriteInfoForNeuronAndAddSpriteToSpriteRefList, and execute from ANNdetermineSpriteInfoForNeuronAndAddSpriteToSpriteRefList/ANNdetermineSpriteInfoForANNneuronConnectionAndAddSpriteToSpriteRefList OpenANN 06-June-2016a - rename currentTag to currentSVGTag OpenANN 06-June-2016a - remove with/without sprites option; default to whichever has been configured (sprites or no sprites); remove option oldr2 OpenANN 06-June-2016a - ANN_ALGORITHM_CLASSIFICATION_NETWORK: [Commercial] OpenANN 06-June-2016a - update ANNsearchNeuralNetworkAndCreateReferences:ANNfillNeuronDisplayReference(); do not writeSVG for back layer neurons (as this will duplicate them) OpenANN 07-June-2016a - rename ANNsprite.cpp/.h to ANNdraw.cpp/.h OpenANN 07-June-2016a - (fix 3i4a implementation) fix writeSpriteTextToSVG svg output: print the last line of text without a trailing end of line character OpenANN 07-June-2016a - ANN_ALGORITHM_CLASSIFICATION_NETWORK: [Commercial] OpenANN 07-June-2016a - ANN_ALGORITHM_CLASSIFICATION_NETWORK: [Commercial] OpenANN 07-June-2016a - update outputNeuralNetworkToVectorGraphicsAndRaytrace to support useOutputSVGFile without useOutputLDRFile, rename printOutput to drawOutput, rename to displayInOpenGLandOutputScreenshot/display to displayInOpenGL OpenANN 07-June-2016a - ANN_ALGORITHM_CLASSIFICATION_NETWORK: [Commercial] OpenANN 07-June-2016a - ANN_ALGORITHM_CLASSIFICATION_NETWORK: [Commercial] OpenANN 07-June-2016a - ANN_ALGORITHM_CLASSIFICATION_NETWORK: [Commercial] OpenANN 07-June-2016a - ANN_ALGORITHM_CLASSIFICATION_NETWORK: [Commercial] OpenANN 09-June-2016a - ANN_ALGORITHM_CLASSIFICATION_NETWORK: [Commercial] OpenANN 09-June-2016a - ANN_ALGORITHM_CLASSIFICATION_NETWORK: [Commercial] OpenANN 09-June-2016a - ANN_ALGORITHM_CLASSIFICATION_NETWORK: [Commercial] OpenANN 10-June-2016a - ANN_ALGORITHM_CLASSIFICATION_NETWORK: [Commercial] OpenANN 10-June-2016a - ANN_ALGORITHM_CLASSIFICATION_NETWORK: [Commercial] OpenANN 14-June-2016a - ANN_ALGORITHM_CLASSIFICATION_NETWORK: [Commercial] OpenANN 14-June-2016a - ANN_ALGORITHM_CLASSIFICATION_NETWORK: [Commercial] OpenANN 16-June-2016a - ANN_ALGORITHM_CLASSIFICATION_NETWORK: [Commercial] OpenANN 16-June-2016a - move MU to ANNglobalDefs.h OpenANN 20-September-2016a - CS compatibility updates OpenANN 20-September-2016a - ANN_ALGORITHM_CLASSIFICATION_NETWORK: [Commercial] OpenANN 21-September-2016a - CS compatibility updates, remove redundant ANNdraw code //OpenRT Change Record: Release-30July2012: OpenRT 29-July-2012 - first public release OpenRT 28-September-2012a - source comments clean up / OpenCS compatibility updates OpenRT 18-November-2012a - manually decapitalise first letter of each word in function before abbreviations (ie double capitalisation) OpenRT 27-July-2015a - no changes ...