ПЕРЕЛІК ДИСЦИПЛІН:
  • Адміністративне право
  • Арбітражний процес
  • Архітектура
  • Астрологія
  • Астрономія
  • Банківська справа
  • Безпека життєдіяльності
  • Біографії
  • Біологія
  • Біологія і хімія
  • Ботаніка та сільське гос-во
  • Бухгалтерський облік і аудит
  • Валютні відносини
  • Ветеринарія
  • Військова кафедра
  • Географія
  • Геодезія
  • Геологія
  • Етика
  • Держава і право
  • Цивільне право і процес
  • Діловодство
  • Гроші та кредит
  • Природничі науки
  • Журналістика
  • Екологія
  • Видавнича справа та поліграфія
  • Інвестиції
  • Іноземна мова
  • Інформатика
  • Інформатика, програмування
  • Юрист по наследству
  • Історичні особистості
  • Історія
  • Історія техніки
  • Кибернетика
  • Комунікації і зв'язок
  • Комп'ютерні науки
  • Косметологія
  • Короткий зміст творів
  • Криміналістика
  • Кримінологія
  • Криптология
  • Кулінарія
  • Культура і мистецтво
  • Культурологія
  • Російська література
  • Література і російська мова
  • Логіка
  • Логістика
  • Маркетинг
  • Математика
  • Медицина, здоров'я
  • Медичні науки
  • Міжнародне публічне право
  • Міжнародне приватне право
  • Міжнародні відносини
  • Менеджмент
  • Металургія
  • Москвоведение
  • Мовознавство
  • Музика
  • Муніципальне право
  • Податки, оподаткування
  •  
    Бесплатные рефераты
     

     

     

     

     

     

         
     
    Розробка методів дослідження характеристик генетичного алгоритму розподілений-вання ланцюгів на шари, в МСМ
         

     

    Інформатика, програмування

    Розробка методів дослідження характеристик генетичного алгоритму розподілу ланцюгів на шари, в МСМ

    С.Н. Щеглов, А.В. Мухлаев, В.А. Кулінський

    Одним із завдань проектування топології матричних ВІС і НВІС є задача оптимального розподілу на шари трасуванню сполук у базовому матричному кристалі. Відомо, що базовий матричний кристал (БМК) - це компактний модуль з вищої ступенем інтеграції, що служить для розташування кількох сотень кристалів і їх з'єднання кількома тисячами ланцюгами. Самою загальною метою при вирішенні цієї проблеми є найбільш ефективне використання площі комутаційного простору при одночасній оптимізації таких конструктивних параметрів схеми, як число шарів кількість міжшарових переходів, відсоток реалізованих з'єднань.

    Традиційні методи вирішення цього завдання мають істотний недолік - "пастки" локальних оптимумів. Розглянутий генетичний метод є методом спрямованого випадкового пошуку. Основний характеристикою таких методів є те, що вони допускають тимчасове погіршення цільової функції. Це дозволяє уникнути "пасток", а при достатньому числі ітерацій знайти прийнятне рішення. Генетичні алгоритми є адаптивними пошуковими алгоритмами, які здійснюють процес накопичення і використання інформації в проектованої області, спрямованої на досягнення оптимального рішення при первісної невизначеності та змінних зовнішніх умовах. На відміну від стандартних пошукових алгоритмів, генетичні алгоритми базуються на поліпшенні деякої популяції, що складається з обмеженого безлічі рішень. Ця методика мотивується тим, що пошук в області багатьох рішень зменшує ризик потрапляння в локальні оптимуму, що дає більш кращі результати, ніж використання одного рішення.

    Генетичний метод заснований на імітації процесів натуральної селекції в біології, еволюціонуючи від одного покоління до іншого шляхом виключення слабких елементів і залишення оптимальних. Розглянуті рішення називаються хромосомами і зображуються як ряд величин певних через деякий алфавіт.

    Кодування хромосом здійснюється наступним чином. По заданому графу створюється масив обмежень, який визначає, які ланцюга можуть, а які не можуть перебувати в одному шарі проектованого кристала. При цьому кожній ланцюга графа присвоюється унікальний номер (у даному випадку по порядку завдання у списку). Створення самих хромосом відбувається шляхом випадкового заповнення алелей генів неповторним номерами ланцюгів графа, при чому кількість ланцюгів визначає кількість генів.

    Рис 1.

    У розглянутому алгоритмі кожне рішення представляється у вигляді списку, кількість елементів якого відповідає кількості ланцюгів розглянутої задачі.

    Якщо умова розглянутої задачі задано на рис. 1, то хромосома набуде вигляду

    1 2 3 4 5 6 7

    Нехай після застосування деяких генетичних операторів нова хромосома має вигляд:

    3 4 6 5 2 7 1

    тоді рішення, закодоване в новій хромосомі, зображено на рис. 2

    Рис 2

    де різними типами ліній показані різні верстви розподіляються ланцюгів.

    розкодування хромосоми відбувається за такими правилами:

    Береться перший ген хромосоми і за значенням його аллели визначається вихідна ланцюг. Отримана ланцюг кладеться в перший шар, потім аналогічним чином отримуємо нову ланцюг з аллели другого гена хромосоми (ланцюг 4 в даному прикладі); відомості про те чи можуть ці ребра знаходиться в одному шарі отримуємо з масиву обмежень, який ми визначили вище. Якщо можуть, то визначаємо їх в один шар, якщо ні, то шар оголошуємо заповненим ланцюг визначаємо в наступному шарі, а до заповнених верствам не повертаємося зі спробами доповнити їх новими ланцюгами.

    Популяція - набір хромосом. За вихідну береться популяція що представляє собою деякий підмножина знайдених або випадково отриманих квазіоптімальних рішень. Далі популяція піддається дії генетичних операторів селекції, Кросинговер, мутації, інверсії, транслокації, сегрегації.

    Оператор селекції обирає представників цього покоління для участі в подальших генетичних операціях. Для кожної хромосоми обчислюється цільова функція. У даній задачі основним критерієм оцінки є мінімум числа шарів, необхідних для розподілу трасуванню сполук:

    Де f (i, t) - значення цільової функції для i-ї хромосоми;

    N - число шарів.

    Цільова функція визначає цінність кожної хромосоми. Хромосоми з кращими характеристиками потім піддаються діям генетичних операторів. У програмі реалізовані три оператори селекції: стандартні оператори "Колесо рулетки" і "Турнірний", а також модифікація "Колеса рулетки" в якому вибір хромосоми відбувається як у "Колесі" але другий раз хромосома вже не може вибиратися.

    Кросинговер - операція змішування складових хромосом, які називаються батьками. В даному алгоритмі реалізовано кілька операторів Кросинговер, але для вирішення завдання найкращі результати дає використання наступного оператора Кросинговер. Нащадок проводиться від двох батьків, які обираються на основі значень їх цільових функцій. У кожного з батьків визначається шар, що містить максимальне кількість ланцюгів. Потім відбувається обмін інформацією між батьками, - вибрані шари переносяться від одного з батьків до іншого і навпаки. Ланцюги, перенесені при переписування шарів, виключаються з нової хромосоми.

    Наприклад: оператор Кросинговер отримав двох батьків

    Р1: 1 8 11 12 15 0 3 5 6 9 2 7 4 10 13 14

    P2: 1 2 7 8 11 0 6 9 4 10 12 13 14 15 3 5

    При розкодування алгоритм поділили їх на шари        

    P 1   

    Шар 0: 1 8 11   

    Шар 1: 12 15   

    Шар 2: 0 3 5 6 9   

    Шар 3: 2 7   

    Шар 4: 4 10 13 14            

    P 2   

    Шар 0: 1 2 7 8 11   

    Шар 1: 0 6 9   

    Шар 2: 4 10   

    Шар 3: 12 13 14 15   

    Шар 4: 3 5             

    Шар 0: 1 8 11:

      

    Шар 1: 12 15   

    Шар 2: 0 3 5 6 9   

    Шар 3: 2 7   

    Шар 4: 4 10 13 14   

    Шар 2,0: 1 2 7 8 11            

    Шар 0: 1 2 7 8 11   

    Шар 1: 0 6 9   

    Шар 2: 4 10   

    Шар 3: 12 13 14 15   

    Шар 4: 3 5   

    Шар 1,2: 0 3 5 6 9                

    П1:   

    Шар 0: 12 15   

    Шар 1: 0 3 5 6 9   

    Шар 2: 4 10 13 14   

    Шар 3: 1 2 7 8 11            

    П2:   

    Шар 0: 1 2 7 8 11   

    Шар 1: 4 10   

    Шар 2: 12 13 14 15   

    Шар 3: 1 5 6 14 15        

    З цього прикладу видно, що в нащадках ланцюги розташовуються тільки в чотирьох шарах, тоді як у кожному З БАТЬКІВ використовується, п'ять шарів. Таким чином, нащадки мають вищу значення оціночної функції, ніж батьки. Якщо продовжити цей процес, то можна прийти до оптимального рішення.

    Операція мутації застосовується до однієї хромосомі і незначно перетворить її шляхом локальних випадкових переміщень. Однак застосування різних операторів мутації прискорює або сповільнює знаходження прийнятного рішення задачі. Непогані результати дає застосування оператора мутації відомого в літературі як "Золотий перетин".

    При реалізації алгоритму були реалізовані також оператори транслокації (перенесення частини однієї хромосоми на іншу, якщо виявляється нестача одних і надлишок інших ділянок хромосом, то надлишкові замінюються на яких бракує випадковим чином), оператор сегрегації (організований як чисто випадковий вибір генів з усієї популяції, поки не "збереться" хромосома) і оператори інверсії (двоточковим з інверсією між локальними точками і інверсія частин хромосоми потрапили за локальні точки).

    Але, як з'ясувалося в ході дослідження, відчутного внеску у вирішення завдання вони не внесли. Мета їх, як і операторів мутації, - запобігання одноманітності в безлічі рішень. Свідоме погіршення деяких рішень привносить нову інформацію і є механізмом виходу з "локальних" ям.

    Спроба реалізації штучного (примусового) виходу з "локальних" ям не привнесла поліпшення або прискоренням знаходження прийнятного рішення. Реалізовано вихід наступним чином. При виявленні, що більше половини нової популяції складається з однакових рішень відбувається знищення популяції, а нова створюється випадковим чином і в неї додається краще рішення отримане алгоритмом. Ця спроба підтверджує що алгоритм в ході рішення задачі накопичує інформацію і є адаптивної системою.

    Таким чином виходить нова популяція, яка в свою чергу піддається дії генетіескіх операторів. Слід зазначити, що необов'язково застосовувати генетичні оператори до кожної хромосомі найкраще рішення може переноситься в нову популяцію без зміни (принцип еллітізма).

    Розглянутий процес виконується ітераційно до тих пір, поки не буде отримано прийнятне рішення.

    За вище описаного алгоритму була зроблена програма на мові Borland C + + під Windows 95, яка дозволяє ефективно використовувати все багатство генетичного інструментарію.

    Список літератури

    Для підготовки даної роботи були використані матеріали з сайту http://pitis.tsure.ru

         
     
         
    Реферат Банк
     
    Рефераты
     
    Бесплатные рефераты
     

     

     

     

     

     

     

     
     
     
      Все права защищены. Reff.net.ua - українські реферати ! DMCA.com Protection Status