Back to site
Since 2004, our University project has become the Internet's most widespread web hosting directory. Here we like to talk a lot about web development, networking and server security. It is, after all, our expertise. To make things better we've launched this science section with the free access to educational resources and important scientific material translated to different languages.

CH. Абагульненыя генетычныя Хафнер праграма (ПГА)

Агляд

Спішыце і запусціце

Па змаўчанні прыклад

Дыяграма аналізу і прагназавання фондавага значэнне

Некаторыя вынікі

Агляд

Апраксімацыі і экстрапаляцыі функцый, просты і вельмі патрабавальныя ў той жа час. Вядомыя раскладання ў шэрагі (шэраг Фур'е, сталыя шэрагі, і г.д.) дазваляюць эфектыўна набліжаных многія з функцый, з якімі сутыкаюцца інжынеры, але яны зусім бескарысныя для экстрапаляцыі амаль любы функцыі вядомыя на працягу інтэрвалу. Генетычныя алгарытмы (ГА), генетычнае праграмаванне (ГП), і эвалюцыйныя стратэгіі (ЭС), па сутнасці заснаваныя на назіранні, што прырода выконвае некаторую аптымізацыю некалькі цікавых стратэгій. Хоць Джон Каза арыгінальныя алгарытмы GP дазваляюць знайсці формулу, якая 1) адпавядае дадзеным дадзеная функцыя вельмі добра, і што 2) дазваляе экстрапаляцыі, гэтыя алгарытмы не з'яўляюцца надзейнымі, ні эфектыўным.

Разам з Юрг Фрелиха (Extended генетычнага праграмавання і іншыя метады аптымізацыі) і Hansueli Гербер (Java і Аберон версіі традыцыйнага алгарытму GP), я займаюся распрацоўкай Абагульненыя GP коды, якія з'яўляюцца эфектыўнымі і надзейнымі. Асноўная ідэя гэтых кодаў з'яўляецца набліжэнне зададзенай функцыі ў шэраг з адвольнымі функцыямі аснове якія змяшчаюць хоць бы адзін параметр. Такім чынам, мы маем 1) мноства лінейных параметраў (амплітуды базісных функцый), якія могуць быць лёгка вылічаныя матрычным метадамі, 2) мноства нелінейных параметраў (змяшчаецца ў базісных функцый), якія могуць быць аптымізаваны вядомыя метады аптымізацыі, 3) набор базісных функцый, якія абраныя і палепшыць генетычных аперацый.

Адзін з найбольш цікавых асаблівасцяў ПГА з'яўляецца яго здольнасць знаходзіць набліжэння дадзенага набору дадзеных, што таксама дазволіць атрымаць добрыя экстрапаляцыі. Гэта дазваляе часта атрымаць добрыя прагнозы часовых шэрагаў, нават калі праблема з'яўляецца некарэктнай. прадказанні часовых шэрагаў ёсць шмат цікавых ужыванняў ў фізіцы, тэхніцы, эканоміцы і г.д.

Спішыце і запусціце

Спампаваць дэма-версію 1,2 абагульненага генетычнай праграмы (ПГА) для платформы Intel пад Windows NT/95, якія змяшчаюцца ў сціснутыя файлы ПГА-DEMO.ZIP (памер 579k). Калі вы распакаваць ПГА-DEMO з WinZip, вы атрымаеце выкананы файл GGP.EXE (памер 1.57M). Вы можаце пакласці GGP.EXE ў любы каталог і запусціць яго як любы EXE-файл.

Для запуску ПГА, выкарыстанне "Мой кампутар" ці "Explorer", каб перайсці да GGP.EXE і двойчы пстрыкніце па ім. Вы таксама можаце стварыць цэтлік і двойчы пстрыкніце значок. ПГА змяшчае графічнае акно з дапамогай функцыі для аналізу і інфармацыйнае акно, якое ўтрымлівае некаторую інфармацыю аб стандартнай працэдурай для выкарыстання версіі ПГА Demo. Выконвайце інструкцыі ў інфармацыйным акне. За кароткі, але больш падрабязнае апісанне (у тым ліку, як прадказаць NASDAQ, іншых паказчыкаў, і кошт акцый), націсніце тут.

Для атрымання дадатковай інфармацыі вы таксама можаце спампаваць дакумент аб ПГА і аналагічных метадаў ( дакумент Word GGPPAPER.DOC, памер 3750k, якія змяшчаюцца ў ZIP файл GGPPAPER.ZIP, памер 218K або PostScript ggppaper.ps файла, памерам 7808k, якія змяшчаюцца ў ZIP GGPPS.ZIP файл, памер 519k).

Па змаўчанні электроннай xample

Джон Каза прадставіў наступны прыклад: дадзеная функцыя y1 = X * X / 2. Гэтая функцыя апраксімуецца формулай, якая складаецца з элементарных аперацый +,-,*,/, два тыпу тэрміналаў, зменнай х і выпадковыя канстанты. Паколькі дадзеная функцыя з'яўляецца вельмі просты, гэта не дзіўна, што П. Алгарытм Каза знаходзіць яго.

Калі мы заменім y1 на яшчэ больш просты формулай 2 = 2,1, алгарытм GP становіцца вельмі неэфектыўным, паколькі ён не можа пабудаваць лік 2,1 выпадковых лікаў і элементарных аперацый. Гэтая праблема можа быць лёгка выдаленыя шляхам ажыццяўлення нелінейнага параметру р у якасці трэцяга тыпу тэрмінала. Калі р змяшчаецца ў формуле, яго значэнне павінна вызначацца алгарытм нелінейнай аптымізацыі параметраў.

y3 = SIN (3,1416 * X) / (3,1416 * X) не нашмат складаней, чым y1 і y2, але яна мае некаторыя ўласцівасці, якія могуць увесці ў зман алгарытм GP. Перш за ўсё, функцыя грэх павінен быць дададзены ў элементарных аперацый алгарытму пабудовы GP таму грэх выкарыстаннем +,-,*,/ занадта складаным. Калі вы паглядзіце на y3 ў інтэрвале х =- 1... +1, вы атрымліваеце ўражанне, што соз (3,1416 * х) не за гарамі. Вядома, вы павінны ведаць вынік, Вэнь вы вырашылі дадаць толькі грэх элементарных функцый. У адваротным выпадку, вы, верагодна, аддаюць перавагу COS. Калі вы дадасце як, COS і SIN, COS з'яўляецца здаравей, чым грэх, таму што ён мае тую ж сіметрыю, y3. Акрамя таго, лікавыя праблемы падзелу ў y3 прычын х блізкая да нуля. Гэтыя праблемы можна пазбегнуць шляхам ажыццяўлення ахоўных аперацый. Аднак, як падзел і той факт, што y3 больш падобны COS, чым як грэх ўводзяць у зман - нават для пашыранага алгарытму GP, якая ўключае аптымізацыі параметраў. З C + + рэалізацыі ГП алгарытм Каза, мы былі не ў стане знайсьці y3 (вызначаны ў інтэрвале х = 0... 2) з насельніцтвам 500 чалавек (формула) у 200 пакаленняў. Код ПГА працуе з насельніцтвам усяго 100 чалавек, замяняе толькі 50 з іх для стварэння новага пакалення, і знаходзіць карысныя вынікі на працягу 10-30 пакаленняў, нават калі ўсяго 03/05 вылічэнняў фітнес выкананы для аптымізацыі параметраў. У залежнасці ад пачатковай (выпадковых) насельніцтва і параметраў сістэмы, ПГА патрэбаў 500-5000 вылічэнняў фітнес, у той час як арыгінальны П. патрабуе, верагодна, значна больш, чым 100'000 вылічэнняў фітнес. Звярніце ўвагу, што код не знайсці менавіта тое, y3, але выдатна набліжэнняў, якія дазваляюць выдатна экстрапаляцыі нават для X да бясконцасці. Тры тыпавых рашэнняў з'яўляюцца:

7.9513E3*sin(sin(e*1.4727E-5)*sin(Pi*x))/x)
-87.339*sin(sin(2*1.5702)*sin(Pi*x))/(sin(1.5702*e)*x/e)
1.0004*sim(3.1389*x)/(Pi*x)

Звярніце ўвагу, што ўсе гэтыя рашэнні з'яўляюцца больш складанымі, чым y3 сябе. Тым не менш, гэта выдатны апраксімацыі і экстрапаляцыі нават для вялікіх x.

y3 па змаўчанні функцыя, якая будзе прааналізавана з дэма-версіяй 1,2 ГГП. Заўважым, што гэтая версія дазваляе наглядна назіраць пошуку ПГА, але гэта не дазваляе візуалізаваць формул створаны ПГА і гэта таксама не дазваляе вам змяняць налады параметраў ПГА пошуку.

Дыяграма аналізу і прагназавання фондавага значэнне

Адзначым, што графік аналіз складанай задачай для спецыялістаў. ПГА можа быць карысна, таму што ён не пакутуе ад чакання і іншыя эмоцыі, але часта робіць просты графік не дае дастаткова інфармацыі, з дастатковай дакладнасцю для атрымання добрых прагнозаў. Тэарэтычна, ПГА могуць быць выкарыстаны для кароткатэрміновых, так і для доўгатэрміновых прагнозаў, але, падобна, значна больш шуму па кароткатэрміновых дыяграмы, чым на доўгатэрміновых графіках. Такім чынам, ПГА доўгатэрміновых прагнозаў звычайна з'яўляюцца значна больш надзейнымі. Для кароткае апісанне, як прадказаць NASDAQ, іншых паказчыкаў, і кошт акцый, націсніце тут.

Некаторыя вынікі

Вы можаце паглядзець некаторыя ўчасткі, якія дэманструюць, як GGP работ.

Вярнуцца да гл. дома Хафнер старонкі

Вярнуцца да электрамагнітнай кодэкса Галоўная дызайнераў

Published (Last edited): 14-06-2011 , source: http://alphard.ethz.ch/Hafner/ggp/gp.htm