Projet ANR EVA-Flo:评估与验证自动化计算流程

设备
法语专业
英语演讲
Réunions公司
生产文件
友好关系
联系人
EVA-Flo的示意图组织


项目的详细说明(英语)est可辩驳的ici公司.

Leséquipes参与者项目


工会EVA Flo


生产文件


《和平与和解协议》(Rapports d'avence et autres documents pour l'ANR)


项目报告

该项目的本质不是数学形式(包括函数)超越与超越但不是计算者。Ce projet attaque cette question sous trois angles:评论e valuer unetelle formule,评论自动化程序lagénération de code pour cette evaluation,评论获得代码的有效性。
Il’agit d'améliorer la situelle,quiest la suivante(我要告诉你一件事)。联合国程序专家saitécrire un code de qualitétenant compte propriés matiques数学范例利用功能、宏伟秩序和地区积累,保护财产罚款des outils永久性传输cette专家兼编辑者。
编译程序se contente d'assembler des opérateurs de base et des appels de functions《无图书馆》(de bibliothèques sans)的内部发布者是代码生产商。获得者数量une garanie sur cette précision,是最具可预见性的后验行动,《圣彼得堡法典》(sur de tout petits codes)和《曼尼埃尔要塞》(et de manière essentiellement manuelle)。
Notre approche sera de travailer en parallyèle surrois方面:l’etude’algorithms数学公式评估(du point de vue précision et performance),la validation de tels algorithmes(notament des aspects numériques)au cours de leur développement公司的tels算法验证,afin de guider les choix算法,enfin l’ansemble自动化,point pour lequel《困难的埃森蒂耶》由《公平的合作者》和《作曲家》组成。
Du point de vue算法,在“近似”une公式下的travailera示例上par un polynómeáune ou plusieurs变量。《圣比恩小报》(Si les mathematiques sont bienétablies dans)ce domaine,leur adaptation au monde du calcul flottant est souvent非琐事。例如,法国巴黎圣多丽大酒店的估值,确定最低ale erreurs d'arrondis,d'autres maximizant le paralleélisme等。De plus,si on peut construirele`meilleur polynóme'theorique d'approximation d'une function,dans un domaine et pour une normedonnés,obtenir le meilleur polynóme avec la containte que-les系数sont精确代表人en virgule flottante et en tenanter compte de l'erreur d'arrondi due a l'éevaluation du波利尼奥姆(et non)加上勒卡特中心功能和瓦勒鲁·杰克普伦德(la valeur exacte que prend)勒波利尼奥(lepolynóme)让问题得到解决,奎尔昂(que l'on)开始攻击潜水员角度。
扩展基础算法方面,这是généralier的基本要素et mécaniser une专业知识获取项目预兆,丹麦干部注释函数估值与广义算法。
Enfin,关于代码最终确定的有效性a la formule首字母。自动化的一部分是获取,这是Coq、PVS或HOL-light savint vérifier des preuve formelles,包括多个方面。Toutefois ces outils ne rédigent pas la preuve,et notre apport sera de rechercher(头巾)aussi大que公式类可能会自动倒入莱克勒cette rédaction d'une preuve de propriéténumérique血清。再加上公共管理、并行生产代码评估等尤内·普雷乌夫·福梅勒·德内·普里埃代码,典型的尤内·伯恩·德勒鲁·道达尔(une-borne de l'erreur totale)代码与数学研究中心。Ici aussi,les porters du projet公司ont réaliséce travail au cas par cas,et l'enjeu est de généraliser et d'automatiser。
En général,l’automatisation complete avec garanie de solution optimize n’a pas de sens公司无国界医生信息补充中心(sans information supplierémentaire sur le contexte de l’application)等ce qu’un提供了一个besoin de connaêtre en和一个表单实施工具。关于最终需求的决策,et autres données hérit es du contexte de la formule等。福德拉·比恩和丹斯·莱卡塞纳尔(dans le casénéral):例如,“ilest est-designable qu'un outil vérifie un invariant de boucle,il ne pourra”engénéral pas l’inventer公司。在我看来,我是福德拉的灵魂人物数学应用程序等。
Outre un prototype intégrédans un compiler,ce projet produira une meilleure compression公司形式和形式的概念。
项目的详细说明(英语)est可辩驳的ici公司.


EVA-Flo项目概述

本项目关注数学公式(包括超越函数和可能的迭代)在浮点中求值算术。我们的方法有三个方面:如何评估这样的公式,如何自动生成评估代码,如何验证所获得代码的数值精度。
我们旨在改善目前的状况,具体如下。专家程序员知道如何编写高质量的代码,例如,所用函数的已知性质,变量的数量级被操纵和累积的舍入误差。他可能还需要一些所使用的浮点运算的特殊属性。然而,他不知道如何将这些知识传递给编译器。
编译器只使用库中的一系列基本操作和函数,对获得的代码的数字质量没有线索。一个可以检查质量和认证仅适用于小型和简单的程序,主要是通过纸张和铅笔技巧。
我们将同时研究三个主题:数学评估算法的研究公式(精度和性能受到威胁)、此类算法的验证(尤其是其数值精度),以便影响算法选择和过程自动化。
例如,从算法的角度来看,我们将研究公式的近似值通过一元或多元多项式。这个领域的数学已经很成熟了。然而,它们对浮点计算的适应常常是非常重要的。例如,有许多计算多项式的方法。有一些最小化了舍入误差,一些优化了并行化等。此外,如果构建“最佳理论”对于给定范数和给定域,很容易将多项式近似为函数,利用系数精确的附加约束构造最佳多项式以给定的浮点格式表示,并考虑舍入误差仍然是一个悬而未决的问题,我们正开始从几个方面着手解决。
除了算法方面,我们还需要概括和自动化一些专家知识申请人在过去几年积累了经验,尤其是在基本功能评估和计算几何。
最后,我们将尝试使用形式证明来限定和验证数值准确性获得的代码。自动化的一部分已经完成,因为工具例如Coq、PVS或HOL-light能够检查包括数字方面的证明。然而,这些工具并没有建立证据,它们只是检查它。我们的任务是找到一类尽可能大的公式,自动为其建立证明一个数值性质是可行的。更准确地说,我们将并行生成代码以及该代码属性的形式证明(通常是差异的界限在计算结果和精确值之间)。到目前为止,申请人已经完成了在某些情况下,目标是实现通用化和自动化。
这并不简单,而且对浮点运算的微妙之处有很好的了解例如,对于赋予程序意义是必要的A=1.0;B=1.0;而((A+1.0)-A-1==0.0)做A=2.0*A;而((A+B)-A-B<>0.0)做B=B+1.0;返回(在变量B中)正在使用的浮点格式的基。
一个常见的问题是管理近似和舍入误差,以及如何它们累加成一个算法。现有的数值分析技术(正向和反向分析)和计算机科学(计算机代数、区间算术、,多决策算法)可以使用:困难的是要按顺序使用它们以自动化的方式获得不过于悲观的错误界限。缺少一些工具(例如,计算有效无限范数的通用技术)。我们必须建造这些缺失的工具。
拥有最佳解决方案证书的程序的完全自动化实际上没有意义如果没有关于应用程序的更多信息。我们需要将信息正式化为工具必须了解正在实施的公式之外的内容。例如变量的输入域,最终所需的精度。一般情况下,需要更多信息。例如,如果一个工具可以检查循环不变量,那么它就无法发明它。此外,我们还必须经常向工具建议可能使用的数学关系等。
除了集成到编译器中的原型外,此项目还将产生更好的理解浮点运算领域中的公式或证明。
EVA-Flo项目的详细介绍可用在这里.