main cll Algorithm

The Conditional Likelihood of Improvement (CLL) algorithm is a popular optimization technique used in the field of machine learning, specifically in the context of hyperparameter optimization. The main goal of the CLL algorithm is to find the optimal set of hyperparameters that maximize the performance of a given machine learning model. This is achieved by constructing a probabilistic model, also known as a surrogate model, that captures the relationship between the hyperparameters and the performance metric. In other words, the CLL algorithm seeks to identify the most promising hyperparameters by quantifying the likelihood of improvement in the model's performance. The CLL algorithm operates in an iterative manner, where at each iteration, the algorithm selects a new set of hyperparameters to evaluate based on the current surrogate model. The selection process involves computing the conditional likelihood of improvement for each candidate set of hyperparameters, and then choosing the one with the highest likelihood. Once the new hyperparameters are chosen, the model is trained and evaluated, and the results are incorporated into the surrogate model. This iterative process continues until a stopping criterion is met, such as a maximum number of iterations or reaching a desired level of performance. Throughout this process, the CLL algorithm balances the trade-off between exploration (searching new regions of the hyperparameter space) and exploitation (focusing on the most promising regions), ultimately converging towards a set of hyperparameters that yield the best performance for the given task.
#include "cll.h"
using namespace std;

int main()
{
	/* Test CLL */
	cout << "----------- Test construct -----------" << endl;
	cll list1;
	list1.display();
	cout << "----------- Test insert front -----------" << endl;
	list1.insert_front(5);
	cout << "After insert 5 at front: "<<endl;
    list1.display();
	cout << "After insert 10 3 7 at front: "<<endl;
	list1.insert_front(10);
	list1.insert_front(3);
	list1.insert_front(7);
	list1.display();
	cout << "----------- Test insert tail -----------" << endl;
	cout << "After insert 18 19 20 at tail: "<<endl;
	list1.insert_tail(18);
	list1.insert_tail(19);
	list1.insert_tail(20);
	list1.display();
	cout << "----------- Test find item -----------" << endl;
	if (list1.find_item(10))
		cout << "PASS" << endl;
	else
		cout << "FAIL" << endl;
	if (!list1.find_item(30))
		cout << "PASS" << endl;
	else
		cout << "FAIL" << endl;
	cout << "----------- Test * operator -----------" << endl;
	int value = *list1;
	cout << "Value at *list1: " << value <<endl;
	cout << "----------- Test ++ operator -----------" << endl;
	list1.display();
	++list1;
	cout << "After ++list1: " <<endl;
	list1.display();

	return 0;
}

LANGUAGE:

DARK MODE: