三值变量,最大值、最小值、实际值

Posted

技术标签:

【中文标题】三值变量,最大值、最小值、实际值【英文标题】:Three value variables, max, min, actual 【发布时间】:2010-10-15 09:02:31 【问题描述】:

很久以前,我使用 Egeria 一种专家系统语言开发系统。它有一个非常有用的功能,其中变量具有三个值,最小值、最大值和电流。通过这种方式,可以计算出部分已知值的概率,结果以一个范围结束。我不记得语法,但它是这样的:-

A.Min = 1;
A.Max = 5;
A.Current= 4;
B.Min = 2;
B.Max = 4;
B.Current= 4;


A * B = 2, 20, 16

我的问题是,这种方法叫什么,目前有任何语言实现它吗?

【问题讨论】:

【参考方案1】:

像您描述的那样的多值变量可以用于基于约束的编程。对于最近的一篇论文,请参阅 Radul 和 Sussman,"The Art of the Propagator"。

先生。 Radul 上周在 ILC 2009 上发表演讲。他举了一个(人们可能会考虑的)多值变量的例子,这些变量代表了“真相”的概率近似。 (对于任何不实陈述,我提前道歉,我没有笔记。)

考虑一个必须协调来自两个热传感器的读数的系统。进一步假设每个传感器的读数都带有某种程度的不确定性:传感器 A 表示温度介于 A1 和 A2 之间,传感器 B 表示温度介于 B1 和 B2 之间。系统是否应该在尝试计算温度时失败?也许“真相”可以用读数重叠的范围来表达。

【讨论】:

【参考方案2】:

听起来,作为一种“方法”,它可能是fuzzy logic 的一种。尤其是当你描述它被概率使用时。

【讨论】:

【参考方案3】:

关于 Yacc 的原始论文的附录 C(发表于版本 7 的 UNIX 程序员手册的第 2 卷;该论文的日期为 1978-07-31)描述了一个“进行浮点区间运算的桌面计算器”。它使用带有符号 '( min, max )' 的区间并实现了基于范围的算术。您所描述的也是“当前”值的扩展。

【讨论】:

【参考方案4】:

大多数面向对象的语言都可以使用类轻松地做到这一点。

尤其是在 C++ 中,很容易创建一个模板类来为您处理任何基本类型,例如。

不过,我不知道有任何语言支持此作为核心语言的一部分。

【讨论】:

我意识到我可以编写代码,但我喜欢尽可能将其作为核心内置,它是许多其他功能的非常有用的基础。如果语言中没有它,我也必须重新实现所有这些额外的功能。

以上是关于三值变量,最大值、最小值、实际值的主要内容,如果未能解决你的问题,请参考以下文章

两个变量的最小值/最大值 Hibernate SQL

比较三个变量并获得最小/最大值的变量(不是值)

创建一个新变量,它是python中另一个变量的每周最小值/最大值

整形变量最大值与最小值

R - 对连续变量标题进行分组,将分类变量因子作为行并聚合为最小值、最大值、平均值

Matlab中已知函数值的最小值求对应的自变量值...