.. _DexValue: DEX Values ---------- *DEX values* are used throughout :ref:`DEX models ` to provide input values and carry results of :ref:`evaluations ` of decision :ref:`alternatives `. A value that can be assigned to an :ref:`attribute ` is always bound to the context provided by that attribute's :ref:`scale `. A special DEX value *undefined* can be assigned to any attribute, including those whose scales are undefined. In principle, any operation (aggregation, discretization) involving *undefined* gives an *undefined* result. However, for qualitative attributes, `DEXi Suite `__ allows an :ref:`evaluation ` mode in which all *undefined* values are expanded to the full :ref:`set ` of the corresponding attribute's values prior to evaluation. In this way, *undefined* is interpreted as *unknown*. DEX values assigned to :ref:`continuous attributes ` can only be real (floating-point) numbers. No intervals or other representations of uncertainty are possible. DEX value types assigned to :ref:`qualitative attributes ` are richer and allow expressing uncertainty and imprecision. There are four main qualitative value types: :ref:`single value `, :ref:`interval `, :ref:`set ` and :ref:`value distribution `. An additional :ref:`offset value type ` is used in :ref:`qualitative-quantitative evaluation `. For illustrations below, let us take an ordered qualitative scale, consisting of four values: `bad, acc, good, excellent`. .. _DexSingle: Single Values ~~~~~~~~~~~~~ A *single* DEX value consists of a single element of the corresponding scale. Example: :code:`acc` .. _DexInterval: Interval Values ~~~~~~~~~~~~~~~ An *interval value* is defined by two bounds, lower and upper, and consists of all scale elements between these bounds, including the bounds. An interval is usually denoted :code:`lower:upper`. Example: :code:`acc:excellent`: includes acc, good and excellent Notational shortcuts are used for preferentially ordered scales: - :code:`<=acc`: worse than or equal to acc, equivalent to :code:`bad:acc` - :code:`>=acc`: better than or equal to acc, at least acc, equivalent to :code:`acc:excellent` .. _DexSet: Sets ~~~~ A *value set* consists of a set of elements of the corresponding scale. Sets are usually denoted as lists of ;-separated values. All intervals can be interpreted as sets, while the converse is not always true. Example: :code:`bad; acc; excellent` Special notation :code:`*` is used to denote the full set of values. Example: :code:`*` = :code:`bad:excellent` = :code:`bad; acc; good; excellent` .. _DexDistribution: Value Distributions ~~~~~~~~~~~~~~~~~~~ A *value distribution* associates each qualitative scale value with some number, generally denoted *p* and normally expected to be in the [0,1] interval. Depending on the context and used :ref:`evaluation method `, *p* can be interpreted as probability or fuzzy set membership. Distributions are usually displayed in terms of a ;-separated list of pairs :code:`value/p`. *p* = 0 is assumed for elements not appearing in the list. Example: :code:`bad/0.5; good/0.2; excellent/0.3` (omitted: :code:`acc/0`) .. _DexOffset: Offset Values ~~~~~~~~~~~~~ *Offset values* are used in :ref:`qualitative-quantitative evaluation ` to facilitate ordering of alternatives within qualitative classes. An *offset value* is composed of a *single qualitative value* and a *numeric offset* on the interval [-0.5, +0.5]. For instance, :code:`acc-0.25` denotes the qualitative value :code:`acc` having the offset :code:`-0.25`. Similarly, :code:`acc+0.11` is the same qualitative value with the offset :code:`+0.11`. Offset values are meaningful only with ordered value scales. Numeric offsets represent evaluations *within* the associated qualitative values, providing means to preferentially compare and order these values. In this way, :code:`acc-0.25` is considered worse than :code:`acc+0.11`. Decreasing negative offsets denote increasingly worse :code:`acc` values, and increasing positive offsets denote increasingly better :code:`acc` values. The extreme cases are :code:`acc-0.5` and :code:`acc+0.5`.