Question

il y a longtemps que j'ai développé des systèmes utilisant Egeria un langage système expert. Il avait une caractéristique très utile lorsque les variables ont trois valeurs, un min, max et courant. De cette façon, la probabilité d'une valeur calculée en partie connue pourrait, avec les résultats se terminant comme une gamme. Je ne me souviens pas de la syntaxe, mais il était quelque chose comme ceci: -

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


A * B = {2, 20, 16}

Ma question est, quelle est cette approche appelée, et ne les langues actuelles mettre en œuvre?

Était-ce utile?

La solution

Variables à valeurs multiples comme celles que vous décrivez peut être utilisé dans la programmation par contraintes. Pour un document récent, voir Radul et Sussman, "The Art of le propagateur ".

Monsieur. Radul présenté au CIT 2009 la semaine dernière. Il a donné un exemple de (ce que l'on pourrait envisager) des variables à valeurs multiples qui représentent une approximation probabiliste de « vérité ». (Je suis désolé d'avance pour toute fausse déclaration, je n'ai pas de notes.)

Considérons un système qui doit concilier deux lectures de capteurs thermiques. Supposons en outre que les lectures de chaque capteur sont équipées d'un certain degré d'incertitude: Un capteur indique la température est comprise entre A1 et A2, capteur B dit température est comprise entre B1 et B2. Si le système échoue dans la tentative de calculer la température? Peut-être que la « vérité » peut être exprimée en termes de la plage où les lectures se chevauchent.

Autres conseils

On dirait que, comme une « approche », il peut être une espèce de logique floue . Surtout quand vous décrivez utilisé probabilistes.

Annexe C du document original sur Yacc (publié dans le volume 2 du Manuel du programmeur UNIX pour la version 7, le document est daté 31.07.1978) décrit une «une calculatrice de bureau qui ne l'arithmétique d'intervalle à virgule flottante. Il a utilisé des intervalles avec la mention « (min, max) » et le calcul sur la base de la gamme mis en oeuvre. Ce que vous décrivez est une extension de ce avec la valeur « actuelle » aussi.

La plupart des langages orientés objet peuvent faire assez facilement en utilisant des classes.

En C ++, en particulier, il serait très facile de faire une classe qui a traité ce basé sur des modèles pour vous pour tout type de base, par exemple.

Je ne connais pas toutes les langues qui prennent en charge cette partie de la langue de base, cependant.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top