пояснювалися мети його розробки та гідності мови. У цьому документі наведено одинадцятій характерних особливостей мови Java. Розглянемо деякі з них.
Простота. Java - це система, за допомогою якої легко програмується, причому не потрібно додаткового навчання і враховується склалася практика і стандарти програмування. Тому мова Java був розроблений максимально схожим на мову С ++, незважаючи на те, що самі розробники вважали мову С ++ невідповідним для цих цілей. Інший аспект простоти - стислість. Одна з цілей мови Java - забезпечити розробку програм, які можна було б абсолютно самостійно виконувати на невеликих машинах. Розмір основного інтерпретатора і засобів підтримки класів становить близько 40 Кбайт; стандартні бібліотеки і засоби підтримки потоків займають ще 175 Кбайт.
Надійний. Мова Java призначений для створення програм, які повинні надійно працювати в будь-яких ситуаціях. Основна увага в мові Java приділяється ранньому виявленню можливих помилок, динамічної перевірці, а також виключенню ситуацій, схильних до помилок.
Не залежний від архітектури. Компілятор генерує об'єктний файл, формат якого не залежить від архітектури комп'ютера, - скомпільована програма може виконуватися на будь-яких процесорах під управлінням системи виконання програм мови Java. Для цього компілятор мови Java генерує команди байт-коду. Байт-код розроблений таким чином, щоб на будь-якій машині його можна було легко інтерпретувати або на льоту перевести в машинно-залежний код.
Розподілений. Мова Java володіє великою бібліотекою програм для передачі даних на основі таких протоколів як TCP/IP, HTTP або FTP. Програми, написані на мові Java, можуть відкривати об'єкти і отримувати до них доступ через мережу за допомогою URL-адрес так само легко, як і в локальній мережі.
Безпечний. Мова Java призначений для використання в мережевій або розподіленої середовищі. З цієї причини велика увага була приділена безпеці. Мова Java дозволяє створювати системи, захищені від вірусів і стороннього втручання.
Багатопотоковий. Нить забезпечує кращу інтерактивність і виконання програм.
. 2 Розробка об'єктів, що становлять нейронну мережу
. 2.1 Розробка модуля нейрона
Згідно з пунктом 2.2 формальний нейрон складається з адаптивного суматора і перетворювача зваженої суми. Ще у складі нейронного елемента може бути присутнім точка розгалуження. Відповідно, кожен нейронний елемент характеризується кількістю входів і виходів. Конструктор класу нейрона відображає ці особливості, лістинг 3.1.
Лістинг 3.1 - Конструктор класу нейронного елемента
public Neiron (int IN, int OUT, String type)
{= OUT; (type == in )
{= 1; _koef=new float [vxodi]; (int i=0; i lt; vxodi; i ++)
{_ koef [i]=1.0F;
}
}
{= IN + 1; _koef=new float [vxodi]; (int i=0; i lt; vxodi; i ++)
{= Math.random (); (vk lt;=0.45) {ves_koef [i]=(float) vk;} _ koef [i]=(float) (0.45-vk);
}
}
}
Для створення об'єкта нейрона потрібно вказати параметри: IN, який зберігає кількість входів в даний нейрон; OUT, який зберігає кількість виходів з даного нейрона; а також type, який зберігає тип нейрона. Нейронний елемент може бути вхідним, прихованим або вихідним, у відповідності з тим, до якого шару нейронної мережі він належить.
У кожному нейронному об'єкті нейронного елемента зберігається масив вагових коефіцієнтів всіх назв зв'язків. Поріг нейронного елемента в даній програмі враховується згідно малюнку 2.9, тобто відповідними ваговими коефіцієнтами зв'язку, від елемента з постійним значенням виходу рівного 1. Для всіх нейронів НЕ вхідного шару кількість входів, а значить і кількість елементів у масиві вагових коефіцієнтів, дорівнює кількості нейронів у попередньому шарі, збільшеному на 1. Ці вагові коефіцієнти задаються випадковим чином , використовуючи метод Math.random (), в межах [- 0,45; 0,45]. Для відмінності вхідного нейрона від інших у конструкторі і передбачений третій параметр type.
Якщо параметр type вказує на те, що нейронний елемент є частиною вхідного шару, то кількість його входів дорівнює 1, і ваговий коефіцієнт цього входу дорівнює 1.
Після створення нейронного елемента, необхідно передбачити його функціонування, іншими словами реалізацію адаптивного суматора і перетворювача, відповідно до (2.1).
Ці методи описані в залежності від того, чи є нейронний елемент вхідним чи ні...