Class: Rubykov::MarkovModel

Inherits:
Object
  • Object
show all
Defined in:
lib/rubykov/markov_model.rb

Direct Known Subclasses

TextGenerator, WordGenerator

Instance Method Summary collapse

Constructor Details

#initialize(order, training_data) ⇒ MarkovModel

Returns a new instance of MarkovModel.

Raises:

  • (ArgumentError)


3
4
5
6
7
8
9
10
# File 'lib/rubykov/markov_model.rb', line 3

def initialize(order, training_data)
  raise ArgumentError unless order.is_a? Integer
  raise ArgumentError unless training_data.is_a? Array

  @order = order
  @representation = {}
  add_data_to_model(training_data)
end

Instance Method Details

#chainObject



16
17
18
# File 'lib/rubykov/markov_model.rb', line 16

def chain
  chain_enumerator
end

#chain_with_seed(seed_state) ⇒ Object



20
21
22
# File 'lib/rubykov/markov_model.rb', line 20

def chain_with_seed(seed_state)
  chain_enumerator(seed_state)
end

#statesObject



24
25
26
# File 'lib/rubykov/markov_model.rb', line 24

def states
  @representation.keys
end

#train(training_data) ⇒ Object



12
13
14
# File 'lib/rubykov/markov_model.rb', line 12

def train(training_data)
  add_data_to_model(training_data)
end

#transitionsObject



28
29
30
# File 'lib/rubykov/markov_model.rb', line 28

def transitions
  @representation
end