Études-Mathématique/Calcul sur valeur dupliquée et Lazi

From Lazi wiki
< Études-Mathématique
Revision as of 15:49, 30 March 2017 by Emmanuel (talk | contribs) (Solution par variable)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

Question

Pour pouvoir faire des déductions sur les formules Lazi il sera nécessaire de les calculer. Hors pour que les calculs ne soient pas monstrueusement lourds il est nécessaire de passer par les noms définis et les fonctions. La question est : est-t-il possible de ne pas avoir à dupliquer les calculs ?

Étude

Cause de duplication

Les noms définis

Un nom défini peut être utilisé dans plusieurs endroit. Si sa valeur doit être calculé, en utilisant la technique de remplacer le nom par sa valeur on duplique les calculs.

distribute et fonctions

Les règles de calcul sur distribute et sur les fonctions duplique les valeurs et donc les calculs dessus.

Solution par variable

Cette solution utilise le contexte pour stocker les valeurs. L'idée est de créer des variables pour les valeurs pouvant être dupliquées.

Il est inutile de créer une variable pour une valeur ne pouvant être calculée, or seuls les "apply" peuvent l'être. Donc on ne cré des variables que pour les apply partagés.

Quand calculer la valeur de la variable : Quand la variable doit être calculée.

Quand remplacer la variable : Quand la variable vient d'être calculée. Il suffit que le résultat du calcul de la variable soit le résultat du calcul de la valeur de la variable.

Remarquons que l'on peut appliquer les mêmes règles aux noms définis, si on accepte de changer leur valeur.

Remarquons que ce système permet de se passer du système var-places car il n'y a plus de grosses expressions comme argument de fonctions car la grosse expression est dissimulée sous un nom défini.

Partager le calcul des sous-expressions

Quand une variable est calculée on la remplace par sa valeur. Mais on peut être amené à calculer des sous-parties, si on ne faisait que remplacer par sa valeur alors on perdrait le partage de calcul sur les sous-parties. Pour ne pas perdre le partage on peut créer d'autres variables pour la sous-partie "argument" (celle "fonction" est déjà calculée au maximum).

Donc on crée une variable si le résultat du calcul est de la forme f (a b) et uniquement pour a b.

Calcul limité

Si on a un système de raccourcis alors on peut avoir besoin de faire des calculs limités pour aboutir à certaines formes d'expressions, comment concilier la limitation de calcul et les variables ?

On utilise le même système, mais avec la fonction de calcul limité.

Réponse

Cela est possible, voir l'étude.