» »

It means business

It means business

jype ::

Saladin> Zdi se mi kot da je postal program in njegova logika sam svoj namen.

Ampak saj je tudi človek in njegov obstoj sam svoj namen. Thomas ima tu prav - evolucija ima cilj tudi takrat, ko ji ga ne postavi kdo drug.

Sicer tudi jaz mislim, da obstajajo učinkovitejše metode (ki seveda izvirajo iz fizike) za počet, kar počne Thomasovo programje, ampak za to pokazat bi moral spisat konkurenčno rešitev, za kar trenutno nimam časa (in tudi ne vem zagotovo, če je res učinkovitejša, samo glede na pretekle izkušnje sklepam, da je).

Zgodovina sprememb…

  • spremenilo: jype ()

c3p0 ::

Koliko še trenutno manjka do uploada? Pakiramo 2010 ali 2015?

Thomas ::

Jure misli na Metropolisa, recimo.

V nekaterih primerih je to definitivno močnejše od naivnega evolucijskega algoritma.

Včasih je dirka taka, da recimo zajec premaga nadzvočno letalo. Samo to so ekstra primeri, ki nas manj zanimajo.

Kdaj bo upload?

Ne vem. Mi nič ne uploadamo. Nam se lahko primeri kakšen reload, če ne bomo previdni. Kdaj reload, torej? Če bi DIRKALI v to smer, v smer reloada, do 2012, čez palec rečeno.

Upload pa seveda no later than 2020.
Man muss immer generalisieren - Carl Jacobi

Thomas ::

> Saj nisem trdil, da je nekoristno - ampak zgolj neučinkovito.

Ni neučinkovito. Oziroma, nič učinkovitejšega nimaš.
Man muss immer generalisieren - Carl Jacobi

Saladin ::

Ni neučinkovito. Oziroma, nič učinkovitejšega nimaš.


Not having many options doesn't make it efficient.
Dobro je kar nosi največ svobodne koristi/najmanj bolečine čim več sentientom
na najhitrejši, najvarnejši in najbolj moralen način za najdaljše obdobje.
"Utilitarianizem po Saladinovo"

Thomas ::

Če zevoluira rešitev nekega problema za manjšo ceno, kot košta odprt ali slabo rešen problem ... potem je evolucija učinkovita.

Evolucija je zelo velikokrat dala učinkovite rešitve.

Še jih bo.

Pa še nekaj je. Kar poslušam že od 1996. "Zakaj ne bi kar človek rešil tega problema, saj mogoče bi ga pa še hitreje in bolje?"

No, pa se pomerimo. Nek problem bomo zastavili in rešili na evolucijski način. Ti ga pa reši na pamet. Mi sprostimo človeka, ko stroj išče rešitev. Na evolucijski način ali na kakšen drugi.

Dostikrat je evolucijski način najučinkovitejši.

Ajd, premagaj TOLE na pamet ali s programom, če moreš. Izvoli.
Man muss immer generalisieren - Carl Jacobi

Double_J ::

S temle samo pripomorete h global warming.:P

Saladin ::

Ajd, premagaj TOLE na pamet ali s programom, če moreš. Izvoli.


Če je nekaj hitrejše (pa recimo učinkovitejše) od človeka, tudi ne pomeni avtomatsko, da je postopek učinkovit.

Torej, v tvojem primeru leta in leta dedicirano laufa program, ki dela vzorce in jih optimira
(kot sem rekel - brez pravega namena in cilja, z občasnimi koristnimi drobci brez realnega upanja skotrajšnje veliko razkritje)

Jaz ti nasproti temu postavim ekipo (ekipe) znanstvenikov širokega spektra, ki z domišlijo,. real-life opažanji in dedukcijo postavijo razumno (ne random) idejo ter jo potem stestirajo (v zelo kratkem roku).

Kaj je bolj učinkovito (do trenutka, ko dobiš pravi AI, seveda)?
Dobro je kar nosi največ svobodne koristi/najmanj bolečine čim več sentientom
na najhitrejši, najvarnejši in najbolj moralen način za najdaljše obdobje.
"Utilitarianizem po Saladinovo"

Thomas ::

Hehe, si zanimiv, Saladin.

Ti bi po svoji presoji nastavljal time znanstvenikov, da bi delali bolje in učinkoviteje od naše bande?

Tale primer, ki sem ga dal, bi eliminiral z mize? Kot nepomemben in tratenje resourcev?

Ampak ravno ta je dosti preprost, da ga lahko vsak razume in hkrati nobeden ne zna napisati učinkovitejše rešitve.

Da je grozdje še prekislo, še ne pomeni, da ga bo lisica kadarkoli dosegla.

Tole tudi ni edini naš primer ki funkcionira. Samo ti drugih ne razumeš. Ali pač? V tem primeru pojdi višje gor, tole isto temo brat.
Man muss immer generalisieren - Carl Jacobi

Saladin ::

Vse kar pravim je, da bodo teami znanstvenikov z ciljnim pristopom (seveda z komputacijskimi računali in programi ne evolucijskimi)
hitreje in učinkoviteje ustvarili , recimo, pravi AI, od tega random processinga.

Bolje je zastaviti manj pravilnejših (verjetnejših) vprašanj kot pa obdelovati vse potencialne možnosti.
Slednje bi imelo smisla le ob taki evolicijski kompotacijski zmogljivosti, da bi lahko vse varijable prečesal v doglednem času.

In kaj je bližje temu: 2020 ali 2050?
Dobro je kar nosi največ svobodne koristi/najmanj bolečine čim več sentientom
na najhitrejši, najvarnejši in najbolj moralen način za najdaljše obdobje.
"Utilitarianizem po Saladinovo"

jype ::

AI je že narejen.

Kar se zdaj računa so orodja, ki bodo AIju dala prednost, ki je do zdaj ni imel.

Sam sem sicer prepričan, da bo vmes še en kup arhitekturnih preskokov, ki bodo obstoječe programje naredili popolnoma zastarelo, vendar bo večina konceptov ostala, le na novo jih bo treba optimizirati.

Tam bo pa ziher niša, ki jo bo znal Thomasov program zapolniti.

Thomas ::

> Vse kar pravim je, da bodo teami znanstvenikov z ciljnim pristopom (seveda z komputacijskimi računali in programi ne evolucijskimi)
hitreje in učinkoviteje ustvarili , recimo, pravi AI, od tega random processinga.

Tko "vsi" pravijo. Nimam tapravega motiva, da bi jih posebno zagnano od tega odvračal.

Ampak če me ravno vprašuješ, kaj je najbolj optimalno. Inteligent design ali evolucija?

Ni inteligentnega designa brez evolucije.

Nimam pa nič proti, da se evolucijskih pristopov večina izogiba. Da čaka na "ciljni pristop".
Man muss immer generalisieren - Carl Jacobi

Luka Percic ::

"Inteligentni design" vsebuje čisto preveč evolucijskih elementov da bi jih lahko kar zanermarili, ter rekli da zmoremo brez njih.
Pri vsakem razmišljanju praktično malce mutiraš ideje jih zlagaš skupaj(po dve navadno) zamenjuješ kose ki niso ok- potem (no ja, že vmes) jih pa še podvržeš "notranji selekciji". No, če brainstormaš, je ta selekcija bolj zunanja- od tu tudi uspešnost postopka "brainstorming", ker se selekcija idej opravlja na več okoljih (osebah) skrati.

Je pa res da osebno ne verjamem da imamo (ali da bomo zelo hmalu imeli) dovolj procesorske moči za evolucijo. Osebno pač nisem mnenja da če nastaviš pravilno da se boš že ju3 "zbudil v novem svetu".
Samo poglejte koliko je potrebovala "biološka evolucija"!

V bistvu jaz nastavitev pravih pogojev postavljam v sam bigbang. In od tam štejem koliko časa smo rabili za tak nivo razvoja.

Seveda verjamem da se da ta čas bistveno bistveno skrajšat. Da lahko v določeni meri nadaljujemo od tu naprej (no ja nažalost z to tehnologijo to ni čisto res), da lahko pomečemo miljarde nepotrebnih elementov ven, ampak hudič, še vedno nam imo ostane precej daljši časovni okvir.

Se motim? Upam!

_marko ::

Zakaj pa imaš tako staro verzijo na spletni strani: ver 1.37 - 3. Nov 2004 ?
A je kaj novega?
The saddest aspect of life right now is that science
gathers knowledge faster than society gathers wisdom.

Thomas ::

Po temle je bilo narejenih še vsaj 100 verzij raznih evoluatorjev.

Tudi izboljšave tegale.
Man muss immer generalisieren - Carl Jacobi

Thomas ::

> A je kaj novega?

Ja, bom povedal, ko bo kaj pomembnega, vsekakor. Kmalu.
Man muss immer generalisieren - Carl Jacobi

Saladin ::

Ampak če me ravno vprašuješ, kaj je najbolj optimalno. Inteligent design ali evolucija?

Hehe, kaj pa če je evolucija inteligentno dizajnirana?

Nimam pa nič proti, da se evolucijskih pristopov večina izogiba. Da čaka na "ciljni pristop".

Nič ne čakajo.
So zelo aktivni pri tem in to že dolgo časa. Pravzaprav je čisto možno, da ima nekdo že ima popolnoma pravilen odgovor v roki - problem je le preverljivost.

In IMHO boš veliko prej uspel preverit vse "teorije vsega" kot pa na slepo skompjutat ogromno količino varijabel znotraj vesolja.

Recimo, ena analogija mi pade na pamet:
"Random" evolucijski pristop je podoben opazovanju neba z najboljšim teleskopom, ki ga premoremo, z namenom iskanja izvenzemeljske inteligence v vesolju (ne le v naši galaksiji - ampak prav v vidnem spektru Vesolja).
Saj je lepo, da sistematsko skeniraš vesolje in sigurno ima uporabno vrednost (tako zemljevid vesolja kot slučajna odkritja med iskanjem), ampak verjetnost, da boš tako res odkril tako življenje, je zelo majhna (govorim seveda v dogledem času, dokler vse ne preskeniraš)

Ciljan pristop pa bo dognal mesta največjih verjetnosti za izvenzemeljsko življenje, bo riskiral eno misijo ali dve in poslal sondo na razišče specifično področje (recimo satelit Europa) itd. ter bo dobilo jasen odgovor.

Razlika je v času do dosežka specifičnega cilja. Medtem ko z ciljanim raziskovanjem lahko v spodobnem času predvidiš približen rezultat, tega pri evolucijskem programu ne moreš. Morda ti bo tak program odkril mnogo pomembnih stvari, ampak verjetnost da boš dobil prav tisto, kar ti iščeš, je minimalna (spet, v doglednem času).
Dobro je kar nosi največ svobodne koristi/najmanj bolečine čim več sentientom
na najhitrejši, najvarnejši in najbolj moralen način za najdaljše obdobje.
"Utilitarianizem po Saladinovo"

nicnevem ::

Ohjej Saladin, sej je čisto lepo in prav, da nisi zadovoljen z evolucijsko optimizacijo, vendar bi bilo tudi fino, če bi si najprej kaj prebral o delovanju teh algoritmov, namesto da pretepaš slamnate može. Opazovanje neba na način, ki ga omenjaš, je namreč analogno brute-force preiskovanju iskalnega prostora in ne evoluciji (za katero bi potreboval množico teleskopov, ki bi se lahko replicirali, razlikovati bi se morali v sposobnosti odkrivanja E.T.-jev in ta lastnost bi morala biti korelirana z njihovo sposobnostjo razmnoževanja in tako naprej... pogojev niti ni tako malo).

snow ::

> Razlika je v času do dosežka specifičnega cilja. Medtem ko z ciljanim raziskovanjem lahko v spodobnem času predvidiš približen rezultat, tega pri evolucijskem programu ne moreš.

Navadno je z EA ravno obratno. Hitro prideš do (zelo) dobre rešitve, ki je v določenih primerih dovolj dobra.
Do popolnoma optimalne rešitve pa lahko prideš prej z neko specialno metodo... ker mogoče z EA nikol ne.

Tvoja analogija s preiskovanjem vesolja je malo mimo. Praviš da je sistematično pregledovanje enako kot evolucijsko iskanje?

Še enkrat. Evolucija gre nekako takole:
1) po iskalnem prostoru na random izberemo neke rešitve
2) rešitve ocenimo
3) rešitve malo selekcioniramo in jih malo spremenimo
4) goto 2

Zdej odvisno od raznih detajlov je prostor kjer evolucija išče rešitve dokaj omejen. Lahko se iskanje za rešitev kmalu začne zgolj v enem koncu, ali na več različnih otokih, v občasnih primerih pa imaš kakšnega ekstremista, ki gre iskat Ameriko... kar pa je daleč od sistematičnega iskanja.

Po moje samo razmišljanje v naših glavah poteka evolucijsko.
Random mutation plus nonrandom cumulative natural selection - Richard Dawkins

snow ::

Ajd, premagaj TOLE na pamet ali s programom, če moreš. Izvoli.

Če je nekaj hitrejše (pa recimo učinkovitejše) od človeka, tudi ne pomeni avtomatsko, da je postopek učinkovit.


Piše: ali s programom.
Napiši program, najdi kolege/znanstvenike in naredite boljši program.
Random mutation plus nonrandom cumulative natural selection - Richard Dawkins

Thomas ::

Tale primer z vezavo šahovskih figur je precej izrazit primer. Če boš delal bruta forca, nimaš dovolj computinga na svetu, da boš prišel v realnem času do kakšnega odgovora. Za to bi bilo potrebno več operacij, kot so jih vsi računalniki doslej naredili.

Kako boš pa naredil neevolucijsko rešitev, je pa spet skrajno zahteven problem. Tudi če ga boš rešil, je komot da počasnejši, ko ga implementiraš.


Nesmrtne so besede nekoga "če tole ne bi delal na urajmajne ...". Nesmrten je tudi njegov poraz, ko je tekmoval s programom.
Man muss immer generalisieren - Carl Jacobi

Thomas ::

ARE - auto rekurzivna evolucija - bi bila pa lahko kar catchy buzzword. Torej, da dela na svojih delih, jih pili in brusi in si jih vstavlja refactorirane.

S tem bi bili tvoji pomisleki Saladin, še bolj passe. Potem bi moral dopustiti, da zevoluira nekakšna "postevolucija", za kakršno verjameš, da je zevoluirala v naših glavah.

Je še zelo evolucijska, men verjem. Random change je esencialna komponenta. Nonrandom selection pa druga esencialna komponenta. Če so mutacije bolj inteligentne in manj naključne, to pomeni samo to, da se je ena sub evolucija že prej izvedla, na enem subnivoju.

IMHO je tko.

Še celo če ni, po kakšnem twistu tako pri ljudeh, me prav malo briga. Mašina ma da tako dela!
Man muss immer generalisieren - Carl Jacobi

Thomas ::

> Napiši program, najdi kolege/znanstvenike in naredite boljši program.

Tako je. Enemu prfoxu za programiranje, algoritme ali kaj podobnega na kakšnem faxu poturi tole Saladin. Naj da svojim študentom, asistentom in kolegom tole preprosto nalogo: Postavi komplet šahovskih figur na šahovnico v tako pozicijo, da se bodo kar največkrat pokrivale med sabo!.

Sej čisto preprosta naloga.

Lahko jih namehuriš tudi tukajle na tem forumu. Sej imaš vsaj ene pet somišljenikov med programerji tega foruma. Boste gotovo hitro našli boljši algoritem, ki bo rešitev našel prej, ali celo boljšo.

Za seminarske delajo še hujš "traparije", zato se ne izgovarjat na nepomembnost problema.

Enačenje evolucije z grobo silo je pa ena taka tipična omaška.

P.S.

Zahtevani algoritem naj dela za poljubni set figur na šahovski plošči.

P.P.S.

Prekisla naloga, da bi se je kdo lotil?
Man muss immer generalisieren - Carl Jacobi

nevone ::

> Morda ti bo tak program odkril mnogo pomembnih stvari, ampak verjetnost da boš dobil prav tisto, kar ti iščeš, je minimalna (spet, v doglednem času).

Tak program ti bo dal prav tisto, kar iščeš, če seveda veš kaj iščeš. Lahko ga nakrmiliš, tako, da išče tisto kar želiš.

Lahko mu sugeriraš dognanja, ki jih že imaš in bo z njimi mogoče močnejši. Lahko narediš dve intanci in vsaki vgradiš drugačno politiko.

Polje je zelo široko, pri evolucijskem programiranju in ne izključuje ciljnih rešitev, kot bi ti rad prikazal oziroma, kot ti narobe razumeš. Evolucijski algoritem je lahko tudi samo tehnični pripomoček pri iskanju ciljnih rešitev in ni potrebno, da ga dojemaš kot superioren AI algoritem. Lahko je zelo praktičen, če ga seveda znaš pravilno implementirati.

Če hočeš razumeti evolucijski algoritem, potem ga moraš najprej dojeti na kakšnem nižjem nivoju in ne najprej kot ultimativni algoritem za izgradnjo umetne inteligence. To je prevelik skok, če si še začetnik.

o+ nevone
Either we will eat the Space or Space will eat us.

Saladin ::

Thomas,
Tvoj primer v šahu zame ni evolucijski primer: Imaš jasen set pravil, ki jih vtipkaš in enostavna komputacijska moč naredi svoje. Ne razumem, kako je program lahko našel ta pravila (evolucijsko) ko pa so bila že na začetku znana.

Pri čisti komputacijski zmogljivosti bo vedno zmagal računalnik. Evolucija v tvojem primeru zgolj optimira, ne pa tudi kreira.

Oz. kreacije so random, nedezignirane. So sam svoj smisel (kot si že sam priznal).

Look - saj je to smiseln pristop za določene primere.
Ampak, ko deluješ z izjemno velikim številom neznank in možnosti, ti bo kak human brain tank z ciljanim pristopom prej našel pravo rešitev.Zato, ker bo prej izbral verjetnejše stvari (z ugibanjem, z "hunchi", z verjetnostmi) kot pa sistematsko prečesoval vse možne varijable, ne glede na njihovo verjetnost.
Tvoj program bo v istem času naredil veliko večji posel, ampak željen rezultat bo za z.o. prej opravil brain tank.

Od tukaj moje mišljenje, da je "brain" še vedno učinkovitejši od tvojega programa. Vprašanje pa je, kako dolgo?

P.S. Pod "brain tank" sem seveda mislil na "human think tank"
Dobro je kar nosi največ svobodne koristi/najmanj bolečine čim več sentientom
na najhitrejši, najvarnejši in najbolj moralen način za najdaljše obdobje.
"Utilitarianizem po Saladinovo"

Zgodovina sprememb…

  • spremenil: Saladin ()

Luka Percic ::

Saladin ga res serje, spet omenja da evolucija prečesava vse možnosti.

To nikakor ni res.

Kolikokrat je treba še povedat?

Saladin ::

Random mutation plus nonrandom cumulative natural selection - Richard Dawkins


ALi hočeš reči, da vsaka (ali recimo razmeroma pogosta) nadgradnja prinese željen rezultat? Će ne, potem spet temeljiš na random mutacija in nadaljnem procesiranju le te. Pa spet random mutacija pa procesiranje le te. )Pa spet... edit)
Dobro je kar nosi največ svobodne koristi/najmanj bolečine čim več sentientom
na najhitrejši, najvarnejši in najbolj moralen način za najdaljše obdobje.
"Utilitarianizem po Saladinovo"

Zgodovina sprememb…

  • spremenil: Saladin ()

Matako ::

@Saladin: Ne razumem, kako je program lahko našel ta pravila (evolucijsko) ko pa so bila že na začetku znana.


V tem je trik - na ta način lahko oceniš kako dober je algoritem (strojnega) učenja. Znana pravila šaha so "pravilni rezultat" s katerim primerjaš pravila, ki se jih algoritem uči izključno iz primerov iger.

Zamisel je v tem, da bo tak dobro delujoč algoritem znal mogoče izluščiti tudi pravila za domene, za katere ne poznamo pravil. Potem se lahko spraviš na kako medicinsko diagnostiko in podobne tradicionalne domene strojnega učenja.

Skratka... dobrodošel v čudoviti svet akademskih podvigov ;)
/\/\.K.

Zgodovina sprememb…

  • spremenil: Matako ()

Saladin ::

V tem je trik - na ta način lahko oceniš kako dober je algoritem (strojn ega) učenja. Znana pravila šaha so "pravilni rezultat" s katerim primerjaš pravila, ki se jih algoritem uči izključno iz primerov iger.

Pomeni, da si mu samo in zgolj dal nalogo, naj išče vzorce med temi igrami? Nič drugega? Program ni poznal nobeno od pravil, pa jih je vseeno skužil?
Kako dolgo je to trajalo?
Dobro je kar nosi največ svobodne koristi/najmanj bolečine čim več sentientom
na najhitrejši, najvarnejši in najbolj moralen način za najdaljše obdobje.
"Utilitarianizem po Saladinovo"

Luka Percic ::

Metanje kocke ni enako štetju do šest.

Ne mešat randoma in "prečesavanja".

Saladin ::

Ne mešat randoma in "prečesavanja".

Prav imaš.

Evolucija še prečesava ne, ampak ima popolno random izhodišče (ki ga potem poskuša selektvno sprocesirat, dokler je to možno).
Torej je kritika še boilj utemeljena.
Dobro je kar nosi največ svobodne koristi/najmanj bolečine čim več sentientom
na najhitrejši, najvarnejši in najbolj moralen način za najdaljše obdobje.
"Utilitarianizem po Saladinovo"

nevone ::

> Tvoj primer v šahu zame ni evolucijski primer

Jah ne moreš zdej ti spreminjat definicije evolucijskega algoritma. Tega smo že definirali.

Sicer vem, da imaš veselje redefinirati stvari po svojem okusu, ampak tukaj jih prosim pusti pri miru, ker je definicija dokaj jasna. Ali pa daj novo ime in definiraj potem te reči po svoje, da bomo vedeli o čem sploh govorimo.

o+ nevone
Either we will eat the Space or Space will eat us.

jype ::

Saladin> Torej je kritika še boilj utemeljena.
Saladin> Kako dolgo je to trajalo?

Who cares?

Pri evoluciji ti pa res ni treba biti real-time. Če moraš biti, obstajajo za to bistveno hitrejše metode, recimo (adaptive) simulated annealing, ki se precej uporablja npr. pri reduciranju grafov v računalniškem vidu.

Saladin ::

Povej po domače, kako je program prišel do omenjene sposobnosti (primer šaha).
Torej kakšne inpute si mu dal, kaj je sam naredil in kako dolgo je to trajalo.

Mislim, da je dovolj jasno.

Kako dolgo je trajalo? Who cares?

Ich cares.
Saj ne rečem, da program ne deluje - kritiziral sem njegovo učinkovitost, češ, da ni boljše alternative.
Zanima me, kako dolgo je trajalo, da je program sam pogruntal pravila in kako dolgo bi to trebalo človeku, ki bi brez vsakega predznanja poskusil narediti enako (pogruntat pravila, ne nadaljno čisto prosiranje z temi pravili)
Dobro je kar nosi največ svobodne koristi/najmanj bolečine čim več sentientom
na najhitrejši, najvarnejši in najbolj moralen način za najdaljše obdobje.
"Utilitarianizem po Saladinovo"

Zgodovina sprememb…

  • spremenil: Saladin ()

nevone ::

> Pri čisti komputacijski zmogljivosti bo vedno zmagal računalnik. Evolucija v tvojem primeru zgolj optimira, ne pa tudi kreira.

To da je kreacija izključno domena človeške vrste in da je kreacija lahko samo rezultat komputinga, ki se izvaja na človeških možganih, je veliko podcenjevanje ostalih komputingov. Tukaj vedno lahko potegnemo paralelo z razumevanjem zmožnosti letenja, ki so jo ljudje svoje čase pripisovali izključno pticam in njihovi tehniki mahanja z krili.

Saladin, poskušaj razumeti, da kreacija ni popolnoma nič mističnega. Vprašanje je samo, čemu ti rečeš kreacija. In sedaj prosim naštej 10 kreacij in 10 nekreacij, da bomo sploh razumeli, kaj je zate kreacija.

o+ nevone
Either we will eat the Space or Space will eat us.

jype ::

Saladin> Saj ne rečem, da program ne deluje - kritiziral sem njegovo učinkovitost, češ, da ni boljše alternative.

No ja, tega jaz ne trdim - jaz mislim, da obstaja, pa da ni trivialna, pa da to zgolj mislim (domnevam) - če je res, ne vem.

En kup takih algoritmov imaš, ki znajo (tudi) sami sebe optimizirat, bi pa dejansko bilo lažje napisati proof of concept rešitev kot formalno dokazat (vsaj zame), da so rešitve boljše od ne popolnoma naključnih mutacij.

Saladin ::

Saladin, poskušaj razumeti, da kreacija ni popolnoma nič mističnega. Vprašanje je samo, čemu ti rečeš kreacija. In sedaj prosim naštej 10 kreacij in 10 nekreacij, da bomo sploh razumeli, kaj je zate kreacija.


Saj ne mešam "kreacionizem" in kreacijo (pojem "kreacionizem" je itak že preveč zasvinjan z njegovim današnjem popularnim razumevanjem - uporabljam ga zgolj za razmislek).

Evolucija v tvojem primeru zgolj optimira, ne pa tudi kreira

Predvidevam, da ste v program vstavili precej natančna (rešitvi prilagojena) pravila, ki jih je ta optimiral v popolnoma pravilen rezultat (je le optimiral dano, pravilno, formulo). Mene zanima le, kdaj program doseže to stopnjo kompleksnosti in pravilnosti teh pravil (ko pa enkrat začne premlevat končno formulo, torej isto komputacijo brez evolucije, me zadeva ne zanima več). Ta optimizacija je evolucija.

Kreacija pa je pravilen oz. uporaben set pravil po "Random mutation plus nonrandom cumulative natural selection". Kreacija ni sam rezultat, ampak pravilno doumetje formule, ki da pravilen rezultat. Kreacija je, da ti iz random izbranih podatkov sestavi teorem, ki bi ga lahko sam nadgrajeval in izpopolnil v uporaben in pravilen set pravil.

DOkler nimaš kreacije, nimaš kaj optimirat.
Seveda pa ima program določen set pravil, ki ste jih Vi kreirali - torej je program hudo odvisen od tega, kakšna pravila mu boste vnesli.
Kar pomeni, da hudo malo kreira, ampak le evoluira-optimira od Vas podana pravila.

Think tank pa naspram tega hudo veliko kreira. Torej je program odlično orodje za procesiranje že znanih idej - ne pa za odkrivanje novih.




Edit:
ALi čist na kratko: Zanima me, kako daleč gre program "beyond it's programing".
Kajti trdim, da pretežno le optimira ideje zgolj po tistih pravilih, ki ste mu jih zadali in da le relativno malo "izmišlja" kaj novega. Oz. če že, da pri teh inovacijah, "kreacija" ni najbolj učinkovit.
Upam da je zdaj jasno.

Premlevanje in optimiranje pravil, ki ste mu jih dali naspram ustvarjanja povsem novih idej, ki so povsem oddaljeni (povsem drugačni) od prvotnega programinga, prvotnega seta pravil.
Dobro je kar nosi največ svobodne koristi/najmanj bolečine čim več sentientom
na najhitrejši, najvarnejši in najbolj moralen način za najdaljše obdobje.
"Utilitarianizem po Saladinovo"

Zgodovina sprememb…

  • spremenil: Saladin ()

snow ::

Se pravi da kreiraš samo če ustvarjaš pravila? Recimo fiziko.

Drugače samo prečesavaš že ustvarjene ideje?
Random mutation plus nonrandom cumulative natural selection - Richard Dawkins

Saladin ::

Se pravi da kreiraš samo če ustvarjaš pravila?


Tako je. Pravilo je kreacija - vse drugo je le optimizacija teh pravil.
Dobro je kar nosi največ svobodne koristi/najmanj bolečine čim več sentientom
na najhitrejši, najvarnejši in najbolj moralen način za najdaljše obdobje.
"Utilitarianizem po Saladinovo"

nevone ::

> Tako je. Pravilo je kreacija - vse drugo je le optimizacija teh pravil.

Razumem, kje si potegnil ločnico, vendar mislim, da si se narobe izrazil.

Po moje si le hotel potegniti ločnico med postavitvijo pravili in uporabo teh pravil za dosego nekega cilja. In po tvoje evolucijski algoritem ne postavlja pravil in ne določa ciljev. Po tvoje evolucijski algoritem pravila samo uporablja in sledi vnaprej določenemu cilju, ki ga tudi ne zna smiselno spreminjati sam.

Optimizacija ali bolje obravnava teh pravil bi že bil korak h kreativnosti evolucijskega algoritma, ker če neka pravila zadosti spremeniš, moraš temu po tvoje že reči kreacija, ali ne?

o+ nevone
Either we will eat the Space or Space will eat us.

Saladin ::

Bjutifuly explained, Nevone ;) (šmrc)

Evolucija je dobra (omogoča) le toliko, z kakšnimi pravili in pogoji jo sprogramiraš.
Čudi me, da deterministični Thomas tega ne opazi. Vse je že podano na začetku - ostalo je le optimizacija prvotnih parametrov.

Recimo, moti me tole:
"Let's make a program that simulates evolution, so we can understand evolution better".

Če si ti na začetku podal definicijo evolucije zelo ohlapno, bo tudi tvoja simulirana evolucija le grobo podobna tisti v naravi.
Še več - tak pristop ti ne bo dal nobenih novih informacij, nobenega feedbacka o tem, kako popravit prvotne parametre.
Program ti bo le optimiral točno tisto definicijo evolucije, ki si ji zadal. Nič več.

Pojem optimizacija in evolucija pa lahko uporabljaš poljubno, saj se gre za praktično isto stvar.
Dobro je kar nosi največ svobodne koristi/najmanj bolečine čim več sentientom
na najhitrejši, najvarnejši in najbolj moralen način za najdaljše obdobje.
"Utilitarianizem po Saladinovo"

nevone ::

Saladin, jaz razumem tvoje pomisleke glede evolucijskih algoritmov. Ampak samo razumem, strinjam se pa ne, ker ti enostavno ne vidiš dovolj globoko v tem primeru.

> Če si ti na začetku podal definicijo evolucije zelo ohlapno, bo tudi tvoja simulirana evolucija le grobo podobna tisti v naravi.

Gre za to, da mi iz narave vzamemo tisto, kar je esencialno. Ni nujno, da jo do potankosti posnemamo. V resnici pa velike razlike med evolucijskim algoritmom in evolucijo ni. Bistvena razlika je v tem, da človek s pomočjo evolucijskega algoritma pride do novih vrednosti hitreje in udobneje, kot bi prišel po "naravni" poti biološke evolucije.

> Še več - tak pristop ti ne bo dal nobenih novih informacij, nobenega feedbacka o tem, kako popravit prvotne parametre.
Program ti bo le optimiral točno tisto definicijo evolucije, ki si ji zadal. Nič več.

Moraš se boš soočiti z dejstvom, da ne razumeš dovolj dobro možnosti ki jih daje evolucijsko programiranje. Enostavno ne vidiš tistega zadnjega koraka, ki je tudi možen, da evolucijski algoritem začne vplivat v polju, ki mu ti rečeš kreacija in ustvarjanje novih informacij v najstrožjem pomenu besede.

> Pojem optimizacija in evolucija pa lahko uporabljaš poljubno, saj se gre za praktično isto stvar.

Optimiziramo lahko s pomočjo evolucije. Optimizacija s pomočjo evolucijskega algoritma je ciljna evolucija.

o+ nevone
Either we will eat the Space or Space will eat us.

Saladin ::

trinjam se pa ne, ker ti enostavno ne vidiš dovolj globoko v tem primeru.

Čisto možno. Celo verjetno.

nostavno ne vidiš tistega zadnjega koraka, ki je tudi možen, da evolucijski algoritem začne vplivat v polju, ki mu ti rečeš kreacija in ustvarjanje novih informacij v najstrožjem pomenu besede.

Rečeš, da "je možno". A je dosedaj sploh uspel narediti kakšno takšno polje?

Pa tudi če je, saj nisem rekel, da ni možno, ampak da je v ustvarjanju teh polj, kreacij, novih pravil,... neučinkovit in počasen (naspram človeškemu "think tanku").
Oz. to bo tako dolgo, dokler se (z izdatno pomočjo tega think tanka) ne razvije pravi AI, ki v kompletnem sklopu uma prekaša človeškega (khm2050khm)
Dobro je kar nosi največ svobodne koristi/najmanj bolečine čim več sentientom
na najhitrejši, najvarnejši in najbolj moralen način za najdaljše obdobje.
"Utilitarianizem po Saladinovo"

Zgodovina sprememb…

  • spremenil: Saladin ()

imagodei ::

No, hudiča, Saladin, izjave v stilu
Pa tudi če je, saj nisem rekel, da ni možno, ampak da je v ustvarjanju teh polj, kreacij, novih pravil,... neučinkovit in počasen (naspram človeškemu "think tanku").

so pa res malo prehude. Evolucijsko programiranje prosperira ravno tam, kjer z uporabo logike ali matematičnih pristopov v doglednem času ne moremo priti do rešitve. To ne pomeni, da problem npr. ni matematično rešljiv (če govorimo o nekem problemu, ki je v domeni matematike), pač pa, da je množica potencialnih kandidatnih rešitev tako velika, da jih s klasičnim pristopom ne moremo rešiti v doglednem času. Niti z uporabo super računalnikov.

Primer
- Hoc est qui sumus -

nicnevem ::

@Saladin
-> Pa tudi če je, saj nisem rekel, da ni možno, ampak da je v ustvarjanju teh polj, kreacij, novih
-> pravil,... neučinkovit in počasen (naspram človeškemu "think tanku").

S tem, da je evolucijski način neučinkovit, bi se kar dalo strinjati. Vendar obstajajo tudi določene področja, kjer ljudje nismo najbolj "doma" in pri teh se prav lahko zgodi, da je naša učinkovitost slabša od evolucijske.

Kak primer? Morda optimizacija funkcij z mnogo medsebojno odvisnimi spremenljivkami, razvoj določenih vrst algoritmov, ali pa kaka druga naloga, ki vsebuje ogromno količino podatkov, ki jim ljudje zaradi pomanjkanja adaptacij zanje, nismo zmožni slediti. Težko natančno reči, ker pri ljudeh ne moremo meriti št. operacij, ki jih opravimo pri neki nalogi.

Jasno pa je, da ljudje zmoremo stvari, ki jih evolucijski algoritem niti približno ni sposoben (v nekem normalnem času)...

Sicer pa so evolucijski algoritmi zagotovo primerno orodje za spopadanje s problemi kakršnega je navedel imagodei. Trgovski potnik je namreč NP težak problem - t.j. eden izmed problemom za katere skoraj zagotovo ne obstaja polinomski algoritem (če bi našli hiter algoritem za kak tak problem, potem velja P=NP, kar pa je silno malo verjetno) in s tem je neučinkovitost evolucijo čisto sprejemljiva. Kaj dosti boljšega tako ali tako nimamo.

Jasno pa je, da ne bomo šli računat decimalk št. PI ali pa reševati kakega izmed problemov, za katere že poznamo hitrejši algoritem, na evolucijski način. Vendar dostikrat ni tako. Šahovski problem, ki ga je omenil Thomas, je verjetno že eden izmed takšnih, da je evolucija, simulirano ohlajanje, optimizacija s pomočjo mravelj ali pa kak drug podoben način reševanja čisto sprejemljiv...

Običajno evolucijski algoritem izpljune dovolj dobro rešitev v nekem normalnem času (če smo ga uporabili na vsaj približno primernem problemu). Težava je v tem, da obstaja precej domen, kjer ne evolucija, ne nevronske mreže ali kaj drugega, ne da nič od sebe (v nasprotju z ljudmi ;)). Razžene jih eksponentna eksplozija in preostane nam le še razbijanje glave z izzumljanjem boljšega algoritma.

Uh, pozna ura, ziher sem kaj mimo usekal. Oh well... :)

gani-med ::

Pripomnil bi le, da je tudi človek (ali takoimenovani "think tank") samo rezultat evolucije - oziroma evolucijskega "algoritma", ki sicer že nekoliko dlje časa poteka v naravi.

Torej lahko zatrdimo, da vse, kar zmore človek, zmorejo tudi taki ali drugačni algoritmi, in še več.
CO2 is the elixir of life.

BigWhale ::

Ce mi bo Thomas ponudil hitrejsi algoritem za sortiranje dreves, mi je cisto vseeno a ga je potegnil ven iz carovniskega kotla kjer se je kuhal tri dni ali pa je njegov EA tri dni premleval moj obstojeci algoritem ali pa se ga je sam spomnil med nocnim haluciniranjem.

In na koncu je to edino kar je pomembno. Zakaj bi Thomas haluciniral in kuhal carovniski kotel, ce lahko stvar prepusti EAju in medtem, on pocne kaj pametnejsega?

Torej, jaz bom vzel hitrejsi algoritem za sortiranje dreves od tistega, ki mi ga bo prvi ponudil. Saladin, lahko zacnes mozgati, me zanima, ce bos prej koncal kot Thomasov EA. In ce bos res hitrejsi. :)

Zgodovina sprememb…

  • spremenil: BigWhale ()

Saladin ::

Saladin, lahko zacnes mozgati, me zanima, ce bos prej koncal kot Thomasov EA. In ce bos res hitrejsi. :)

Sem le mala laična ribica v velikanskem morju znanstvene elite. Imam pa rad eno celotno perspektivo, na katero radi znanstveniki pozabljate ;)

Think tank je ta znanstvena elita (tudi tista iz logike in filozofije)

All I'm saying je, da boš (do pravega AI-ja) veliko bolj učinkovit, če ti bo ta think tank metal ven ideje, ki jih bo lahko evolucijski program maksimalno raziskal (za razliko od samostojnega programskega izmišljanja IN preverjanja).
Dobro je kar nosi največ svobodne koristi/najmanj bolečine čim več sentientom
na najhitrejši, najvarnejši in najbolj moralen način za najdaljše obdobje.
"Utilitarianizem po Saladinovo"

imagodei ::

Saladin, ne vem če te prav razumem, ampak z metodami AI se običajno lotevamo nekih omejenih problemov oz. problemov v znanih okvirih. Ne gre za to, da bi pognali nek genski algoritem in čakali, kaj bo padlo ven. Že program sam po sebi ima običajno omejitve v smislu namena: . Nadalje iskanje rešitev omejiš Z LOGIKO, namreč niso vse rešitve dobre, pač pa se vsaka nova generacija rešitev ovrednoti, za nov Gene pool pa se izberejo samo tiste, ki imajo najboljši fitness (ki JE tista LOGIKA, ki jo ti pogrešaš).
- Hoc est qui sumus -

Saladin ::

No, potem dela točno to, kaj svetujem.

Samo da še enkrat ponovim kritiko feedbacka:
Če si evolucijskemu programu zadal točna pravila in cilj, boš ščasoma prispel do cilja. Za ta namen je super.

AMpak tak pristop ne moreš uporabit za optimiranje prvotnih pravil. Recimo da hočeš s tem programom odkrivi in skopirati delovanje možganov.
Ker delovanja možganov ne poznamo natančno, nimaš druge kot da mu podaš neka ohlapna pravila in/ali pri tem ugibaš.
Program bo sprocesiral tvoje parametre - ampak ti rezultati ti ne bodo pomagali pri bolj natančnem razumevanju in odkrivanju bolj natančnih pravil delovanja možganov.

Ne vidim tega feedback loopa, ki bi izboljševal prvoten set pravil.
Dobro je kar nosi največ svobodne koristi/najmanj bolečine čim več sentientom
na najhitrejši, najvarnejši in najbolj moralen način za najdaljše obdobje.
"Utilitarianizem po Saladinovo"


Vredno ogleda ...

TemaSporočilaOglediZadnje sporočilo
TemaSporočilaOglediZadnje sporočilo
»

Quick sort

Oddelek: Programiranje
102515 (1263) drola
»

Digitalna evolucija (strani: 1 2 3 426 27 28 29 )

Oddelek: Znanost in tehnologija
141675764 (25933) pietro
»

dos C urejanje po velikosti

Oddelek: Programiranje
81206 (1037) klemen22
»

[Turbo Pascal] Pomoč...

Oddelek: Programiranje
131477 (1379) Grey
»

sortirni algoritem v Cju

Oddelek: Programiranje
61447 (1299) GaPe

Več podobnih tem