diff --git a/build.sbt b/build.sbt index 870f174..f92a6be 100644 --- a/build.sbt +++ b/build.sbt @@ -1,4 +1,5 @@ -name := "org.xcit.nback.markov" +name := "nback.markov" +organization := "org.xcit" version := "0.1" diff --git a/build.sbt b/build.sbt index 870f174..f92a6be 100644 --- a/build.sbt +++ b/build.sbt @@ -1,4 +1,5 @@ -name := "org.xcit.nback.markov" +name := "nback.markov" +organization := "org.xcit" version := "0.1" diff --git a/src/main/scala/org/xcit/nback/markov/Main.scala b/src/main/scala/org/xcit/nback/markov/Main.scala index 5cbed26..fdcb58b 100644 --- a/src/main/scala/org/xcit/nback/markov/Main.scala +++ b/src/main/scala/org/xcit/nback/markov/Main.scala @@ -1,5 +1,8 @@ package org.xcit.nback.markov +/** + * Default application runner to run some benchmarks and demos. Use `sbt test` for the actual bechmarks. + */ class Main extends App { //TODO create a MarkovChain object or use the singleton //TODO train to set transitions diff --git a/build.sbt b/build.sbt index 870f174..f92a6be 100644 --- a/build.sbt +++ b/build.sbt @@ -1,4 +1,5 @@ -name := "org.xcit.nback.markov" +name := "nback.markov" +organization := "org.xcit" version := "0.1" diff --git a/src/main/scala/org/xcit/nback/markov/Main.scala b/src/main/scala/org/xcit/nback/markov/Main.scala index 5cbed26..fdcb58b 100644 --- a/src/main/scala/org/xcit/nback/markov/Main.scala +++ b/src/main/scala/org/xcit/nback/markov/Main.scala @@ -1,5 +1,8 @@ package org.xcit.nback.markov +/** + * Default application runner to run some benchmarks and demos. Use `sbt test` for the actual bechmarks. + */ class Main extends App { //TODO create a MarkovChain object or use the singleton //TODO train to set transitions diff --git a/src/main/scala/org/xcit/nback/markov/models/MarkovChain.scala b/src/main/scala/org/xcit/nback/markov/models/MarkovChain.scala index 07c4752..5296968 100644 --- a/src/main/scala/org/xcit/nback/markov/models/MarkovChain.scala +++ b/src/main/scala/org/xcit/nback/markov/models/MarkovChain.scala @@ -5,6 +5,10 @@ object MarkovChain extends MarkovChain() { } +/** + * Represents a simple markov chain + * TODO: must be extended to HMM + */ class MarkovChain() { val states: mutable.MutableList[State] = mutable.MutableList[State]() diff --git a/build.sbt b/build.sbt index 870f174..f92a6be 100644 --- a/build.sbt +++ b/build.sbt @@ -1,4 +1,5 @@ -name := "org.xcit.nback.markov" +name := "nback.markov" +organization := "org.xcit" version := "0.1" diff --git a/src/main/scala/org/xcit/nback/markov/Main.scala b/src/main/scala/org/xcit/nback/markov/Main.scala index 5cbed26..fdcb58b 100644 --- a/src/main/scala/org/xcit/nback/markov/Main.scala +++ b/src/main/scala/org/xcit/nback/markov/Main.scala @@ -1,5 +1,8 @@ package org.xcit.nback.markov +/** + * Default application runner to run some benchmarks and demos. Use `sbt test` for the actual bechmarks. + */ class Main extends App { //TODO create a MarkovChain object or use the singleton //TODO train to set transitions diff --git a/src/main/scala/org/xcit/nback/markov/models/MarkovChain.scala b/src/main/scala/org/xcit/nback/markov/models/MarkovChain.scala index 07c4752..5296968 100644 --- a/src/main/scala/org/xcit/nback/markov/models/MarkovChain.scala +++ b/src/main/scala/org/xcit/nback/markov/models/MarkovChain.scala @@ -5,6 +5,10 @@ object MarkovChain extends MarkovChain() { } +/** + * Represents a simple markov chain + * TODO: must be extended to HMM + */ class MarkovChain() { val states: mutable.MutableList[State] = mutable.MutableList[State]() diff --git a/src/main/scala/org/xcit/nback/markov/models/SequenceGenerator.scala b/src/main/scala/org/xcit/nback/markov/models/SequenceGenerator.scala index 9bb098b..fbe5503 100644 --- a/src/main/scala/org/xcit/nback/markov/models/SequenceGenerator.scala +++ b/src/main/scala/org/xcit/nback/markov/models/SequenceGenerator.scala @@ -2,6 +2,11 @@ import scala.util.Random +/** + * Generic n-back class to generate a sequence of n-back items with HMM. + * @param length length of n-back sequence (number of items) + * @param offline if it should generate the whole sequence at once of use MDP to consider rewards with reinforcement learning methods + */ class SequenceGenerator( length: Int, // sequence length offline: Boolean = true diff --git a/build.sbt b/build.sbt index 870f174..f92a6be 100644 --- a/build.sbt +++ b/build.sbt @@ -1,4 +1,5 @@ -name := "org.xcit.nback.markov" +name := "nback.markov" +organization := "org.xcit" version := "0.1" diff --git a/src/main/scala/org/xcit/nback/markov/Main.scala b/src/main/scala/org/xcit/nback/markov/Main.scala index 5cbed26..fdcb58b 100644 --- a/src/main/scala/org/xcit/nback/markov/Main.scala +++ b/src/main/scala/org/xcit/nback/markov/Main.scala @@ -1,5 +1,8 @@ package org.xcit.nback.markov +/** + * Default application runner to run some benchmarks and demos. Use `sbt test` for the actual bechmarks. + */ class Main extends App { //TODO create a MarkovChain object or use the singleton //TODO train to set transitions diff --git a/src/main/scala/org/xcit/nback/markov/models/MarkovChain.scala b/src/main/scala/org/xcit/nback/markov/models/MarkovChain.scala index 07c4752..5296968 100644 --- a/src/main/scala/org/xcit/nback/markov/models/MarkovChain.scala +++ b/src/main/scala/org/xcit/nback/markov/models/MarkovChain.scala @@ -5,6 +5,10 @@ object MarkovChain extends MarkovChain() { } +/** + * Represents a simple markov chain + * TODO: must be extended to HMM + */ class MarkovChain() { val states: mutable.MutableList[State] = mutable.MutableList[State]() diff --git a/src/main/scala/org/xcit/nback/markov/models/SequenceGenerator.scala b/src/main/scala/org/xcit/nback/markov/models/SequenceGenerator.scala index 9bb098b..fbe5503 100644 --- a/src/main/scala/org/xcit/nback/markov/models/SequenceGenerator.scala +++ b/src/main/scala/org/xcit/nback/markov/models/SequenceGenerator.scala @@ -2,6 +2,11 @@ import scala.util.Random +/** + * Generic n-back class to generate a sequence of n-back items with HMM. + * @param length length of n-back sequence (number of items) + * @param offline if it should generate the whole sequence at once of use MDP to consider rewards with reinforcement learning methods + */ class SequenceGenerator( length: Int, // sequence length offline: Boolean = true diff --git a/src/main/scala/org/xcit/nback/markov/models/State.scala b/src/main/scala/org/xcit/nback/markov/models/State.scala index a705600..7a0bfba 100644 --- a/src/main/scala/org/xcit/nback/markov/models/State.scala +++ b/src/main/scala/org/xcit/nback/markov/models/State.scala @@ -2,6 +2,10 @@ import scala.collection.mutable +/** + * A Single state with a label in Markov chain + * @param lbl + */ class State(lbl: String) { val transitions: mutable.HashMap[State, Transition] = mutable.HashMap[State, Transition]() diff --git a/build.sbt b/build.sbt index 870f174..f92a6be 100644 --- a/build.sbt +++ b/build.sbt @@ -1,4 +1,5 @@ -name := "org.xcit.nback.markov" +name := "nback.markov" +organization := "org.xcit" version := "0.1" diff --git a/src/main/scala/org/xcit/nback/markov/Main.scala b/src/main/scala/org/xcit/nback/markov/Main.scala index 5cbed26..fdcb58b 100644 --- a/src/main/scala/org/xcit/nback/markov/Main.scala +++ b/src/main/scala/org/xcit/nback/markov/Main.scala @@ -1,5 +1,8 @@ package org.xcit.nback.markov +/** + * Default application runner to run some benchmarks and demos. Use `sbt test` for the actual bechmarks. + */ class Main extends App { //TODO create a MarkovChain object or use the singleton //TODO train to set transitions diff --git a/src/main/scala/org/xcit/nback/markov/models/MarkovChain.scala b/src/main/scala/org/xcit/nback/markov/models/MarkovChain.scala index 07c4752..5296968 100644 --- a/src/main/scala/org/xcit/nback/markov/models/MarkovChain.scala +++ b/src/main/scala/org/xcit/nback/markov/models/MarkovChain.scala @@ -5,6 +5,10 @@ object MarkovChain extends MarkovChain() { } +/** + * Represents a simple markov chain + * TODO: must be extended to HMM + */ class MarkovChain() { val states: mutable.MutableList[State] = mutable.MutableList[State]() diff --git a/src/main/scala/org/xcit/nback/markov/models/SequenceGenerator.scala b/src/main/scala/org/xcit/nback/markov/models/SequenceGenerator.scala index 9bb098b..fbe5503 100644 --- a/src/main/scala/org/xcit/nback/markov/models/SequenceGenerator.scala +++ b/src/main/scala/org/xcit/nback/markov/models/SequenceGenerator.scala @@ -2,6 +2,11 @@ import scala.util.Random +/** + * Generic n-back class to generate a sequence of n-back items with HMM. + * @param length length of n-back sequence (number of items) + * @param offline if it should generate the whole sequence at once of use MDP to consider rewards with reinforcement learning methods + */ class SequenceGenerator( length: Int, // sequence length offline: Boolean = true diff --git a/src/main/scala/org/xcit/nback/markov/models/State.scala b/src/main/scala/org/xcit/nback/markov/models/State.scala index a705600..7a0bfba 100644 --- a/src/main/scala/org/xcit/nback/markov/models/State.scala +++ b/src/main/scala/org/xcit/nback/markov/models/State.scala @@ -2,6 +2,10 @@ import scala.collection.mutable +/** + * A Single state with a label in Markov chain + * @param lbl + */ class State(lbl: String) { val transitions: mutable.HashMap[State, Transition] = mutable.HashMap[State, Transition]() diff --git a/src/main/scala/org/xcit/nback/markov/models/Transition.scala b/src/main/scala/org/xcit/nback/markov/models/Transition.scala index 82a28d7..1e4692f 100644 --- a/src/main/scala/org/xcit/nback/markov/models/Transition.scala +++ b/src/main/scala/org/xcit/nback/markov/models/Transition.scala @@ -1,6 +1,11 @@ package org.xcit.nback.markov.models -//TODO change to case class? +/** + * A Single transition in Markov chain graph. + * @param from The starting vertex + * @param to the ending node of the edge + * @param probability the probability of this transition from starting node to the ending node (0.0 <= p <= 1.0). + */ class Transition(from: State, to: State, probability: Double = 0.0) { } diff --git a/build.sbt b/build.sbt index 870f174..f92a6be 100644 --- a/build.sbt +++ b/build.sbt @@ -1,4 +1,5 @@ -name := "org.xcit.nback.markov" +name := "nback.markov" +organization := "org.xcit" version := "0.1" diff --git a/src/main/scala/org/xcit/nback/markov/Main.scala b/src/main/scala/org/xcit/nback/markov/Main.scala index 5cbed26..fdcb58b 100644 --- a/src/main/scala/org/xcit/nback/markov/Main.scala +++ b/src/main/scala/org/xcit/nback/markov/Main.scala @@ -1,5 +1,8 @@ package org.xcit.nback.markov +/** + * Default application runner to run some benchmarks and demos. Use `sbt test` for the actual bechmarks. + */ class Main extends App { //TODO create a MarkovChain object or use the singleton //TODO train to set transitions diff --git a/src/main/scala/org/xcit/nback/markov/models/MarkovChain.scala b/src/main/scala/org/xcit/nback/markov/models/MarkovChain.scala index 07c4752..5296968 100644 --- a/src/main/scala/org/xcit/nback/markov/models/MarkovChain.scala +++ b/src/main/scala/org/xcit/nback/markov/models/MarkovChain.scala @@ -5,6 +5,10 @@ object MarkovChain extends MarkovChain() { } +/** + * Represents a simple markov chain + * TODO: must be extended to HMM + */ class MarkovChain() { val states: mutable.MutableList[State] = mutable.MutableList[State]() diff --git a/src/main/scala/org/xcit/nback/markov/models/SequenceGenerator.scala b/src/main/scala/org/xcit/nback/markov/models/SequenceGenerator.scala index 9bb098b..fbe5503 100644 --- a/src/main/scala/org/xcit/nback/markov/models/SequenceGenerator.scala +++ b/src/main/scala/org/xcit/nback/markov/models/SequenceGenerator.scala @@ -2,6 +2,11 @@ import scala.util.Random +/** + * Generic n-back class to generate a sequence of n-back items with HMM. + * @param length length of n-back sequence (number of items) + * @param offline if it should generate the whole sequence at once of use MDP to consider rewards with reinforcement learning methods + */ class SequenceGenerator( length: Int, // sequence length offline: Boolean = true diff --git a/src/main/scala/org/xcit/nback/markov/models/State.scala b/src/main/scala/org/xcit/nback/markov/models/State.scala index a705600..7a0bfba 100644 --- a/src/main/scala/org/xcit/nback/markov/models/State.scala +++ b/src/main/scala/org/xcit/nback/markov/models/State.scala @@ -2,6 +2,10 @@ import scala.collection.mutable +/** + * A Single state with a label in Markov chain + * @param lbl + */ class State(lbl: String) { val transitions: mutable.HashMap[State, Transition] = mutable.HashMap[State, Transition]() diff --git a/src/main/scala/org/xcit/nback/markov/models/Transition.scala b/src/main/scala/org/xcit/nback/markov/models/Transition.scala index 82a28d7..1e4692f 100644 --- a/src/main/scala/org/xcit/nback/markov/models/Transition.scala +++ b/src/main/scala/org/xcit/nback/markov/models/Transition.scala @@ -1,6 +1,11 @@ package org.xcit.nback.markov.models -//TODO change to case class? +/** + * A Single transition in Markov chain graph. + * @param from The starting vertex + * @param to the ending node of the edge + * @param probability the probability of this transition from starting node to the ending node (0.0 <= p <= 1.0). + */ class Transition(from: State, to: State, probability: Double = 0.0) { } diff --git a/src/test/scala/OneBackBenchmark.scala b/src/test/scala/OneBackBenchmark.scala deleted file mode 100644 index 71bdb0c..0000000 --- a/src/test/scala/OneBackBenchmark.scala +++ /dev/null @@ -1,3 +0,0 @@ -class OneBackBenchmark { - -} diff --git a/build.sbt b/build.sbt index 870f174..f92a6be 100644 --- a/build.sbt +++ b/build.sbt @@ -1,4 +1,5 @@ -name := "org.xcit.nback.markov" +name := "nback.markov" +organization := "org.xcit" version := "0.1" diff --git a/src/main/scala/org/xcit/nback/markov/Main.scala b/src/main/scala/org/xcit/nback/markov/Main.scala index 5cbed26..fdcb58b 100644 --- a/src/main/scala/org/xcit/nback/markov/Main.scala +++ b/src/main/scala/org/xcit/nback/markov/Main.scala @@ -1,5 +1,8 @@ package org.xcit.nback.markov +/** + * Default application runner to run some benchmarks and demos. Use `sbt test` for the actual bechmarks. + */ class Main extends App { //TODO create a MarkovChain object or use the singleton //TODO train to set transitions diff --git a/src/main/scala/org/xcit/nback/markov/models/MarkovChain.scala b/src/main/scala/org/xcit/nback/markov/models/MarkovChain.scala index 07c4752..5296968 100644 --- a/src/main/scala/org/xcit/nback/markov/models/MarkovChain.scala +++ b/src/main/scala/org/xcit/nback/markov/models/MarkovChain.scala @@ -5,6 +5,10 @@ object MarkovChain extends MarkovChain() { } +/** + * Represents a simple markov chain + * TODO: must be extended to HMM + */ class MarkovChain() { val states: mutable.MutableList[State] = mutable.MutableList[State]() diff --git a/src/main/scala/org/xcit/nback/markov/models/SequenceGenerator.scala b/src/main/scala/org/xcit/nback/markov/models/SequenceGenerator.scala index 9bb098b..fbe5503 100644 --- a/src/main/scala/org/xcit/nback/markov/models/SequenceGenerator.scala +++ b/src/main/scala/org/xcit/nback/markov/models/SequenceGenerator.scala @@ -2,6 +2,11 @@ import scala.util.Random +/** + * Generic n-back class to generate a sequence of n-back items with HMM. + * @param length length of n-back sequence (number of items) + * @param offline if it should generate the whole sequence at once of use MDP to consider rewards with reinforcement learning methods + */ class SequenceGenerator( length: Int, // sequence length offline: Boolean = true diff --git a/src/main/scala/org/xcit/nback/markov/models/State.scala b/src/main/scala/org/xcit/nback/markov/models/State.scala index a705600..7a0bfba 100644 --- a/src/main/scala/org/xcit/nback/markov/models/State.scala +++ b/src/main/scala/org/xcit/nback/markov/models/State.scala @@ -2,6 +2,10 @@ import scala.collection.mutable +/** + * A Single state with a label in Markov chain + * @param lbl + */ class State(lbl: String) { val transitions: mutable.HashMap[State, Transition] = mutable.HashMap[State, Transition]() diff --git a/src/main/scala/org/xcit/nback/markov/models/Transition.scala b/src/main/scala/org/xcit/nback/markov/models/Transition.scala index 82a28d7..1e4692f 100644 --- a/src/main/scala/org/xcit/nback/markov/models/Transition.scala +++ b/src/main/scala/org/xcit/nback/markov/models/Transition.scala @@ -1,6 +1,11 @@ package org.xcit.nback.markov.models -//TODO change to case class? +/** + * A Single transition in Markov chain graph. + * @param from The starting vertex + * @param to the ending node of the edge + * @param probability the probability of this transition from starting node to the ending node (0.0 <= p <= 1.0). + */ class Transition(from: State, to: State, probability: Double = 0.0) { } diff --git a/src/test/scala/OneBackBenchmark.scala b/src/test/scala/OneBackBenchmark.scala deleted file mode 100644 index 71bdb0c..0000000 --- a/src/test/scala/OneBackBenchmark.scala +++ /dev/null @@ -1,3 +0,0 @@ -class OneBackBenchmark { - -} diff --git a/src/test/scala/ThreeBackBenchmark.scala b/src/test/scala/ThreeBackBenchmark.scala new file mode 100644 index 0000000..0c7dad9 --- /dev/null +++ b/src/test/scala/ThreeBackBenchmark.scala @@ -0,0 +1,7 @@ + +/** + * TODO Benchmark 3-back simple sequence generator + */ +class ThreeBackBenchmark { + +} diff --git a/build.sbt b/build.sbt index 870f174..f92a6be 100644 --- a/build.sbt +++ b/build.sbt @@ -1,4 +1,5 @@ -name := "org.xcit.nback.markov" +name := "nback.markov" +organization := "org.xcit" version := "0.1" diff --git a/src/main/scala/org/xcit/nback/markov/Main.scala b/src/main/scala/org/xcit/nback/markov/Main.scala index 5cbed26..fdcb58b 100644 --- a/src/main/scala/org/xcit/nback/markov/Main.scala +++ b/src/main/scala/org/xcit/nback/markov/Main.scala @@ -1,5 +1,8 @@ package org.xcit.nback.markov +/** + * Default application runner to run some benchmarks and demos. Use `sbt test` for the actual bechmarks. + */ class Main extends App { //TODO create a MarkovChain object or use the singleton //TODO train to set transitions diff --git a/src/main/scala/org/xcit/nback/markov/models/MarkovChain.scala b/src/main/scala/org/xcit/nback/markov/models/MarkovChain.scala index 07c4752..5296968 100644 --- a/src/main/scala/org/xcit/nback/markov/models/MarkovChain.scala +++ b/src/main/scala/org/xcit/nback/markov/models/MarkovChain.scala @@ -5,6 +5,10 @@ object MarkovChain extends MarkovChain() { } +/** + * Represents a simple markov chain + * TODO: must be extended to HMM + */ class MarkovChain() { val states: mutable.MutableList[State] = mutable.MutableList[State]() diff --git a/src/main/scala/org/xcit/nback/markov/models/SequenceGenerator.scala b/src/main/scala/org/xcit/nback/markov/models/SequenceGenerator.scala index 9bb098b..fbe5503 100644 --- a/src/main/scala/org/xcit/nback/markov/models/SequenceGenerator.scala +++ b/src/main/scala/org/xcit/nback/markov/models/SequenceGenerator.scala @@ -2,6 +2,11 @@ import scala.util.Random +/** + * Generic n-back class to generate a sequence of n-back items with HMM. + * @param length length of n-back sequence (number of items) + * @param offline if it should generate the whole sequence at once of use MDP to consider rewards with reinforcement learning methods + */ class SequenceGenerator( length: Int, // sequence length offline: Boolean = true diff --git a/src/main/scala/org/xcit/nback/markov/models/State.scala b/src/main/scala/org/xcit/nback/markov/models/State.scala index a705600..7a0bfba 100644 --- a/src/main/scala/org/xcit/nback/markov/models/State.scala +++ b/src/main/scala/org/xcit/nback/markov/models/State.scala @@ -2,6 +2,10 @@ import scala.collection.mutable +/** + * A Single state with a label in Markov chain + * @param lbl + */ class State(lbl: String) { val transitions: mutable.HashMap[State, Transition] = mutable.HashMap[State, Transition]() diff --git a/src/main/scala/org/xcit/nback/markov/models/Transition.scala b/src/main/scala/org/xcit/nback/markov/models/Transition.scala index 82a28d7..1e4692f 100644 --- a/src/main/scala/org/xcit/nback/markov/models/Transition.scala +++ b/src/main/scala/org/xcit/nback/markov/models/Transition.scala @@ -1,6 +1,11 @@ package org.xcit.nback.markov.models -//TODO change to case class? +/** + * A Single transition in Markov chain graph. + * @param from The starting vertex + * @param to the ending node of the edge + * @param probability the probability of this transition from starting node to the ending node (0.0 <= p <= 1.0). + */ class Transition(from: State, to: State, probability: Double = 0.0) { } diff --git a/src/test/scala/OneBackBenchmark.scala b/src/test/scala/OneBackBenchmark.scala deleted file mode 100644 index 71bdb0c..0000000 --- a/src/test/scala/OneBackBenchmark.scala +++ /dev/null @@ -1,3 +0,0 @@ -class OneBackBenchmark { - -} diff --git a/src/test/scala/ThreeBackBenchmark.scala b/src/test/scala/ThreeBackBenchmark.scala new file mode 100644 index 0000000..0c7dad9 --- /dev/null +++ b/src/test/scala/ThreeBackBenchmark.scala @@ -0,0 +1,7 @@ + +/** + * TODO Benchmark 3-back simple sequence generator + */ +class ThreeBackBenchmark { + +} diff --git a/src/test/scala/TwoBackBenchmark.scala b/src/test/scala/TwoBackBenchmark.scala deleted file mode 100644 index eb557fe..0000000 --- a/src/test/scala/TwoBackBenchmark.scala +++ /dev/null @@ -1,3 +0,0 @@ -class TwoBackBenchmark { - -}