Системы искусственного интеллекта

Автор работы: Пользователь скрыл имя, 29 Мая 2012 в 23:13, практическая работа

Описание работы

Целью выполнения практической работы по курсу «Системы искусственного интеллекта» является написание программы экспертной системы для любой предметной области, близкой исполнителю.
Существуют различные способы предоставления знаний в экспертных системах и соответственно различные методы построения базы знаний и логического вывода.
Один из возможных методов работы с ненадёжной, неопределенной информацией основанный на применении теории вероятностей, называется байесовский.

Содержание работы

Введение…………………………………………………………………………………………………………………………………………..……3
База знаний.……………………………………………………………………………………………………………………………………..……4
Описание предметной области……………………………………………………………………………………………………..……..4
Признаки и их значения………………………………………………………………………………………………………………………..4
Список вопросов …………………………………..………………………………………………………………………………………………4
Байесовский подход………………………………………………………………………………………………………………………………5
Расчёт вероятностей……………………………………………………………………………………………………………………………...5
Таблица вероятностей..………………………………………………………………………………………………………………………...6
Разработка Экспертной системы………………………………………………………………………………………………………...7
Взвешивание ответа пользователя..…………………………………………………………………………………………………..…8
Механизм логического вывода…………………………………………………………………………………………………………….9
Опыты……………..………...…………………………………………………………………………………………………………………………10
Заключение………………………………………………………………………………………………………………………………………….12
Список литературы………………

Файлы: 1 файл

ргр.docx

— 86.81 Кб (Скачать файл)
tyle="margin-bottom:0pt;line-height:12pt">        {

            listBox1.Items.Clear();

            if (checkBox1.Checked)

            for (float j = 1; j > -0.01; j -= (float)0.01)

            {

                for (int i = 0; i < ish; i++)

                {

                    if (ver[i] >= j && ver[i]< (j + 0.01) ) listBox1.Items.Add(ver[i] + " - " + gipotez[i]);

                }

            }

            else for (int i = 0; i < ish; i++)

                {

                    listBox1.Items.Add(ver[i] + " - " + gipotez[i]);

                }

        }

 

        private void button2_Click(object sender, EventArgs e)

        {

            refresh();

        }

 

        private void button3_Click(object sender, EventArgs e)

        {

            make();

        }

 

        private void button4_Click(object sender, EventArgs e)

        {

            Otmena.Add((float[])ver.Clone());

            for (int i = 0; i < ish; i++)

            {

                if (yes[i, t] != 0)

                {

                    if (yes[i, t] == 2) yes[i, t] = 0;

                        ver[i] = (ver[i] * yes[i, t]) / (ver[i] * yes[i, t] + no[i, t] * (1 - ver[i]));

                }

            }

            listBox2.Items.Add(voprosi[t] + " - Да");

            vse();

        }

 

        private void button5_Click(object sender, EventArgs e)

        {

            Otmena.Add((float[])ver.Clone());

            for (int i = 0; i < ish; i++)

            {

                if (no[i, t] != 0 || yes[i, t] == 1)

                {

                    if (yes[i, t] == 2) yes[i, t] = 0;

                    ver[i] = (ver[i] * (1 - yes[i, t])) / (ver[i] * (1 - yes[i, t]) + (1 - no[i, t]) * (1 - ver[i]));

                }

            }

            listBox2.Items.Add(voprosi[t] + " - Нет");

            vse();

        }

 

        public void vse()

        {

            t += 1;

            if (t == ish)

            {

                textBox1.Text = "Всё!";

                button4.Enabled = false;

                button5.Enabled = false;

                button6.Enabled = false;

                label7.ResetText();

            }

            else { textBox1.Text = voprosi[t]; label7.Text = (t + 1).ToString(); }

            refresh();

        }

 

        private void button6_Click(object sender, EventArgs e)

        {

            vse();

        }

 

        private void checkBox1_CheckedChanged(object sender, EventArgs e)

        {

            refresh();

        }

 

 

        private void listBox1_KeyDown(object sender, KeyEventArgs e)

        {

            if (e.Control == true && e.KeyCode == Keys.C) Clipboard.SetText(listBox1.SelectedItem.ToString());

        }

 

        private void button2_Click_1(object sender, EventArgs e)

        {

            ver = Otmena[Otmena.Count - 1];

            Otmena.RemoveAt(Otmena.Count - 1);

            listBox2.Items.RemoveAt(listBox2.Items.Count - 1);

            refresh();

        }

    }

}

 

 

 

 

Информация о работе Системы искусственного интеллекта