• Search Research Projects
  • Search Researchers
  • How to Use
  1. Back to project page

2014 Fiscal Year Research-status Report

関数型の視点からの効率的可逆シミュレーションおよび可逆プログラミング方法論の拡張

Research Project

Project/Area Number 25730049
Research InstitutionNanzan University

Principal Investigator

横山 哲郎  南山大学, 理工学部, 准教授 (80456631)

Project Period (FY) 2013-04-01 – 2017-03-31
Keywords可逆計算 / 可逆シミュレーション / 自己解釈系 / 可逆万能性
Outline of Annual Research Achievements

本研究では、可逆プログラミング言語の設計、および可逆プログラミング方法論の確立を目的としている。平成26年度は、効率的な可逆シミュレーション方法、可逆命令型プログラミング言語の比較・他の分野のプログラミング言語との比較、および実用的な応用に取り組んできた。命令型プログラミング言語Janusについては、引数渡し機構を拡張して,その拡張言語が可逆であることを示した。これは、当初掲げた目標である可逆性が厳密に保証された関数型可逆プログラミング言語の設計および実装の一部を実現できたことにあたる。このプログラミング言語の拡張が進み、さらに可逆プログラミングの経験を蓄積することにより、計算過程における情報消失が無い可逆アルゴリズムや非可逆アルゴリズムの可逆シミュレーションの基礎的な概念・理論を発展させることにつながると考えられる。
可逆プログラミング言語は、高水準で可逆性の活用を支援すると共に、独自のプログラミング手法を提供する。言語に望まれる性質には、可逆万能性、厳密な可逆性、高い表現能力がある。計算理論の世界では、線形時間自己解釈系が存在する万能言語を用いた場合、定数時間階層が存在して、最適万能検索が可能であることが知られている。しかし、可逆な言語において線形時間自己解釈系が存在する可逆万能言語については、これまで報告がなかった。われわれは、木構造を可逆に扱うことができる万能な命令型言語を提案して、可逆の世界でも対応する理論が成立することを示した。
特定のプログラミング言語を離れて、どのように可逆なアルゴリズムを設計するかは、まだ手法が確立しているとは言えない。平成26年度は、いくつかの基本的なアルゴリズムのゴミを以下に扱うかについて研究を行った。

Current Status of Research Progress
Current Status of Research Progress

2: Research has progressed on the whole more than it was originally planned.

Reason

本研究では、可逆プログラミング言語の設計、および可逆プログラミング方法論の確立を目的としているが、この下で研究を進めることができた。より具体的には、平成26年度は、当初の計画である、効率的な可逆シミュレーション方法、可逆命令型プログラミング言語の比較・他の分野の言語との比較、および実用的な応用に取り組むことができた。これらの内容をまとめて、情報処理学会の雑誌から発表を行うことができた。これらの一連の成果は、当初掲げた目標である可逆性が厳密に保証された関数型可逆プログラミング言語の設計および実装の一部を実現できたことにあたる。
可逆関数型プログラミング言語の利点には、木構造のデータを扱うのが容易であることが含まれる。平成26年度発表した命令型プログラミング言語には、木構造のデータが導入されており、多くのアルゴリズムをこれまでの可逆プログラミング言語よりも容易に記述することが可能になった。これらの言語を用いることで今まで知られていなかった自明でない性質を示すことができた。これらの成果は、ソフトウェア科学会のワークショップで発表された。
可逆プログラミングの方法論については、基礎的なアルゴリズムが得られてきているものの、理論整備が不十分であり確立したとは言い難い状況である。研究を進めてはいるが、対外発表をするところにまでは至っていない。

Strategy for Future Research Activity

可逆プログラミング言語の設計および可逆プログラミング方法論について、引き続き取り組みを行いたい。可逆プログラミング言語の種類としては、命令型プログラミング言語に加えて関数型プログラミング言語を対象にするか、関数型の特徴をもつプログラミング言語を対象としたい。可逆プログラミングの方法論については、未だに基礎的なアルゴリズムにしか良いものが得られてないため、平成27年度以降に引き続き取り組みたい。プログラム逆変換や双方向変換との比較を実施して、より可逆プログラミング言語の概念を明確化して特徴付けたい。効率的可逆シミュレーションについては、ケーススタディを継続すると共に、それらの導出法の共通点からエッセンスを抽出し、より効率的な可逆シミュレーションの自動導出法の確立を目指したい。可逆プログラミング言語を計算機上で実現するためには、今後も実装上の課題を解決する必要がある。これまでに整備した可逆プログラミング言語の理論を元に実装を継続する。こうした取り組みを通じて、応用範囲を拡大してより実用的な問題を提案プログラミング言語を用いて解決したい。

  • Research Products

    (3 results)

All 2015 2014

All Journal Article (2 results) (of which Peer Reviewed: 2 results,  Acknowledgement Compliant: 1 results) Presentation (1 results)

  • [Journal Article] 可逆プログラミング言語の引数渡し機構の拡張2014

    • Author(s)
      新海由侑、田中秀明、横山哲郎
    • Journal Title

      情報処理学会論文誌:プログラミング

      Volume: 7-4 Pages: 21-36

    • Peer Reviewed / Acknowledgement Compliant
  • [Journal Article] Designing Garbage-Free Reversible Implementations of the Integer Cosine Transform2014

    • Author(s)
      Alexis De Vos, Stephane Burignat, Robert Glueck, Torben AEgidius Mogensen, Holger Bock Axelsen, Michael Kirkedal Thomsen, Eva Rotenberg, Tetsuo Yokoyama
    • Journal Title

      ACM Journal on Emerging Technologies in Computing Systems

      Volume: 11 Pages: 1-15

    • DOI

      10.1145/2629532

    • Peer Reviewed
  • [Presentation] A Linear-Time Reversible Self-Interpreter2015

    • Author(s)
      横山哲郎、ロバートグリュック
    • Organizer
      第17回プログラミングおよびプログラミング言語ワークショップ
    • Place of Presentation
      道後プリンスホテル(愛媛県・松山市)
    • Year and Date
      2015-03-06

URL: 

Published: 2016-06-01  

Information User Guide FAQ News Terms of Use Attribution of KAKENHI

Powered by NII kakenhi