Polynomial-Time Inverse Computation for Accumulative Functions with Multiple Data Traversals
Polynomial-Time Inverse Computation for Accumulative Functions with Multiple Data Traversals
复制标题
多次数据遍历累加函数的多项式时间逆计算
DOI:
10.1145/2103746.2103752
复制
发表时间:
2012
期刊:
影响因子:
--
通讯作者:
Kazuhiro Inaba and Keisuke Nakano
中科院分区:
文献类型:
--
作者:
Kazutaka Matsuda;Kazuhiro Inaba and Keisuke Nakano
Inverse computation has many applications such as serialization/deserialization, providing support for undo, and test-case generation for software testing. In this paper, we propose an inverse computation method that always terminates for a class of functions known as parameter-linear macro tree transducers, which involve multiple data traversals and the use of accumulations. The key to our method is the observation that a function in the class can be regarded as a non-accumulative context-generating transformation without multiple data traversals. Accordingly, we demonstrate that it is easy to achieve terminating inverse computation for the class by context-wise memoization of the inverse computation results. We also show that when we use a tree automaton to express the inverse computation results, the inverse computation runs in time polynomial to the size of the original output and the textual program size.