Motion P1788/M0052.3 Clause 6 Text: YES, with comments
I vote YES on Motion 52.3 (2013-11-28 version).
However I think that the text concerning the computational graph could
still be improved, as it is ambiguous. See below.
A formalization of the equivalence between (a), (b) and (c), and the
associated transformations, would be useful. This is not obvious, in
particular with the corner cases (unused inputs, constant outputs,
identities...). I've noticed at least a problem between (a) and (b).
For instance, consider the following code lists. In the first example,
one could regard the computational graph as having a single node, with
no incoming and no outgoing edges. This is the one-variable identity.
[m = 0, n = 1, p = 1]
input v_0 = x_1
output y_1 = v_0 = x_1
But what happens to the computational graph when one adds an input
that is not used, as in the following example? Since this input node
has no outgoing edges (to some operation node), it could be regarded
as an output, but actually it isn't!
[m = 0, n = 2, p = 1]
input v_{-1} = x_1, v_0 = x_2
output y_1 = v_{-1} = x_1
Now, let's add a second output: the same coordinate projection as the
first one. Again, how can the difference be seen in the computational
graph?
[m = 0, n = 2, p = 2]
input v_{-1} = x_1, v_0 = x_2
output y_1 = v_{-1} = x_1, y_2 = v_{-1} = x_1
To solve this problem with the computational graph, I can see two
solutions:
1. Associate each node having no outgoing edges with a possibly empty
set of output tags; these tags could be regarded as the integers i
from 1 to p, meaning y_i in the code list.
2. Define specific output nodes (just like there are input nodes).
These output nodes need an additional requirement: they must have
a single incoming edge. So, a graph would have 3 kinds of nodes:
- input nodes (with no incoming edges);
- scalar operation (including constants) nodes;
- output nodes (with a single incoming edge and no output edge).
--
Vincent Lefèvre <vincent@xxxxxxxxxx> - Web: <http://www.vinc17.net/>
100% accessible validated (X)HTML - Blog: <http://www.vinc17.net/blog/>
Work: CR INRIA - computer arithmetic / AriC project (LIP, ENS-Lyon)
- Prev by Date:
Motions M0052, M0054, M0055, M0056, M0057, M0059: YES
- Next by Date:
Re: P1788: PLEASE VOTE - Motions 52, 54-57, 59
- Previous by thread:
P1788: PLEASE VOTE - Motions 52, 54-57, 59
- Next by thread:
Motions M0052, M0054, M0055, M0056, M0057, M0059: YES
- Index(es):