再帰型とは? わかりやすく解説

再帰データ型

(再帰型 から転送)

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2022/02/17 16:09 UTC 版)

ナビゲーションに移動 検索に移動

再帰型: recursive type)とは、型の定義中にそれ自身の型が出現するような再帰する型のこと。相互再帰により直接は現れないものもある。再帰データ型: recursive data type)とは、データ型における再帰型のこと。

再帰データ型

多くのプログラミング言語では名前付きクラスで再帰型を扱うことが出来る。下記は Java での例。Tree のクラス定義の中で Tree を使用している。

class Tree {
    Tree[] children;
}

また、Haskellでのリスト型を示す。これは、リスト a は空のリストの場合と 'a' を先頭に持つリストの場合があることを示している。

data List a = Nil | Cons a (List a)

再帰型エイリアス

型エイリアスや型シノニムで再帰が使えるかどうかはプログラミング言語次第である。

TypeScript[1] などでは型エイリアスの中でも再帰が利用可能である。下記は TypeScript の例だが、型エイリアスだけで木構造の型を表現できる。

type Tree = number | Tree[];
let tree: Tree = [1, [2, 3]];

しかしながら、HaskellやOCamlMirandaの型シノニム宣言では再帰は許されていないので、以下のような Haskell での型定義は不正である。

type Bad = (Int, Bad)
type Evil = Bool -> Evil

それに対し、見た目は等価に思える代数的データ型は正当であり利用可能である。

data Good = Pair Int Good
data Fine = Fun (Bool->Fine)

理論

型システムは名前的型システムと構造的型システムに分かれる[2]。名前的型システムは Java を始め、多くのプログラミング言語で採用されていて、型に名前を付け、Java なら extends で何を継承しているか型の名前を使って記載する方法で、それを見れば再帰型であっても部分型関係(継承しているかどうか)は簡単に分かる。構造的型システムは、型の名前で判定するのではなく、型の構造で部分型関係にあるかどうか(関数の引数に渡せるかどうかなど)を判定する。以下、ここで述べるのは、構造的型システムでの再帰型の理論である。

型理論では、再帰型の一般形はμ型構築子を用いて μα.T で表される。ここで型変数 α は型そのものであると共に、型 T の中にも現われる可能性がある。部分型関係かどうかは S <: T と記載する。名前的型システムの Java ならば S extends T または S implements T (ただし親クラスを Object までたどる)であることを意味する。

例えば、自然数を Haskell のデータ型として表すと次のようになる(ペアノの公理参照):

data Nat = Zero | Succ Nat

また、型理論では カテゴリ


再帰型

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2021/11/16 07:46 UTC 版)

回帰型ニューラルネットワーク」の記事における「再帰型」の解説

詳細は「再帰型ニューラルネットワーク」を参照 再帰型ニューラルネットワーク英語版)(recursive neural network)は、トポロジカル順序可微分グラフ構造横断することによって、同じ一連の重み構造再帰的適用することによって作られるこのようなネットワーク典型的に自動微分反転モードによって訓練するともできる再帰型ニューラルネットワークは、論理項といった構造分散表現処理することできる再帰型ニューラルネットワーク特殊な場合が、構造直鎖対応するRecurrent回帰型)NNである。再帰型ニューラルネットワーク自然言語処理応用されてきた。再帰型ニューラルテンソルネットワークは、木中の全てのノードに対してテンソルベースの合成関数使用する

※この「再帰型」の解説は、「回帰型ニューラルネットワーク」の解説の一部です。
「再帰型」を含む「回帰型ニューラルネットワーク」の記事については、「回帰型ニューラルネットワーク」の概要を参照ください。

ウィキペディア小見出し辞書の「再帰型」の項目はプログラムで機械的に意味や本文を生成しているため、不適切な項目が含まれていることもあります。ご了承くださいませ。 お問い合わせ


英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

「再帰型」の関連用語

再帰型のお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



再帰型のページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
ウィキペディアウィキペディア
All text is available under the terms of the GNU Free Documentation License.
この記事は、ウィキペディアの再帰データ型 (改訂履歴)の記事を複製、再配布したものにあたり、GNU Free Documentation Licenseというライセンスの下で提供されています。 Weblio辞書に掲載されているウィキペディアの記事も、全てGNU Free Documentation Licenseの元に提供されております。
ウィキペディアウィキペディア
Text is available under GNU Free Documentation License (GFDL).
Weblio辞書に掲載されている「ウィキペディア小見出し辞書」の記事は、Wikipediaの回帰型ニューラルネットワーク (改訂履歴)の記事を複製、再配布したものにあたり、GNU Free Documentation Licenseというライセンスの下で提供されています。

©2025 GRAS Group, Inc.RSS