【发布时间】:2018-11-02 21:37:46
【问题描述】:
感谢您的所有帮助和分享。
我的问题是关于随机搜索。该技术用于通过定义数量的 cicles 对数据进行近似计算,通常是数学计算。请参阅以下代码,我试图将其减少到最低限度。我的期望是将此代码设置为 lambda 表达式,即 for 循环,我希望它具有最佳性能。我有一些意图,但我不确定我是否充分利用了它。
package stochasticsearch;
import java.util.Random;
public class StochasticSearch {
public static double f(double x) {
return -(x - 1) * (x - 1) + 2;
}
public static void main(String[] args) {
final Random random = new Random();
double startPointX = 0;
double max = f(startPointX);
long begin = System.currentTimeMillis();
for (int i = 0; i < 1000000000; i++) {
double index = 2 * random.nextDouble();
if (f(index) > max) {
max = f(index);
}
}
System.out.println("Elapsed time: " + (System.currentTimeMillis() - begin));
System.out.println("Maximum value y=f(x) is " + max);
}
}
谢谢,祝你有美好的一天。
【问题讨论】:
标签: java algorithm performance artificial-intelligence stochastic