I have to write a program in python which minimizes a boolean function, but the catch is that I have to use search algorithms for example A* or simpler algorithm BFS or something like that. I wrote a program using Iterative deepening, it solves every problem, but it is too slow (limit is 20s for each problem).
So I wrote another program using A* algorithm, (we were told that if we want better grade we have to use this one), but I managed to make it 10-times slower than the one using Iterative deepening and this is because I can't figure out right heuristics for algorithm. I can't figure out what would be criteria for effective minimizing (good heuristics).
PROBLEM:
You are given list of lists ([[0,1,0,1],[...],[...],[....],...]) representing the truth table (last element in inner list represent value of the function). Write a program that finds a minimal disjunctive form of boolean function using only search algorithms (example A*, BFS, IDA*, DFS, ..). For each problem you have 20s to solve it.