データセットが難しい理由
「データセット」はテストに使うための集合を意味するが、前もって生成して保存しておくか、その場で作る。データセットの議論は以外に難しい。
ちと考えてみたら、データセットの圏というのがけっこう変な圏なので。それで直観が効きにくく、難しさに繋がっている。データセットは整列順序 (well-order) を持つので、高々加算の整列集合の圏だと思ってよい。が、列挙(enumeration)とかノルムとかも考える。列挙やノルムの構造をうまく作ろうとすると、直積/直和のデカルト構造は壊れてしまう。
データセットの圏は、デカルト圏からすごく離れてしまう。しかし、直積・直和の痕跡みたいな演算が残っていて、これは対称でも結合的でもない双関手(または多項関手)となる。バイノイド積程度の構造しか持たない。だが、忘却関手でもとのデカルト圏に写すと直積・直和が再現する。
アルゴリズム的には、整列集合を添字とする集合族(ファイバー構造)が重要で、ツリーのように扱って深さ優先/幅優先のトラバースを行う。二種類のトラバースをうまく組み合わせるのがコツ。