在我的項目中,我面臨一個場景,其中具有多個輸入的功能。在某個時候,我得到了一個結果,我需要找到一個生成結果的輸入組合。根據可變整數輸入,我可以使用什麼算法來查找任何有效結果
下面是一些僞代碼說明了這個問題:
雙Y = F(X_0,...,x_n)
我提供y和我需要找到任何組合這符合輸入。
我在紙上嘗試了幾件事情,可能會生成一些東西,但是我的每個參數都有6.5 x 10^9個可能值的範圍 - 所以我想要獲得最佳執行時間。
有人可以命名一個算法或一個對我有用的主題,所以我可以讀取其他人如何解決simmilar問題。
我正在考慮從輸入和判斷中創建一個向量,這個向量適合問題有多好。這聽起來很像NN,但沒有可用的訓練階段。
編輯: 謝謝大家的反饋意見。評論總結了我所遇到的問題,我會嘗試一些沿着爬山的路線。
我不明白你想達到什麼目的。你是否試圖找到可能產生期望輸出的輸入?在不知道函數是什麼的情況下 - 即使您可以無限次地採樣函數,也不可能知道。但是,如果對'f'有一些瞭解 - 可能會完成(例如:它是多項式嗎?) – amit
您試圖做什麼的一個觀點是解決*反問題*。另一種觀點是,你正試圖選擇一個「x」值的矢量來最小化計算的「y」和目標「y」之間的差異,這使你成爲一個*優化問題*。有很多算法可以解決這些問題,但是如果沒有關於問題的更多信息,就不會有好的建議。 –
你似乎在問一個方程求解器。它很大程度上取決於'f'的種類和'x_i'的域選擇哪種方法。例如,如果「y」和「x_i」的域是實數,而「f」是多項式(實數),則需要多項式根找到器。 –