function rank_list = gcd(normalized_conductance, alpha, K) takes in a row normalized conductance matrix "normalized_conductance", the pagerank parameter for jumping to restart state "alpha", and number of rank location to be filled and returns an array of size K*1 that contains ranking.

One possible ussage is given in imdb.m. 

What are the parameters that can be varied to get optimal result

	normalized_conductance:- This matrix can be calculated in various differnet ways (see imdb.m for one possible way), it can be truncated, and many differnt conductance marices can be combined to give a single conducntance matrix. It will definitely depend on which problem is being dealt with. See submodular paper for more ways of making this matrix. Refer to section 5.1
	
	alpha:- This controls the probability of jumping to the restart state It can be varied from .05 to .95 without having any problems
	
	weight:- This is a variable within gcd, It weight how personalized page rank of items at different ranks be combined to give single PPV. It can be exponentialy decaying, or NDCG type decay or uniform. Change line 8 and 9 in gcd.m for this
	
	distance meassure:- Its currently set to entropy in gcd.m. This determines the objective that is being maximised or minimised, can be L1, L2, KL etc. depending on the application. Change line 221 in gcd.m for changing this meassure. 
	
	
	
function l = get_max_ent_features(X) This function takes input in the form of number of queries * number of features * lenght of each ppv vector for optimal ordering and gives as output the value of lambda which is a weight vector for each feature. refer to section 5.2.1 for details of the objective. It uses cvx so please have cvx installed.
