Right now I have implemented following algorithm in java for determining all possible candidate keys which is working fine. The link is below:-
http://shubhamshoundic.blogspot.com/2012/08/an-algorithm-to-find-all-possible.html
But in worst case, i.e., if all attributes are present on both sides of the FD (as in case M defined in above link), the number of FD which can be handled are reduced to 12 or 13 .
Reason is limited heap space in java. Following error is being thrown:-
My request is to help me is in implementing such algorithm which will have simpler complexity (Right now its exponential) to improve the number of FD being handled to at least 20.
Should I try to calculate it using multiprocessing or should I shift to another language rather than java.