現在、正常に機能しているすべての可能な候補キーを決定するために、Java で次のアルゴリズムを実装しました。リンクは以下です: -
http://shubhamshoundic.blogspot.com/2012/08/an-algorithm-to-find-all-possible.html
ただし、最悪の場合、つまり、すべての属性が FD の両側に存在する場合 (上記のリンクで定義された M の場合のように)、処理できる FD の数は 12 または 13 に減少します。
理由は、Java のヒープ領域が限られているためです。次のエラーがスローされています:-
私の要求は、処理される FD の数を少なくとも 20 に改善するために、より単純な複雑さ (現在は指数関数) を持つアルゴリズムを実装するのを手伝ってくれることです。
マルチプロセッシングを使用して計算しようとするか、Java ではなく別の言語に移行する必要があります。