データ構造の階層関係 (メモ)
このページは個人的なメモ書きです。何かあればご連絡ください。
より広範な概念から順番に?
もともと「デカルト閉圏 → DG → DAG → Tag → Tree → List」を考えていたんだけど、chatgpt.icon的にはこうreviseしたほうがいいって。
明確に包含関係にあるのは「DG → DAG(+非巡回性) → Tree(+単一親) → List(単一子)」。
Set(集合)はどう考える?
- CCC; Closed Cartesian Category
- デカルト閉圏
- プログラミング言語における型
- 射そのものを対象にすることができる
- CCC構造を持つハイパーテキストは構成可能か?
- つまりページからページへのリンクではなく、リンクからページ、ページからリンク、リンクからリンクへのリンクをを作ることは出来るか? そしてそれはどういう意味を持つか?
- Directional Graph(有向グラフ)
- 相互参照を許容する
- ハイパーリンクはコレ
- CosenseもDGとしての構造を有している
- CMSのデータ設計は須らくDGとして設計されていたほうがいいんじゃないか
- DAG; Directed Acyclic Graph(非巡回有向グラフ)
- DGに対して「非巡回性」という制約を付与したもの
- Program Dependency Tree
- Reactive Programming
- ノードベースUI
- Bipartite Graph(2部グラフ)
- オブジェクト(括られるもの; 対象)とタクソノミー(分類子; タグ)の二元論
- CMS、ファイルシステムでいうTag
- ラベル、ハッシュタグ
- オブジェクトは複数のタグに紐づけることができる
- Tree
- DAGに「親が一つだけ」という制約
- CMSにおけるカテゴリー。(圏とは異なる意味)
- ファイルシステム
- ディレクトリ(括るもの)とファイル(括られるもの)
- Redditのような電子掲示板
- List
- Tree Sturcutreに「子が一つだけ」という制約
- 圏論: 始代数
- 型理論: inductive type(List, Nat)
- ある元から後続する元へと対応付ける
succ: a -> aが存在する? - 自然数、タイムライン、ストリーム
- 2ch, 5chのような電子掲示板
>>1のような参照を通して、DGを構成することが出来る- Redditと違って、後続する未来のレスに対してもリンクを張ることができる
- SNSのタイムラインという概念は、ハイパーテキストが元来持っていたDGとしての性質を喜捨して、Listという構造の表現力の乏しいものにした
- リツイートという概念は、DAG性の付与? けど単一親ではあるから違う
