私はまだ解決策を持っていないこの特定の問題を抱えています。関連するアルゴリズムが存在することを知っていれば役立つと思います。
私が探しているアルゴリズムは、関数によって返される目標を満たす引数を見つけるのに役立つアルゴリズムです。
たとえばa works for b
、(a,b)
Given: [ (a,b); (b,c) ]
関数works
はブール値との関係を保証します
let works a b -> true
let works b c -> true
今、私は与えられています
[ (a, "x"); ("x", c) ]
これら 2 つのバインディングを true にしたい場合、この関数は true でなければなりません
let works a "x" -> true
let works "x" c -> true
今、私はそのようなことを達成するのに役立つ関数/アルゴリズムを書こうとしています"x" = b
バックトラックを考えていましたが、まだ実装方法がわかりません。誰かが私にヒントを提供していただければ幸いです。
補足として、関数型プログラミング パラダイムを使用して F# でアルゴリズムを実装しています。