Elokuvia, musiikkia, ohjelmia - satunnaisesti!

Seuraa 
Viestejä45973
Liittynyt3.9.2015

Jos otetaan vaikkapa 700 Mt cd-levy, mahtuu siihen rajattu määrä ykkösten ja nollien kombinaatioita. Jos laskentateho saadaan riittämään (kvanttikone?) niin luodaanpa kaikki mahdolliset tuon bittimäärän kombinaatiot ja etsitään tästä joukosta sopivilla algoritmeilla säännönmukaisuuksia kuten musiikin rytmiä, hahmoja tai toiminnallisuuksia.

Tästä päästään tilanteeseen, jossa kaikki cd-levylle mahtuvat tekeleet löytyvät joukosta, mutta niinpä löytyvät vielä tekemättömätkin. Mitä mieltä olette - millä laitteilla tämä voitaisiin toteuttaa? Uskon ainakin, että musiikin suhteen algoritmit ehkä osattaisiin tehdä.

Voitaisiinko ohjelmat tunnistaa esimerkikisi siten, että satunnainen bittijono koitetaan suorittaa tietokoneessa tai kääntäjässä ja jos se "muodostaa" toimivan ohjelman, niin vastaus on siinä?!

Lisäksi voitaisiin soveltaa tulosten tulkinnassa jotain internet-välitteistä palvelua, jossa miljoonat ihmiset katsovat ja kuuntelevat/testaavat löydettyjä vaihtoehtoja ja hyötyvät osaltaan löytäessään jotain.

Ja tietenkään tämä systeemi ei rajoitu 700 Mt:uun, vaan voi alkaa muutamista kilotavuista ja ulottua niin suuriin järjestelmiin, kuin laskentateho riittää.

Sivut

Kommentit (20)

Kosh
Seuraa 
Viestejä21228
Liittynyt16.3.2005

Taisitpa kuvailla karkeasti evoluutioalgoritmien toimintaperiaatteen. Niiden joukosta löyty mm. geneettinen ohjelmointi, joka on menetelmä tuottaa sattuman ja valinnan avulla tietokoneohjelmia, joskin tämä tapahtuu yleensä symbolisen ohjelmointikielen eikä bittijonojen tasolla. Samoin evolutiivisia menetelmiä toki voidaan käyttää taiteen tuottamiseen, mutta siinä juuri se mielekkyyden arvointi on vaikeaa, se kun ainakin toistaiseksi pitää tehdä ihmisvoimin, eikä oikein onnistu automaattisesti (joitain tapauksia lukuunotamatta), mikä romahduttaakin sitten menetelmän nopeuden ja sovelettavuus kärsii. Kuitenkin, evolutiivisin menetelmin ON tuotettu onnistuneesti musiikkia, ohjelmia, ynnä kaikenlaista muuta kivaa.

Se oli kivaa niin kauan kuin sitä kesti.

Vierailija

Niin vaikeaahan tuo tulkinta tietty on, mutta periaatteessa binäärikoodin syöttö kääntäjään toimisi ainakin ohjelmien kohdalla automaattisena haarukoijana.

Mikäli oikein muistan miten kombinaatioiden määrä saadaan, niin taitaa tulla 2 exp 5,6 miljardia.

Tietty esim. satunnaisesti luoduista ohjelmista suuri osa kaatuu nopeasti kääntäjässä ja siten koko bittijonoa ei tarvitse tarkistaa.

Vierailija
vision
Jos otetaan vaikkapa 700 Mt cd-levy, mahtuu siihen rajattu määrä ykkösten ja nollien kombinaatioita. Jos laskentateho saadaan riittämään (kvanttikone?) niin luodaanpa kaikki mahdolliset tuon bittimäärän kombinaatiot ja etsitään tästä joukosta sopivilla algoritmeilla säännönmukaisuuksia kuten musiikin rytmiä, hahmoja tai toiminnallisuuksia.

Tästä päästään tilanteeseen, jossa kaikki cd-levylle mahtuvat tekeleet löytyvät joukosta, mutta niinpä löytyvät vielä tekemättömätkin. Mitä mieltä olette - millä laitteilla tämä voitaisiin toteuttaa? Uskon ainakin, että musiikin suhteen algoritmit ehkä osattaisiin tehdä.

Voitaisiinko ohjelmat tunnistaa esimerkikisi siten, että satunnainen bittijono koitetaan suorittaa tietokoneessa tai kääntäjässä ja jos se "muodostaa" toimivan ohjelman, niin vastaus on siinä?!

Lisäksi voitaisiin soveltaa tulosten tulkinnassa jotain internet-välitteistä palvelua, jossa miljoonat ihmiset katsovat ja kuuntelevat/testaavat löydettyjä vaihtoehtoja ja hyötyvät osaltaan löytäessään jotain.

Ja tietenkään tämä systeemi ei rajoitu 700 Mt:uun, vaan voi alkaa muutamista kilotavuista ja ulottua niin suuriin järjestelmiin, kuin laskentateho riittää.

Muistaakseni on mahdollista analysoida olemassa olevaa musiikkia ja sen perusteella luoda sitten uutta tyylillisesti samankaltaista musiikkia. Eli periaatteessa voisi olla mahdollista luoda ohjelma, joka soittaisi periaatteessa ikuisesti vaikkapa jazzia, Rock:ia tai soulia.

Saadaanhan syntesisaattoreillakin nykyisin simuloitua lähestulkoon kaikkia soittimia.

Vierailija
tapani
Muistaakseni on mahdollista analysoida olemassa olevaa musiikkia ja sen perusteella luoda sitten uutta tyylillisesti samankaltaista musiikkia. Eli periaatteessa voisi olla mahdollista luoda ohjelma, joka soittaisi periaatteessa ikuisesti vaikkapa jazzia, Rock:ia tai soulia.

Suomessa on sävelletty tangoja ohjelmallisesti:

"
Konesäveltäjä

Taiteen lajeista helpoimmin formali-soitavissa lienee musiikki. Esimerkiksi Suomessa professori Markku Nurminen laati jo 60-luvulla todennäköisyys-laskentaan perustuvan mallin Toivo Kärjen tangoista näitä samaan sävellajiin transponoimalla. Mallin avulla tietokone-ohjelma pystyi generoimaan uusia Toivo Kärki -tyyppisiä tangoja parin kappaleen minuuttivauhdilla. Näistä yksi, "Kesän muistatko sen", nousi komeasti Suomen suosikkilistalle itsensä Toivo Kärjen sovittamana vuonna 1967. Kappaleesta saadut tekijänoikeustulot päätyivät lopulta Turun yliopiston tietokoneiden huolto-tilille - näin sai tekijä palkkionsa.
"
http://www.cs.helsinki.fi/abinfo/Databi ... skone.html

Jos on mielenkiintoa itse luoda simppeliä taustamusiikkia, voi kokeilla ohjelmaa jonka saa sivulta http://reglos.de/musinum/

Vierailija
vision
Jos otetaan vaikkapa 700 Mt cd-levy, mahtuu siihen rajattu määrä ykkösten ja nollien kombinaatioita. Jos laskentateho saadaan riittämään (kvanttikone?) niin luodaanpa kaikki mahdolliset tuon bittimäärän kombinaatiot ja etsitään tästä joukosta sopivilla algoritmeilla säännönmukaisuuksia kuten musiikin rytmiä, hahmoja tai toiminnallisuuksia.

Tästä päästään tilanteeseen, jossa kaikki cd-levylle mahtuvat tekeleet löytyvät joukosta, mutta niinpä löytyvät vielä tekemättömätkin. Mitä mieltä olette - millä laitteilla tämä voitaisiin toteuttaa? Uskon ainakin, että musiikin suhteen algoritmit ehkä osattaisiin tehdä.

Voitaisiinko ohjelmat tunnistaa esimerkikisi siten, että satunnainen bittijono koitetaan suorittaa tietokoneessa tai kääntäjässä ja jos se "muodostaa" toimivan ohjelman, niin vastaus on siinä?!

Ensteksi kannattaisi pitkästä satunnaisesta bittijonosta suodattaa
iso kasa ohjelmia jotka tuottavat satunnaisia bittijonoja, jotka olisivat
sitten varmaankin keskimääräistä parempia bittijonoja.

Vierailija

Eikö helpompaa olisi päättää ensin, mitä halutaan... Siis, jos halutaan vaikka video, niin video syntyy varmasti paljon nopeammin, kun tehdään satunnaisia ruutuja ja toivotaan, että joskus satunnaisten ruutujen seasta ilmestyy jotain "merkityksellistä"... Se tapahtuu ainakin nopeammin, ja huomattavasti pienemmällä vaivalla kuin se, että generoidaan satunnaisia bittijonoja, ja toivotaan että se olisi ylipäätään luettavissa vaikkapa jonain kuvaformaattina.

Toisaalta, jo VGA-resoluutiolla on pikseleitä 320 * 240... Eli 76800 pikseliä. Jos kuva olisi "2-värinen" musta/valko-kuva, niin eikö vaihtoehtoja olisi silloin jo 76800^2 = 5898240000, vai olenko nyt ihan väärässä?

Ja siis nuo vaihtoehdot voitaisiin toteuttaa pelkästään 2 värillä, ja ikivanhalla VGA-resoluutiolla... Ja kyseessä on vain yksi ruutu.

Edes kohtuullisen grafiikan tuottamiseksi pitäisi värejä olla reippaasti enemmän, ja samoin resoluutiota...

Satunnaislukujen avulla on mahdollista generoida kuvia, ja ääntä yms. mutta suurin osa tuotoksista tulee olemaan kaikenlaista merkityksetöntä roskaa.

Vierailija

CD:n tallennuskapasiteetilla erilaisia bittikombinaatioita olisi enemmän kuin 2^700000000 kappaletta. Aivan liikaa nykykoneille.

Jos bittijonot muutettaisiin aina vaikkapa 640x480-värikuviksi, olisi 99,999...% kuvista vain satunnaista "lumisadetta". Mutta sieltä löytyisi myös kuva kaikesta mitä voimme kuvitella. Kuvia tulevaisuudesta, menneisyydestä, jokaisesta elämänhetkestäsi, sinusta kättelemässä presidentti Bushia ja ratsastamassa dinosauruksella...

Vierailija
Sivullinen

Jos bittijonot muutettaisiin aina vaikkapa 640x480-värikuviksi, olisi 99,999...% kuvista vain satunnaista "lumisadetta". Mutta sieltä löytyisi myös kuva kaikesta mitä voimme kuvitella. Kuvia tulevaisuudesta, menneisyydestä, jokaisesta elämänhetkestäsi, sinusta kättelemässä presidentti Bushia ja ratsastamassa dinosauruksella...

Helpostihan tuollainen ohjelma olisi tehtävissä ja kokeiltavissa käytännössä. Miksi siis enää jossitella?

Volitans
Seuraa 
Viestejä10670
Liittynyt16.3.2005
Unterseeboot

Toisaalta, jo VGA-resoluutiolla on pikseleitä 320 * 240... Eli 76800 pikseliä. Jos kuva olisi "2-värinen" musta/valko-kuva, niin eikö vaihtoehtoja olisi silloin jo 76800^2 = 5898240000, vai olenko nyt ihan väärässä?

Ja siis nuo vaihtoehdot voitaisiin toteuttaa pelkästään 2 värillä, ja ikivanhalla VGA-resoluutiolla... Ja kyseessä on vain yksi ruutu.

VGA resoluutio on 640x480, mutta eipä tuo tässä tapauksessa haittaa, sillä raakana datana levylle ei paljoakaan liikkuvaa kuvaa mahdu. Sen sijaan vaikkapa MPEG kompressoituna kokonaisen leffan saa mahdutettua CD:lle suunnilleen VHS-tasoisena.

Tulipa tuosta mieleen, että vuonna 1988 tuli kokeiltua jotakin vastaavaa: Teimme kaverin kanssa lyhyen konekielisen ohjelman, jolla oli pituutta muistaakseni 13 tavua. Sitten teimme ohjelman, joka yritti satunnaisesti generoida vastaavan softan - tämäkin koodattiin suoraan konekielellä ja "taustaprosessina" (TSR Terminate and Stay Resident) silloiseen DOS:iin. Viikon verran taisi softa pyöriä, eikä oikeaa tulosta silti löytynyt. Ihmekkös tuo, sillä vaihtoehtoja tuolle 13 tavullekin (=104 bittiä) tulee yhteensä 2^104 eli 20282409603651670423947251286016.

Tehtävä oli kuitenkin sikäli helppo, että satunnaisesti generoidun datan arviointi oli helppoa vertaamalla vain alkuperäiseen.

Vierailija
aleksialeksi
Sivullinen

Jos bittijonot muutettaisiin aina vaikkapa 640x480-värikuviksi, olisi 99,999...% kuvista vain satunnaista "lumisadetta". Mutta sieltä löytyisi myös kuva kaikesta mitä voimme kuvitella. Kuvia tulevaisuudesta, menneisyydestä, jokaisesta elämänhetkestäsi, sinusta kättelemässä presidentti Bushia ja ratsastamassa dinosauruksella...




Helpostihan tuollainen ohjelma olisi tehtävissä ja kokeiltavissa käytännössä. Miksi siis enää jossitella?

Kukakohan jaksaisi odottaa kunnes kone(et) ovat saaneet raksutuksen loppuun?
Aikaa menee p**keleesti
Edit:
Mitäköhän Teosto tykkää tuollaisesta warekoneesta :hmm:

Vierailija

Itsekin mietin tuota teostoa... Mutta eikö tuota voisi toteuttaa siten että moni lataisi koneelleen ohjelman, joka sitten alkaisi tekemään erilaisia bittijonoja näytönsäästäjän mentyä päälle. Olisi varmaan suosittu ohjelma. Jokaisen bittijonon voisi sitten itse arvostella vaikka asteikolla 0-100. Ja tulokset tietenkin lähetettäisiin takaisin palvelun ylläpitäjälle...

Vierailija

Aika mahdottomalta kuulostaa. Jos nuo kuvat sitten tallennettaisiin dvd:lle tai vaikka kiintolevyille, niin nuo levyt veisivät niin paljon tilaa, että ne eivät mahtuisi koko aurinkokuntaamme. Emmekä luultavasti saisi edes kerättyä tarpeeksi resursseja noiden levyjen rakentamiseen. Oma arvioni toki vain.

Vierailija
Volitans

VGA resoluutio on 640x480, mutta eipä tuo tässä tapauksessa haittaa, sillä raakana datana levylle ei paljoakaan liikkuvaa kuvaa mahdu. Sen sijaan vaikkapa MPEG kompressoituna kokonaisen leffan saa mahdutettua CD:lle suunnilleen VHS-tasoisena.



Eikös tuo 640*480 ole jo "hi-res" VGA?

Minun muistaakseni perus-VGA:n resoluutio oli 320...

sillä raakana datana levylle ei paljoakaan liikkuvaa kuvaa mahdu.

No joo, mutta kysehän ei ollutkaan siitä, että paljonko mahtuu. Kyse oli lähinnä siitä, että jopa noin alkeellisilla resoluutiolla, ja sitäkin huonommilla värimäärillä saadaan hirmuisia määriä vaihtoehtoja. Se kuinka paljon tilaa noiden kuvien tallennus vie, tai miten ne pakataan on vain tekninen sivuseikka.

Vierailija

No nytpä sitten tuli tämä uusi teoria kvanttikoneen rakentamiseksi -ehkä sillä voitaisiin ajaa tällaista sovellusta?! Kuka koodaa?

Vierailija

Eihän itse ohjelman teko ole vaikeaa - ajattelin itsekkin kyhätä moisen - mutta niiden filtterien teko onkin vähän kinkkisempää...

Kriteerinä voisi pitää ainakin sitä että pitää olla viivoja jotka risteävät toisiaan... ja että kuva on about koko reson kokonen, eli että ei jää tyhjiä reunoja. Olisi mielenkiintoista katsoa mitä kaikkea se suoltaisi ulos

Sivut

Uusimmat

Suosituimmat