Tekoälykilpailu

Kilpailu: Koodaa älykäs ohjelma, joka selviää perinteisestä älykkyystestistä. Ohjelman tulee muodostaa ihmisille helppoja ja loogisesti jatkuvia sarjoja, vaikkapa A, AA, AAA, AAAA... tai A1, B2, C3, D4.
http://www.ohjelmointiputka.net/kilpa.php?tunnus=alyo

Itse kilpailu on mielestäni varsin epälooginen, mutta tehtävä osuu hyvin älykkyyden ytimeen: Älykkyyden syvin olemushan on jonkin hahmon käyttäytymisen tunteminen. Vaikea sanoa missä muodossa tekoälykkyys mitäkin selvittämäänsä kaavaa tulisi representoida, mutta jotenkin sen on todistettava älynsä. Tämä on yksinkertainen keino tehdä se.
14729
Äänestä

Muut lukivat myös

Vastaukset 14

Vanhimmat

Tietenkin tekoälyn vastustaja voi toimivan ohjelman nähtyään valittaa, että vaikka se osaa noita ongelmia ratkaista, ei se ole "oikeasti älykäs". Koska en itse tiedä, mitä hän voisi tarkoittaa oikealla älykkyydellä, käytän lainausmerkkejä.

Kilpailu on kyllä kiinnostava. Saapa nähdä mitä ratkaisuja ihmiset tarjoavat.

Se on muuten kuun loppuun asti voimassa, eli lukijat täältäkin voivat osallistua.

Äänestä
  • Ihan kiva erittäin kapean tekoälyn tehtävä. Mutta valitettavasti ongelmakentän kapeudesta johtuen sen voi ratkaista hyvin epätekoälymäisilla algoritmeilla, joita ei sitten voi helpolla laajentaa monimutkaisemmille tai ihan uudentyyppisille tehtäville. Esim tältä tekoälyltä ei vaadita varsinaista oppimista ollenkaan. Toisaalta eipä ole paljon annettu aikaakaan. Siksi ei ole mielelekästä osallistua osallistua ohjelmalla, joka pystyisi paljon muuhunkin.

    Mielekkäämpi olisi ohjelma, jolle perussääntöjä (aakkosjärjestys, perusaritmetiikka ym) ei kerrottaisi etukäteen, vaan sen pitäisi vaadittavat asiat opetella esimerkeistä. Tehtävien ei silti tarvitsisi olla yhtään vaativampia, mutta sisältäisi pakollisen oppimiskierroksen.

    Äänestä

  • UPDATE_6997029 kirjoitti:

    Ihan kiva erittäin kapean tekoälyn tehtävä. Mutta valitettavasti ongelmakentän kapeudesta johtuen sen voi ratkaista hyvin epätekoälymäisilla algoritmeilla, joita ei sitten voi helpolla laajentaa monimutkaisemmille tai ihan uudentyyppisille tehtäville. Esim tältä tekoälyltä ei vaadita varsinaista oppimista ollenkaan. Toisaalta eipä ole paljon annettu aikaakaan. Siksi ei ole mielelekästä osallistua osallistua ohjelmalla, joka pystyisi paljon muuhunkin.

    Mielekkäämpi olisi ohjelma, jolle perussääntöjä (aakkosjärjestys, perusaritmetiikka ym) ei kerrottaisi etukäteen, vaan sen pitäisi vaadittavat asiat opetella esimerkeistä. Tehtävien ei silti tarvitsisi olla yhtään vaativampia, mutta sisältäisi pakollisen oppimiskierroksen.

    Mielekkäämpi olisi ohjelma, jolle perussääntöjä (aakkosjärjestys, perusaritmetiikka ym) ei kerrottaisi etukäteen, vaan sen pitäisi vaadittavat asiat opetella esimerkeistä.


    Pappara ei oikein mukana. Eihän siinä kerrotakkaan sääntöjä, vaan ohjelman pitää itse päätellä ne.

    Äänestä

  • jööröö kirjoitti:

    Mielekkäämpi olisi ohjelma, jolle perussääntöjä (aakkosjärjestys, perusaritmetiikka ym) ei kerrottaisi etukäteen, vaan sen pitäisi vaadittavat asiat opetella esimerkeistä.


    Pappara ei oikein mukana. Eihän siinä kerrotakkaan sääntöjä, vaan ohjelman pitää itse päätellä ne.

    En minäkään tajua Yusan kommenttia. Jos ohjelma laitetaan älykkyystestiin, jossa sen pitäisi päätyä ihmisen kanssa samaan tulokseen, miksi se olisi "kapeaa älyä"?

    "tältä tekoälyltä ei vaadita varsinaista oppimista ollenkaan"

    311, 311, 311, ?, ?

    Äänestä

  • jööröö kirjoitti:

    Mielekkäämpi olisi ohjelma, jolle perussääntöjä (aakkosjärjestys, perusaritmetiikka ym) ei kerrottaisi etukäteen, vaan sen pitäisi vaadittavat asiat opetella esimerkeistä.


    Pappara ei oikein mukana. Eihän siinä kerrotakkaan sääntöjä, vaan ohjelman pitää itse päätellä ne.

    "Pappara ei oikein mukana. Eihän siinä kerrotakkaan sääntöjä, vaan ohjelman pitää itse päätellä ne. "

    Kilpailuohjeissa kerrotaan:

    Kaikki sarjat muodostuvat siis jonkin yksinkertaisen loogisen säännön perusteella.

    Tässä on esimerkkejä sallituista sarjoja:

    * 3, 6, 9, 12, 15
    * A, AA, AAA, AAAA, AAAAA
    * 10, 100, 1000, 10000
    * AB, ABCD, ABCDEF, ABCDEFGH
    * Z2, Y4, X6, W8, V10, U12
    * A, ABA, ABCBA, ABCDCBA

    "Tekoälyn" vaatimukset kerrotaan oikeastaan siis vain esimerkin kautta, mutta esimerkistä näemme, että ne edellyttävät pelkästään kymmenjärjestelmän lukujen erotusten ja suhteiden hallintaa, eurooppalaisen aakkosjärjestelmän tuntemista, lukujen erottamista muista merkkijonoista ja vastaavaa. Esim oktaali tai heksadesimaalilukuja ei saa olla ja katakanamerkkejä ei saa esiintyä.

    Ohjelman on ainoastaan pääteltävä kulloisenkin sarjan sisäinen logiikka, ei yleisiä sääntöjä, joita kaikki sarjat käyttävät. Mitään oppimisjaksoa ei tarvita: ei siis tekoälykehittelyn kannalta kovin kiinnostavaa.

    Yleisemmän tekoälyn kehittämisen kannalta mielenkiintoisempi haaste olisi, että merkkijonolle ei asteteta mitään etukäteisehtoja (paitsi ehkä että tyydytään 8-bittisiin merkkeihin, ei 16-bittistä unicodea tms.). Merkkijonojen etukäteissisällön monimutkaisuus voitaisiin rajoittaa kyllä samalle tasolle, tai alemmaksi kuin em. esimerkeissä, siten että ne eivät saa mitenkään epäsuorasti viitata mihinkääm oppijaksossa esittämättömään ulkopuoleiseen maailmaan.

    Olisi siis erillinen oppimateriaali, jossa runsasta redundanssia käyttäen esitetään tehtävän sisäinen maailma ja sitä hallitsevat säännöt esimerkkien valossa, niinkuin vastasyntynyt joutuu maailman opettelemaan. Yleistä induktiota käyttäen ohjelma rakentaa itsellen tietämyskannan tästä maailmasta ja tämän jälkeen on valmis ratkomaan "sarjatehtäviä".

    Lisätietoja vaikkapa:
    http://www.cs.uic.edu/~piotr/cs594/Prashant-UniversalAI.pdf

    Äänestä

  • UPDATE_6997029 kirjoitti:

    "Pappara ei oikein mukana. Eihän siinä kerrotakkaan sääntöjä, vaan ohjelman pitää itse päätellä ne. "

    Kilpailuohjeissa kerrotaan:

    Kaikki sarjat muodostuvat siis jonkin yksinkertaisen loogisen säännön perusteella.

    Tässä on esimerkkejä sallituista sarjoja:

    * 3, 6, 9, 12, 15
    * A, AA, AAA, AAAA, AAAAA
    * 10, 100, 1000, 10000
    * AB, ABCD, ABCDEF, ABCDEFGH
    * Z2, Y4, X6, W8, V10, U12
    * A, ABA, ABCBA, ABCDCBA

    "Tekoälyn" vaatimukset kerrotaan oikeastaan siis vain esimerkin kautta, mutta esimerkistä näemme, että ne edellyttävät pelkästään kymmenjärjestelmän lukujen erotusten ja suhteiden hallintaa, eurooppalaisen aakkosjärjestelmän tuntemista, lukujen erottamista muista merkkijonoista ja vastaavaa. Esim oktaali tai heksadesimaalilukuja ei saa olla ja katakanamerkkejä ei saa esiintyä.

    Ohjelman on ainoastaan pääteltävä kulloisenkin sarjan sisäinen logiikka, ei yleisiä sääntöjä, joita kaikki sarjat käyttävät. Mitään oppimisjaksoa ei tarvita: ei siis tekoälykehittelyn kannalta kovin kiinnostavaa.

    Yleisemmän tekoälyn kehittämisen kannalta mielenkiintoisempi haaste olisi, että merkkijonolle ei asteteta mitään etukäteisehtoja (paitsi ehkä että tyydytään 8-bittisiin merkkeihin, ei 16-bittistä unicodea tms.). Merkkijonojen etukäteissisällön monimutkaisuus voitaisiin rajoittaa kyllä samalle tasolle, tai alemmaksi kuin em. esimerkeissä, siten että ne eivät saa mitenkään epäsuorasti viitata mihinkääm oppijaksossa esittämättömään ulkopuoleiseen maailmaan.

    Olisi siis erillinen oppimateriaali, jossa runsasta redundanssia käyttäen esitetään tehtävän sisäinen maailma ja sitä hallitsevat säännöt esimerkkien valossa, niinkuin vastasyntynyt joutuu maailman opettelemaan. Yleistä induktiota käyttäen ohjelma rakentaa itsellen tietämyskannan tästä maailmasta ja tämän jälkeen on valmis ratkomaan "sarjatehtäviä".

    Lisätietoja vaikkapa:
    http://www.cs.uic.edu/~piotr/cs594/Prashant-UniversalAI.pdf

    Suoraan sanoen ihme sönkötystä!!!

    "
    Yleisemmän tekoälyn kehittämisen kannalta mielenkiintoisempi haaste olisi, että merkkijonolle ei asteteta mitään etukäteisehtoja (paitsi ehkä että tyydytään 8-bittisiin merkkeihin, ei 16-bittistä unicodea tms.). Merkkijonojen etukäteissisällön monimutkaisuus voitaisiin rajoittaa kyllä samalle tasolle, tai alemmaksi kuin em. esimerkeissä, siten että ne eivät saa mitenkään epäsuorasti viitata mihinkääm oppijaksossa esittämättömään ulkopuoleiseen maailmaan.
    "

    Merkkijonothan voivat olla aivan mitä tahansa. Mitään etukäteisehtoja tai sääntöjä ei kerrota etukäteen. Ohjelman pitää päätellä säännöt annetuista aikaisemmista merkkinoista ja vielä pitää päätellä miten ihminen jatkaisi sarjaa. Siis ei välttämättä riitä, että päästäisi matemaattisesti oikeaan ratkaisuun. Tällöin tarvitaan jo ripaus tekoälyä tässäkin suhteessa...



    "
    Ohjelman on ainoastaan pääteltävä kulloisenkin sarjan sisäinen logiikka, ei yleisiä sääntöjä, joita kaikki sarjat käyttävät. Mitään oppimisjaksoa ei tarvita: ei siis tekoälykehittelyn kannalta kovin kiinnostavaa.
    "

    Mitä ihmeen yleisiä sääntöjä? Yleinen sääntöhän on loogisuus... Kysehän on laatia ohjelma joka osaa jatkaa sarjaa tavalla miten ihmisen loogisesti sen ajattelee jatkuvan.



    Jos ajatellaan merkkijonoa esim:

    AAA3AAA AAA4BBBB AAA5CCCCC

    Ihminen osaisi ratkaista sarjan helposti mutta saada tietokone ratkaisemaan jatkuvuuden, niin vaaditaan jo melko monimutkainen algoritmi. Siis kun sarjat eivät ole suoranaisesti matemaattisia sarjoja, niin ollaan lähes kusessa. Tämä oli vain yksi esimerkki äärettömästä määrästä sarjavariaatiosta...


    Kukaan ei tiedä mitä sarjoja kilpailevalle ohjelmalle tullaan syöttämään. Kun purkimyksenä on tehdä ohjelma, joka osaa jatkaa kaikkia mahdollisia sarjavariaatioita ihmisen hahmottamalla loogisella tavalla, niin täydellistä ohjelmaa on käytännössä mahdoton tehdä.


    Tietokonemailmassa tekoäy ymmärretään lähinnä asiaksi, jossa tietokone pyrkii suoriutumaan ihmisen odottamalla tavalla rajatussa tilanteessa. Toki tekoälyä voidaan jaotella esim. ei opppivaan ja oppivaan tekoälyyn. Kuitenkin todellinen älykkyys on vielä kaukainen asia. Käytännössä pelkästään matemaattisiin kaavoihin perustuva tekoäly voi olla yhtä hyvä kuin valmiiksi scriptattuihin siirtoihin perustuva. Sitten siitäkin voitaisi yhtä hyvin kiistellä onko esim. shakkipelin äly tekoälyä, jos siirrot perustuvat valmiisiin kirjastoihin vaikka ohjelma oppisikin esim. voittopeleistä.


    Kilpailussahan pyritään tekemään ohjelma, joka pyrkii suoriutumaan tehtävästä kuin ihminen. Siis ohjelman ratkaistavaksi annateen eräänlainen mensan-testi ja sen pitäisi pyrkiä samaan kuin ihminen ilman apuvälineitä (kuten laskinta).

    Äänestä

  • Hippo kirjoitti:

    Suoraan sanoen ihme sönkötystä!!!

    "
    Yleisemmän tekoälyn kehittämisen kannalta mielenkiintoisempi haaste olisi, että merkkijonolle ei asteteta mitään etukäteisehtoja (paitsi ehkä että tyydytään 8-bittisiin merkkeihin, ei 16-bittistä unicodea tms.). Merkkijonojen etukäteissisällön monimutkaisuus voitaisiin rajoittaa kyllä samalle tasolle, tai alemmaksi kuin em. esimerkeissä, siten että ne eivät saa mitenkään epäsuorasti viitata mihinkääm oppijaksossa esittämättömään ulkopuoleiseen maailmaan.
    "

    Merkkijonothan voivat olla aivan mitä tahansa. Mitään etukäteisehtoja tai sääntöjä ei kerrota etukäteen. Ohjelman pitää päätellä säännöt annetuista aikaisemmista merkkinoista ja vielä pitää päätellä miten ihminen jatkaisi sarjaa. Siis ei välttämättä riitä, että päästäisi matemaattisesti oikeaan ratkaisuun. Tällöin tarvitaan jo ripaus tekoälyä tässäkin suhteessa...



    "
    Ohjelman on ainoastaan pääteltävä kulloisenkin sarjan sisäinen logiikka, ei yleisiä sääntöjä, joita kaikki sarjat käyttävät. Mitään oppimisjaksoa ei tarvita: ei siis tekoälykehittelyn kannalta kovin kiinnostavaa.
    "

    Mitä ihmeen yleisiä sääntöjä? Yleinen sääntöhän on loogisuus... Kysehän on laatia ohjelma joka osaa jatkaa sarjaa tavalla miten ihmisen loogisesti sen ajattelee jatkuvan.



    Jos ajatellaan merkkijonoa esim:

    AAA3AAA AAA4BBBB AAA5CCCCC

    Ihminen osaisi ratkaista sarjan helposti mutta saada tietokone ratkaisemaan jatkuvuuden, niin vaaditaan jo melko monimutkainen algoritmi. Siis kun sarjat eivät ole suoranaisesti matemaattisia sarjoja, niin ollaan lähes kusessa. Tämä oli vain yksi esimerkki äärettömästä määrästä sarjavariaatiosta...


    Kukaan ei tiedä mitä sarjoja kilpailevalle ohjelmalle tullaan syöttämään. Kun purkimyksenä on tehdä ohjelma, joka osaa jatkaa kaikkia mahdollisia sarjavariaatioita ihmisen hahmottamalla loogisella tavalla, niin täydellistä ohjelmaa on käytännössä mahdoton tehdä.


    Tietokonemailmassa tekoäy ymmärretään lähinnä asiaksi, jossa tietokone pyrkii suoriutumaan ihmisen odottamalla tavalla rajatussa tilanteessa. Toki tekoälyä voidaan jaotella esim. ei opppivaan ja oppivaan tekoälyyn. Kuitenkin todellinen älykkyys on vielä kaukainen asia. Käytännössä pelkästään matemaattisiin kaavoihin perustuva tekoäly voi olla yhtä hyvä kuin valmiiksi scriptattuihin siirtoihin perustuva. Sitten siitäkin voitaisi yhtä hyvin kiistellä onko esim. shakkipelin äly tekoälyä, jos siirrot perustuvat valmiisiin kirjastoihin vaikka ohjelma oppisikin esim. voittopeleistä.


    Kilpailussahan pyritään tekemään ohjelma, joka pyrkii suoriutumaan tehtävästä kuin ihminen. Siis ohjelman ratkaistavaksi annateen eräänlainen mensan-testi ja sen pitäisi pyrkiä samaan kuin ihminen ilman apuvälineitä (kuten laskinta).

    En myöskään oikein ymmärrä mitä Yusa koittaa selittää. Samanlaista epämääräisyyttä oli universaalipakkausketjussa.

    Jotta ymmärtäisi mitä tekoäly on, niin pitää ymmärtää hieman tietokoneen toimintaa. Tietokone ei (periaatteessa) tee mitään muuta kuin merkkijonomanipulaatioita. Kone ei varsinaisesti laske vaan se ottaa syötteenä merkkijonoja ja muokkaa niistä uusia merkkijonoja annettujan sääntöjen pohjalta. Vasta ihminen antaa näille merkkijonoille tulkinnan.

    Tekoälyssä ideana on tehdä sellaiset merkkijonon manipulaatiosäännöt, että ne voivat omaksua uusia sääntöjä. Koko juju on keksiä miten koodata merkkijonoiksi kysymyksenasettelu ja miten löytää merkkijonojen käsittelysäännöillä sellaisia sääntöjä mitkä istuvat syötteeseen luontevasti. Ainahan voidaan esim. numerojonoon lukematon määrä erilaisia matemaattisia "oikeita" kaavoja, mutta vain se inhimillinen on nykynäkemyksen mukaan oikea.

    Äänestä

  • UPDATE_6997029 kirjoitti:

    "Pappara ei oikein mukana. Eihän siinä kerrotakkaan sääntöjä, vaan ohjelman pitää itse päätellä ne. "

    Kilpailuohjeissa kerrotaan:

    Kaikki sarjat muodostuvat siis jonkin yksinkertaisen loogisen säännön perusteella.

    Tässä on esimerkkejä sallituista sarjoja:

    * 3, 6, 9, 12, 15
    * A, AA, AAA, AAAA, AAAAA
    * 10, 100, 1000, 10000
    * AB, ABCD, ABCDEF, ABCDEFGH
    * Z2, Y4, X6, W8, V10, U12
    * A, ABA, ABCBA, ABCDCBA

    "Tekoälyn" vaatimukset kerrotaan oikeastaan siis vain esimerkin kautta, mutta esimerkistä näemme, että ne edellyttävät pelkästään kymmenjärjestelmän lukujen erotusten ja suhteiden hallintaa, eurooppalaisen aakkosjärjestelmän tuntemista, lukujen erottamista muista merkkijonoista ja vastaavaa. Esim oktaali tai heksadesimaalilukuja ei saa olla ja katakanamerkkejä ei saa esiintyä.

    Ohjelman on ainoastaan pääteltävä kulloisenkin sarjan sisäinen logiikka, ei yleisiä sääntöjä, joita kaikki sarjat käyttävät. Mitään oppimisjaksoa ei tarvita: ei siis tekoälykehittelyn kannalta kovin kiinnostavaa.

    Yleisemmän tekoälyn kehittämisen kannalta mielenkiintoisempi haaste olisi, että merkkijonolle ei asteteta mitään etukäteisehtoja (paitsi ehkä että tyydytään 8-bittisiin merkkeihin, ei 16-bittistä unicodea tms.). Merkkijonojen etukäteissisällön monimutkaisuus voitaisiin rajoittaa kyllä samalle tasolle, tai alemmaksi kuin em. esimerkeissä, siten että ne eivät saa mitenkään epäsuorasti viitata mihinkääm oppijaksossa esittämättömään ulkopuoleiseen maailmaan.

    Olisi siis erillinen oppimateriaali, jossa runsasta redundanssia käyttäen esitetään tehtävän sisäinen maailma ja sitä hallitsevat säännöt esimerkkien valossa, niinkuin vastasyntynyt joutuu maailman opettelemaan. Yleistä induktiota käyttäen ohjelma rakentaa itsellen tietämyskannan tästä maailmasta ja tämän jälkeen on valmis ratkomaan "sarjatehtäviä".

    Lisätietoja vaikkapa:
    http://www.cs.uic.edu/~piotr/cs594/Prashant-UniversalAI.pdf

    (Ohjelmoitsija)

    "mielenkiintoisempi haaste olisi, että merkkijonolle ei asteteta mitään etukäteisehtoja"

    Samaa mieltä. Aakkos- ja numerojärjestystä ei saisi näissä tehtävissä olla, vaan määrä tulisi ilmaista vaikka yhtä symbolia monistamalla:

    A, AA, AAA, AAAA, AAAAA

    "Olisi siis erillinen oppimateriaali, jossa runsasta redundanssia käyttäen esitetään tehtävän sisäinen maailma ja sitä hallitsevat säännöt esimerkkien valossa, niinkuin vastasyntynyt joutuu maailman opettelemaan. Yleistä induktiota käyttäen ohjelma rakentaa itsellen tietämyskannan tästä maailmasta ja tämän jälkeen on valmis ratkomaan "sarjatehtäviä"."

    Minusta ei ole tarvetta lisätä tehtävään turhaa kerrosta tai ulottuvuutta, jos selkeää yhden sarjan logiikkaakaan ei osata päätellä.

    Sarjojen logiikan tulisi olla niin yksinkertainen, että pieni itsenäisesti toimiva tietokoneohjelma voisi _luoda_ ne. Tämä tekoälyn maailmakuva rajoittuu siis sarjan luoneen ohjelmaan toimintaan. Se ei silti ole kapeaa tekoälyä, koska tietokoneohjelmalla voidaan teoriassa mallintaa mitä "oikean maailman" ilmiötä tahansa.

    Äänestä

  • Nimetön kirjoitti:

    (Ohjelmoitsija)

    "mielenkiintoisempi haaste olisi, että merkkijonolle ei asteteta mitään etukäteisehtoja"

    Samaa mieltä. Aakkos- ja numerojärjestystä ei saisi näissä tehtävissä olla, vaan määrä tulisi ilmaista vaikka yhtä symbolia monistamalla:

    A, AA, AAA, AAAA, AAAAA

    "Olisi siis erillinen oppimateriaali, jossa runsasta redundanssia käyttäen esitetään tehtävän sisäinen maailma ja sitä hallitsevat säännöt esimerkkien valossa, niinkuin vastasyntynyt joutuu maailman opettelemaan. Yleistä induktiota käyttäen ohjelma rakentaa itsellen tietämyskannan tästä maailmasta ja tämän jälkeen on valmis ratkomaan "sarjatehtäviä"."

    Minusta ei ole tarvetta lisätä tehtävään turhaa kerrosta tai ulottuvuutta, jos selkeää yhden sarjan logiikkaakaan ei osata päätellä.

    Sarjojen logiikan tulisi olla niin yksinkertainen, että pieni itsenäisesti toimiva tietokoneohjelma voisi _luoda_ ne. Tämä tekoälyn maailmakuva rajoittuu siis sarjan luoneen ohjelmaan toimintaan. Se ei silti ole kapeaa tekoälyä, koska tietokoneohjelmalla voidaan teoriassa mallintaa mitä "oikean maailman" ilmiötä tahansa.

    "Samaa mieltä. Aakkos- ja numerojärjestystä ei saisi näissä tehtävissä olla, vaan määrä tulisi ilmaista vaikka yhtä symbolia monistamalla:

    A, AA, AAA, AAAA, AAAAA"

    Eikö A, AA jne. mielestäsi määrittele numerojärjestystä? Tuo jonohan oli jopa sallittujen syötteiden jonossa.

    Jos ei sallita mitään viittausta ulkopuoliseen maailmaan, niin miten tehtäviä voitaisiin luoda? Tällöinhän jouduttaisiin luopumaan esimerkiksi induktiosta - se on ulkopuolista tietoa. Sama koskee myös implikaatiota.

    "Sarjojen logiikan tulisi olla niin yksinkertainen, että pieni itsenäisesti toimiva tietokoneohjelma voisi _luoda_ ne."

    Miksi tämä kilpailu ei mielestäsi täytä tätä kriteeriä?

    Jos ei saa käyttää edes aakkos- tai numerojärjestystä, niin mitä ohjelman pitäisi sitten tehdä? Jatkaa piirrettyjä kuvioita? Laulaa tietystä sävellajista?

    Jos ohjelman pitäisi opetella uusi aakkosjärjestys, vaikka sellainen, jossa a ja p vaihtavat paikkaa, niin miten se mielestäsi pitäisi opettaa? Pakkohan jonkinlainen järjestyksen käsite on alunperin olla.

    Äänestä

  • Hippo kirjoitti:

    Suoraan sanoen ihme sönkötystä!!!

    "
    Yleisemmän tekoälyn kehittämisen kannalta mielenkiintoisempi haaste olisi, että merkkijonolle ei asteteta mitään etukäteisehtoja (paitsi ehkä että tyydytään 8-bittisiin merkkeihin, ei 16-bittistä unicodea tms.). Merkkijonojen etukäteissisällön monimutkaisuus voitaisiin rajoittaa kyllä samalle tasolle, tai alemmaksi kuin em. esimerkeissä, siten että ne eivät saa mitenkään epäsuorasti viitata mihinkääm oppijaksossa esittämättömään ulkopuoleiseen maailmaan.
    "

    Merkkijonothan voivat olla aivan mitä tahansa. Mitään etukäteisehtoja tai sääntöjä ei kerrota etukäteen. Ohjelman pitää päätellä säännöt annetuista aikaisemmista merkkinoista ja vielä pitää päätellä miten ihminen jatkaisi sarjaa. Siis ei välttämättä riitä, että päästäisi matemaattisesti oikeaan ratkaisuun. Tällöin tarvitaan jo ripaus tekoälyä tässäkin suhteessa...



    "
    Ohjelman on ainoastaan pääteltävä kulloisenkin sarjan sisäinen logiikka, ei yleisiä sääntöjä, joita kaikki sarjat käyttävät. Mitään oppimisjaksoa ei tarvita: ei siis tekoälykehittelyn kannalta kovin kiinnostavaa.
    "

    Mitä ihmeen yleisiä sääntöjä? Yleinen sääntöhän on loogisuus... Kysehän on laatia ohjelma joka osaa jatkaa sarjaa tavalla miten ihmisen loogisesti sen ajattelee jatkuvan.



    Jos ajatellaan merkkijonoa esim:

    AAA3AAA AAA4BBBB AAA5CCCCC

    Ihminen osaisi ratkaista sarjan helposti mutta saada tietokone ratkaisemaan jatkuvuuden, niin vaaditaan jo melko monimutkainen algoritmi. Siis kun sarjat eivät ole suoranaisesti matemaattisia sarjoja, niin ollaan lähes kusessa. Tämä oli vain yksi esimerkki äärettömästä määrästä sarjavariaatiosta...


    Kukaan ei tiedä mitä sarjoja kilpailevalle ohjelmalle tullaan syöttämään. Kun purkimyksenä on tehdä ohjelma, joka osaa jatkaa kaikkia mahdollisia sarjavariaatioita ihmisen hahmottamalla loogisella tavalla, niin täydellistä ohjelmaa on käytännössä mahdoton tehdä.


    Tietokonemailmassa tekoäy ymmärretään lähinnä asiaksi, jossa tietokone pyrkii suoriutumaan ihmisen odottamalla tavalla rajatussa tilanteessa. Toki tekoälyä voidaan jaotella esim. ei opppivaan ja oppivaan tekoälyyn. Kuitenkin todellinen älykkyys on vielä kaukainen asia. Käytännössä pelkästään matemaattisiin kaavoihin perustuva tekoäly voi olla yhtä hyvä kuin valmiiksi scriptattuihin siirtoihin perustuva. Sitten siitäkin voitaisi yhtä hyvin kiistellä onko esim. shakkipelin äly tekoälyä, jos siirrot perustuvat valmiisiin kirjastoihin vaikka ohjelma oppisikin esim. voittopeleistä.


    Kilpailussahan pyritään tekemään ohjelma, joka pyrkii suoriutumaan tehtävästä kuin ihminen. Siis ohjelman ratkaistavaksi annateen eräänlainen mensan-testi ja sen pitäisi pyrkiä samaan kuin ihminen ilman apuvälineitä (kuten laskinta).

    "Suoraan sanoen ihme sönkötystä!!! "

    Oliko tuo asiallista? Jos et jotakin ymmärrä, niin etkö voisi esittää sen kohteliaasti? Eikö voisi antaa asioiden riidellä kirjoittajien sijaan?

    "Merkkijonothan voivat olla aivan mitä tahansa. Mitään etukäteisehtoja tai sääntöjä ei kerrota etukäteen."

    Miten voit esimerkkien valossa tulla tuollaiseen johtopäätökseen?

    3, 6, 9, 12, 15

    Miten ohjelma ilman etukäteistietoja voi tietää, että kyseessä on aritmeettinen sarja, merkkijonot kymmenjärjestelmän lukuja ja niiden erotus on 3?

    AB, ABCD, ABCDEF, ABCDEFGH

    Miten ohjelma ilman etukäteistietoja voi tietää H:n jälkeen tulevat aakkoset?

    jne.

    A, AA, AAA, AAAA, AAAAA

    Tämä on mielenkiintoinen tapaus. Siitä myöhemmin.

    "Kilpailussahan pyritään tekemään ohjelma, joka pyrkii suoriutumaan tehtävästä kuin ihminen. "

    En tyrmää kilpailua ja pidä sitä mitenkään epäloogisena. Se on ihan hauska erikoistuneen, kapean tekoälyn tehtävä. Hyvä niin.

    Tarkastellaanpa hieman ihmisen aivojen toimintaperiaatetta, koska ihmiseen tässä ohjelman suoritusta verrataan. Ihmisaivojen (ja kaikkien muiden nisäkkäiden) älyllinen ongelmanratkaisukapasiteetti perustuu hierarkisesti järjestyneeseen sekvenssien oppimiseen ja tunnistamiseen, (tärkeää) sekvenssin seuraavan hahmon ennustamiseen, siis hahmontunnistukseen (alla: HTM). Ihmisellä ei ole mitään "aritmeettisloogista yksikköä" kuten tietokoneella. Muistilla ja loogisilla operaatioilla ei ihmisaivoissa ole mitään periaattellista eroa. Kaikki perustuu näihin yllä esitettyihin perusfunktioihin.

    Kun pohditaan tekoälyn toteuttamisen mahdollisuutta, niin usein jää ymmärtämättä käsitteen "Common Sense" perustavalaatuinen merkitys. Valitan, en tiedä käsitteelle tässä yhteydessä pätevää suomennosta. CS käsittää paitsi koko valtavan määrän arkielämän kaikkien aistien hahmoja niin myös niiden väliset riippuvuudet ja riippuvuuksien logiikan. Syntyessään ihmisellä ei ole mitään CS-osaamista, vain tyhjä neocortex ja arkkitehtuuri, joka on valmis itseään muokaten alkamaan kehittämään sitä valtavaa CS-tietämysvarastoa, joka aikuisella ihmisellä on käytettävissään, ja jota ilman ihminen ei ratkaise alkeellisintakaan kuviteltavissa olevaa tehtävää.

    Mensan tehtävien perustavaalaatuinen vika on se, että he määrittelevät älyn väärin. Mielekkäämpi älyn määrielmä on kyky omaksua uutta tietoa, uutta CS-osaamista. On mahdotonta laatia sellaisia "älykkyystehtäviä", jotka eivät edellyttäisi mitään etukäteistietoja.

    Siten Yleisen Tekoälyn (AGI - Artificial General Intelligence) (tai vahva tekoäly) keskeinen ongelma on tämän itseoppivan arkkitehtuurin luominen. Sen keskeinen funktio on yleinen induktio. No, tässä ollaan lopultakin päästy ideasta kiinni ja muutama projekti on tietääkseni melko pitkällä.

    Siis myös
    A, AA, AAA, AAAA, AAAAA
    sarja edellyttää opittua CS-älyä. Kovakoodaamalla tällaiset tapaukset ohjelmaan ei ole pitkällä tähtäimellä hyödyllistä, koska vastaavia on loputon määrä. Kiinnostavampaa ja hyödyllisempää on luoda ohjelma, joka esimerkeistä oppii minkä tahansa ongelmahahmon.

    Jokainen äly ja tekoäly toimii vain ja ainoastaan oman maailmansa, maailmankuvansa kontekstissa. Siksi älyn erottaminen maailmankuvan, CS-tiedon oppimisesta ei ole järkevää eikä johda tekoälyn kehityksessä pitkälle.

    Ymmärrän ihan hyvin, että tämä on vaikea aihepiiri, eikä tarvitse hävetä sitä, että se ei mene heti perille. Siksi suosittelen jatko-opiskeluita, jos asia oikeasti kiinnostaa "sönköttämistä" pidemmälle.

    Esim.
    http://www.numenta.com/Numenta_HTM_Concepts.pdf
    Tämä on erittäin hyvä teksti. Muutakin löytyy, jos riittää kiinnostusta.

    Äänestä

  • UPDATE_6997029 kirjoitti:

    "Suoraan sanoen ihme sönkötystä!!! "

    Oliko tuo asiallista? Jos et jotakin ymmärrä, niin etkö voisi esittää sen kohteliaasti? Eikö voisi antaa asioiden riidellä kirjoittajien sijaan?

    "Merkkijonothan voivat olla aivan mitä tahansa. Mitään etukäteisehtoja tai sääntöjä ei kerrota etukäteen."

    Miten voit esimerkkien valossa tulla tuollaiseen johtopäätökseen?

    3, 6, 9, 12, 15

    Miten ohjelma ilman etukäteistietoja voi tietää, että kyseessä on aritmeettinen sarja, merkkijonot kymmenjärjestelmän lukuja ja niiden erotus on 3?

    AB, ABCD, ABCDEF, ABCDEFGH

    Miten ohjelma ilman etukäteistietoja voi tietää H:n jälkeen tulevat aakkoset?

    jne.

    A, AA, AAA, AAAA, AAAAA

    Tämä on mielenkiintoinen tapaus. Siitä myöhemmin.

    "Kilpailussahan pyritään tekemään ohjelma, joka pyrkii suoriutumaan tehtävästä kuin ihminen. "

    En tyrmää kilpailua ja pidä sitä mitenkään epäloogisena. Se on ihan hauska erikoistuneen, kapean tekoälyn tehtävä. Hyvä niin.

    Tarkastellaanpa hieman ihmisen aivojen toimintaperiaatetta, koska ihmiseen tässä ohjelman suoritusta verrataan. Ihmisaivojen (ja kaikkien muiden nisäkkäiden) älyllinen ongelmanratkaisukapasiteetti perustuu hierarkisesti järjestyneeseen sekvenssien oppimiseen ja tunnistamiseen, (tärkeää) sekvenssin seuraavan hahmon ennustamiseen, siis hahmontunnistukseen (alla: HTM). Ihmisellä ei ole mitään "aritmeettisloogista yksikköä" kuten tietokoneella. Muistilla ja loogisilla operaatioilla ei ihmisaivoissa ole mitään periaattellista eroa. Kaikki perustuu näihin yllä esitettyihin perusfunktioihin.

    Kun pohditaan tekoälyn toteuttamisen mahdollisuutta, niin usein jää ymmärtämättä käsitteen "Common Sense" perustavalaatuinen merkitys. Valitan, en tiedä käsitteelle tässä yhteydessä pätevää suomennosta. CS käsittää paitsi koko valtavan määrän arkielämän kaikkien aistien hahmoja niin myös niiden väliset riippuvuudet ja riippuvuuksien logiikan. Syntyessään ihmisellä ei ole mitään CS-osaamista, vain tyhjä neocortex ja arkkitehtuuri, joka on valmis itseään muokaten alkamaan kehittämään sitä valtavaa CS-tietämysvarastoa, joka aikuisella ihmisellä on käytettävissään, ja jota ilman ihminen ei ratkaise alkeellisintakaan kuviteltavissa olevaa tehtävää.

    Mensan tehtävien perustavaalaatuinen vika on se, että he määrittelevät älyn väärin. Mielekkäämpi älyn määrielmä on kyky omaksua uutta tietoa, uutta CS-osaamista. On mahdotonta laatia sellaisia "älykkyystehtäviä", jotka eivät edellyttäisi mitään etukäteistietoja.

    Siten Yleisen Tekoälyn (AGI - Artificial General Intelligence) (tai vahva tekoäly) keskeinen ongelma on tämän itseoppivan arkkitehtuurin luominen. Sen keskeinen funktio on yleinen induktio. No, tässä ollaan lopultakin päästy ideasta kiinni ja muutama projekti on tietääkseni melko pitkällä.

    Siis myös
    A, AA, AAA, AAAA, AAAAA
    sarja edellyttää opittua CS-älyä. Kovakoodaamalla tällaiset tapaukset ohjelmaan ei ole pitkällä tähtäimellä hyödyllistä, koska vastaavia on loputon määrä. Kiinnostavampaa ja hyödyllisempää on luoda ohjelma, joka esimerkeistä oppii minkä tahansa ongelmahahmon.

    Jokainen äly ja tekoäly toimii vain ja ainoastaan oman maailmansa, maailmankuvansa kontekstissa. Siksi älyn erottaminen maailmankuvan, CS-tiedon oppimisesta ei ole järkevää eikä johda tekoälyn kehityksessä pitkälle.

    Ymmärrän ihan hyvin, että tämä on vaikea aihepiiri, eikä tarvitse hävetä sitä, että se ei mene heti perille. Siksi suosittelen jatko-opiskeluita, jos asia oikeasti kiinnostaa "sönköttämistä" pidemmälle.

    Esim.
    http://www.numenta.com/Numenta_HTM_Concepts.pdf
    Tämä on erittäin hyvä teksti. Muutakin löytyy, jos riittää kiinnostusta.

    ""Merkkijonothan voivat olla aivan mitä tahansa. Mitään etukäteisehtoja tai sääntöjä ei kerrota etukäteen."

    Miten voit esimerkkien valossa tulla tuollaiseen johtopäätökseen?"

    Mielenkiintoista. Kirjoittajan mielestä merkkijono voi olla mikä tahansa ja vedät tästä johtopäätöksen, että jokainen merkkijono voidaan aina opetella ulkoa (kovakoodata) ja käytät tätä argumenttia jonkin mystisen älykäsitteen pohjana.

    "Miten ohjelma ilman etukäteistietoja voi tietää, että kyseessä on aritmeettinen sarja, merkkijonot kymmenjärjestelmän lukuja ja niiden erotus on 3? "

    No miten ihminen voi? Ehkä hänelle on opetettu se kuten myös tietokoneelle pitää se opettaa.

    "Ihmisellä ei ole mitään "aritmeettisloogista yksikköä" kuten tietokoneella. Muistilla ja loogisilla operaatioilla ei ihmisaivoissa ole mitään periaattellista eroa. Kaikki perustuu näihin yllä esitettyihin perusfunktioihin. "

    Sanot ensin, että "Ihmisellä ei ole mitään "aritmeettisloogista yksikköä"" ja seuraavaksi vetoat aiemmin esitettyihin perusfunktioihin.

    Onko ihmisellä jotain "suorittavaa" yksikköä vai ei?

    "usein jää ymmärtämättä käsitteen "Common Sense" perustavalaatuinen merkitys."

    Anna tälle määritelmä. Ei esimerkkejä vaan tarkka määritelmä.

    Kritisoit Mensan älyn määritelmää vääräksi ja annat oman määritelmäsi. Miksi oma määritelmäsi on oikea ja Mensan väärä? Mikä nämä määritelmät ovat?

    "Sen keskeinen funktio on yleinen induktio. No, tässä ollaan lopultakin päästy ideasta kiinni ja muutama projekti on tietääkseni melko pitkällä. "

    Eikö tuo nyt ole ennenkin vanha juttu? Esim. resoluutiohan on järjettömän vanha juttu.

    "Siis myös
    A, AA, AAA, AAAA, AAAAA
    sarja edellyttää opittua CS-älyä. Kovakoodaamalla tällaiset tapaukset ohjelmaan ei ole pitkällä tähtäimellä hyödyllistä, koska vastaavia on loputon määrä. Kiinnostavampaa ja hyödyllisempää on luoda ohjelma, joka esimerkeistä oppii minkä tahansa ongelmahahmon. "

    Ensin kritisoit annettua tehtäviä liian helpoksi, koska ne perustuvat jossain määrin tunnettuihin sarjoihin (aakkoset, numerot..). Sitten kun joukossa on joku muu sarja, kuten yllä, niin sekin on mielenkiinnoton, koska sen voi kovakoodata.

    Joku mainitsikin tolppien siirron ja tunnut harrastavan sitä paljon.

    Onko sinulla mitään käsitystä siitä, miten tekoälyä oikeasti mallinnetaan koneilla? Tunnetko esim. eri kertalukujen predikaattologiikan perusteet ja tietämyskantojan tekniset ongelmat? Tekstisi on oikeasti loogisesti "aaltoilevaa" ja jossain määrin tyypillistä "tolppien siirtämistä". Veikkaan, että luet asiasta filosofisia populaarikirjoja, etkä ole vaivautunut tekemään tarkkoja ja teknisiä pohdintoja asiasta.

    Suosittelen lukemiseksi http://aima.cs.berkeley.edu/ niin tulee tuo tekninen puoli tutummaksi. Aikaa kannattaa varata n. vuosi - riippuen matemaattisista taustatiedoista.

    Äänestä

  • hauskaa! kirjoitti:

    ""Merkkijonothan voivat olla aivan mitä tahansa. Mitään etukäteisehtoja tai sääntöjä ei kerrota etukäteen."

    Miten voit esimerkkien valossa tulla tuollaiseen johtopäätökseen?"

    Mielenkiintoista. Kirjoittajan mielestä merkkijono voi olla mikä tahansa ja vedät tästä johtopäätöksen, että jokainen merkkijono voidaan aina opetella ulkoa (kovakoodata) ja käytät tätä argumenttia jonkin mystisen älykäsitteen pohjana.

    "Miten ohjelma ilman etukäteistietoja voi tietää, että kyseessä on aritmeettinen sarja, merkkijonot kymmenjärjestelmän lukuja ja niiden erotus on 3? "

    No miten ihminen voi? Ehkä hänelle on opetettu se kuten myös tietokoneelle pitää se opettaa.

    "Ihmisellä ei ole mitään "aritmeettisloogista yksikköä" kuten tietokoneella. Muistilla ja loogisilla operaatioilla ei ihmisaivoissa ole mitään periaattellista eroa. Kaikki perustuu näihin yllä esitettyihin perusfunktioihin. "

    Sanot ensin, että "Ihmisellä ei ole mitään "aritmeettisloogista yksikköä"" ja seuraavaksi vetoat aiemmin esitettyihin perusfunktioihin.

    Onko ihmisellä jotain "suorittavaa" yksikköä vai ei?

    "usein jää ymmärtämättä käsitteen "Common Sense" perustavalaatuinen merkitys."

    Anna tälle määritelmä. Ei esimerkkejä vaan tarkka määritelmä.

    Kritisoit Mensan älyn määritelmää vääräksi ja annat oman määritelmäsi. Miksi oma määritelmäsi on oikea ja Mensan väärä? Mikä nämä määritelmät ovat?

    "Sen keskeinen funktio on yleinen induktio. No, tässä ollaan lopultakin päästy ideasta kiinni ja muutama projekti on tietääkseni melko pitkällä. "

    Eikö tuo nyt ole ennenkin vanha juttu? Esim. resoluutiohan on järjettömän vanha juttu.

    "Siis myös
    A, AA, AAA, AAAA, AAAAA
    sarja edellyttää opittua CS-älyä. Kovakoodaamalla tällaiset tapaukset ohjelmaan ei ole pitkällä tähtäimellä hyödyllistä, koska vastaavia on loputon määrä. Kiinnostavampaa ja hyödyllisempää on luoda ohjelma, joka esimerkeistä oppii minkä tahansa ongelmahahmon. "

    Ensin kritisoit annettua tehtäviä liian helpoksi, koska ne perustuvat jossain määrin tunnettuihin sarjoihin (aakkoset, numerot..). Sitten kun joukossa on joku muu sarja, kuten yllä, niin sekin on mielenkiinnoton, koska sen voi kovakoodata.

    Joku mainitsikin tolppien siirron ja tunnut harrastavan sitä paljon.

    Onko sinulla mitään käsitystä siitä, miten tekoälyä oikeasti mallinnetaan koneilla? Tunnetko esim. eri kertalukujen predikaattologiikan perusteet ja tietämyskantojan tekniset ongelmat? Tekstisi on oikeasti loogisesti "aaltoilevaa" ja jossain määrin tyypillistä "tolppien siirtämistä". Veikkaan, että luet asiasta filosofisia populaarikirjoja, etkä ole vaivautunut tekemään tarkkoja ja teknisiä pohdintoja asiasta.

    Suosittelen lukemiseksi http://aima.cs.berkeley.edu/ niin tulee tuo tekninen puoli tutummaksi. Aikaa kannattaa varata n. vuosi - riippuen matemaattisista taustatiedoista.

    http://aima.cs.berkeley.edu/
    Kirja sisällöllisesti näyttää vastaavan Luger, Stubblefieldin kirjaa, joka minulla on hyllyssä, ja jonka sisällön oletan suunnilleen hallitsevani. Näille kirjoille on vaan yhteistä se, että ne rajoittuvat kapean tekoälyn teoriaan ja jättävät yleisen tekoälyn ongelman täysin käsittelemättä. Mutta siihen löytyy muita lähteitä jos on todella kiinnostunut.

    Vastaus osoittaa, että et ole.

    Äänestä

  • UPDATE_6997029 kirjoitti:

    http://aima.cs.berkeley.edu/
    Kirja sisällöllisesti näyttää vastaavan Luger, Stubblefieldin kirjaa, joka minulla on hyllyssä, ja jonka sisällön oletan suunnilleen hallitsevani. Näille kirjoille on vaan yhteistä se, että ne rajoittuvat kapean tekoälyn teoriaan ja jättävät yleisen tekoälyn ongelman täysin käsittelemättä. Mutta siihen löytyy muita lähteitä jos on todella kiinnostunut.

    Vastaus osoittaa, että et ole.

    "Näille kirjoille on vaan yhteistä se, että ne rajoittuvat kapean tekoälyn teoriaan ja jättävät yleisen tekoälyn ongelman täysin käsittelemättä."

    Sinulla on vaikeuksia ymmärtää mitä tutkimus ja tiede oikeasti ovat.

    Aina voidaan vedota johonkin "yleiseen tekoälyyn" ja torpedoida mikä tahansa saavutus jonkinlaisen ylimystisen käsitteen avulla. Tällä ei ole mitään tekemistä oikean tekoälyn tutkimuksen kanssa.

    Jos haluat "oikean" tekoälyn olevan kuin ihminen ja rakennan robotin, joka on kuin ihminen, ja joka tulee osaksi jokapäiväistä elämääsi (työkaveriksi tjsp.) ilman, että huomaat sen olevan robotti, niin luokittelet sen ihmiseksi. Sitten kerron sen olevankin robotti ja puolustaudut heti "mutta ei se voi olla oikeaa älyä kun se on robotti".

    Tämä on juuri sitä tolppien siirtoa.

    "Vastaus osoittaa, että et ole."

    Juuri niin tyypillistä popularistista jorinaa. Et vastannut yhteenkään kysymykseen mitä esitin.

    Yleisen tekoälyn käsite on puhdasta taivaanrantafilosofiaa - yleistä jorinaa, joka ei auta tekoälyn kehitystä eikä anna mitään konkreettista tapaa mallintaa asiaa. Siitä on kyllä kiva keskustella kuppilan nurkalla ja funtsia erilaisia ajatusskenaarioita, mutta sillä ei ole mitään tekemistä käytännön asioiden kanssa.

    Jos olet kuitenkin eri mieltä, niin määrittele toki tarkasti se oikea yleinen tekoäly, joka on vastaus kaikkeen.

    Äänestä

  • UPDATE_6997029 kirjoitti:

    "Suoraan sanoen ihme sönkötystä!!! "

    Oliko tuo asiallista? Jos et jotakin ymmärrä, niin etkö voisi esittää sen kohteliaasti? Eikö voisi antaa asioiden riidellä kirjoittajien sijaan?

    "Merkkijonothan voivat olla aivan mitä tahansa. Mitään etukäteisehtoja tai sääntöjä ei kerrota etukäteen."

    Miten voit esimerkkien valossa tulla tuollaiseen johtopäätökseen?

    3, 6, 9, 12, 15

    Miten ohjelma ilman etukäteistietoja voi tietää, että kyseessä on aritmeettinen sarja, merkkijonot kymmenjärjestelmän lukuja ja niiden erotus on 3?

    AB, ABCD, ABCDEF, ABCDEFGH

    Miten ohjelma ilman etukäteistietoja voi tietää H:n jälkeen tulevat aakkoset?

    jne.

    A, AA, AAA, AAAA, AAAAA

    Tämä on mielenkiintoinen tapaus. Siitä myöhemmin.

    "Kilpailussahan pyritään tekemään ohjelma, joka pyrkii suoriutumaan tehtävästä kuin ihminen. "

    En tyrmää kilpailua ja pidä sitä mitenkään epäloogisena. Se on ihan hauska erikoistuneen, kapean tekoälyn tehtävä. Hyvä niin.

    Tarkastellaanpa hieman ihmisen aivojen toimintaperiaatetta, koska ihmiseen tässä ohjelman suoritusta verrataan. Ihmisaivojen (ja kaikkien muiden nisäkkäiden) älyllinen ongelmanratkaisukapasiteetti perustuu hierarkisesti järjestyneeseen sekvenssien oppimiseen ja tunnistamiseen, (tärkeää) sekvenssin seuraavan hahmon ennustamiseen, siis hahmontunnistukseen (alla: HTM). Ihmisellä ei ole mitään "aritmeettisloogista yksikköä" kuten tietokoneella. Muistilla ja loogisilla operaatioilla ei ihmisaivoissa ole mitään periaattellista eroa. Kaikki perustuu näihin yllä esitettyihin perusfunktioihin.

    Kun pohditaan tekoälyn toteuttamisen mahdollisuutta, niin usein jää ymmärtämättä käsitteen "Common Sense" perustavalaatuinen merkitys. Valitan, en tiedä käsitteelle tässä yhteydessä pätevää suomennosta. CS käsittää paitsi koko valtavan määrän arkielämän kaikkien aistien hahmoja niin myös niiden väliset riippuvuudet ja riippuvuuksien logiikan. Syntyessään ihmisellä ei ole mitään CS-osaamista, vain tyhjä neocortex ja arkkitehtuuri, joka on valmis itseään muokaten alkamaan kehittämään sitä valtavaa CS-tietämysvarastoa, joka aikuisella ihmisellä on käytettävissään, ja jota ilman ihminen ei ratkaise alkeellisintakaan kuviteltavissa olevaa tehtävää.

    Mensan tehtävien perustavaalaatuinen vika on se, että he määrittelevät älyn väärin. Mielekkäämpi älyn määrielmä on kyky omaksua uutta tietoa, uutta CS-osaamista. On mahdotonta laatia sellaisia "älykkyystehtäviä", jotka eivät edellyttäisi mitään etukäteistietoja.

    Siten Yleisen Tekoälyn (AGI - Artificial General Intelligence) (tai vahva tekoäly) keskeinen ongelma on tämän itseoppivan arkkitehtuurin luominen. Sen keskeinen funktio on yleinen induktio. No, tässä ollaan lopultakin päästy ideasta kiinni ja muutama projekti on tietääkseni melko pitkällä.

    Siis myös
    A, AA, AAA, AAAA, AAAAA
    sarja edellyttää opittua CS-älyä. Kovakoodaamalla tällaiset tapaukset ohjelmaan ei ole pitkällä tähtäimellä hyödyllistä, koska vastaavia on loputon määrä. Kiinnostavampaa ja hyödyllisempää on luoda ohjelma, joka esimerkeistä oppii minkä tahansa ongelmahahmon.

    Jokainen äly ja tekoäly toimii vain ja ainoastaan oman maailmansa, maailmankuvansa kontekstissa. Siksi älyn erottaminen maailmankuvan, CS-tiedon oppimisesta ei ole järkevää eikä johda tekoälyn kehityksessä pitkälle.

    Ymmärrän ihan hyvin, että tämä on vaikea aihepiiri, eikä tarvitse hävetä sitä, että se ei mene heti perille. Siksi suosittelen jatko-opiskeluita, jos asia oikeasti kiinnostaa "sönköttämistä" pidemmälle.

    Esim.
    http://www.numenta.com/Numenta_HTM_Concepts.pdf
    Tämä on erittäin hyvä teksti. Muutakin löytyy, jos riittää kiinnostusta.

    "sarja edellyttää opittua CS-älyä"
    "Ihmisellä ei ole mitään "aritmeettisloogista yksikköä" kuten tietokoneella."

    Väitetään että tietokone itsessään kykenee suorittamaan tiettyjä ns. "loogisia" operaatioita jonossa olevilla kokonaisluvuillaan.

    Mutta määritelmä on turhan moniselitteinen: "Logiikka" on enemmän ihmisellä itsellään. Koneen operaatiot ovat ennemmin "reaktiivisia". Klisee tietokoneen loogisuudesta ei mielestäni pidä paikkaansa: Tietokone ei itsessään ole järjen- tai johdonmukainen, vaan "reaktori".

    Pelkkä reaktioihin perustuva kone ei tietenkään osaa jatkaa loogiikan sisältävää sarjaa "A,AA,AAA" ilman että ihminen ohjelmoi sen, eli kirjoittaa reaktiivisesti suoritettavan algoritmin, eli asettaa koneeseen oikeat kokonaisluvut reaktiota varten.

    Tietokoneella eli Turingin koneella voidaan ehkä silti mallintaa päättelyä. Yksi mahdollisuus on käydä läpi kaikki mahdolliset reaktiot yksinkertaisimmasta lähtien läpi, kunnes "A,AA,AAA" sarjaa muodostava algoritmi löydetään ja reaktio jatkaa sarjaa loputtomiin.

    Näin sarjan sisäinen logiikka on todistettavasti päätelty ainakin jossain muodossa.

    Äänestä

Kommentoi aloitusta


Ohjelmoitsija kirjoitti:

Kilpailu: Koodaa älykäs ohjelma, joka selviää perinteisestä älykkyystestistä. Ohjelman tulee muodostaa ihmisille helppoja ja loogisesti jatkuvia sarjoja, vaikkapa A, AA, AAA, AAAA... tai A1, B2, C3, D4.
http://www.ohjelmointiputka.net/kilpa.php?tunnus=alyo

Itse kilpailu on mielestäni varsin epälooginen, mutta tehtävä osuu hyvin älykkyyden ytimeen: Älykkyyden syvin olemushan on jonkin hahmon käyttäytymisen tunteminen. Vaikea sanoa missä muodossa tekoälykkyys mitäkin selvittämäänsä kaavaa tulisi representoida, mutta jotenkin sen on todistettava älynsä. Tämä on yksinkertainen keino tehdä se.

Anonyymi
5000

Ilmoita asiaton sisältö

  • Sisältää materiaalia, joka on loukkaavaa, herjaavaa, rasistista, uhkailevaa tai ahdistelevaa.

  • Materiaali sisältää nimiä, yhteystietoja tai muita henkilökohtaisia tietoja. Julkisuuden henkilöistä, julkisissa viroissa toimivista ihmisistä sekä yritysten vastuuhenkilöistä saa keskustella työhön liittyen. Myös yksityiselämään liittyvistä asioista voi keskustella siltä osin, kuin niistä on julkisesti kerrottu.

  • Sisältää lapsille haitallista tai heiltä kiellettyä materiaalia. Seksuaalinen sisältö on sallittua aiheeseen tarkoitetuilla palstoilla, joiden ikäraja on 18 vuotta.

  • Lainvastaista sisältöä voi olla mm. yksityiselämää loukkaavan tiedon levitys, kiihottaminen kansanryhmää vastaan, laiton uhkaaminen, alaikäisiin liittyvä seksuaalinen sisältö/grooming, petokset, identiteettivarkaudet, kunnianloukkaukset ja tekijänoikeusrikkomukset.

  • Sisältö ei liity palstan tai keskusteluketjun aiheeseen.

  • Viesti ei ole suomea tai ruotsia (pl. International Forums), se sisältää mainontaa, se sisältää tekijänoikeuksin suojattua materiaalia, se on massapostitus tai jokin muu syy.

Jaa keskustelu