Skip to main content
QUICK REVIEW

[論文レビュー] Ramified Structural Recursion and Corecursion

Norman Danner, James S. Royer|arXiv (Cornell University)|Jan 22, 2012
Logic, programming, and type systems参考文献 4被引用数 3
ひとこと要約

本稿では、ramified構造的再帰およびコリカーシブ構造を用いて、帰納的データ(例:リスト、木)および余帰納的コデータ(例:ストリーム、無限木)の両方において、実行可能で多項式時間の計算を可能にする、Bellantoni-Cook形式の型付きプログラミング形式RS₁を紹介する。構造共有とメモ化を統合することで、RS₁は多項式時間の実行時間制限を保証し、型制限によってω-正則言語や対数空間ストリームといった複雑性クラスを特徴付ける。

ABSTRACT

We investigate feasible computation over a fairly general notion of data and codata. Specifically, we present a direct Bellantoni-Cook-style normal/safe typed programming formalism, RS1, that expresses feasible structural recursions and corecursions over data and codata specified by polynomial functors. (Lists, streams, finite trees, infinite trees, etc. are all directly definable.) A novel aspect of RS1 is that it embraces structure-sharing as in standard functional-programming implementations. As our data representations use sharing, our implementation of structural recursions are memoized to avoid the possibly exponentially-many repeated subcomputations a naive implementation might perform. We introduce notions of size for representations of data (accounting for sharing) and codata (using ideas from type-2 computational complexity) and establish that type-level 1 RS1-functions have polynomial-bounded runtimes and satisfy a polynomial-time completeness condition. Also, restricting RS1 terms to particular types produces characterizations of some standard complexity classes (e.g., omega-regular languages, linear-space functions) and some less-standard classes (e.g., log-space streams).

研究の動機と目的

  • 一般のデータおよびコデータ(ストリーム、無限木など無限構造を含む)のための実行可能計算フレームワークの開発。
  • 型レベル1計算のため、Bellantoni-Cook形式の通常/安全ramificationを再帰およびコリカーシブ両方に拡張すること。
  • データ表現における構造共有を組み込み、メモ化によって再帰的再計算を回避すること。
  • 多項式ファンクタ(例:リスト、ストリーム、有限/無限木)上でRS₁に対して多項式時間の健全性および完全性を確立すること。
  • RS₁の項に特定の型制限を施すことによって、標準的および非標準的複雑性クラス(例:ω-正則、対数空間ストリーム)を特徴付けること。

提案手法

  • RS₁は、帰納的データにおける構造的再帰を扱う基盤系S⁻を拡張し、ramified通常/安全型付けを適用してRS⁻₁を構築する。
  • コデータへの拡張は、コリカーシブ拡張Sを介して行われ、コリカーシブ構成にramificationを適用することで複雑性の上限を保証する。
  • RS₁のデータ表現では構造共有がネイティブにサポートされており、繰り返しの部分計算を避けるメモ化評価が可能である。
  • データ(共有を考慮)およびコデータ(型2複雑性のアイデアを用いて)のサイズ測度が定義され、第二階層多項式から多項式ヒープ境界が導出される。
  • RS₁における型レベル1関数は、第二階層多項式を用いた多項式ヒープサイズの有界性定理により、多項式的に有界な実行時間を有することが示される。
  • 複雑性クラスは、RS₁の項を特定の型に制限することによって特徴付けられ、例としてω-正則言語はunit → stream関数によって特徴付けられる。

実験結果

リサーチクエスチョン

  • RQ1一貫した形式的枠組みは、構造的再帰およびコリカーシブ構造を用いて、有限データと無限コデータの両方における実行可能計算をサポートできるか?
  • RQ2データ表現における構造共有は、実行時間の複雑性および実装効率にどのように影響するか?
  • RQ3型システムにおいてramified再帰とコリカーシブを組み合わせることで、多項式時間の境界を保証できるか?
  • RQ4RS₁における型の制限によって特徴付けられる複雑性クラスは何か? それらは既知のクラスとどのように比較できるか?
  • RQ5RS₁における共有の取り扱いは、共有を禁止するPolaのようなシステムと比べてどのように異なるか?

主な発見

  • RS₁は、第二階層多項式を用いた多項式ヒープサイズの有界性定理により、型レベル1関数のすべてに対して多項式時間の実行時間制限を保証する。
  • 本システムは、多項式ファンクタ(リスト、ストリーム、有限/無限木など)を用いて直接的にリスト、ストリーム、有限および無限木を定義でき、構造共有により効率的かつメモ化された評価が可能である。
  • RS₁は、基本型に制限を加えた場合、型unit → streamの関数としてω-正則言語を特徴付ける。
  • 対数空間ストリームは、自然数カウンタ型(nat)を含むRS₁の型に制限することで捉えられ、二種類の型の複雑性特徴付けと整合する。
  • 線形空間ストリーム関数は、natを基本型として含むRS₁関数の型stream → streamとして特徴付けられる。
  • この形式的枠組みは、データおよびコデータ上の安全関数に対して、複雑性理論的に保存的拡張を提供し、サイズおよび観察されたサイズの境界を有する。

より良い研究を、今すぐ始めましょう

論文の読解から最終レビューまで、研究時間を劇的に削減しましょう。

クレジットカード登録不要

このレビューはAIが作成し、人間の編集者が確認しました。