Vaativinta ohjelmointia?

Kertokaahan mikä on mielestänne vaativinta ohjelmointia? Käsite vaativa on tietysti suhteellinen, mutta sellaista että joutuu tietämään poikkeuksellisen paljon eri ohjelmoinnin ja ehkä matematiikan yms. alueita ja muuta vastaavaa jotta homma luonnistuisi hyvin. Kysyin samaa kaverilta ja hän sanoi että pelien ohjelmointi on vaativinta, mutta on kai sitä vaativampaakin esim. isot tietokannat?
231563
Äänestä

Muut lukivat myös

Vastaukset 23

Vanhimmat

et tiedä mitään vaikeudesta ennen kuin olet kokeillut assemblyllä tehdä mitään isompaa

Äänestä
  • Yleensähän on hyväksyttävää käyttää automaattista koodin generointia, jos siihen on tarpeeksi luotettavat välineet. Miksi ei siis asm-ohjelmoija saa käyttää kääntäjää tai edes makroja? Sittenhän siitä ohjelmoinnista tulee kertaluokkaa helpompaa hommaa!

    Ai niin, sitten ei voi valittaa, että se on vaikeaa. Mutta on sekin vaikeaa, jos varpailla pitää kirjoittaa. Hmm-hmm.

    Äänestä

Vaativa ohjelmointi on mitä tahansa ohjelmointia, missä vaaditaan jonkin (suppean) tieteen alueen laajamittaista tietämystä sekä soveltamista, ja hyvää ohjelmointi osaamista. Eli ohjelmointia jota vain harva pystyy tekemään. En laskisi tietokantoja enkä pelejä vaativimpaan luokkaan, koska kyseisistä aiheista on kirjoitettu lukuisia kirjoja.

Vaativana pitäisi esim. avaruus aluksen ohjauksen tekemistä, jonkin ilmiön mallinnus ohjelmiston tekemistä, jonkin mittauslaitteen tulosten analysointi ohjelmaa, tms. Vaativuuteen kuuluu myös se, että kenties jopa ihmishenkiä on ohjelman tulosten ja toimivuuden varassa.

Äänestä
  • Erittäin monessa ohjelmointitehtävässä ongelma-alueen tietämyksen osuus on paljon tärkeämpää kuin varsinainen koodaamisen osaaminen.

    Ohjelmoinnin osaamien vastaa luku- ja kirjoitustaidon omaamista kirjan tekemisessä. Se ei tee ihmisestä kirjailijaa vaikka osaisi äidinkielen säännöt kiitettävästi.

    Sama juttu vaikka lujuuslaskennassa. Takaan että jokaiselta ohjelmointigurulta sinänsä yksinkertaisen FEM-sovelluksen (Finete Element Method) koodaaminen jää tekemättä jos ei tunne lujuusopin perusteita.

    Äänestä

Vaativinta ohjelmointia on se missä on vaativin tehtävänanto. Yleistä vastausta on todella vaikea antaa.

Yleisesti ohjelmointi on ongelmanratkaisua, missä itse ohjelmointitaito on verrattavissa dokumentointitaitoon. Jos ymmärtää asian täysin, niin siitä pystyy kirjoittamaan täsmällisen ja oikean dokumentin - vastaavasti jos ymmärtää ongelman täysin, niin siitä voi kirjoittaa toimivan ohjelman, joka ratkaisee ongelman.

Itse pitäisi vaikeimpana sellaista sovellusta, missä softalla olisi ihmishenkiä vastuullaan. Jotain tyyliin sydämentahdistin, lennonvalvonta, ydinvoimalan valvontajärjestelmä. Toisaalta minulle olisi suhteellisen helppoa koodata jotain matemaattisia rutiineja, jotka voisivat olla jollekin toiselle vaikeita.

Myös *hyvän* käyttöliittymän rakentaminen on todella vaikeata. Siinä pitäisi ymmärtää hieman ihmisen psyykettä ja käyttäjäryhmän rakennetta. Sitä en osaisi tehdä. (Olettaen, että käyttöliittymän speksaus lasketaan mukaan, yleensä speksaus on osa projektia)

Äänestä

Tekoälyn ohjelmointi on vaativinta. Kukaan ei ole koskaan vielä onnistunut siinä. Jos jossakin onkin onnistuttu, niin jälkeenpäin on filosofi huomannut, että se ei ole oikeaa tekoälyä ollenkaan :-)

Äänestä
  • Joo, onhan se vaikeaa. Yhtä vaikeaa kuin yleisen pysähtymistesterin koodaaminen.

    Tai oikeastaan vielä vaikeampaa. Pysähtymistesterille on ainakin selkeä määritelmä mitä tavoitella, tekoälylle määritelmänä tuntuu olevan ettei se ainakaan voi olla tietokoneohjelma.

    Äänestä

  • tultiin tähän kirjoitti:

    Joo, onhan se vaikeaa. Yhtä vaikeaa kuin yleisen pysähtymistesterin koodaaminen.

    Tai oikeastaan vielä vaikeampaa. Pysähtymistesterille on ainakin selkeä määritelmä mitä tavoitella, tekoälylle määritelmänä tuntuu olevan ettei se ainakaan voi olla tietokoneohjelma.

    Joku väitti että älykkyyttä on "toimia järkevästi tilanteissa joihin suunnittelija ei ole voinut varautua."

    Mikä sitten on sitä järkevää toimintaa? Luonto ja evoluutio vain "toimii". Järkevyyttä on vaikea liittää luonnon kokonaisvaltaiseen toimimiseen. Onko mutaatio älykästä, koska se mahdollistaa muutoksen?

    Äänestä

  • Lerporii kirjoitti:

    Joku väitti että älykkyyttä on "toimia järkevästi tilanteissa joihin suunnittelija ei ole voinut varautua."

    Mikä sitten on sitä järkevää toimintaa? Luonto ja evoluutio vain "toimii". Järkevyyttä on vaikea liittää luonnon kokonaisvaltaiseen toimimiseen. Onko mutaatio älykästä, koska se mahdollistaa muutoksen?

    "Joku väitti että älykkyyttä on "toimia järkevästi tilanteissa joihin suunnittelija ei ole voinut varautua.""

    "Mikä sitten on sitä järkevää toimintaa? "

    Selkeämpi määritelmä:

    "Toimia tavoitteen saavuttamisen kannalta positiivisesti tilanteissa joihin suunnittelija ei ole voinut varautua."

    Tavoite tarkoittaa jonkun hyötyfunktion maksimointia. Ohjelmoija asettaa tämän hyötyfunktion.

    Äänestä

  • UPDATE_6997029 kirjoitti:

    "Joku väitti että älykkyyttä on "toimia järkevästi tilanteissa joihin suunnittelija ei ole voinut varautua.""

    "Mikä sitten on sitä järkevää toimintaa? "

    Selkeämpi määritelmä:

    "Toimia tavoitteen saavuttamisen kannalta positiivisesti tilanteissa joihin suunnittelija ei ole voinut varautua."

    Tavoite tarkoittaa jonkun hyötyfunktion maksimointia. Ohjelmoija asettaa tämän hyötyfunktion.

    ""Toimia tavoitteen saavuttamisen kannalta positiivisesti tilanteissa joihin suunnittelija ei ole voinut varautua." "

    Mutta jos tekoäly osaa suoriutua tällaisista tehtävistä, niin eikö sen suunnittelussa ole silloin otettu huomioon se?

    "Tavoite tarkoittaa jonkun hyötyfunktion maksimointia. Ohjelmoija asettaa tämän hyötyfunktion."

    Eikö tämä ole juuri sitä mainostamaasi kapeaa tekoälyä. Utiliteettifunktio (jos sitä tarkoitat) on käsitelty mm. aiemmin mainitussa AIMA:ssa s. 51.

    Äänestä

  • ok sitten kirjoitti:

    ""Toimia tavoitteen saavuttamisen kannalta positiivisesti tilanteissa joihin suunnittelija ei ole voinut varautua." "

    Mutta jos tekoäly osaa suoriutua tällaisista tehtävistä, niin eikö sen suunnittelussa ole silloin otettu huomioon se?

    "Tavoite tarkoittaa jonkun hyötyfunktion maksimointia. Ohjelmoija asettaa tämän hyötyfunktion."

    Eikö tämä ole juuri sitä mainostamaasi kapeaa tekoälyä. Utiliteettifunktio (jos sitä tarkoitat) on käsitelty mm. aiemmin mainitussa AIMA:ssa s. 51.

    Olipa outoja päätelmiä! Eiköhän älyllä ole pakko olla joku ennalta asetettu päämäärä. Ei älyä muuten tarvittaisi.

    Äänestä

  • Lerporii kirjoitti:

    Olipa outoja päätelmiä! Eiköhän älyllä ole pakko olla joku ennalta asetettu päämäärä. Ei älyä muuten tarvittaisi.

    Nämä päätelmät on tehty aiemmassa keskustelussa esitettyjen Yusan argumenttien pohjalta. Selaile vanhoja viestejä.

    "Eiköhän älyllä ole pakko olla joku ennalta asetettu päämäärä."

    Tottakai, vaikeahan sitä on muuten määritellä. Kysymys onkin tekoälyn määritelmästä.

    Keskusteluissa on esim. pulpahtanut esiin, että tekoäly ei ole älyä, jos se osaa vain reagoida ennalta asetettuihin ehtoihin/tilanteisiin.

    "Ei älyä muuten tarvittaisi."

    Ei kaikkiin päämääriin älyä tarvita. Vai minkä lasket älyksi?

    Äänestä

  • ok sitten kirjoitti:

    ""Toimia tavoitteen saavuttamisen kannalta positiivisesti tilanteissa joihin suunnittelija ei ole voinut varautua." "

    Mutta jos tekoäly osaa suoriutua tällaisista tehtävistä, niin eikö sen suunnittelussa ole silloin otettu huomioon se?

    "Tavoite tarkoittaa jonkun hyötyfunktion maksimointia. Ohjelmoija asettaa tämän hyötyfunktion."

    Eikö tämä ole juuri sitä mainostamaasi kapeaa tekoälyä. Utiliteettifunktio (jos sitä tarkoitat) on käsitelty mm. aiemmin mainitussa AIMA:ssa s. 51.

    Jostakin joku on saanut sellaisen ymmärryksen, että minusta kapea tekoäly (siis kaikki ne tällä hetkellä harjoitetut erittäin hyödylliset tekoälytekniikat) ei olisi oikeaa tekoälyä. Tietysti on. Tuossa määrittelyssä pyrittiin vain erottamaan tekoälyohjelmointi "perinteisestä ohjelmoinnista".

    Raja on veteen vedetty viiva, mutta luulisi olevan helppo olla samaa mieltä siitä, että "perinteisessä ohjelmoinnissa" ohjelmoija yrittää eksplisiittisesti (esim switch-case-rakenteilla) varautua kaikkiin odotettavissa oleviin tilanteisiin.

    Tekoälyssä, kaikenlaisessa, ohjelmoija asettaa reunaehdot, säännöt, joiden puitteissa tekoälykone (inference engine tai vastaava), erilaisiin hakualgoritmein yrittää löytää ratkaisun käsillä olevaan ongelmaan. Sellaisen ratkaisun, joka optimoi hyötyfunktion. Tähän on monenlaisia tekniikoita, joita en ala tässä erittelemään. Minulla on niistä käytännön kokemusta jo 80-luvulta. Enemmän käytännöstä kuin koulun penkiltä.

    Aiemmin lähdin vain siitä, että kapea tekoäly on vähemmän kiinnostavaa standarditekniikkaa. Kiinnostavampaa olisi yrittää kehittää yleisempiä tekniikoita.

    Äänestä

  • ollenkaan kirjoitti:

    Nämä päätelmät on tehty aiemmassa keskustelussa esitettyjen Yusan argumenttien pohjalta. Selaile vanhoja viestejä.

    "Eiköhän älyllä ole pakko olla joku ennalta asetettu päämäärä."

    Tottakai, vaikeahan sitä on muuten määritellä. Kysymys onkin tekoälyn määritelmästä.

    Keskusteluissa on esim. pulpahtanut esiin, että tekoäly ei ole älyä, jos se osaa vain reagoida ennalta asetettuihin ehtoihin/tilanteisiin.

    "Ei älyä muuten tarvittaisi."

    Ei kaikkiin päämääriin älyä tarvita. Vai minkä lasket älyksi?

    "Vai minkä lasket älyksi?"

    Nimimerkki Yusan ilmeisesti "Numentalta" peräisin oleva kuvaus on uskottavin:

    "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."

    Muunlaisia määritelmiä en ole täältä lukenut. Tuota pitäisi silti täsmentää vaikka älyalgoritmin pseudokoodilla tai viittauksilla empiirisiin psykologian havaintoihin.

    Tekoälyksi voisin laskea kaikki ne, joilla on jotain yhteistä "yleisen älykkyyden" kanssa.

    Äänestä

  • UPDATE_6997029 kirjoitti:

    Jostakin joku on saanut sellaisen ymmärryksen, että minusta kapea tekoäly (siis kaikki ne tällä hetkellä harjoitetut erittäin hyödylliset tekoälytekniikat) ei olisi oikeaa tekoälyä. Tietysti on. Tuossa määrittelyssä pyrittiin vain erottamaan tekoälyohjelmointi "perinteisestä ohjelmoinnista".

    Raja on veteen vedetty viiva, mutta luulisi olevan helppo olla samaa mieltä siitä, että "perinteisessä ohjelmoinnissa" ohjelmoija yrittää eksplisiittisesti (esim switch-case-rakenteilla) varautua kaikkiin odotettavissa oleviin tilanteisiin.

    Tekoälyssä, kaikenlaisessa, ohjelmoija asettaa reunaehdot, säännöt, joiden puitteissa tekoälykone (inference engine tai vastaava), erilaisiin hakualgoritmein yrittää löytää ratkaisun käsillä olevaan ongelmaan. Sellaisen ratkaisun, joka optimoi hyötyfunktion. Tähän on monenlaisia tekniikoita, joita en ala tässä erittelemään. Minulla on niistä käytännön kokemusta jo 80-luvulta. Enemmän käytännöstä kuin koulun penkiltä.

    Aiemmin lähdin vain siitä, että kapea tekoäly on vähemmän kiinnostavaa standarditekniikkaa. Kiinnostavampaa olisi yrittää kehittää yleisempiä tekniikoita.

    Sanotaan nyt keskustelun aluksi, että olen matemaatikko (loogikko) sekä tietojenkäsittelytieteilijä ja sen takia en yksinkertaisesti ymmärrä löysiä määritelmiä. Olet aiemmissa viesteissäsi antanut hyvin löyhiä kommentteja/määritelmiä ja ratsastanut niillä tällaisen "tarkan tieteen" maailmassa. Tekstistäsi saa ehkä sen takia hyvin näsäviisaan kuvan - tulee väistämättä mieleen, että haluat vain päteä miettimättä *tarkasti* mistä oikein on kyse. Kritisoin tätä jo aiemmin injektiivisyyden määritelmän osalta.

    "Raja on veteen vedetty viiva, mutta luulisi olevan helppo olla samaa mieltä siitä, että "perinteisessä ohjelmoinnissa" ohjelmoija yrittää eksplisiittisesti (esim switch-case-rakenteilla) varautua kaikkiin odotettavissa oleviin tilanteisiin. "

    Koska ilmeisesti osaat ohjelmointia, niin kerro pseudokoodintasolla miten tässä threadissa mainitussa kilpailussa voisi pärjätä pelkällä if-rakenteella? Minä nimittäin en sitä ainakaan heti keksi.

    Oikeastaan kerro, mikä mielestäsi menee tällaisen if-rakenteen yli? En ymmärrä mitä tarkoitat tuolla. Jokainen ohjelmahan on arvojen muuttamista ja vertailua. Ei siinä muuta tarvitse.

    "Minulla on niistä käytännön kokemusta jo 80-luvulta. Enemmän käytännöstä kuin koulun penkiltä. "

    Jos kerta käytännönkokemusta on, niin kannattaisi lukea vähän teoriaa. Sieltä voi paljastua yllättäviä asioita.

    "Aiemmin lähdin vain siitä, että kapea tekoäly on vähemmän kiinnostavaa standarditekniikkaa."

    Oho. Vai ovat alan tulokset standarditekniikkaa. Lasket siis esim. AIMA:n standarditekniikaksi ja rinnastat sen johonkin if-rakenteeseen.

    Ehkäpä oletkin vain trolli.

    Äänestä

  • Lerporii kirjoitti:

    "Vai minkä lasket älyksi?"

    Nimimerkki Yusan ilmeisesti "Numentalta" peräisin oleva kuvaus on uskottavin:

    "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."

    Muunlaisia määritelmiä en ole täältä lukenut. Tuota pitäisi silti täsmentää vaikka älyalgoritmin pseudokoodilla tai viittauksilla empiirisiin psykologian havaintoihin.

    Tekoälyksi voisin laskea kaikki ne, joilla on jotain yhteistä "yleisen älykkyyden" kanssa.

    ""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." "

    Tässä puhutaan ihmisaivojen tavasta havaita maailmaa. Tämä ei edelleenkään ole mikään tekoälyn määritelmä vaan *arvaus* siitä miten ihmisen aivot mahtavat toimia.

    Miten voi esimerkiksi varmistua siitä, että minä en ole robotti vaan ihminen? Kerro nyt tarkka määritelmä miten määrittelet tänne kirjoittavan psudonyymin olevan ihminen, niin minä koitan koodata robotin, joka saa sinua huijattua.

    "Tuota pitäisi silti täsmentää vaikka älyalgoritmin pseudokoodilla tai viittauksilla empiirisiin psykologian havaintoihin. "

    Joo, vois kuule olla paikallaan. Koitas vaikka antaa se algoritmi, psykologiaa tietokoneeni ei ymmärrä.

    "Tekoälyksi voisin laskea kaikki ne, joilla on jotain yhteistä "yleisen älykkyyden" kanssa."

    Ja imaginääriluvut on tarkalleen niitä mitkä eivät ole reaalilukuja? Tuo ei ole määritelmä. Se on hyvin löysä ajatus tai tuntuma siitä mitä se ehkä mahdollisesti voisi olla.

    Jos minä rakennan vaikka tähän tietokoneeseeni tekoälyn, niin millä perustein se on älykäs? Aiemmin on viitattu switch-case-rakenteen käyttämiseen, eli ilmeisesti sitä ei sitten saa käyttää?

    Äänestä

  • josko se valkenis kirjoitti:

    Sanotaan nyt keskustelun aluksi, että olen matemaatikko (loogikko) sekä tietojenkäsittelytieteilijä ja sen takia en yksinkertaisesti ymmärrä löysiä määritelmiä. Olet aiemmissa viesteissäsi antanut hyvin löyhiä kommentteja/määritelmiä ja ratsastanut niillä tällaisen "tarkan tieteen" maailmassa. Tekstistäsi saa ehkä sen takia hyvin näsäviisaan kuvan - tulee väistämättä mieleen, että haluat vain päteä miettimättä *tarkasti* mistä oikein on kyse. Kritisoin tätä jo aiemmin injektiivisyyden määritelmän osalta.

    "Raja on veteen vedetty viiva, mutta luulisi olevan helppo olla samaa mieltä siitä, että "perinteisessä ohjelmoinnissa" ohjelmoija yrittää eksplisiittisesti (esim switch-case-rakenteilla) varautua kaikkiin odotettavissa oleviin tilanteisiin. "

    Koska ilmeisesti osaat ohjelmointia, niin kerro pseudokoodintasolla miten tässä threadissa mainitussa kilpailussa voisi pärjätä pelkällä if-rakenteella? Minä nimittäin en sitä ainakaan heti keksi.

    Oikeastaan kerro, mikä mielestäsi menee tällaisen if-rakenteen yli? En ymmärrä mitä tarkoitat tuolla. Jokainen ohjelmahan on arvojen muuttamista ja vertailua. Ei siinä muuta tarvitse.

    "Minulla on niistä käytännön kokemusta jo 80-luvulta. Enemmän käytännöstä kuin koulun penkiltä. "

    Jos kerta käytännönkokemusta on, niin kannattaisi lukea vähän teoriaa. Sieltä voi paljastua yllättäviä asioita.

    "Aiemmin lähdin vain siitä, että kapea tekoäly on vähemmän kiinnostavaa standarditekniikkaa."

    Oho. Vai ovat alan tulokset standarditekniikkaa. Lasket siis esim. AIMA:n standarditekniikaksi ja rinnastat sen johonkin if-rakenteeseen.

    Ehkäpä oletkin vain trolli.

    Ei minulla ole tällä erää oleellisesti enempää sanottavaa, mutta kuitenkin.

    "Olet aiemmissa viesteissäsi antanut hyvin löyhiä kommentteja/määritelmiä ja ratsastanut niillä tällaisen "tarkan tieteen" maailmassa. Tekstistäsi saa ehkä sen takia hyvin näsäviisaan kuvan - tulee väistämättä mieleen, että haluat vain päteä miettimättä *tarkasti* mistä oikein on kyse."

    OK, olen sovittanut sanottavani tulkitsemalla foorumin yleistä tasoa. Jollakin korkempitasoisella foorumilla yleensä vain seuraan minua fiksumpien sanailua ja olen hiljaa. Olen tulkinnut keskustelun täällä aika kevyeksi, ehkä tarpeetonta (kuten tässä) persoonien analysointia lukuunottamatta.

    "Koska ilmeisesti osaat ohjelmointia, niin kerro pseudokoodintasolla miten tässä threadissa mainitussa kilpailussa voisi pärjätä pelkällä if-rakenteella? Minä nimittäin en sitä ainakaan heti keksi."

    Jos nuo ilmoitussivun esimerkit määrittelisivät tehtävien tyypin, minkä sivujen oma keskustelu hieman kumoaa, niin suhteellisen perinteisellä ohjelmointityyliillä toteutettu (mutta silti ihan haastava) analyysi minun arvaukseni mukaan riittäisi. He julkaisevat pian toteutukset. Katsotaan sitten sieltä olinko oikeassa.

    "Oikeastaan kerro, mikä mielestäsi menee tällaisen if-rakenteen yli? En ymmärrä mitä tarkoitat tuolla. Jokainen ohjelmahan on arvojen muuttamista ja vertailua. Ei siinä muuta tarvitse."

    Esimerkki perinteisestä tekoälyohjelmoinnista on "backtracking inference engine". Silloin 20v sitten kaivoin sellaisen fortranilla toteutetun ohjelmarungon kirjallisuudesta, porttasin ja täydensin PLM-kielelle ja sävelsin ongelmakentän edellyttämät (kai) parisen sataa binäärisesti koodattua sääntöä, joista yli puolet määritteli tehtäväalueen topologian. En vieläkään uskalla kertoa yrityssalaisuutena toimialaa. Homman olisi voinut kyllä ratkaista perinteisellä laajalla tilakoneellakin, mutta minä ja toimeksiantaja molemmat pelkäsimme odottamattomia tilanteita. Idea oli antaa "koneen" etsiä niille ratkaisu, joka täyttää yleiset ehdot. Tulos ei ole optimaalinen, mutta ei koskaan katastrofaalinen, kuten tilakoneratkaisu olisi voinut olla. Oppia en koskaan myöhemmin päässyt hyödyntämään.

    Viisi vuotta myöhemmin tein toisen "tekoälyprojektini", joka hydynsi offline-opetettua hermoverkkoa. Se suoritti anturien kalibrointia. Tätäkään oppia en päässyt koskaan jälkeenpäin hyödyntämään.

    Olen tehnyt kaikkea FPGA-suunnittelun, analogiasuunnittelun, sovellussuunnittelun ja testaussunnittelun välillä, melkein kaikilla mahdollisilla kielillä: sulautettujen järjestelmien sekatyöläinen, en minkään alueen todellinen asiantuntija.

    ""Aiemmin lähdin vain siitä, että kapea tekoäly on vähemmän kiinnostavaa standarditekniikkaa."

    Oho. Vai ovat alan tulokset standarditekniikkaa. Lasket siis esim. AIMA:n standarditekniikaksi ja rinnastat sen johonkin if-rakenteeseen. "

    No jo on ihme! Yritä nyt ymmärtää, että näen kolme tasoa toteuttaa älykkyyttä:

    1. Perinteinen, proseduraalinen ohjelmointi, tilakoneet, if-else-switch-case-rakenteet, siis "kovakoodattu" käyttäytyminen (jonka ei alaa tuntevat usein olettavat koskevan kaikkea tietojenkäsittelyä. Tätä teen nykyisin työkseni, ja koen sen minulle riittävän vaativaksi.

    2. Sääntöpohjaiset järjestelmät, klassinen symboolinen tekoäly, Prolog, suomea logiikka...
    Sellaiset järjestelmät, jotka on räätälöyty suppealle alueelle, eikä esim varastoautomaation tekoälyä voi siirtää pörssianalyysiä tekemään. Siis kapea tekoäly. Monet ongelmat ratkeavat helpommin näillä metodeilla kuin 1. kohdan metodeilla. Olen itse vain raapaissut tätä aluetta. Mutta tämä ON ihan koeteltua standarditekniikkka nykyään.

    3. Yleinen tekoäly, vahva tekoäly. Sitä ilmeisesti ei ole vielä olemassa. Siksi sitä on vielä vaikeampi määritellä. Sillä tarkoitetaan järjestelmää, jolle arkkitehtuuria muuttamatta voi opettaa laajaa valikoimaa taitoja, "common sense-järkeä" (Ole kiltti käytä kuukkelia, jos et ymmärrä). Sille ei kirjoiteta eksplisiittisesti sääntöjä, se opetetaan kuin lapsi. Se aivan ilmeisesti oppii ymmärtämään luonnollista kieltä. Sitä pidetään laajalti huuhaana, mutta sillä on tällä hetkellä vahva teoreettinen perusta ja useita vakavissaan yrittäjiä.

    Kaikki ovat vaativia aloja, mutta minua vain viimeksimainittu todella kiinnostaa.

    Harrastelijana puuhastelen oman "spiking neural network - aivosimulaattori" projektini kanssa, joka on hiljalleen jatkunut jo 20v. En lupaa mitään, opin ja pidän hauskaa. Ammatillisesti tiedän, että yksi miestyövuosi on vähän, ja ehkä sen verran olen yhteensä 20:ssa kalenterivuodessa puuhastellut.

    Minusta on väärin, että minä yritän sanoa jotakin, ja sinä vain kritisoit. Pistä sinäkin itsesi likoon. Käytä edes nimimerkkiä! Loppu.

    Äänestä

  • UPDATE_6997029 kirjoitti:

    Ei minulla ole tällä erää oleellisesti enempää sanottavaa, mutta kuitenkin.

    "Olet aiemmissa viesteissäsi antanut hyvin löyhiä kommentteja/määritelmiä ja ratsastanut niillä tällaisen "tarkan tieteen" maailmassa. Tekstistäsi saa ehkä sen takia hyvin näsäviisaan kuvan - tulee väistämättä mieleen, että haluat vain päteä miettimättä *tarkasti* mistä oikein on kyse."

    OK, olen sovittanut sanottavani tulkitsemalla foorumin yleistä tasoa. Jollakin korkempitasoisella foorumilla yleensä vain seuraan minua fiksumpien sanailua ja olen hiljaa. Olen tulkinnut keskustelun täällä aika kevyeksi, ehkä tarpeetonta (kuten tässä) persoonien analysointia lukuunottamatta.

    "Koska ilmeisesti osaat ohjelmointia, niin kerro pseudokoodintasolla miten tässä threadissa mainitussa kilpailussa voisi pärjätä pelkällä if-rakenteella? Minä nimittäin en sitä ainakaan heti keksi."

    Jos nuo ilmoitussivun esimerkit määrittelisivät tehtävien tyypin, minkä sivujen oma keskustelu hieman kumoaa, niin suhteellisen perinteisellä ohjelmointityyliillä toteutettu (mutta silti ihan haastava) analyysi minun arvaukseni mukaan riittäisi. He julkaisevat pian toteutukset. Katsotaan sitten sieltä olinko oikeassa.

    "Oikeastaan kerro, mikä mielestäsi menee tällaisen if-rakenteen yli? En ymmärrä mitä tarkoitat tuolla. Jokainen ohjelmahan on arvojen muuttamista ja vertailua. Ei siinä muuta tarvitse."

    Esimerkki perinteisestä tekoälyohjelmoinnista on "backtracking inference engine". Silloin 20v sitten kaivoin sellaisen fortranilla toteutetun ohjelmarungon kirjallisuudesta, porttasin ja täydensin PLM-kielelle ja sävelsin ongelmakentän edellyttämät (kai) parisen sataa binäärisesti koodattua sääntöä, joista yli puolet määritteli tehtäväalueen topologian. En vieläkään uskalla kertoa yrityssalaisuutena toimialaa. Homman olisi voinut kyllä ratkaista perinteisellä laajalla tilakoneellakin, mutta minä ja toimeksiantaja molemmat pelkäsimme odottamattomia tilanteita. Idea oli antaa "koneen" etsiä niille ratkaisu, joka täyttää yleiset ehdot. Tulos ei ole optimaalinen, mutta ei koskaan katastrofaalinen, kuten tilakoneratkaisu olisi voinut olla. Oppia en koskaan myöhemmin päässyt hyödyntämään.

    Viisi vuotta myöhemmin tein toisen "tekoälyprojektini", joka hydynsi offline-opetettua hermoverkkoa. Se suoritti anturien kalibrointia. Tätäkään oppia en päässyt koskaan jälkeenpäin hyödyntämään.

    Olen tehnyt kaikkea FPGA-suunnittelun, analogiasuunnittelun, sovellussuunnittelun ja testaussunnittelun välillä, melkein kaikilla mahdollisilla kielillä: sulautettujen järjestelmien sekatyöläinen, en minkään alueen todellinen asiantuntija.

    ""Aiemmin lähdin vain siitä, että kapea tekoäly on vähemmän kiinnostavaa standarditekniikkaa."

    Oho. Vai ovat alan tulokset standarditekniikkaa. Lasket siis esim. AIMA:n standarditekniikaksi ja rinnastat sen johonkin if-rakenteeseen. "

    No jo on ihme! Yritä nyt ymmärtää, että näen kolme tasoa toteuttaa älykkyyttä:

    1. Perinteinen, proseduraalinen ohjelmointi, tilakoneet, if-else-switch-case-rakenteet, siis "kovakoodattu" käyttäytyminen (jonka ei alaa tuntevat usein olettavat koskevan kaikkea tietojenkäsittelyä. Tätä teen nykyisin työkseni, ja koen sen minulle riittävän vaativaksi.

    2. Sääntöpohjaiset järjestelmät, klassinen symboolinen tekoäly, Prolog, suomea logiikka...
    Sellaiset järjestelmät, jotka on räätälöyty suppealle alueelle, eikä esim varastoautomaation tekoälyä voi siirtää pörssianalyysiä tekemään. Siis kapea tekoäly. Monet ongelmat ratkeavat helpommin näillä metodeilla kuin 1. kohdan metodeilla. Olen itse vain raapaissut tätä aluetta. Mutta tämä ON ihan koeteltua standarditekniikkka nykyään.

    3. Yleinen tekoäly, vahva tekoäly. Sitä ilmeisesti ei ole vielä olemassa. Siksi sitä on vielä vaikeampi määritellä. Sillä tarkoitetaan järjestelmää, jolle arkkitehtuuria muuttamatta voi opettaa laajaa valikoimaa taitoja, "common sense-järkeä" (Ole kiltti käytä kuukkelia, jos et ymmärrä). Sille ei kirjoiteta eksplisiittisesti sääntöjä, se opetetaan kuin lapsi. Se aivan ilmeisesti oppii ymmärtämään luonnollista kieltä. Sitä pidetään laajalti huuhaana, mutta sillä on tällä hetkellä vahva teoreettinen perusta ja useita vakavissaan yrittäjiä.

    Kaikki ovat vaativia aloja, mutta minua vain viimeksimainittu todella kiinnostaa.

    Harrastelijana puuhastelen oman "spiking neural network - aivosimulaattori" projektini kanssa, joka on hiljalleen jatkunut jo 20v. En lupaa mitään, opin ja pidän hauskaa. Ammatillisesti tiedän, että yksi miestyövuosi on vähän, ja ehkä sen verran olen yhteensä 20:ssa kalenterivuodessa puuhastellut.

    Minusta on väärin, että minä yritän sanoa jotakin, ja sinä vain kritisoit. Pistä sinäkin itsesi likoon. Käytä edes nimimerkkiä! Loppu.

    Keskustelua on vaikea käydä jos ei käytetä samaa kieltä. Tekoäly on tarkkaa määrittelyä vaativa ala siinä kuin matematiikkakin. Ei ole edes mielekästä puhua jostain järjestelmästä edes määrittelemättä miten se tehdään ja miten sen pitäisi toimia.

    Yleisesti voidaan todeta tietokoneista, että niillä voidaan laskea mitä voidaan. On (käytännössä) yhdentekevää mitä kieltä, eli formalismia, käytetään. Oletettavaa, mutta ei millään lailla todistettua, on, että kaikki laskenta mitä koneilla ylipäätään tehdään voidaan toteuttaa esim. Turingin koneella, joka on erittäin yksinkertainen laskennan formalisointi. Ei ole mielekästä ottaa keskusteluun switch-case-rakennetta tai muutakaan tällaista rakennetta, koska laskentavoima ei muutu siinä yhtään mihinkään. Se mitä voidaan laskea tai mallintaa jollain superkoneella prologia käyttämällä voitaisiin ihan yhtälailla laskea esim. pelkästään yhteen- ja miinuslaskua käyttämällä. (tämä on monelle aika hämmentävä asia oivaltaa)

    Jos osaat kertoa jonkin voimakkaamman formalismin olemassaolosta, niin kehottaisin kirjoittamaan siitä julkaisun. Ala kokisi aikamoisen shokin.

    Mainitsit kohdassa kolme seuraavasti

    "Sille ei kirjoiteta eksplisiittisesti sääntöjä, se opetetaan kuin lapsi."

    Tällainenkin ohjelma noudattaa annettuja sääntöjä siinä kuin muutkin. Kerran tunnet tilakoneet ainakin käsitteellisesti, niin ymmärrät varmaan, että jokainen tietokoneohjelma on deterministinen toiminnaltaan. Sinne ei voida koodata minkäänlaista satunnaisuutta tms. vaan toiminta on samalla syötteellä aina samanlaista.

    Verhoat tekoälyn jonkinlaiseen mystiseen viittaan, jota minun nähdäkseni ei ole olemassa. Jokainen ohjelma sisältää sääntöjä joiden mukaan se toimii. Jokainen ohjelma voidaan myös hajoittaa äärimmäisen yksinkertaiseksi toiminnaltaan sen laskennallisen voiman siitä muuttumatta.

    Kyseessä on kuitenkin aina tietokoneohjelma. Yleensä tuohon ohjelmaan pyritään vangitsemaan ajattelun pohjimmaisia luonteita - ikään kuin kiteyttämään älyn käsite muutamaksi yksinkertaiseksi säännöksi. Tällainen ohjelma ottaa sitten tietyllä tavalla koodattua syötettä ja toimii sen mukaan mitä alkuperäisistä säännöistä seuraisi. Se palautuu aina annettujen sääntöjen seuraamiseen, siihen ei synny intuitiivisessa mielessä mitään "oikeaa älyä" missään vaiheessa, se vaan noudattaa annettuja sääntöjä.

    Kannattaa oikeasti perehtyä hieman laskennan teoriaan. Minusta tuntuu, että sen kautta ymmärtäisit mitä kritiikkiini kirjoituksiasi kohtaan oikeasti on.

    PS: Pahoitteluni jos hyökkäsin henkilöön asian sijasta.

    Äänestä

  • se ja sama kirjoitti:

    Keskustelua on vaikea käydä jos ei käytetä samaa kieltä. Tekoäly on tarkkaa määrittelyä vaativa ala siinä kuin matematiikkakin. Ei ole edes mielekästä puhua jostain järjestelmästä edes määrittelemättä miten se tehdään ja miten sen pitäisi toimia.

    Yleisesti voidaan todeta tietokoneista, että niillä voidaan laskea mitä voidaan. On (käytännössä) yhdentekevää mitä kieltä, eli formalismia, käytetään. Oletettavaa, mutta ei millään lailla todistettua, on, että kaikki laskenta mitä koneilla ylipäätään tehdään voidaan toteuttaa esim. Turingin koneella, joka on erittäin yksinkertainen laskennan formalisointi. Ei ole mielekästä ottaa keskusteluun switch-case-rakennetta tai muutakaan tällaista rakennetta, koska laskentavoima ei muutu siinä yhtään mihinkään. Se mitä voidaan laskea tai mallintaa jollain superkoneella prologia käyttämällä voitaisiin ihan yhtälailla laskea esim. pelkästään yhteen- ja miinuslaskua käyttämällä. (tämä on monelle aika hämmentävä asia oivaltaa)

    Jos osaat kertoa jonkin voimakkaamman formalismin olemassaolosta, niin kehottaisin kirjoittamaan siitä julkaisun. Ala kokisi aikamoisen shokin.

    Mainitsit kohdassa kolme seuraavasti

    "Sille ei kirjoiteta eksplisiittisesti sääntöjä, se opetetaan kuin lapsi."

    Tällainenkin ohjelma noudattaa annettuja sääntöjä siinä kuin muutkin. Kerran tunnet tilakoneet ainakin käsitteellisesti, niin ymmärrät varmaan, että jokainen tietokoneohjelma on deterministinen toiminnaltaan. Sinne ei voida koodata minkäänlaista satunnaisuutta tms. vaan toiminta on samalla syötteellä aina samanlaista.

    Verhoat tekoälyn jonkinlaiseen mystiseen viittaan, jota minun nähdäkseni ei ole olemassa. Jokainen ohjelma sisältää sääntöjä joiden mukaan se toimii. Jokainen ohjelma voidaan myös hajoittaa äärimmäisen yksinkertaiseksi toiminnaltaan sen laskennallisen voiman siitä muuttumatta.

    Kyseessä on kuitenkin aina tietokoneohjelma. Yleensä tuohon ohjelmaan pyritään vangitsemaan ajattelun pohjimmaisia luonteita - ikään kuin kiteyttämään älyn käsite muutamaksi yksinkertaiseksi säännöksi. Tällainen ohjelma ottaa sitten tietyllä tavalla koodattua syötettä ja toimii sen mukaan mitä alkuperäisistä säännöistä seuraisi. Se palautuu aina annettujen sääntöjen seuraamiseen, siihen ei synny intuitiivisessa mielessä mitään "oikeaa älyä" missään vaiheessa, se vaan noudattaa annettuja sääntöjä.

    Kannattaa oikeasti perehtyä hieman laskennan teoriaan. Minusta tuntuu, että sen kautta ymmärtäisit mitä kritiikkiini kirjoituksiasi kohtaan oikeasti on.

    PS: Pahoitteluni jos hyökkäsin henkilöön asian sijasta.

    Edes hieman.

    "..Ei ole mielekästä ottaa keskusteluun switch-case-rakennetta tai muutakaan tällaista rakennetta, koska laskentavoima ei muutu siinä yhtään mihinkään. Se mitä voidaan laskea tai mallintaa jollain superkoneella prologia käyttämällä voitaisiin ihan yhtälailla laskea esim. pelkästään yhteen- ja miinuslaskua käyttämällä. (tämä on monelle aika hämmentävä asia oivaltaa)"

    Näin tietysti voidaan. Kyse on vain työtapojen tuottavuudesta ja milloin toteuttamiskynnys ylittää resulssit.

    "..niin ymmärrät varmaan, että jokainen tietokoneohjelma on deterministinen toiminnaltaan. Sinne ei voida koodata minkäänlaista satunnaisuutta tms. vaan toiminta on samalla syötteellä aina samanlaista."

    Ei ole. Jos, kuten joskus, satunnaisvaste koetaan tarpeelliseksi, ei sen aikaansaaminen ole mikään isompi ongelma. Tai vaikka ohjelma onkin periaattessa deterministinen, niin järjestelmä ei useinkaan ole. Tämä on arkipäivää.

    "Verhoat tekoälyn jonkinlaiseen mystiseen viittaan, jota minun nähdäkseni ei ole olemassa. Jokainen ohjelma sisältää sääntöjä joiden mukaan se toimii. Jokainen ohjelma voidaan myös hajoittaa äärimmäisen yksinkertaiseksi toiminnaltaan sen laskennallisen voiman siitä muuttumatta."

    En minä edusta mitään mystiikkaa. Tekoäly on joukko tekniikoita, työtapoja, ohjelmointityylejä. Tätä kantaa olen koko ajan edustanut.

    " Se palautuu aina annettujen sääntöjen seuraamiseen, siihen ei synny intuitiivisessa mielessä mitään "oikeaa älyä" missään vaiheessa, se vaan noudattaa annettuja sääntöjä."

    Mitä on "oikea äly"?

    "Kannattaa oikeasti perehtyä hieman laskennan teoriaan. Minusta tuntuu, että sen kautta ymmärtäisit mitä kritiikkiini kirjoituksiasi kohtaan oikeasti on."

    Kannattaa tutustua esim. tähän:

    http://www.amazon.co.uk/Hidden-Pattern-Patternist-Philosophy-Mind/dp/1581129890/sr=8-1/qid=1159969142/ref=sr_1_1/202-9614456-8916669?ie=UTF8&s=books

    Äänestä

  • UPDATE_6997029 kirjoitti:

    Edes hieman.

    "..Ei ole mielekästä ottaa keskusteluun switch-case-rakennetta tai muutakaan tällaista rakennetta, koska laskentavoima ei muutu siinä yhtään mihinkään. Se mitä voidaan laskea tai mallintaa jollain superkoneella prologia käyttämällä voitaisiin ihan yhtälailla laskea esim. pelkästään yhteen- ja miinuslaskua käyttämällä. (tämä on monelle aika hämmentävä asia oivaltaa)"

    Näin tietysti voidaan. Kyse on vain työtapojen tuottavuudesta ja milloin toteuttamiskynnys ylittää resulssit.

    "..niin ymmärrät varmaan, että jokainen tietokoneohjelma on deterministinen toiminnaltaan. Sinne ei voida koodata minkäänlaista satunnaisuutta tms. vaan toiminta on samalla syötteellä aina samanlaista."

    Ei ole. Jos, kuten joskus, satunnaisvaste koetaan tarpeelliseksi, ei sen aikaansaaminen ole mikään isompi ongelma. Tai vaikka ohjelma onkin periaattessa deterministinen, niin järjestelmä ei useinkaan ole. Tämä on arkipäivää.

    "Verhoat tekoälyn jonkinlaiseen mystiseen viittaan, jota minun nähdäkseni ei ole olemassa. Jokainen ohjelma sisältää sääntöjä joiden mukaan se toimii. Jokainen ohjelma voidaan myös hajoittaa äärimmäisen yksinkertaiseksi toiminnaltaan sen laskennallisen voiman siitä muuttumatta."

    En minä edusta mitään mystiikkaa. Tekoäly on joukko tekniikoita, työtapoja, ohjelmointityylejä. Tätä kantaa olen koko ajan edustanut.

    " Se palautuu aina annettujen sääntöjen seuraamiseen, siihen ei synny intuitiivisessa mielessä mitään "oikeaa älyä" missään vaiheessa, se vaan noudattaa annettuja sääntöjä."

    Mitä on "oikea äly"?

    "Kannattaa oikeasti perehtyä hieman laskennan teoriaan. Minusta tuntuu, että sen kautta ymmärtäisit mitä kritiikkiini kirjoituksiasi kohtaan oikeasti on."

    Kannattaa tutustua esim. tähän:

    http://www.amazon.co.uk/Hidden-Pattern-Patternist-Philosophy-Mind/dp/1581129890/sr=8-1/qid=1159969142/ref=sr_1_1/202-9614456-8916669?ie=UTF8&s=books

    "Ei ole. Jos, kuten joskus, satunnaisvaste koetaan tarpeelliseksi, ei sen aikaansaaminen ole mikään isompi ongelma."

    Kyllä se on. Et voi tehdä ohjelmaa, joka toimii eri ajoilla eri tavalla. Se on yksinkertaisesti mahdotonta. Juuri tällainen epätäsmällinen ajattelu antaa sinusta oudon kuvan.

    Se on yksi ja sama miten sinä sen "älyn" koodaat. Se lähtee aina yhdestä konfiguraatiosta ja samalla syötteellä pääsee aina samaan lopputulokseen. Tämän pitäisi olla selvä asia. Siihen on syynsä miksi tietokoneiden yhteydessä puhutaa pseudosatunnaisluvuista eikä satunnaisluvuista.

    Koska tunnut edustavan "kouluttamatta kaiken tietävää"-asennetta, niin en jaksa inttää asiasta enempää.

    Äänestä

  • jne... kirjoitti:

    "Ei ole. Jos, kuten joskus, satunnaisvaste koetaan tarpeelliseksi, ei sen aikaansaaminen ole mikään isompi ongelma."

    Kyllä se on. Et voi tehdä ohjelmaa, joka toimii eri ajoilla eri tavalla. Se on yksinkertaisesti mahdotonta. Juuri tällainen epätäsmällinen ajattelu antaa sinusta oudon kuvan.

    Se on yksi ja sama miten sinä sen "älyn" koodaat. Se lähtee aina yhdestä konfiguraatiosta ja samalla syötteellä pääsee aina samaan lopputulokseen. Tämän pitäisi olla selvä asia. Siihen on syynsä miksi tietokoneiden yhteydessä puhutaa pseudosatunnaisluvuista eikä satunnaisluvuista.

    Koska tunnut edustavan "kouluttamatta kaiken tietävää"-asennetta, niin en jaksa inttää asiasta enempää.

    "Kyllä se on. Et voi tehdä ohjelmaa, joka toimii eri ajoilla eri tavalla. Se on yksinkertaisesti mahdotonta. Juuri tällainen epätäsmällinen ajattelu antaa sinusta oudon kuvan. "

    Kirjoitin näin:

    "Tai vaikka ohjelma onkin periaattessa deterministinen, niin järjestelmä ei useinkaan ole."

    On itsestään selvyys, että joku (suljettu) ohjelmalohko on deterministinen, mutta jos haluamme sille satunnaistoimintoja, tarvitsemme vain satunnaisuutta edustavan tulon. Se on useimmiten helppo järjestää. Sen avulla pseudosatunnaisuus muutetaan sujuvasti aidoksi satunnaisuudeksi, jos niin halutaan. Siis järjestelmät ovat usein hyvin epädeterministisiä. Tämä on arkipäivää sulautetuissa järjestelmissä, joiden kanssa olen eri tekniikan tasoilla työskennellyt yli 25v.

    "Koska tunnut edustavan "kouluttamatta kaiken tietävää"-asennetta, niin en jaksa inttää asiasta enempää."

    No, voisin kirjoittaa esimerkiksi, että "sinä kuullostat käytännöstä mitään tietämättömältä, suppealta alueelta kaiken tietävältä, näköalattomalta fakki-idiootilta". Mutta enpä kirjoita mitään sellaista, koska ehkä se ei ole koko totuus.

    Mutta mitä oli se "oikea äly"? Et uskalla pistää itseäsi likoon.

    Äänestä

  • UPDATE_6997029 kirjoitti:

    "Kyllä se on. Et voi tehdä ohjelmaa, joka toimii eri ajoilla eri tavalla. Se on yksinkertaisesti mahdotonta. Juuri tällainen epätäsmällinen ajattelu antaa sinusta oudon kuvan. "

    Kirjoitin näin:

    "Tai vaikka ohjelma onkin periaattessa deterministinen, niin järjestelmä ei useinkaan ole."

    On itsestään selvyys, että joku (suljettu) ohjelmalohko on deterministinen, mutta jos haluamme sille satunnaistoimintoja, tarvitsemme vain satunnaisuutta edustavan tulon. Se on useimmiten helppo järjestää. Sen avulla pseudosatunnaisuus muutetaan sujuvasti aidoksi satunnaisuudeksi, jos niin halutaan. Siis järjestelmät ovat usein hyvin epädeterministisiä. Tämä on arkipäivää sulautetuissa järjestelmissä, joiden kanssa olen eri tekniikan tasoilla työskennellyt yli 25v.

    "Koska tunnut edustavan "kouluttamatta kaiken tietävää"-asennetta, niin en jaksa inttää asiasta enempää."

    No, voisin kirjoittaa esimerkiksi, että "sinä kuullostat käytännöstä mitään tietämättömältä, suppealta alueelta kaiken tietävältä, näköalattomalta fakki-idiootilta". Mutta enpä kirjoita mitään sellaista, koska ehkä se ei ole koko totuus.

    Mutta mitä oli se "oikea äly"? Et uskalla pistää itseäsi likoon.

    Luin kirjoituksesi ristiin, minun virheeni. Silmäni sokeutuivat tekstistäsi.

    " jos haluamme sille satunnaistoimintoja, tarvitsemme vain satunnaisuutta edustavan tulon. Se on useimmiten helppo järjestää."

    Tulon? Sinulla on siis jokin keino tai "input" mistä saa aito satunnaisuutta? Mitä tarkoitat sillä?

    "Mutta mitä oli se "oikea äly"?"

    Harhaa. Äly on ihmisen määritelmä siinä kuin kaikki muutkin. Milloin äly on alkanut olemaan?

    ""sinä kuullostat käytännöstä mitään tietämättömältä, suppealta alueelta kaiken tietävältä, näköalattomalta fakki-idiootilta""

    Hyväksyn näkemyksesi. Olen koulutukseltani loogikko ja ajatusmaailmaltani filosofi. Ajatusmaailmani melko varmasti ulkopuolisesta (sellaisesta, joka ei ole saanut samaa koulutusta) vaikuttaa siltä mitä sanot.

    Se ei kuitenkaan tarkoita ettenkö olisi pohtinut asioita paljon. Lähdin matematiikan tielle hyvin pitkällisen ja syvällisen filosofisen pohdinnan jälkeen. Huomasin filosofian uppoavan äärimmäisen helposti epätäsmälliseen ajatteluun ja halusin matematiikalla opettaa itselleni johdonmukaisuutta. Ehkä tämän taustan takia olenkin kiinnostunut "tekoälystä".

    Usko pois, olen tehnyt todella paljon työtä ymmärtääkseni asioita ja se työ on tuottanut tulosta. Suosittelen tutustumaan mm. laskennan teoriaan.

    Äänestä

Vaikeinta tuntuu olevan ohjelmointi järjestelmään mikä pitää sisällään useita rajapintoja ja mitä ylläpidetään ja jatkokehitetään vuosia. Hyvin harvalla on kykyä tehdä softaa kiireisellä aikataululla ja huolehtia, että softa on ylläpidettävää myös toisten ihmisten toimesta.

Moni sortuu kikkailuun vaikka suoraviivainen toteutus olisi paljon helpompi pitää yllä. Lisäksi rajapintasuunnittelu ja virheiden käsittely realiaikajärjestelmissä on jotain mitä ei kerta kaikkiaan osata.
Jos jannu ei käytä virhetilanteiden käsittelyn toteuttamiseen kolmannesta toteutusajasta on lopputulos useimmiten sitä itseään.

Äänestä

Kommentoi aloitusta


xzsdfdsf kirjoitti:

Kertokaahan mikä on mielestänne vaativinta ohjelmointia? Käsite vaativa on tietysti suhteellinen, mutta sellaista että joutuu tietämään poikkeuksellisen paljon eri ohjelmoinnin ja ehkä matematiikan yms. alueita ja muuta vastaavaa jotta homma luonnistuisi hyvin. Kysyin samaa kaverilta ja hän sanoi että pelien ohjelmointi on vaativinta, mutta on kai sitä vaativampaakin esim. isot tietokannat?

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