View Source Descisionex.PaymentMatrix (Descisionex v0.1.8)
Link to this section Summary
Functions
Calculates all criteria for payment matrix.
Calculates generalized criterion for payment matrix.
Calculates Hurwitz criterion for payment matrix.
Calculates Laplace criterion for payment matrix (variants must be set).
Calculates Savage criterion for payment matrix.
Calculates Wald criterion for payment matrix.
Set Generalized additional value for payment matrix (range from 0.1 to 0.9), defaults to 0.5.
Set Hurwitz additional value for payment matrix (range from 0.1 to 0.9), defaults to 0.5.
Set steps for payment matrix.
Set variants for payment matrix.
Link to this section Functions
Calculates all criteria for payment matrix.
examples
Examples
iex> %Descisionex.PaymentMatrix{matrix: [[1, 2], [3,4]]} |> Descisionex.PaymentMatrix.set_variants(["some", "variants"]) |> Descisionex.PaymentMatrix.calculate_criteria()
%Descisionex.PaymentMatrix{
generalized_additional_value: 0.5,
generalized_criterion: %{criterion: 1.5, strategy_index: 0},
hurwitz_additional_value: 0.5,
hurwitz_criterion: %{criterion: 3.5, strategy_index: 1},
laplace_criterion: %{criterion: 3.5, strategy_index: 1},
matrix: [[1, 2], [3, 4]],
possible_steps: [],
possible_steps_num: 0,
savage_criterion: %{criterion: 0, strategy_index: 1},
variants: ["some", "variants"],
variants_num: 2,
wald_criterion: %{criterion: 4, strategy_index: 1}
}
Calculates generalized criterion for payment matrix.
examples
Examples
iex> %Descisionex.PaymentMatrix{matrix: [[1, 2], [3,4]]} |> Descisionex.PaymentMatrix.calculate_generalized_criterion()
%Descisionex.PaymentMatrix{
generalized_additional_value: 0.5,
generalized_criterion: %{criterion: 1.5, strategy_index: 0},
hurwitz_additional_value: 0.5,
hurwitz_criterion: %{},
laplace_criterion: %{},
matrix: [[1, 2], [3, 4]],
possible_steps: [],
possible_steps_num: 0,
savage_criterion: %{},
variants: [],
variants_num: 0,
wald_criterion: %{}
}
Calculates Hurwitz criterion for payment matrix.
examples
Examples
iex> %Descisionex.PaymentMatrix{matrix: [[1, 2], [3, 4]]} |> Descisionex.PaymentMatrix.calculate_hurwitz_criterion()
%Descisionex.PaymentMatrix{
generalized_additional_value: 0.5,
generalized_criterion: %{},
hurwitz_additional_value: 0.5,
hurwitz_criterion: %{criterion: 3.5, strategy_index: 1},
laplace_criterion: %{},
matrix: [[1, 2], [3, 4]],
possible_steps: [],
possible_steps_num: 0,
savage_criterion: %{},
variants: [],
variants_num: 0,
wald_criterion: %{}
}
Calculates Laplace criterion for payment matrix (variants must be set).
examples
Examples
iex> %Descisionex.PaymentMatrix{matrix: [[1, 2], [3, 4]]} |> Descisionex.PaymentMatrix.calculate_laplace_criterion()
** (ArgumentError) For Laplace criterion variants must be set!
iex> %Descisionex.PaymentMatrix{matrix: [[1, 2], [3, 4]]} |> Descisionex.PaymentMatrix.set_variants(["some", "variants"]) |> Descisionex.PaymentMatrix.calculate_laplace_criterion()
%Descisionex.PaymentMatrix{
generalized_additional_value: 0.5,
generalized_criterion: %{},
hurwitz_additional_value: 0.5,
hurwitz_criterion: %{},
laplace_criterion: %{criterion: 3.5, strategy_index: 1},
matrix: [[1, 2], [3, 4]],
possible_steps: [],
possible_steps_num: 0,
savage_criterion: %{},
variants: ["some", "variants"],
variants_num: 2,
wald_criterion: %{}
}
Calculates Savage criterion for payment matrix.
examples
Examples
iex> %Descisionex.PaymentMatrix{matrix: [[1, 2], [3, 4]]} |> Descisionex.PaymentMatrix.calculate_savage_criterion()
%Descisionex.PaymentMatrix{
generalized_additional_value: 0.5,
generalized_criterion: %{},
hurwitz_additional_value: 0.5,
hurwitz_criterion: %{},
laplace_criterion: %{},
matrix: [[1, 2], [3, 4]],
possible_steps: [],
possible_steps_num: 0,
savage_criterion: %{criterion: 0, strategy_index: 1},
variants: [],
variants_num: 0,
wald_criterion: %{}
}
Calculates Wald criterion for payment matrix.
examples
Examples
iex> %Descisionex.PaymentMatrix{matrix: [[1, 2], [3, 4]]} |> Descisionex.PaymentMatrix.calculate_wald_criterion()
%Descisionex.PaymentMatrix{
generalized_additional_value: 0.5,
generalized_criterion: %{},
hurwitz_additional_value: 0.5,
hurwitz_criterion: %{},
laplace_criterion: %{},
matrix: [[1, 2], [3, 4]],
possible_steps: [],
possible_steps_num: 0,
savage_criterion: %{},
variants: [],
variants_num: 0,
wald_criterion: %{criterion: 4, strategy_index: 1}
}
Set Generalized additional value for payment matrix (range from 0.1 to 0.9), defaults to 0.5.
examples
Examples
iex> %Descisionex.PaymentMatrix{} |> Descisionex.PaymentMatrix.set_generalized_additional_value(0.3)
%Descisionex.PaymentMatrix{
generalized_additional_value: 0.3,
generalized_criterion: %{},
hurwitz_additional_value: 0.5,
hurwitz_criterion: %{},
laplace_criterion: %{},
matrix: [],
possible_steps: [],
possible_steps_num: 0,
savage_criterion: %{},
variants: [],
variants_num: 0,
wald_criterion: %{}
}
iex> %Descisionex.PaymentMatrix{} |> Descisionex.PaymentMatrix.set_generalized_additional_value(0)
** (ArgumentError) Generalized additional value incorrect (number range must be from 0.1 to 0.9)
Set Hurwitz additional value for payment matrix (range from 0.1 to 0.9), defaults to 0.5.
examples
Examples
iex> %Descisionex.PaymentMatrix{} |> Descisionex.PaymentMatrix.set_hurwitz_additional_value(0.3)
%Descisionex.PaymentMatrix{
generalized_additional_value: 0.5,
generalized_criterion: %{},
hurwitz_additional_value: 0.3,
hurwitz_criterion: %{},
laplace_criterion: %{},
matrix: [],
possible_steps: [],
possible_steps_num: 0,
savage_criterion: %{},
variants: [],
variants_num: 0,
wald_criterion: %{}
}
iex> %Descisionex.PaymentMatrix{} |> Descisionex.PaymentMatrix.set_hurwitz_additional_value(0)
** (ArgumentError) Hurwitz additional value incorrect (number range must be from 0.1 to 0.9)
Set steps for payment matrix.
examples
Examples
iex> %Descisionex.PaymentMatrix{} |> Descisionex.PaymentMatrix.set_steps(["some", "steps"])
%Descisionex.PaymentMatrix{
generalized_additional_value: 0.5,
generalized_criterion: %{},
hurwitz_additional_value: 0.5,
hurwitz_criterion: %{},
laplace_criterion: %{},
matrix: [],
possible_steps: ["some", "steps"],
possible_steps_num: 2,
savage_criterion: %{},
variants: [],
variants_num: 0,
wald_criterion: %{}
}
Set variants for payment matrix.
examples
Examples
iex> %Descisionex.PaymentMatrix{} |> Descisionex.PaymentMatrix.set_variants(["some", "variants"])
%Descisionex.PaymentMatrix{
generalized_additional_value: 0.5,
generalized_criterion: %{},
hurwitz_additional_value: 0.5,
hurwitz_criterion: %{},
laplace_criterion: %{},
matrix: [],
possible_steps: [],
possible_steps_num: 0,
savage_criterion: %{},
variants: ["some", "variants"],
variants_num: 2,
wald_criterion: %{}
}