Нейронная сеть Хопфилда
Автор: mironov185 • Май 21, 2018 • Лабораторная работа • 368 Слов (2 Страниц) • 528 Просмотры
МИНИСТЕРСТВО ОБРАЗОВАНИЯ РЕСПУБЛИКИ БЕЛАРУСЬ
УЧРЕЖДЕНИЕ ОБРАЗОВАНИЯ
ГОМЕЛЬСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ ИМЕНИ П. О. СУХОГО
Факультет автоматизированных и информационных систем
Кафедра «Информационные технологии»
ОТЧЕТ ПО ЛАБОРАТОРНОЙ РАБОТЕ №9
по дисциплине «Базы знаний и поддержка принятия решений в системах автоматизированного проектирования»
на тему: ««Нейронная сеть Хопфилда»
Выполнил: студент гр. ИТ-31
.
Приняла: преподаватель
Сидоракина Ю.А.
Гомель 2018
Цель: Изучение технологии, алгоритма функциональности Хопвилда.
Задание на лабораторную работу:
[pic 1]
Листинг программы:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.IO;
namespace Xopvild
{
public partial class XP_LB9 : Form
{
public string filePath = "";
static int N = 7;
static int M = 5;
public int kol_neronov = N * M;
public int[] vector = new int[N * M];
public int[,] W = new int[N * M, N* M];
public double proc = 0;
public XP_LB9()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
int x = 0;
int res = 0;
int k = 0;
int[] vector1 = new int[kol_neronov];
proc = Convert.ToDouble(comboBox1.Text);
Random random = new Random();
for (int i = 0; i < vector.Length; i++)
{
vector1[i] = vector[i];
}
int kol = Convert.ToInt32(vector1.Length * (proc / 100));
for (int i = 0; i < kol; i++)
{
res = random.Next(1, vector1.Length);
if (vector1[res] == 1)
{
vector1[res] = -1;
}
else vector1[res] = 1;
}
int[] Y2 = new int[kol_neronov];
...