C 学生并行编程项目的构想

C 学生并行编程项目的构想,c,parallel-processing,C,Parallel Processing,我想用C语言为一个类做一个并行编程项目(可能使用pthreads或OpenMP)。它将由大约四名学生组成的小组完成,大约需要4周的时间。我想用一个更复杂的算法来解决一些NP完全问题会很有趣,比如用模拟退火的遗传算法,但我不确定这是否是一个足够大的项目 有人知道任何可以从并行方法中受益的酷问题吗?我记得我们大学有一个关于并行化alpha-beta修剪算法的“学习”项目。Alpha-beta修剪本身并不太复杂,并且具有相当大的复杂性。如果将其并行化,则需要安装一些信令/数据共享,才能真正从并行化中获

我想用C语言为一个类做一个并行编程项目(可能使用pthreads或OpenMP)。它将由大约四名学生组成的小组完成,大约需要4周的时间。我想用一个更复杂的算法来解决一些NP完全问题会很有趣,比如用模拟退火的遗传算法,但我不确定这是否是一个足够大的项目


有人知道任何可以从并行方法中受益的酷问题吗?

我记得我们大学有一个关于并行化alpha-beta修剪算法的“学习”项目。Alpha-beta修剪本身并不太复杂,并且具有相当大的复杂性。如果将其并行化,则需要安装一些信令/数据共享,才能真正从并行化中获益。否则,一些线程将过于频繁或深入到其他线程认为已经太糟糕的分支中。我认为这可能是一个很好的用例。

在多线程/处理中是并行的,还是在多台计算机之间分布的?它需要如此理论化吗?在现实生活中,NP完全、C和多核在我看来并不是很好地混合在一起——它们在光谱的另一边。你可以只做一些信号/音频/图像处理。对不起,应该澄清一下,就像在多线程中一样,它将在一台机器上运行。哈密斯,为什么NP完全问题不能与多线程很好地结合?(虽然我同意,对于很多NP完全的东西,像LISP这样的语言比C语言要好得多)是的。。。从实用的角度来看。C可以提高效率,但编程速度非常慢。Lisp/Clojure/Python用于算法。彼得·诺维格更喜欢Python。你没有告诉我们这是什么课。