Tekoälykielet nykyään?

Mitähän mahtaa kuulua Prologille ja Lispille nykyään, vieläkö niitä käytetään vai onko suuntaus muun tyyppisiin A.I. kieliin?
262068
Äänestä

Muut lukivat myös

Vastaukset 26

Vanhimmat

Ihme juttuja, tekoäly? heheh :D

Oli mikä saatanan kieli tahansa, kaikki kääntyy loppujen lopuksi vain nolliksi ja ykkösiksi(!) On/Off! Ei siinä tekoäly ole viisaampaa tai tyhmempää, millä tahansa kielellä koodaat ohjelmasi :D

Kone on aina vain kone, millä tahansa kielellä koodaatkin, piste!

Tämä just kuulostaa joltain 1980-luvun jutulta, jolloin ennustettiin, että kielenkääntökone on realiteettia 1990-luvulla :)

Äänestä
  • "Ei siinä tekoäly ole viisaampaa tai tyhmempää, millä tahansa kielellä koodaat ohjelmasi :D "

    Vertaappa esim prologia ja c:tä, montakoko riviä joudut kirjoitamaan saadaksesi saman toiminnallisuuden.

    http://en.wikipedia.org/wiki/Prolog

    Äänestä

  • heksakoodiohjelmointiasi ja jätä asiantuntijalausuntojen antaminen muille.

    Äänestä

  • gmo kirjoitti:

    "Ei siinä tekoäly ole viisaampaa tai tyhmempää, millä tahansa kielellä koodaat ohjelmasi :D "

    Vertaappa esim prologia ja c:tä, montakoko riviä joudut kirjoitamaan saadaksesi saman toiminnallisuuden.

    http://en.wikipedia.org/wiki/Prolog

    "Vertaappa esim prologia ja c:tä, montakoko riviä joudut kirjoitamaan saadaksesi saman toiminnallisuuden."

    Mikä kriteeri se on??? Pitäisikö tekoälyohjelmien olla jotain salakoodia?

    Äänestä

  • kriteeri kirjoitti:

    "Vertaappa esim prologia ja c:tä, montakoko riviä joudut kirjoitamaan saadaksesi saman toiminnallisuuden."

    Mikä kriteeri se on??? Pitäisikö tekoälyohjelmien olla jotain salakoodia?

    Mitä salakoodia ?

    Maailmassa on n-kappaletta ohjelmointikieliä eri asioita varten, joissa joidenkin asioiden teko on helpompaa koska ne on suuniteltu sitä varten.

    Otetaampa esim, olio ohjelmoiti, voi tehdä sitä C:llä mutta helpompaa se on jos kieli tukee sitä esim. c , java etc.

    Tämä oli pointtini. Jos teet pienen pätkän ei ehkä ole merkitystä millä sen tekee.

    Ja erilaisia syntakseja on paljon vaikka koodi ei näytä miltään C:n sukulaiselta ei se tee siitä huonoa.

    Äänestä

  • gmo kirjoitti:

    "Ei siinä tekoäly ole viisaampaa tai tyhmempää, millä tahansa kielellä koodaat ohjelmasi :D "

    Vertaappa esim prologia ja c:tä, montakoko riviä joudut kirjoitamaan saadaksesi saman toiminnallisuuden.

    http://en.wikipedia.org/wiki/Prolog

    "Vertaappa esim prologia ja c:tä, montakoko riviä joudut kirjoitamaan saadaksesi saman toiminnallisuuden."

    Kommentti oli

    "Ei siinä tekoäly ole viisaampaa tai tyhmempää, millä tahansa kielellä koodaat ohjelmasi :D "

    Miten vastauksesi liittyy kommenttiin? Väitätkö, että prologilla ja c:llä voi toteuttaa eri asiat? Viestistäsi päätellen et, vaan liu'uit toiselle maaperälle ja puolustelit itseäsi siellä. Tyypillinen kotikoodarin tapa.

    Äänestä

  • gmo kirjoitti:

    Mitä salakoodia ?

    Maailmassa on n-kappaletta ohjelmointikieliä eri asioita varten, joissa joidenkin asioiden teko on helpompaa koska ne on suuniteltu sitä varten.

    Otetaampa esim, olio ohjelmoiti, voi tehdä sitä C:llä mutta helpompaa se on jos kieli tukee sitä esim. c , java etc.

    Tämä oli pointtini. Jos teet pienen pätkän ei ehkä ole merkitystä millä sen tekee.

    Ja erilaisia syntakseja on paljon vaikka koodi ei näytä miltään C:n sukulaiselta ei se tee siitä huonoa.

    "Ja erilaisia syntakseja on paljon vaikka koodi ei näytä miltään C:n sukulaiselta ei se tee siitä huonoa."

    Eipä tosiaan.

    "Otetaampa esim, olio ohjelmoiti, voi tehdä sitä C:llä mutta helpompaa se on jos kieli tukee sitä esim. c , java etc. "

    Mutta C voi jo (vähän hankalasti) tehdä mitä vain.

    Äänestä

  • kriteeri kirjoitti:

    "Ja erilaisia syntakseja on paljon vaikka koodi ei näytä miltään C:n sukulaiselta ei se tee siitä huonoa."

    Eipä tosiaan.

    "Otetaampa esim, olio ohjelmoiti, voi tehdä sitä C:llä mutta helpompaa se on jos kieli tukee sitä esim. c , java etc. "

    Mutta C voi jo (vähän hankalasti) tehdä mitä vain.

    Prolog-ohjelmoinnissa ajattelutapa on täysin erilainen kuin C :ssa. C -ohjelmoija keskittyy siihen, miten jonkin asian saisi ratkaistua muuttujien arvoja muuttelemalla, silmukoita kiertämällä ja funktioita kutsumalla. Prolog-ohjelmoija sen sijaan keskittyy kuvaamaan, millainen ratkaisu halutaan ja/tai miten ratkaisun ympärillä oleva maailma toimii.

    Sekä C :lla että Prologilla voi kirjoittaa ohjelman, joka osaa derivoida. Erästä olennaista etua Prologissa kuvaa mielestäni parhaiten se, että sama Prolog-ohjelma osaa myös integroida. C -ohjelmaan integroinnin lisääminen sen sijaan vaatii lisätyötä.

    Prolog on hyvä kieli tietynlaisiin ongelmiin, mutta mitään muita ongelmia sillä ei sitten pidäkään yrittääkään ratkoa. Siksi allekirjoittaneen mielestä olisikin mukavampaa nähdä nykyistä enemmän prologin toiminnallisuuden tarjoavia kirjastoja tavallisissa ohjelmointikielissä.

    Äänestä

  • azk.py kirjoitti:

    Prolog-ohjelmoinnissa ajattelutapa on täysin erilainen kuin C :ssa. C -ohjelmoija keskittyy siihen, miten jonkin asian saisi ratkaistua muuttujien arvoja muuttelemalla, silmukoita kiertämällä ja funktioita kutsumalla. Prolog-ohjelmoija sen sijaan keskittyy kuvaamaan, millainen ratkaisu halutaan ja/tai miten ratkaisun ympärillä oleva maailma toimii.

    Sekä C :lla että Prologilla voi kirjoittaa ohjelman, joka osaa derivoida. Erästä olennaista etua Prologissa kuvaa mielestäni parhaiten se, että sama Prolog-ohjelma osaa myös integroida. C -ohjelmaan integroinnin lisääminen sen sijaan vaatii lisätyötä.

    Prolog on hyvä kieli tietynlaisiin ongelmiin, mutta mitään muita ongelmia sillä ei sitten pidäkään yrittääkään ratkoa. Siksi allekirjoittaneen mielestä olisikin mukavampaa nähdä nykyistä enemmän prologin toiminnallisuuden tarjoavia kirjastoja tavallisissa ohjelmointikielissä.

    "C -ohjelmoija keskittyy siihen, miten jonkin asian saisi ratkaistua muuttujien arvoja muuttelemalla, silmukoita kiertämällä ja funktioita kutsumalla."

    Käytännössä ei varmaan noin matalalla tasolla tarvitse ohjelmoida, jos olioita osaa hyödyntää. Mutta vaatii kirjastoja. Tavallisissa kielissä olen käyttänyt RegExiä. Tosin ne ei sulaudu erikoisen hyvin kieleen. Prologiin voisi sulautuakin?

    Äänestä

  • kriteeri kirjoitti:

    "C -ohjelmoija keskittyy siihen, miten jonkin asian saisi ratkaistua muuttujien arvoja muuttelemalla, silmukoita kiertämällä ja funktioita kutsumalla."

    Käytännössä ei varmaan noin matalalla tasolla tarvitse ohjelmoida, jos olioita osaa hyödyntää. Mutta vaatii kirjastoja. Tavallisissa kielissä olen käyttänyt RegExiä. Tosin ne ei sulaudu erikoisen hyvin kieleen. Prologiin voisi sulautuakin?

    Prolog voisi olla näppärä laajennus kieleen kuin kielen vähän samaan tapaan kuin SQL tms. tietokantatuki tai vaikka yhdistettynä tietokantatukeen... asiaa pitääkin tuumata.

    Äänestä

  • jytää kirjoitti:

    Prolog voisi olla näppärä laajennus kieleen kuin kielen vähän samaan tapaan kuin SQL tms. tietokantatuki tai vaikka yhdistettynä tietokantatukeen... asiaa pitääkin tuumata.

    "samaan tapaan kuin SQL tms. tietokantatuki"

    Microsoftin LINQ-projektisssa tietokantakyselyt on sisäänrakennettu itse kieleen. Säännöt ja kyselyt on tulee...

    Äänestä

  • kerros ny kirjoitti:

    "Vertaappa esim prologia ja c:tä, montakoko riviä joudut kirjoitamaan saadaksesi saman toiminnallisuuden."

    Kommentti oli

    "Ei siinä tekoäly ole viisaampaa tai tyhmempää, millä tahansa kielellä koodaat ohjelmasi :D "

    Miten vastauksesi liittyy kommenttiin? Väitätkö, että prologilla ja c:llä voi toteuttaa eri asiat? Viestistäsi päätellen et, vaan liu'uit toiselle maaperälle ja puolustelit itseäsi siellä. Tyypillinen kotikoodarin tapa.

    Siellä oli kohta "...saadaksesi saman toiminnallisuuden".

    Jonka jälkeen perustelua miksi lause:

    "Ohjelmointi on välineurheilua".

    Pitää paikaansa.

    Äänestä

  • gmo kirjoitti:

    Siellä oli kohta "...saadaksesi saman toiminnallisuuden".

    Jonka jälkeen perustelua miksi lause:

    "Ohjelmointi on välineurheilua".

    Pitää paikaansa.

    Niin missä kertomasi kommentti esitetiin?

    Äänestä

  • esitettiin missä? kirjoitti:

    Niin missä kertomasi kommentti esitetiin?

    Mutta mitä kommenttia tarkoitit ?

    "Välineurheilu" perustelu on toisessa viestissä, eihän sitä muistanut, sori.

    Ja pikku vinkki: käytä samaa nimimerkkiä että tiedän kenen kanssa puhun.

    Äänestä

Ei Lisp ole tekoälykieli.

Lispiä käytetään yhä ahkerasti, mutta se vaatii huomattavasti taitoa.

http://www.paulgraham.com/avg.html

Uusi lupaava suuntaus on ML-perheen funktionaaliset vahvasti tyypitetyt kielet. Haepa tietoa kielistä nimeltä Standard ML, OCaml, Haskell, F# tai Scala. Tosin näistä viimeinen ei ole ihan ML-joukkoon kuuluva, vaan etäisesti C-kielen tapainen ulkonäöltään. Se on kuitenkin paljon kehittyneempi kuin ns. valtavirran kielet.

Näiden kielten parissa tehdään nykyään kiinnostavinta tutkimusta. Uudet ideat mm. seuraavassa C -standardissa (joita voi sitten joskus 2010-luvulla ehkä käyttää) ovat useimmat peräisin näistä kielistä.

Voit opetella tulevaisuuden kielen jo tänään, jos valitset ML:n :-)

Äänestä
  • "Uudet ideat mm. seuraavassa C -standardissa"

    Niin mitä ne ovat?

    Äänestä

  • kysyjä_______ kirjoitti:

    "Uudet ideat mm. seuraavassa C -standardissa"

    Niin mitä ne ovat?

    Etupäässä varmaan jotain nimiavaruuksiin eli laajempiin hierarkioihin liittyvää määrittelyä. "Nimiavaruuspakkausten" vuorovaikutussääntöjä, periytymistä, interfacea, jne.

    Äänestä

vb:llä voi tehdä kaikkea, miksei tekoälyäkin?

Äänestä

Prologia taidetaan ainakin käyttää kielentutkimuksessa ja kieliteknologian sovelluksissa. Onko se nyt sitten sen kummempaa tekoälyä kuin mikään muukaan ohjelmointi...

Äänestä

Lispinsukuiset kielet ja prolog ovat erinomaisia sellaisessa "tekoälyohjelmoinnissa", joissa älyn toiminnallisuus on joko täysin tai melkein täysin kovakoodattu (molemmat kielet kyllä tukevat itsemodifioivaa koodausta, mutta sen käyttö on rajoitettua). Sen sijaan, jos sovelluksessa erotetaan "engine" ja osaaminen (tietämys) tiukasti toisitaan, eli osaaminen esitetään datana, jota voidaan oppimisprosesseilla lisätä ja muuttaa, voidaan "tietämys" esittää prolog- ja lisp-syntaksien lisäksi vaikka C :n datarakenteina, esim semanttisten verkkojen ym. muodossa.
Akateemisissa kehitysprojekteissa (joiden sorsia netistä löytyy) näytetään käytettävän pythonia ja javaa viimeksikuivailluissa, oppivissa järjestelmissä. Loppusovelluksissa, esim militarikäytössä oletan C :n olevan pääkieli.

Äänestä
  • Aika erikoinen kommentti, että "molemmat kielet kyllä tukevat itsemodifioivaa koodausta, mutta sen käyttö on rajoitettua", koska lisp on nimenomaan yksi ainoista kielistä jossa itsemodifoiva koodi on luonnollinen osa kieltä. Siis koko lisp-ohjelmahan on vain yksi monihaarainen puurakenne! Siihen vaan pistää quoten eteen, niin sen voi tallettaa muuttujaan sellaisenaan. Toki saman asian voi tehdä myös esittämällä data erikseen, mutta hieman turhaahan se on.

    Pythonia ja javaa käytetään, koska ne ovat helppoja kieliä niille opiskelijoille joilla sitä ojankaivuutyötä (koodausta) teetetään. Jos oikeasti haluttaisiin tehdä homma paremmin, kannattaisi käyttää siihen paremmin soveltuvia kieliä kuten lisp.

    Äänestä

Tekoäly on itseoppivaa, sen pitää pystyä vähintään (?) samaan kuin ihmisenkin. Siispä tekoäly opettelee ihmisten kielet, ja lukee sekä analysoi runsaasti ihmisten kirjoittamaa tietoa.
Google ja Microsoft ovatkin antaneet tekoälyjensä tehtäväksi tutkia laajasti kirjastoja ja luoda niiden pohjalta laajat tietokannat.
Tämän opiskelujakson jälkeen tekoälylle voidaan antaa tehtäviä ja kyselyitä selväkielisellä puheella tai kirjoituksella, kartuttaen samalla edelleen tietojaan.

Äänestä

Kommentoi aloitusta


missä luuraa kirjoitti:

Mitähän mahtaa kuulua Prologille ja Lispille nykyään, vieläkö niitä käytetään vai onko suuntaus muun tyyppisiin A.I. kieliin?

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