Разработка методов и алгоритмов оценки надежности сетей телекоммуникации на основе нейронных сетей

Рассмотрение существующих методов для оценки надежности. Оценка надежности сети на основе нейронных сетей. Архитектура нейронной сети Кохонена. Реализация алгоритма и программы оценки надежности телекоммуникационных сетей с помощью нейронных сетей.

Рубрика Программирование, компьютеры и кибернетика
Вид диссертация
Язык русский
Дата добавления 24.05.2018
Размер файла 2,6 M

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

3. Количество нейронов в нейронном слою надо подобрать оптимальным образом. Так как повышения количество нейронов замедляет работы ПО, а понижения увеличивает искажения. При повышении количество нейронов больше 5 на одно измерения ПО обучения производилось очень долго так как количество нейронов внутреннем слое достигало 390625 шт. Обучения производилась более 15 тыс. данными.

4. Классы было условно разделено на 5 (A, B, C, D, E). Но можно менять количество классов на большее количество или на меньшее.

ПО разработанной в ходе выполнения исследований было создано для исследования и проверки работоспособности алгоритма. Программа отражает принцип работы одной из видов нейронной сети Кохонена.

Применение этого метода уместно в тех случаях, когда Легко получить входные параметры для нейронной сети. Нейронную сеть лучше обучать из знаний экспертов для достоверной работоспособности сети. Обученный сеть может выдавать быстрые и точные результаты. При таких условиях результаты будут иметь достаточную достоверность оценки надёжности.

Оптимальным параметром является при 3х разделениях на измерения. При этом скорость работы и результативвность оптимальный.

Алгоритм можно усложнить и модифициоровать для получения более лучших результатов и ускорить обучение сети.

Тестирование качества обучения нейросети необходимо проводить на примерах, которые не участвовали в ее обучении. При этом число тестовых примеров должно быть тем больше, чем выше качество обучения. Если ошибки нейронной сети имеют вероятность близкую к одной миллиардной, то и для подтверждения этой вероятности нужен миллиард тестовых примеров. Получается, что тестирование хорошо обученных нейронных сетей становится очень трудной задачей.

Библиографический список

1. Закон Республики Узбекистан №560-II «Об информатизации» от 11.12.2003.

2. Постановление Президента Республики Узбекистан №ПП-1730 «О мерах по дальнейшему внедрению и развитию современных информационно-коммуникационных технологий» от 21.03.2012.

3. Постановление Президента Республики Узбекистан №ПП-1920 «О государственной программе «Год благополучия и процветания» от 14.02.2013.

4. Постановление Президента Республики Узбекистан №ПП-1957 «О дополнительных мерах по ускоренному развитию сферы услуг и сервиса в сельской местности в 2013 - 2016 годах» от 17.04.2013.

5. Каримов И.А. Последовательное продолжение курса на модернизацию страны - решающий фактор нашего развития / Доклад Президента Ислама Каримова на торжественном собрании, посвященном 18-летию Конституции Республики Узбекистан. Ташкент, 07.12.2010.

6. Каримов И.А. Наша главная задача - дальнейшее развитие страны и повышение благосостояния народа / Доклад Президента Республики Узбекистан Ислама Каримова на заседании Кабинета Министров, посвященном итогам социально-экономического развития страны в 2009 году и важнейшим приоритетам экономической программы на 2010 год. Ташкент, 29.01.2010.

7. Каримов И.А. Все наши устремления и программы - во имя дальнейшего развития родины и повышения благосостояния народа / Доклад Президента Республики Узбекистан Ислама Каримова на заседании правительства по итогам социально-экономического развития страны в 2010 году и важнейшим приоритетам на 2011 год. Ташкент, 21.01.2011.

8. Каримов И.А. 2012 год станет годом поднятия на новый уровень развития нашей родины / Доклад Президента Республики Узбекистан Ислама Каримова на заседании Кабинета Министров, посвященном основным итогам 2011 года и приоритетам социально-экономического развития на 2012 год. Ташкент, 19.01.2012.

9. Круг П. Г. «Нейронные сети и нейрокомпьютеры» Москва Издательство МЭИ 2002 г.

10. . Сергей Кабыш статья «Надежность - прежде всего» · СЕТИ И ТЕЛЕКОММУНИКАЦИИ 2004 г.

11. А. А. Зацаринный, А.И. Гаранин, С. В. Козлов. статья «Некоторые Методические Подходы к Оценке Надежности Элементов Информационно-Телекоммуникационных Сетей» Системы и средства информатики 2011 г.

12. Конспект лекций для бакалавров направлений образования «Телекоммуникационные сети и системы» ТУИТ 2004г.

13. M.O. Ball, C.J. Colbourn, J.S. Provan “Network Reliability” Авторизованный перевод Семенова Ю.А. и Гончарова А.А. (ИТЭФ/ЦНТК) 2004 г.

14. Нейман Дж. Теория самовоспроизводящихся автоматов. Дж. Нейман. М.: Мир, 1971.

15. Wolfram S. A New Kind of Science. Wolfram Media. Inc., 2002.

16. Колесников С. Распознавание образов. Общие сведения /Газета"Компьютер-Информ". Программное обеспечение. http://www.ci.ru/.

17. Хайкин С. Нейронные сети: полный курс. М.: Вильямс, 2006.

18. Терехов С. А. Лекции по теории и приложениям искусственных нейронных сетей. Лаборатотория Искусственных Нейронных Сетей НТО-2. Снежинск. ВНИИТФ.

19. Smith R.A. Real-Time Language Recognition by One-Dimensional Cellular Automata // J. of Computer and System Sciences, v. 6 (1972), pp. 233-253.

20. Buchholz T., Klein A., Kutrib M. Real-Time Language Recognition by Alternating Cellular Automata /IFIG Research Report 9904. 1999. March.

21. Тоффоли Т., Марголус Н. Машины клеточных автоматов. М.: Мир, 1991.

22. Астафьев Г.Б., Короновский А.А., Храмов А.Е.. Клеточные автоматы. Саратов: Колледж. 2003. http://cas.ssu.runnet.ru/sgnp/data/papers/Train/CellAutomat.pdf.

23. Ulam S. Random Processes and Transformations / Procedings Int. Congr. Mathem. 1952. №2, pp. 264-275.

24. Shackleford B., Tanaka M., Carter R., Snider G. Cellular and Cryptographic Applications: FPGA implementation of neighborhood-of-four cellular automata random number generators. ACM Press. 2002.

25. Wolfram S. Cellular automation Fluids // J. Stat. Phys. 1986. Vol. 45, PP. 471-526.

26. Frish U. еt al. Lattice gas hydrodynamics in two and three dimensions // Complex Systems. 1987. Vol. 1, PP. 649-707.

27. Chopard B., Droz M. Cellular automata model for heat conduction in a fluid // Physics Letters A. 1988. Vol. 126. N 8/9, PP. 476-480.

28. Наумов Л.А. Разработка среды и библиотеки CAME&L для решения задач с использованием клеточных автоматов. СПбГУ ИТМО, 2003. http://is.ifmo.ru/papers/camel/.

29. Gardner M. The Fantastic Combinations of John Conway's New Solitaire Game “Life”// Scientific American. 1970. №223, pp. 120-123.

30. Хопкрофт Д., Мотвани Р., Ульман Д. Введение в теорию автоматов, языков и вычислений. М.: Вильямс. 2002.

31. Малинин В.В. Распознавание образов на ЭВМ. ЦИТ СГГА, 2005.

32. Orovas C. Cellular Associative Neural Networks for Pattern Recognition. University of York, 1999.

33. http://uzdtv.uz (UZDIGITAL TV).

34. http://press-service.uz (Пресс-служба Президента Республики.

35. http://book.itep.ru/ (Telecommunication technologies book).

36. http://www.ict.edu.ru/ (Портал "Информационно-коммуникационные технологии в образовании").

37. http://habrahabr.ru/ (электронный журнал «Хабрахабр»).

38. http://www.basegroup.ru/ (BaseGroup Labs).

39. http://inter-vuz.tuit.uz/Elib_baza//INTUIT.ru/ (INTUIT).

40. http://library.tuit.uz/( Электронная библиотека ТУИТ).

41. http://www.lessons-tva.info/ (сайт дистанционного обучения).

42. http://k504.org/ (ХАИ, Кафедра 504 "Приема, передачи и обработки сигналов").

Приложение

Листинг класса Neuron.

package neuro;

public class Neuron {

public String clName = "";

private int count = 0;

public double[] weights = new double[8];

public void addPoint(double[] point){

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

{

weights[i]=(point[i]+count*weights[i])/(count+1);

}

count++;

}

public void setNeuron(double[] point){

for(int i=0;i<8;i++)weights[i] = point[i];

}

public void setClName(String cl){

clName = cl;

}

public double test(double[] point)

{

double near = 0;

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

{

near+= (weights[i]-point[i])*(weights[i]-point[i]);

}

return Math.sqrt(near);

}

}

Листинг класса Layer.

package neuro;

import neuro.Neuron;

import java.sql.*;

import java.util.ArrayList;

public class Layer {

public Neuron[] layer;

public int searchWithName(double[] point, String clName)

{

int ind = 0;

double min = 3;

for(int i=0;i<layer.length;i++)

{

if(layer[i].clName.equals(clName)||layer[i].clName.equals("")){

double near = layer[i].test(point);

if(near<min)

{

ind = i;

min = near;

}}

}

return ind;

}

public int search(double[] point)

{

int ind = 0;

double min = 8;

for(int i=0;i<layer.length;i++)

{

if(!layer[i].clName.equals("")){

double near = layer[i].test(point);

if(near<min)

{

ind = i;

min = near;

}

}

}

return ind;

}

public void study()

{

Connection con = null;

int po = 0;

String url = "jdbc:mysql://localhost:3306/neuron?user=root&password=1";

//String url = "jdbc:mysql://localhost:1527/neuro?user=root&password=123";

try {

con = DriverManager.getConnection(url);

//Class.forName("org.apache.derby.jdbc.ClientDriver").newInstance();

Class.forName("com.mysql.jdbc.Driver").newInstance();

System.out.println("Got connection");

} catch (Exception e) {

System.out.println(e);

}

try {

Statement select1 = con.createStatement();

String ss1 = "select * from study;";

ResultSet result1 = select1.executeQuery(ss1);

while (result1.next()) {

po++;

double[] p = new double[8];

p[0] = Double.parseDouble(result1.getString(2));

p[1] = Double.parseDouble(result1.getString(3));

p[2] = Double.parseDouble(result1.getString(4));

p[3] = Double.parseDouble(result1.getString(5));

p[4] = Double.parseDouble(result1.getString(6));

p[5] = Double.parseDouble(result1.getString(7));

p[6] = Double.parseDouble(result1.getString(8));

p[7] = Double.parseDouble(result1.getString(9));

String clName = result1.getString(10);

int neuronIndex = searchWithName(p, clName);

//System.out.println(layer[neuronIndex].clName+" / "+clName);

layer[neuronIndex].addPoint(p);

layer[neuronIndex].setClName(clName);

}

} catch (SQLException ex) {

ex.printStackTrace();

}

System.out.println(po);

}

public ArrayList<String> test()

{

int yes = 0;

int no = 0;

Connection con = null;

ArrayList<String> ar=new ArrayList<String>();

String url = "jdbc:mysql://localhost:3306/neuron?user=root&password=1";

//String url = "jdbc:mysql://localhost:1527/neuro?user=root&password=123";

try {

con = DriverManager.getConnection(url);

Class.forName("com.mysql.jdbc.Driver").newInstance();

System.out.println("Got connection");

} catch (Exception e) {

System.out.println(e);

}

try {

Statement select1 = con.createStatement();

String ss1 = "select * from test;";

ResultSet result1 = select1.executeQuery(ss1);

while (result1.next()) {

double[] p = new double[8];

p[0] = Double.parseDouble(result1.getString(2));

p[1] = Double.parseDouble(result1.getString(3));

p[2] = Double.parseDouble(result1.getString(4));

p[3] = Double.parseDouble(result1.getString(5));

p[4] = Double.parseDouble(result1.getString(6));

p[5] = Double.parseDouble(result1.getString(7));

p[6] = Double.parseDouble(result1.getString(8));

p[7] = Double.parseDouble(result1.getString(9));

String clName = result1.getString(10);

//System.out.println(p[0]+" / "+p[1]+" / "+p[2]+" / "+p[3]+" / "+p[4]+" / "+p[5]+" / "+p[6]+" / "+p[7]);

int neuronIndex = search(p);

//System.out.println(layer[neuronIndex].clName+" / "+clName);

if(layer[neuronIndex].clName.equals(clName))

{

ar.add("YES");

yes++;

} else{

ar.add("NO");

no++;

}

}

} catch (SQLException ex) {

ex.printStackTrace();

}

System.out.println("YES "+yes+" NO "+no);

return ar;

}

public void setLayer(int points)

{

int ind = (Integer)Math.round((float) Math.pow(points, 8));

layer = new Neuron[ind];

//System.out.println(ind);

//layer[0].tes();

for(int i=0;i<ind;i++) {layer[i] = new Neuron();}

int index =0;

double[] w = new double[8];

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

{

w[0] = (i+0.5)/points;

for(int j=0; j<points;j++)

{

w[1] = (j+0.5)/points;

for(int k=0; k<points;k++)

{

w[2] = (k+0.5)/points;

for(int l=0; l<points;l++)

{

w[3] = (l+0.5)/points;

for(int m=0; m<points;m++)

{

w[4] = (m+0.5)/points;

for(int n=0; n<points;n++)

{

w[5] = (n+0.5)/points;

for(int o=0; o<points;o++)

{

w[6] = (o+0.5)/points;

for(int p=0; p<points;p++)

{

w[7] = (p+0.5)/points;

layer[index].setNeuron(w);

index++;

}

}

}

}

}

}

}

}

}

public void look()

{

for(int i = 0; i<layer.length; i++){

double[] d = layer[i].weights;

System.out.println(layer[i].clName+" / "+d[0]+" / "+d[1]+" / "+d[2]+" / "+d[3]+" / "+d[4]+" / "+d[5]+" / "+d[6]+" / "+d[7]);}

}

public void ins()

{

Connection con = null;

String url = "jdbc:mysql://localhost:3306/neuron?user=root&password=1";

try {

con = DriverManager.getConnection(url);System.out.println(1);

Class.forName("com.mysql.jdbc.Driver").newInstance();

System.out.println("Got connection");

} catch (Exception e) {

System.out.println(e);

}

for(int j=586; j<100000; j++){

try {

double delta = 0;

String clName = "";

double[] p = new double[8];

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

{

p[i] = (4+Math.random())/5;

delta+=Math.pow(p[i], 2);

}

delta = Math.sqrt(delta);

if(delta<Math.sqrt(8)/5) clName = "E";

else if(delta<2*Math.sqrt(8)/5) clName = "D";

else if(delta<3*Math.sqrt(8)/5) clName = "C";

else if(delta<4*Math.sqrt(8)/5) clName = "B";

else if(delta<Math.sqrt(8)) clName = "A";

String ss1 = "insert into test (id, par1, par2, par3, par4, par5, par6, par7, par8, class) " +

"value("+j+","+p[0]+","+ p[1]+","+p[2]+","+p[3]+","+p[4]+","+p[5]+","+p[6]+","+p[7]+",'"+clName+"');";

System.out.println(ss1);

PreparedStatement preparedStmt = con.prepareStatement(ss1);

preparedStmt.execute();

} catch (SQLException ex) {

ex.printStackTrace();

}

}

}

}

Листинг выполняющего класса Neuro.

package neuro;

import neuro.Layer;

import java.util.ArrayList;

import java.util.Iterator;

public class Neuro {

/**

* @param args the command line arguments

*/

public static void main(String[] args) {

System.out.println("BEGGIN");

Layer layer = new Layer();

// layer.ins();

layer.setLayer(4);

System.out.println("4^8="+Math.pow(4, 8));

ArrayList<String> ar=new ArrayList<String>();

layer.study();

ar = layer.test();

//layer.look();

for (Iterator iterator = ar.iterator(); iterator.hasNext();)

{

System.out.println((String) iterator.next());

}

double[] p = new double[8];

p[0] = 0;

p[1] = 0;

p[2] = 0;

p[3] = 0;

p[4] = 0;

p[5] = 0;

p[6] = 0;

p[7] = 0;

System.err.println("CLASS: "+layer.layer[layer.search(p)].clName);

}

}

Размещено на Allbest.ru

...

Подобные документы

  • Нейронные сети как средство анализа процесса продаж мобильных телефонов. Автоматизированные решения на основе технологии нейронных сетей. Разработка программы прогнозирования оптово-розничных продаж мобильных телефонов на основе нейронных сетей.

    дипломная работа [4,6 M], добавлен 22.09.2011

  • Простейшая сеть, состоящая из группы нейронов, образующих слой. Свойства нейрокомпьютеров (компьютеров на основе нейронных сетей), привлекательных с точки зрения их практического использования. Модели нейронных сетей. Персептрон и сеть Кохонена.

    реферат [162,9 K], добавлен 30.09.2013

  • Способы применения технологий нейронных сетей в системах обнаружения вторжений. Экспертные системы обнаружения сетевых атак. Искусственные сети, генетические алгоритмы. Преимущества и недостатки систем обнаружения вторжений на основе нейронных сетей.

    контрольная работа [135,5 K], добавлен 30.11.2015

  • Общие сведения о принципах построения нейронных сетей. Искусственные нейронные системы. Математическая модель нейрона. Классификация нейронных сетей. Правила обучения Хэбба, Розенблатта и Видроу-Хоффа. Алгоритм обратного распространения ошибки.

    дипломная работа [814,6 K], добавлен 29.09.2014

  • Понятие искусственного нейрона и искусственных нейронных сетей. Сущность процесса обучения нейронной сети и аппроксимации функции. Смысл алгоритма обучения с учителем. Построение и обучение нейронной сети для аппроксимации функции в среде Matlab.

    лабораторная работа [1,1 M], добавлен 05.10.2010

  • Возможности программ моделирования нейронных сетей. Виды нейросетей: персептроны, сети Кохонена, сети радиальных базисных функций. Генетический алгоритм, его применение для оптимизации нейросетей. Система моделирования нейронных сетей Trajan 2.0.

    дипломная работа [2,3 M], добавлен 13.10.2015

  • Анализ применения нейронных сетей для прогнозирования ситуации и принятия решений на фондовом рынке с помощью программного пакета моделирования нейронных сетей Trajan 3.0. Преобразование первичных данных, таблиц. Эргономическая оценка программы.

    дипломная работа [3,8 M], добавлен 27.06.2011

  • Применение нейрокомпьютеров на российском финансовом рынке. Прогнозирование временных рядов на основе нейросетевых методов обработки. Определение курсов облигаций и акций предприятий. Применение нейронных сетей к задачам анализа биржевой деятельности.

    курсовая работа [527,2 K], добавлен 28.05.2009

  • Изучение методов разработки систем управления на основе аппарата нечеткой логики и нейронных сетей. Емкость с двумя клапанами с целью установки заданного уровня жидкости и построение нескольких типов регуляторов. Проведение сравнительного анализа.

    курсовая работа [322,5 K], добавлен 14.03.2009

  • Понятие и свойства искусственных нейронных сетей, их функциональное сходство с человеческим мозгом, принцип их работы, области использования. Экспертная система и надежность нейронных сетей. Модель искусственного нейрона с активационной функцией.

    реферат [158,2 K], добавлен 16.03.2011

  • Особенности нейронных сетей как параллельных вычислительных структур, ассоциируемых с работой человеческого мозга. История искусственных нейронных сетей как универсального инструмента для решения широкого класса задач. Программное обеспечение их работы.

    презентация [582,1 K], добавлен 25.06.2013

  • Описание технологического процесса напуска бумаги. Конструкция бумагоделательной машины. Обоснование применения нейронных сетей в управлении формованием бумажного полотна. Математическая модель нейрона. Моделирование двух структур нейронных сетей.

    курсовая работа [1,5 M], добавлен 15.10.2012

  • Рост активности в области теории и технической реализации искусственных нейронных сетей. Основные архитектуры нейронных сетей, их общие и функциональные свойства и наиболее распространенные алгоритмы обучения. Решение проблемы мертвых нейронов.

    реферат [347,6 K], добавлен 17.12.2011

  • Искусственные нейронные сети как одна из широко известных и используемых моделей машинного обучения. Знакомство с особенностями разработки системы распознавания изображений на основе аппарата искусственных нейронных сетей. Анализ типов машинного обучения.

    дипломная работа [1,8 M], добавлен 08.02.2017

  • Способы применения нейронных сетей для решения различных математических и логических задач. Принципы архитектуры их построения и цели работы программных комплексов. Основные достоинства и недостатки каждой из них. Пример рекуррентной сети Элмана.

    курсовая работа [377,4 K], добавлен 26.02.2015

  • Модели нейронных сетей и их реализации. Последовательный и параллельный методы резолюции как средства логического вывода. Зависимость между логическим следованием и логическим выводом. Применение технологии CUDA и реализация параллельного алгоритма.

    дипломная работа [1,5 M], добавлен 22.09.2016

  • Сущность, структура, алгоритм функционирования самообучающихся карт. Начальная инициализация и обучение карты. Сущность и задачи кластеризации. Создание нейронной сети со слоем Кохонена при помощи встроенной в среды Matlab. Отличия сети Кохонена от SOM.

    лабораторная работа [36,1 K], добавлен 05.10.2010

  • Построение векторной модели нейронной сети. Проектирование и разработка поискового механизма, реализующего поиск в полнотекстовой базе данных средствами нейронных сетей Кохонена с применением модифицированного алгоритма расширяющегося нейронного газа.

    курсовая работа [949,0 K], добавлен 18.07.2014

  • Диагностический анализ изучения алгоритмов обучения нейронных сетей "с учителем". Сбор входных и выходных переменных для наблюдений и понятие пре/пост процессирования. Подготовка и обобщение многослойного персептрона, модель обратного распространения.

    курсовая работа [249,3 K], добавлен 22.06.2011

  • Технологии решения задач с использованием нейронных сетей в пакетах расширения Neural Networks Toolbox и Simulink. Создание этого вида сети, анализ сценария формирования и степени достоверности результатов вычислений на тестовом массиве входных векторов.

    лабораторная работа [352,2 K], добавлен 20.05.2013

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.