我必须在 python 中编写一个程序来最小化布尔函数,但问题是我必须使用搜索算法,例如 A* 或更简单的算法 BFS 或类似的东西。我用迭代加深写了一个程序,它解决了所有问题,但是速度太慢(每个问题限制为 20 秒)。
所以我用 A* 算法写了另一个程序,(我们被告知如果我们想要更好的成绩,我们必须使用这个),但我设法让它比使用迭代加深的程序慢 10 倍,这是因为我可以没有弄清楚算法的正确启发式。我无法弄清楚有效最小化(良好的启发式)的标准是什么。
问题:
您将获得代表真值表的列表列表 ([[0,1,0,1],[...],[...],[....],...])内部列表表示函数的值)。编写一个程序,仅使用搜索算法(例如 A*、BFS、IDA*、DFS 等)找到布尔函数的最小析取形式。对于每个问题,你有 20 多岁的时间来解决它。