Markov::TransitionTable(LinkType)
Inherits Hash / Iterable / Enumerable / Reference / Object
A TransitionTable represents a mapping of keys to TransitionMatrix's.
Constructors
Makes it possible to use #to_json and #from_json (see Crystal docs)
Instance methods
Inserts key into last added key's TransitionMatrix, if applicable,
and creates new TransitionMatrix for key if not already there.
Sequentially fills TransitionTable with values in given Array using #add method.
Just a shortcut for looping through array and #adding elements.
string_array = %w(some say the world will end in fire)
tt = Markov::TransitionTable(String).new
tt.fill table_with: string_array
Returns probable transition from the TransitionMatrix associated with key provided.
Will raise EmptyTransitionMatrixException if no probable transition is available.
string_array = %w(some say the world will end in fire)
tt = Markov::TransitionTable(String).new
tt.fill table_with: string_array
tt.probable? after: "world" #=> "will"
tt.probable? after: "fire" # raises `EmptyTransitionMatrixException`
Returns probable transition from the TransitionMatrix associated with key provided.
Returns nil if no probable transition is available.
string_array = %w(some say the world will end in fire)
tt = Markov::TransitionTable(String).new
tt.fill table_with: string_array
tt.probable? after: "world" #=> "will"
tt.probable? after: "fire" #=> nil
Returns random key.
Will raise EmptyTransitionTableException if TransitionTable is empty.
Resets the TransitionTable's last added key between non-sequential sets of training data.
movie_one = %w(the great gatsby)
movie_two = %w(great expectations)
tt = Markov::TransitionTable(String).new
tt.fill table_with: movie_one
tt.reset()
tt.fill table_with: movie_two
tt.probable? after: "gatsby" #=> nil
tt.probable? after: "great" #=> "expectations" or "gatsby"