Programy v přírodě

Napsal Foton (MP)
(Ze slovenštiny přeložil Pavel Kábrt – 6/2015)

Přírodní procesy jsou schopny vyprodukovat buď opakující se vzor, náhodný vzor, nebo směs obou. Takový vznik v přírodě pozorujeme. To, co nepozorujeme, je vznik promyšleného programu bez předešlého programu nebo inteligence.

....Řekněme, že chceme získat taková celá čísla, která nejsou dělitelná žádným jiným číslem kromě sama sebou a jedničkou. Čili prvočísla. – Protože lidé jsou inteligentní bytosti, mohou vymyslet postup (program), jak na to. Např.:

1. Napíšu si na papír čísla od 2 do 100.
2. Vezmu první číslo z nich – tj. 2.
3. Všechny násobky čísla 2 z napsaných čísel vymažu. Tj. 4, 6, 8, 10, 12 atd. ...
4. Vezmu následující číslo, které zůstalo, tj. 3.
5. Všechny násobky čísla 3 ze zbývajících čísel vymažu. Tj. 9, 15, 21 atd. ... (čísla 6, 12, 18 už vypadla předtím)
6. Vezmu následující číslo za trojkou – tj. číslo 5. (čtyřka už vypadla, takže tam není)
7. Všechny násobky čísla 5 ze zbývajících čísel vymažu.
8. Atd., atd. ...

....Postup opakuji až do čísla 100.

http://upload.wikimedia.org/wikipedia/commons/6/63/Animation_Sieb_des_Er...

- Tímto postupem (programem) získám prvočísla od 1 do 100. Ti, kteří ovládají nějaký programovací jazyk, si ho můžou napsat v něm.

Vznik takovýchto postupů či jakýchkoliv jiných programů v přírodě nepozorujeme. (....tj. bez předešlého programu nebo inteligence). – Existují však lidé, kteří potřebují, aby v přírodě vznikaly programy i spontánně. Rozhodli se proto tvrdit, že ano – vznikají. Říkáme jim Evolucionisti. Potřebují tímhle podpořit svůj dopředu vymodelovaný závěr, že život vznikl čistě přírodními procesy.

Obrázek uživatele vitas

Telesto

Zdravím Telesta,

Vitasi, nějak mi ten tvůj výsledný program nefunguje...

nevím v čem je problém, když tak napiš na vitas(šnek)matfyz(tečka)cz.
Já jsem totiž implementoval jen podmožinu brainfucku, vynechal jsem vstupně výstupní operace '.' a ',' a na výsledek se dívám přímo do 'operační paměti programu'.

S pozdravem

vitas
@;;

Obrázek uživatele Foton

vitas

Evoluční algoritmus jsem napsal v jazyce perl, a jako evo-jazyk (program jedinců, dna, asembler) jsem použil jazyk Brainfuck.

Ten jazyk žiaľ nepoznám a teda ho neovládam, takže sa ku tomu asi ťažko vyjadrím. Ale pokúsim sa. Budem teda najprv asi otázky.

Nechci předjímat, ale tuším, že nejhůře stravitelná pro tebe bude volba evo-jazyka, v braifucku je každý řetězec program, který něco dělá, neexistuje tam syntax error.

To je problém. Tušil som, že v tom bude háčik, keď si hovoril o znakoch a nie o inštrukciách.

Existují tam pouze programy, které nic nedělají, nebo se zacyklí, nebo přepíšou celou paměť atd. prostě jako asembler, nebo jako jako DNA (i když posouzení tohoto bych nechal biologům).

Nie. Chybný genetický kód môže generovať aj škodlivý výsledok.

Takže si osobně myslím, že jsem tímto výběrem jazyka žádnou podmínku neporušil. Uvidíme co si budeš myslet ty.

Skôr si myslím, že je to podobné, ako keby si len generoval a rozmnožoval samotné polia náhodných čísel, a podľa ohodnocovacej funkcie ohodnocoval, koľko veľa je v ňom už prvočísel. (akurát malou obkľukou)

Zde je jeden z výsledných programů.

To skôr vypadá ako to pole prvočísel, ktoré sme chceli vlasne získať, akurát inak zašifrované. (...Škoda, že ten jazyk nepoznám. Ak mi naň spravíš dobrú reklamu o jeho výhodách a odkážeš na dobrú literatúru, tak sa ho naučím.)

Zde je překlad z brainfucku do čitelnějšího perlu. (uff, vážně jsem právě napsal, že překladem do perlu jsem zvýšil čitelnost? Smile to jsou věci)

Neviem sa k tomu zodpovedne vyjadriť (nepoznám ten jazyk), ale od riadku 135 sa mi zdá, že do poľa len fyzicky sériovo vkladáš nové čísla opakovaným pripočítavaním/odpočítavaním jednotky k predošlému číslu (výsledok si potom zrejme testoval ohodnocovacou funkciou, či je to už prvočíslo). Ono je to ale v podstate to isté, ako keby si tie čísla do poľa priamo vkladal (aj bez programu) a testoval pole.
....Ja som mal ale na mysli program, ktorý obsahuje algoritmus schopný triedenia prvočísel od NEprvočísel, a nie slepé vloženie čísla do poľa, a ak už je to prvočíslo, "zmrazím" tú časť kódu, ktorá ho tam vložila a pokračujem.

A nyní kolik generací to trvalo: optimistický Telesto vůbec nebyl daleko, k hodnocení 100 čísel zda jsou prvočísla stačilo méně než 400 generací (připomínám, že generace je pro naše účely 1000 kroků, 1000 je počet jedinců v populaci).

Keby si nepoužil túto obkľuku len cez inak zašifrované pole, mohlo to byť ešte menej generácii. Smile

Obrázek uživatele Telesto

vitas

Vitasi, nějak mi ten tvůj výsledný program nefunguje...

https://gist.github.com/vitstradal/f0b1dadf185d4fa1c0e3#file-primes-bf

„Nad lidskou blbostí se taky nedá zvítězit. Ale nikdy se nesmí přestat proti ní bojovat.“
– Jan Werich

Telesto

Taky bych asi řekl, že roli hraje snaha o relativizaci. Když se někdo bude chovat jako fašista, tak jednou z jeho taktik je ukazovat jak jsou fašisti ti okolo. (Viz Rusko) Nebo jinak - když se potkají hráči póla a vodního póla a každý bude chtít vyhrát, tak dojde zákonitě ke při jestli hrát v bazénu nebo na trávě... tedy pokud si nepřiznají, že každý chce hrát jinou hru.

Obrázek uživatele Telesto

Re: KTE, Neználek

Věřící se tě snaží přesvědčit, abys věřil tomu co on. Takže na to může jít dvou fázově: nejprve tě přesvědčí, že stejně už něčemu věříš, a tudíž na tom něčemu věřit není nic špatného a když překoná tento myšlenkový blok, tak už bude snadnější tě přesvědčit věřit tomu "správnému".

Jo... to také dává smysl.

„Nad lidskou blbostí se taky nedá zvítězit. Ale nikdy se nesmí přestat proti ní bojovat.“
– Jan Werich

Obrázek uživatele Telesto

vitas

Myslím, že jsem postupoval podle dohody.

Pokud vím, tak Foton pouze preferoval c++. Programovací jazyk mohl být libovolný.

Evoluční algoritmus jsem napsal v jazyce perl, a jako evo-jazyk (program jedinců, dna, asembler) jsem použil jazyk Brainfuck.

Zajímavý programovací jazyk. Já jsem viděl něco podobného, co využívalo jakousi stromovou strukturu instrukcí. Ale za žádnou cenu si teď nevzpomenu, jak se ten programovací jazyk jmenoval.

Zde je překlad z brainfucku do čitelnějšího perlu. (uff, vážně jsem právě napsal, že překladem do perlu jsem zvýšil čitelnost? Smile to jsou věci).

Smile Já jsem se osobně do perlu nikdy nedostal. Perl se mi zdá málo čitelný, ale rozhodně je čitelnější než ten brainfuck Smile

Ale jinak pěkné... díky...

Očekávám spoušť výmluv Wink

„Nad lidskou blbostí se taky nedá zvítězit. Ale nikdy se nesmí přestat proti ní bojovat.“
– Jan Werich

Obrázek uživatele vitas

Re: KTE, Neználek

Zdravím Telesta,

Proč bych to měl dělat??? Napadá vás nějaký jiný důvod??

Věřící se tě snaží přesvědčit, abys věřil tomu co on. Takže na to může jít dvou fázově: nejprve tě přesvědčí, že stejně už něčemu věříš, a tudíž na tom něčemu věřit není nic špatného a když překoná tento myšlenkový blok, tak už bude snadnější tě přesvědčit věřit tomu "správnému".

Ale to je jen moje spekulace.

S pozdravem

vitas
@;;

Obrázek uživatele vitas

Re: Evoluční prvočísla

Zdravím Fotona,

Ak si postupoval podľa dohody, ani jedno z uvedených.

Myslím, že jsem postupoval podle dohody. I když zcela jistě na to budeš mít jiný názor. Použil jsem jiný programovací jazyk. Evoluční algoritmus jsem napsal v jazyce perl, a jako evo-jazyk (program jedinců, dna, asembler) jsem použil jazyk Brainfuck.

Nechci předjímat, ale tuším, že nejhůře stravitelná pro tebe bude volba evo-jazyka, v braifucku je každý řetězec program, který něco dělá, neexistuje tam syntax error. Existují tam pouze programy, které nic nedělají, nebo se zacyklí, nebo přepíšou celou paměť atd. prostě jako asembler, nebo jako jako DNA (i když posouzení tohoto bych nechal biologům).

Takže si osobně myslím, že jsem tímto výběrem jazyka žádnou podmínku neporušil. Uvidíme co si budeš myslet ty.

Program je ke zhlédnutí zde.

Zde je jeden z výsledných programů.

Zde je překlad z brainfucku do čitelnějšího perlu. (uff, vážně jsem právě napsal, že překladem do perlu jsem zvýšil čitelnost? Smile to jsou věci).

A nyní kolik generací to trvalo: optimistický Telesto vůbec nebyl daleko, k hodnocení 100 čísel zda jsou prvočísla stačilo méně než 400 generací (připomínám, že generace je pro naše účely 1000 kroků, 1000 je počet jedinců v populaci).

S pozdravem

viťas
@;;

Obrázek uživatele Telesto

KTE, Neználek

KTE, Neználku... Chápete proč mají někteří věřící potřebu vnutit pocit víry i nevěřícím? Takové to, ale vždyť i vy jste věřící. A když už nic, tak aspoň věříte, že Slunce vyjde příští ráno. TAK... a máme vás. I vy jste věřící.

Mě to přijde, že takoví lidé se za svou víru stydí. No jinak si to nedovedu vysvětlit. Nebo prostě nějak si vnitřně myslí, že je víra špatná... Já to nechápu. Vy ano? No být věřící, proč bych měl mít potřebu i ostatním nutit pocit, že i oni jsou věřící. Proč bych to měl dělat??? Napadá vás nějaký jiný důvod??

Zvláště když já (a patrně ani vy) na víře nic špatného nevidím. Tak absolutně nevím, o co jim jde. Asi nějaký vnitřní boj...

„Nad lidskou blbostí se taky nedá zvítězit. Ale nikdy se nesmí přestat proti ní bojovat.“
– Jan Werich

Obrázek uživatele Foton

Neználek

Pokud je u tebe věřící každý, který věří, že Slunce ráno vyjde jako vždycky, tak prosím.

1. Ano, aj to je druh viery. Čo ak nevyjde?
2. To sa nedá porovnávať s takými absurdnosťami, akými veríte vy. (napr. vznik zložitých programov bez inteligentného tvorcu)

(na to v co věřím a v co nevěřím ses mě nikdy neptal, je zarážející, jak si dovolíš to hodnotit a podsouvat mi, že se k něčemu nepřiznávám)

Ja som reagoval na oficiálne vyjadrenia mnohých evolucionistov: "Evoúcia je založená na dokázaných faktoch." Tvoja osobná viera s tým nemá nič, a ani som sa ťa nechcel nijako osobne dotknúť. Môj boj je proti evolucionistickým báchorkám, poodvodom, úlisnosti a pokrytectvu. Nie proti osobám. Ak niekom vynadám tak to len preto, aby sa spamätal a odhodil toto pokrytectvo. (ale priorita je boj proti ES = Evolučným Sr*****)

Customize This