diff --git a/.classpath b/.classpath index ba072e30..b8471dc7 100644 --- a/.classpath +++ b/.classpath @@ -2,24 +2,25 @@ + - - + + + + - - - - - - + + + + diff --git a/build.gradle b/build.gradle index 76614cdf..c064c0c2 100644 --- a/build.gradle +++ b/build.gradle @@ -4,7 +4,7 @@ apply plugin: 'eclipse' apply plugin: 'signing' group = 'org.numenta' -version = '0.6.9-SNAPSHOT' +version = '0.6.10-SNAPSHOT' archivesBaseName = 'htm.java' sourceCompatibility = 1.8 @@ -12,7 +12,7 @@ targetCompatibility = 1.8 jar { manifest { - attributes 'Implementation-Title': 'htm.java', 'Implementation-Version': '0.6.9-SNAPSHOT' + attributes 'Implementation-Title': 'htm.java', 'Implementation-Version': '0.6.10-SNAPSHOT' } } @@ -33,10 +33,11 @@ test { } // UNCOMMENT TO SEE STANDARD_OUT & STANDARD_ERR DURING BUILD - +/* test { testLogging.showStandardStreams = true } +*/ dependencies { compile group: 'joda-time', name: 'joda-time', version: '2.5' @@ -52,11 +53,11 @@ dependencies { compile group: 'com.fasterxml.jackson.core', name: 'jackson-core', version:'2.4.4' compile group: 'com.fasterxml.jackson.core', name: 'jackson-databind', version:'2.4.4' compile group: 'org.slf4j', name: 'slf4j-api', version:'1.7.10' - compile group: 'io.reactivex', name: 'rxjava', version: '1.0.10' - compile group: 'de.ruedigermoeller', name: 'fst', version: '2.45' - compile group: 'com.cedarsoftware', name: 'java-util', version: '1.19.3' - compile group: 'algorithmfoundry', name: 'algorithmfoundry-shade-culled', version:'1.3' - testCompile group: 'junit', name: 'junit', version:'4.11' + compile group: 'io.reactivex', name: 'rxjava', version: '1.0.10' + compile group: 'de.ruedigermoeller', name: 'fst', version: '2.45' + compile group: 'com.cedarsoftware', name: 'java-util', version: '1.19.3' + compile group: 'algorithmfoundry', name: 'algorithmfoundry-shade-culled', version:'1.3' + testCompile group: 'junit', name: 'junit', version:'4.11' testCompile group: 'ch.qos.logback', name: 'logback-classic', version:'1.1.2' } diff --git a/pom.xml b/pom.xml index fa30e452..a6f4e625 100644 --- a/pom.xml +++ b/pom.xml @@ -4,7 +4,7 @@ org.numenta htm.java - 0.6.9-SNAPSHOT + 0.6.10-SNAPSHOT htm.java The Java version of Numenta's HTM technology diff --git a/src/main/java/org/numenta/nupic/Connections.java b/src/main/java/org/numenta/nupic/Connections.java index 91bd06d4..1125ff1a 100644 --- a/src/main/java/org/numenta/nupic/Connections.java +++ b/src/main/java/org/numenta/nupic/Connections.java @@ -2229,39 +2229,7 @@ public double[] getPAOverlaps() { * High verbose output useful for debugging */ public void printParameters() { - System.out.println("------------ SpatialPooler Parameters ------------------"); - System.out.println("numInputs = " + getNumInputs()); - System.out.println("numColumns = " + getNumColumns()); - System.out.println("cellsPerColumn = " + getCellsPerColumn()); - System.out.println("columnDimensions = " + Arrays.toString(getColumnDimensions())); - System.out.println("numActiveColumnsPerInhArea = " + getNumActiveColumnsPerInhArea()); - System.out.println("potentialPct = " + getPotentialPct()); - System.out.println("potentialRadius = " + getPotentialRadius()); - System.out.println("globalInhibition = " + getGlobalInhibition()); - System.out.println("localAreaDensity = " + getLocalAreaDensity()); - System.out.println("inhibitionRadius = " + getInhibitionRadius()); - System.out.println("stimulusThreshold = " + getStimulusThreshold()); - System.out.println("synPermActiveInc = " + getSynPermActiveInc()); - System.out.println("synPermInactiveDec = " + getSynPermInactiveDec()); - System.out.println("synPermConnected = " + getSynPermConnected()); - System.out.println("minPctOverlapDutyCycle = " + getMinPctOverlapDutyCycles()); - System.out.println("minPctActiveDutyCycle = " + getMinPctActiveDutyCycles()); - System.out.println("dutyCyclePeriod = " + getDutyCyclePeriod()); - System.out.println("maxBoost = " + getMaxBoost()); - System.out.println("version = " + getVersion()); - - System.out.println("\n------------ TemporalMemory Parameters ------------------"); - System.out.println("activationThreshold = " + getActivationThreshold()); - System.out.println("learningRadius = " + getLearningRadius()); - System.out.println("minThreshold = " + getMinThreshold()); - System.out.println("maxNewSynapseCount = " + getMaxNewSynapseCount()); - System.out.println("maxSynapsesPerSegment = " + getMaxSynapsesPerSegment()); - System.out.println("maxSegmentsPerCell = " + getMaxSegmentsPerCell()); - System.out.println("initialPermanence = " + getInitialPermanence()); - System.out.println("connectedPermanence = " + getConnectedPermanence()); - System.out.println("permanenceIncrement = " + getPermanenceIncrement()); - System.out.println("permanenceDecrement = " + getPermanenceDecrement()); - System.out.println("predictedSegmentDecrement = " + getPredictedSegmentDecrement()); + System.out.println(getPrintString()); } /** @@ -2275,7 +2243,6 @@ public String getPrintString() { pw.println("columnDimensions = " + Arrays.toString(getColumnDimensions())); pw.println("inputDimensions = " + Arrays.toString(getInputDimensions())); pw.println("cellsPerColumn = " + getCellsPerColumn()); - pw.println("random = " + getRandom()); pw.println("seed = " + getSeed()); @@ -2294,8 +2261,8 @@ public String getPrintString() { pw.println("synPermConnected = " + getSynPermConnected()); pw.println("synPermBelowStimulusInc = " + getSynPermBelowStimulusInc()); pw.println("synPermTrimThreshold = " + getSynPermTrimThreshold()); - pw.println("minPctOverlapDutyCycles = " + getMinPctOverlapDutyCycles()); - pw.println("minPctActiveDutyCycles = " + getMinPctActiveDutyCycles()); + pw.println("minPctOverlapDutyCycles = " + getMinPctOverlapDutyCycles()); + pw.println("minPctActiveDutyCycles = " + getMinPctActiveDutyCycles()); pw.println("dutyCyclePeriod = " + getDutyCyclePeriod()); pw.println("maxBoost = " + getMaxBoost()); pw.println("version = " + getVersion()); diff --git a/src/main/java/org/numenta/nupic/Constants.java b/src/main/java/org/numenta/nupic/Constants.java new file mode 100644 index 00000000..aadc46ea --- /dev/null +++ b/src/main/java/org/numenta/nupic/Constants.java @@ -0,0 +1,16 @@ +package org.numenta.nupic; + + +public class Constants { + public static final String ADAPTIVE = "adaptive"; + + public enum KNN { + ADAPTIVE("adaptive"); + + private String description; + private KNN(String desc) { this.description = desc; } + /** {@inheritDoc} */ + public String toString() { return description; } + } + +} diff --git a/src/main/java/org/numenta/nupic/DistanceMethod.java b/src/main/java/org/numenta/nupic/DistanceMethod.java new file mode 100644 index 00000000..aea4fdca --- /dev/null +++ b/src/main/java/org/numenta/nupic/DistanceMethod.java @@ -0,0 +1,58 @@ +package org.numenta.nupic; + +/** + *

+ * The method used to compute distance between input patterns and prototype patterns. + *

+ * The possible options are: + *