研究者詳細

学術論文
分割表示   全件表示 >>

30 件中 11 - 20 件目

年度
Year
論文題目名
Title of the articles
共著区分
Collaboration
   Classification
NeoCILIUS
   請求番号/資料ID
Request No
掲載誌名 Journal name,出版機関名 Publishing organization,巻/号 Vol./no.,頁数 Page nos.,発行年月(日) Date
2015  Fundamentals of reversible flowchart languages  共著  doi:10.1016/j.tcs.2015.07.046 
Theoretical Computer Science  , Elsevier  , 611  , 87-115  , 2016/01/18   

概要(Abstract) This paper presents the fundamentals of reversible flowcharts. Reversible flowcharts are intended to naturally represent the structure and control flow of reversible (imperative) programming languages in a simple computation model in the same way classical flowcharts do for conventional languages. Although reversible flowcharts are superficially similar to classical flowcharts, there are crucial differences: atomic steps are limited to locally invertible operations, and join points require an explicit orthogonalizing conditional expression.

Despite these constraints, we show that reversible flowcharts are both expressive and robust: reversible flowcharts can simulate irreversible ones by adapting reversibilization techniques to the flowchart model. Thus, reversible flowcharts are r-Turing-complete, meaning that they can compute exactly all injective computable functions. Furthermore, structured reversible flowcharts are as expressive as unstructured ones, as shown by a reversible version of the classic Structured Program Theorem.

We illustrate how reversible flowcharts can be concretized with two example programming languages, complete with syntax and semantics: a low-level unstructured language and a high-level structured language. We introduce concrete tools such as program inverters and translators for both languages, which follow the structure suggested by the flowchart model. To further illustrate the different concepts and tools brought together in this paper, we present two major worked examples: a reversible permutation-to-code algorithm attributed to Dijkstra, and a simulation scheme for reversible Turing machines. By exhibiting a wide range of uses, we hope that the proposed reversible flowcharts can serve as a springboard for further theoretical research in reversible computing. 

備考(Remarks) http://dx.doi.org/10.1016/j.tcs.2015.07.046 

2015  Programming Techniques for Reversible Comparison Sorts  共著  10.1007/978-3-319-26529-2_22 
Lecture Notes in Computer Science  , Springer-Verlag  , 9458  , pp. 407-426  , 2015/12/09   

概要(Abstract) A common approach to reversible programming is to reversibly simulate an irreversible program with the desired functionality, which in general puts additional pressure on the computational resources (time, space.) If the same running time is required, ensuring a minimal space overhead is a significant programming challenge.

We introduce criteria for the optimality of reversible simulation: A reversible simulation is faithful if it incurs no asymptotic time overhead and bounds the space overhead (the garbage) by some function g(n), and hygienic if g is (asymptotically) optimal for faithful simulation.

We demonstrate the programming techniques used to develop faithful and hygienic reversible simulations of several well-known comparison sorts, e.g. insertion sort and quicksort, using representations of permutations in both the output and intermediate additional space required. 

備考(Remarks) https://doi.org/10.1007/978-3-319-26529-2_22 

2014  Designing Garbage-Free Reversible Implementations of the Integer Cosine Transform  共著   
ACM Journal on Emerging Technologies in Computing Systems  , 11  , pp. 1-15  , 2014/11   

概要(Abstract) Discrete linear transformations are important tools in information processing. Many such transforms are injective and therefore prime candidates for a physically reversible implementation into hardware. We present here reversible integer cosine transformations on n input integers. The resulting reversible circuit is able to perform both the forward transform and the inverse transform. The detailed structure of such a reversible design strongly depends on the odd prime factors of the determinant of the transform: whether those are of the form 2k ± 1 or of the form 2k ± 2l ± 1 or neither of these forms. 

備考(Remarks)  

2014  可逆プログラミング言語の引数渡し機構の拡張  共著   
情報処理学会論文誌:プログラミング  , 情報処理学会  , 7  , 21-36  , 2014/08   

概要(Abstract) 本稿では,可逆プログラミング言語Janusの引数渡し機構を拡張して,その拡張言語が可逆であることを示す.参照渡しのモデル化には,同一の参照を持つかもしれない複数の変数名が同じ記憶場所を指せるメモリモデルが必要である.これは既存のJanusで用いられていた状態モデルでは直接には扱うことができない.この問題を解決するために,我々は,環境・記憶域モデルを導入して意味論を改良した.この結果,プロシージャの実引数には,局所変数や局所配列変数だけでなく大域変数や添字付き配列変数の参照,および同一の参照を持つ複数の構文対象も渡せるようになった.拡張言語が可逆であることの保証には,環境と記憶域の更新が可逆であることの保証が必要である.これらの更新は,制限された可逆操作のみ用いて実現されることで,可逆であることが保証される.我々は,拡張言語がほかにも既存のJanusの良い性質を保っていることを示す.すなわち,任意の文やプロシージャ呼び出しの逆実行ができること,および任意の文に対して逆文が存在してそれを求めるプログラム逆変換器が構成できることを示す.さらに,我々は,プログラミング言語を可逆にするために課されていた代入の構文上の制限を緩和する.このことが原因で起こる記憶域の不正な更新は,大域のプログラム解析をしなくても,効率的に検知することができる. 

備考(Remarks)  

2012  Minimizing Garbage Size by Generating Reversible Simulations  共著   
Reversibility, cellular automata, and unconventional computation. Proceedings.  , IEEE Computer Society  , 379–387  , 2012/12/05   

概要(Abstract) Reversible simulations can realize any irreversible computation on any r-Turing complete reversible computation model at the expense of additional garbage output. The problem of minimizing the garbage size is an important issue in reversible simulations. We discuss the notion of the minimal garbage size of reversible simulations. Then, we propose a three-stage reversible simulation for minimizing garbage size, the first stage generates specialized irreversible programs, the second translates them into reversible simulations, and the third performs reversible simulation using the generated reversible programs. Two case studies on sorting algorithms suggest that the proposed method generates solutions with minimal garbage size. 

備考(Remarks) http://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=6424599&isnumber=6424528 

2011  Optimizing Input-Erasing Clean Reversible Simulation for Injective Functions  共著   
Multiple-Valued Logic and Soft Computing  , Old City Publishing  , Vol.18/no.1  , 5–24  , 2012/01   

概要(Abstract) Bennett showed that a clean reversible simulation of injective programs is possible without returning the input of a program as additional output. His method involves two computation and two uncomputation phases. This paper proposes an optimization of Bennett’s simulation that requires only half of the computation and uncomputation steps for a class of injective programs. A practical consequence is that the reversible simulation runs twice as fast as Bennett’s simulation. The proposed method is demonstrated by developing lossless encoders and decoders for run-length encoding and range coding. The range-coding program is further optimized by conserving the model over the text-generation phase. This paper may thus provide a new view on developing efficient reversible simulations for a certain class of injective functions. 

備考(Remarks) http://www.oldcitypublishing.com/journals/mvlsc-home/mvlsc-issue-contents/mvlsc-volume-18-number-1-2012/mvlsc-18-1-p-5-24/ 

2011  Towards a Reversible Functional Language  共著   
Lecture Notes in Computer Science  , Springer-Verlag  , Vol. 7165  , 14–29  , 2012   

概要(Abstract) We identify concepts of reversibility for a functional language
by means of a set of semantic rules with specific properties. These properties include injectivity along with local backward determinism, an important operational property for an efficient reversible language. We define a concise reversible first-order functional language in which access to the backward semantics is provided to the programmer by inverse function calls. Reversibility guarantees that in this language a backward run (inverse interpretation) is as fast as the corresponding forward run itself. By adopting a symmetric first-match policy for case expressions, we can write overlapping patterns in case branches, as is customary in ordinary functional languages, and also in leaf expressions, unlike existing inverse interpreter methods, which enables concise programs. In patterns, the use of a duplication/equality operator also simplifies inverse computation and program inversion. We discuss the advantages of a reversible functional language using example programs, including run-length encoding. Program inversion is seen to be as lightweight as for imperative
reversible languages and realized by recursive descent. Finally, we show
that the proposed language is r-Turing complete. 

備考(Remarks)  

2011  Static Task Scheduling Algorithms Based on Greedy Heuristics for Battery-Powered DVS Systems  共著   
IEICE Trans. on Information and Systems  , The Institute of Electronics, Information and Communication Engineers  , E93-D  , 2737-2746  , 2010/10   

概要(Abstract) We identify concepts of reversibility for a functional language by means of a set of semantic rules with specific properties. These properties include injectivity along with local backward determinism, an important operational property for an efficient reversible language. We define a concise reversible first-order functional language in which access to the backward semantics is provided to the programmer by inverse function calls. Reversibility guarantees that in this language a backward run (inverse interpretation) is as fast as the corresponding forward run itself. By adopting a symmetric first-match policy for case expressions, we can write overlapping patterns in case branches, as is customary in ordinary functional languages, and also in leaf expressions, unlike existing inverse interpreter methods, which enables concise programs. In patterns, the use of a duplication/equality operator also simplifies inverse computation and program inversion. We discuss the advantages of a reversible functional language using example programs, including run-length encoding. Program inversion is seen to be as lightweight as for imperative reversible languages and realized by recursive descent. Finally, we show that the proposed language is r-Turing complete. 

備考(Remarks)  

2009  Reversible Computation and Reversible Programming Languages  単著   
Electronic Notes in Theoretical Computer Science  , Elsevier  , 253(6)  , 71-81  , 2010/03   

概要(Abstract)  

備考(Remarks) 以下における招待講演を改訂したもの.
Reversible Computation 2009. 

2009  Heuristics for Static Voltage Scheduling Algorithms on Battery-Powered DVS Systems  未設定   
2009 International Conference on Embedded Software and Systems  , IEEE Computer Society  , 265-272  , 2009/05   

概要(Abstract) The principles for good design of battery-aware voltage scheduling algorithms for both aperiodic and periodic task sets on dynamic voltage scaling (DVS) systems are presented. The proposed algorithms are based on greedy heuristics suggested by several battery characteristics and Lagrange multipliers. To construct the proposed algorithms, we use the battery characteristics in the early stage of scheduling more properly. As a consequence, the proposed algorithms show superior results on synthetic examples of periodic and aperiodic tasks from the task sets which are excerpted from the comparative work, on uniprocessor platforms. Especially, for some large task sets, the proposed algorithms enable previously unschedulable task sets due to battery exhaustion to be schedulable. 

備考(Remarks)  

Page: [<<PREV] [1] [2] [3] [NEXT>>]