2009-03-25 3 views
3

오래 전에 저는 전문가 시스템 언어 인 Egeria를 사용하는 시스템을 개발했습니다. 여기에는 변수에 세 가지 값, 즉 최소, 최대 및 현재가있는 유용한 기능이있었습니다. 이 방법으로 부분적으로 알려진 값의 확률이 계산되어 결과가 범위로 ​​끝납니다. 내가 구문을 기억할 수 있지만이 같은했다 : -이 방법은 소위,3 개의 값 변수, 최대, 최소, 실제

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


A * B = {2, 20, 16} 

내 질문이이며, 현재의 모든 언어를 구현합니까?

답변

3

설명하는 것과 같은 다중 값 변수는 제약 조건 기반 프로그래밍에서 사용될 수 있습니다. 최근 논문은 Radul and Sussman, "The Art of the Propagator"을 참조하십시오.

Radul은 지난 주 ILC 2009에서 발표했습니다. 그는 "진리"에 대한 확률 적 근사를 나타내는 다 변수 변수의 예를 제시했다. (나는 허위 진술에 대해 사전에 사과한다. 나는 메모가 없다.)

2 개의 온도 센서에서 판독 값을 조정해야하는 시스템을 생각해 보자. 각 센서의 판독 값이 어느 정도 불확실성이 있다고 가정합니다. 센서 A는 온도가 A1과 A2 사이이고 센서 B가 온도가 B1과 B2 사이라고 말합니다. 온도를 계산하기 위해 시스템이 실패해야합니까? 아마도 "진실"은 판독 값이 겹치는 범위로 표현 될 수 있습니다.

0

대부분의 객체 지향 언어는 클래스를 사용하여이를 쉽게 처리 할 수 ​​있습니다.

C++에서는 특히 모든 기본 유형에 대해 이것을 처리하는 템플릿 기반 클래스를 만드는 것이 매우 쉽습니다.

핵심 언어의 일부로이를 지원하는 언어를 모르겠다.

+0

코드를 작성할 수 있다는 것을 알았지 만 가능하면이 코드가 내장 된 것이 좋으며 많은 다른 기능을위한 정말 유용한 토대입니다. 언어가 없어도 모든 추가 기능을 다시 구현해야합니다. – MrTelly

3

'접근 방식'처럼 fuzzy logic의 종일 수 있습니다. 특히 당신이 그것을 확률 적으로 사용한다고 설명 할 때.

1

Yacc (버전 7 용 UNIX 프로그래머 매뉴얼 2 권에 게시, 1978-07-31 일자) 부록 C는 '부동 소수점 연산을 수행하는 탁상용 계산기'를 설명했습니다. '(최소, 최대)'표기법을 사용하고 범위 기반 산술을 구현했습니다. 당신이 설명하는 것은 '현재'가치를 가진 그것의 확장입니다.