private void hill_run_btn_Click(object sender, EventArgs e)
        {
            textBox1.Text = "searching...";
            textBox1.Refresh();
            int[] a = helper.generate_random_array(number_of_queen());
            ILocal_Search <int[]> h   = new best_choise <int[]>();
            n_queens_problem      nqp = new n_queens_problem();

            int[] result = h.solve(nqp, a);
            textBox1.Text = print_n_queen_result(result);
        }
        private void button6_Click(object sender, EventArgs e)
        {
            textBox5.Text = "searching...";
            textBox5.Refresh();
            int color_constraint = number_of_colors();

            int[] a = helper.generate_random_array(number_of_nodes(), color_constraint);
            bool[,] adj_matrix = get_adjacency_matrix();
            ILocal_Search <int[]> h  = new best_choise <int[]>();
            graph_coloring        gc = new graph_coloring(adj_matrix, color_constraint);

            int[] result = h.solve(gc, a);
            textBox5.Text = print_graph_coloring_result(gc, result);
        }
        private void button1_Click(object sender, EventArgs e)
        {
            textBox1.Text = "searching...";
            textBox1.Refresh();
            int[] a;
            ILocal_Search <int[]> h   = new best_choise <int[]>();
            n_queens_problem      nqp = new n_queens_problem();

            int[] result;
            do
            {
                a      = helper.generate_random_array(number_of_queen());
                result = h.solve(nqp, a);
            } while (!nqp.total_satisfaction(result));

            textBox1.Text = print_n_queen_result(result);
        }