Ejemplo n.º 1
0
        private string print_n_queen_result(int[] result)
        {
            int    n  = result.Length;
            string pr = n + "-Queen problem:\r\n";

            for (int i = 0; i < n; i++)
            {
                pr += "|";
                for (int j = 0; j < n; j++)
                {
                    if (result[i] == j)
                    {
                        pr += "Q";
                    }
                    else
                    {
                        pr += "  .  ";
                    }
                }
                pr += "|\r\n";
            }
            n_queens_problem nqp = new n_queens_problem();

            if (!nqp.total_satisfaction(result))
            {
                pr += ("Algorithm trapped in local optimum!!");
            }
            return(pr);
        }
Ejemplo n.º 2
0
        private void button2_Click(object sender, EventArgs e)
        {
            textBox1.Text = "searching...";
            textBox1.Refresh();
            int[] a = helper.generate_random_array(number_of_queen());
            ILocal_Search <int[]> h   = new first_choise <int[]>();
            n_queens_problem      nqp = new n_queens_problem();

            int[] result = h.solve(nqp, a);
            textBox1.Text = print_n_queen_result(result);
        }
Ejemplo n.º 3
0
        private void button9_Click(object sender, EventArgs e)
        {
            textBox3.Text = "searching...";
            textBox3.Refresh();
            double initial_temp             = (double)numericUpDown6.Value;
            double cooling_factor           = double.Parse(textBox4.Text);
            simulated_annealing <int[]> sa  = new simulated_annealing <int[]>(initial_temp, cooling_factor);
            n_queens_problem            nqp = new n_queens_problem();

            int[] result = sa.solve(nqp, helper.generate_random_array(number_of_queen()));
            textBox3.Text = print_n_queen_result(result);
        }
Ejemplo n.º 4
0
        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);
        }
Ejemplo n.º 5
0
        private void button8_Click(object sender, EventArgs e)
        {
            textBox2.Text = "searching...";
            textBox2.Refresh();
            int n_beams = number_of_beams();
            int n_queen = number_of_queen();

            int[][] initialize_beams = new int[n_beams][];
            for (int i = 0; i < n_beams; i++)
            {
                initialize_beams[i] = helper.generate_random_array(n_queen);
            }

            local_beam_search <int[]> lbs = new local_beam_search <int[]>();
            n_queens_problem          nqp = new n_queens_problem();

            int[] result = lbs.solve(nqp, initialize_beams, n_beams);
            textBox2.Text = print_n_queen_result(result);
        }