Wow, kokia diskusija uzvedziau
.
As esu isitikines, kad sitoki algoritma, taip pat kaip ir paprasta perrankos algoritma galima panaudoti bet kokiam uzdaviniui spresti. To nesiruosiu irodineti, nes tai laikau akivaizdziu dalyku, kaip ir Euklidas laike, kad per taska galima nubrezti tik viena tiese, lygiagrecia duotajai tiesei.
Absoliučiai blogas argumentas. Euklido atveju gal ir galima buvo laikyti kad tai akivaizdu. Bent jau tuo metu taip atrodė ir niekas šiuo teiginiu neabejojo. Tu iškeli teiginį kuriuo jau dabar abejojama ir atsisakai jį ne tik kad įrodyti, bet netgi pagrįsti. Atsiprašau, bet tokiu atveju tau reikėtu verčiau teologiją studijuoti... (tikrai nenoriu įžeisti).
Yra dalyku, kuriu neimanoma irodyti. Bet taip pat neimanoma irodyti, kad jie neteisingi. As jau sakiau, galit bandyt irodyt, kad su mano sugalvotu "evoliucijos" algoritmu neimanoma isspresti visu uzdaviniu. Bet jum tikriausiai nepavyks. Todel as ir turiu teise laikyti, kad mano teiginys teisingas.
Sita "Evoliucijos" algoritma as is tikruju nukabinau nuo lubu, bet pasirodo, kad jis jau daug, kur naudojamas, kaip sako kai kurie diskusijos dalyviai.
O čia aš nesutinku. Siūlau pasidomėti aukščiau minėtų algoritmų veikimo principais. Nė vienas iš jų neįsipaišo į tavo aprašyto "evoliucijos algoritmo" rėmus.
Cia as jau nieko negaliu padet. Gal but zmones tvirtine, kad tokie algoritmai jau egzistuoja, is pradziu ne visai suprato apie koki algoritma as kalbu. Tais pateiktais algoritmais as tikrai kada nors pasidomesiu, tik gal ne siandien
.
Teigini, kad sitas algoritmas yra kai kuriais atvejais efektyvesnis uz perrankos algoritma, as grindziu tuo, kad jis jau yra kai kur naudojamas.
Žiūr. aukščiau. Be to pagal tokią logiką hamburgeriai yra labiausiai subalansuotas maistas statistiniam amerikonui
Jei galima naudoti du algoritmus x ir y, ir protingi dedes mokslininkai naudoja algoritma x, tai manau niekas nepriestaraus, kad as laikysiu, jog algoritmas x yra efektyvesnis uz algoritma y. Jei to "evoliucijos" algoritmo niekas nenaudoja, kagi, tada visi sitie isvedziojimai diskusijoje neturi prasmes.
Jei jis nebutu efektyvesnis, tai tada vietoj jo visada galimetu naudoti perrankos algoritma, kuris kaip minejau irgi gali buti naudojamas bet kur.
Vėlgi iš lubų išluptas teiginys. Pirmas klausimas - vėlgi, kas tavo nuomone yra perrankos algoritmas. Nes pagal tavo pavizdį su oru susidaro įspūdis kad perrinkos tu vadini bet kokį algoritmą, gražinantį diskrečią reikšmę. Tokiu atveju sutinku kad "perrankos" algoritmų aibė yra viršaibis kompiuterio pagalba sprendžiamų algoritmų aibei, tačiau gal tada pakeičiam pavadinimą?
Gerai, paaiskinsiu, ka as laikau "perrankos" algoritmu. Tai yra algoritmas, kuris ima visas is eiles atsakymu reiksmes ir patikrina ar ta reiksme mum tinka, tai yra, ar ji sutampa su atsakymu. Gerai yra uzdaviniu, kuriu atsakymai turi be galo daug variantu. Bet tas algoritmas teoriskai vis tiek gali perinkineti visus variantus. Tada sprendimo laikas blogiausiu atveju bus begalinis, taciau galima laikyt, kad algoritmas vis tiek "moka" issprest uzdavini. Bet dazniausiai tokiuose uzdaviniuose, kurie turi be galo daug atsakymo variantu uztenka gauti atsakyma su paklaida, o tai padidina musu sansus "greitai" issprest uzdavini. Tereikia parinkinet atsakymus tam tikra tvarka.
Pavyzdziui, uzdavinys: kokio skaiciaus kvadratas lygus x (galima paklaida y). Mes perrinkinejam visus mum zinomus skaicius ir tikrinam, ar ju kvadratas nelygus x. Galime is pradziu perrinkinet visus naturaliuosius skaicius, iki tarkim 1000000, po to, jei negaunam atsakymo, kuris tenkina salyga, pradet perrinkinet skaicius su vienu skaicium po kalblelio ir lygiagreciai pradet perinkinet sveikus skaicius didesnius uz 1000000. Siuo atveju mes remiames tuo, ka as vadinu "perrankos" algoritmu. Taciau, savaime aisku "perrankos" algoritmas nesako, kad mum butinai reikia perrinkinet skaicius iki 1000000. Cia jau musu paciu pasirinkimo laisve.
Tarp kitko, o kaip sita uzdavini sprestu "evoliucijos" algoritmas? Jis remtusi Avidos veikimo principu. Tai yra, jis generuotu randominius organizmus-algoritmus ir tarkim uz tai, kad organizmas ismoksta nuskaityt duomenis ir atgal ispjaut bet koki rezultata, jis jau gautu "rewarda". Kuo jo rezultatas artimesnis 1000000, tuo didesni "rewarda" jis gaus. Tarkim organizmas jau ismoko duomenis padalint is dvieju ir isspjaut rezultata. Aisku, kad sis organizmas vystisis ir plis daug greiciau uz "kvaileli", kuris duomenis daugina is dvieju ir isspjauna. Kadangi organizmas gali tureti visas operacijas reikalingas "saknies traukimui" (uztenka daugybos, dalybos, sudeties, atimties ir mokejimo daryt cikla. Siame pavyzdyje, mes laikome, kad organizmai negali tureti tarp elementariu operaciju pacio saknies traukimo), tai, galu gale, tas organizmas turetu isevuliucionuoti iki organizmo, kuris bent apytiksliai traukia sakni. Beje, kad organizmai evolicionuotu reikia, kad ju aplinkoje butu kuo daugiau duomenu su zinomais teisingais atsakymais.
ir kaip tu juos perrinksi siandien?
nes rytoj as ir be algoritmu zinosiu lyja, ar ne.
Siek tiek pakeisiu savo pozicija. Ateities prognozavimo, as isvis nelaikau paprastu "uzdaviniu". Uzdavinys, tai problema, kuriai mes tuoj pat galime surasti teisinga atsakyma. Bet, ar mes teisingai nuprognozavom ateiti, mes suzinosim tik ateityje... Taigi, kaip visai teisingai pastebejo Nomad, mes tik ateityje galime ir atlikti ta perrinkima ir neteisingus variantus atmesti. (Tik nepradekim gincytis, kas yra uzdavinys ir problema, nes ir taip jau darosi painoka
)
As siaip nuo pat pradziu buvau isskyres du dalykus, ka gali daryti "evoliucijos" algoritmas. Tai yra spresti
uzdavinius ir galbut apytiksliai prognozuoti ateiti (konkreciai akciju kainas)
Taigi, kad novatoriskas idejas visi kritikuoja ir siaip novatoriu sunki dalia, tai as jau seniai zinau. Bet man idomu, ar bent kas nors is jusu pritaria nors vienai mano idejai? Kaip manot ar tas "evoliucijos" algoritmas kam nors gali buti naudojamas?