Tekoälyn historia

Anonyymi-ap

Ideatasolla tekoäly on hyvin vanha keksintö.

Mutta ennen kuin ideasta saatiin toimiva tekoäly, siihen menikin huomattavan paljon aikaa!

Ensimmäisenä oikeasti toimivana tekoälynä voidaan pitää ChatGPT:tä, jonka ensimmäinen versio julkaistiin marraskuussa 2022.

Tuota ennen oikeasti toimivia tekoälyjä ei oikeastaan ollut olemassa, ainoastaan teoreettinen idea siitä, että saattaisi olla mahdollista toteuttaa tekoäly.

Lainaus IS:n lukijakirjoituksesta:

URL:
https://www.is.fi/digitoday/art-2000011671778.html

lukijakommentti, aikaleima "5.12. 13:41" eli 2025-12-05 T 13:41 (FI).

Lainaus: "Johan on kommenttia
5.12. 13:41

Uskallan väittää että tällaiset viat tullaan näkemään enemmän ja enemmän tulevaisuudessa. Tämä johtuu siitä että koodarit käyttävät enemmän ja enemmän tekoälyä koodatessa ja testaessaan uusia ominaisuuksia. Tekoäly on hyvä renki ja todella petollinen isäntä. T. Tekoäly käyttäneenä jo 15 vuotta."

Tuon kirjoittaja siis valehtelee, koska oikeasti toimivaa tekoälyä ei ollut olemassa 15 vuotta sitten - siis joulukuussa 2010.

Täytyy myös muistaa, että nykyisetkään tekoälyt eivät ole täydellisiä, koska ne eivät ole luotettavia, eli saattavat antaa virheellisiä ja/tai harhaanjohtavia vastauksia.

Ohjelmoinnissa tekoälystä saattaa olla jotakin hyötyä, mutta myös haittaa.

Haitta liittyy siihen, että jos pyydät tekoälyä kirjoittamaan ohjelmakoodia, niin on syytä varautua siihen, että tekoälyn kirjoittamassa ohjelmakoodissa voi olla (ja yleensä onkin) virheitä.

Jos siis sellaisenaan copy-pastetat tekoälyn kirjoittamaa koodia omaan ohjelmaasi - niin kerjäät ongelmia. Saat aikaan bugisen ohjelman, joka ei toimi oikein.

Tekoälyä voi käyttää kirjoittamaan ns. raakakoodia, mutta ihmisohjelmoijan täytyy aina lukea tekoälyn kirjoittama koodi huolellisesti läpi, ja korjata mahdolliset virheet.
Jos näin ei toimita, niin saadaan aikaiseksi heikkolaatuista ohjelmakoodia.

Jostain syystä myös ihmisohjelmoijista hyvin suuri osa tuottaa heikkolaatuista ohjelmakoodia!

Tässä muutama esimerkki:

a) PC:lle (eli ns. x86 -koodi): Jos keskeytysaliohjelma (jollaisia on esim. tulostinajureissa) haluaa käyttää matematiikkaprosessoria (FPU) eli alkuperäinenhän oli 8087, myös 80287, 80387, 80487 kunnes Pentiumista alkaen erillistä matematiikkaprosessoria ei ole enää tarvittu, koska sen toiminnot Pentiumista alkaen on integroitu osaksi pääprosessoria (CPU), niin OIKEA TAPA tehdä tuo on näin:

1. Tallenna FPU:n datarekisterit JA tila. Tilalla tarkoitetaan esim. pyöristysmoodia, laskentatarkkuus-asetuksia (32 / 64 / 80 -bit float) sekä ns. exception mask, eli bittikartta siitä, mitkä virhe- ja poikkeustilanteet aiheuttavat keskeytyksen.

2. Aseta asetukset sellaisiksi kuin tarvitset / haluat

3. Tee liukulukulaskutoimitukset FPU:lla.

4. Palauta vaiheessa 1 talletetut asetukset kokonaisuudessaan, siis siten, että FPU on täsmälleen samassa tilassa kuin keskeytysaliohjelman alakessa.

5. Valmis. Voit nyt suorittaa IRET -käskyn, joka päättää keskeytysaliohjelman ja CPU jatkaa siitä, mihin suoritus jäi keskeytysaliohjelman suorituksen alkaessa.

Pölvästit koodarit ovat koodanneet tulostusajureita, jotka EIVÄT noudata yllä kuvattua hyvää ohjelmointitapaa.
Seurauksena se, että jokin liukulukulaskentaa tekevä ohjelma alkaa antaa virheellisiä tuloksia, jos kesken sen tekemää laskentaa (tai ainakin ko. ohjelman käynnistyksen jälkeen) tulostetaan mitään - eli tulostusajuriin liittyvä keskeytysaliohjelma virheellisesti ei palauta FPU -asetuksia alkuperäiseksi FPU:ta käytettyään, jolloin muuttuneet asetukset saavat sovellusohjelman toimimaan väärin, eli antamaan virheellisiä laskentatuloksia!

Myös toinen alalla tunnettu virhe (PALJON vanhempi tapaus) liittyy keskeytysaliohjelmiin.

MS-DOSin valtakaudella aluksi oli vain 8086 (ja myöhemmin myös 80186 ja 80286) - mutta KAIKKI nuo olivat 16 -bittisiä prosessoreja, ja niissä rekisterin dataleveys oli 16 bittiä, siis AX, BX, CX, DX, SI, DI, BP, SP.

Sitten tuli suuri mullistus: 80386 - ensimmäinen 32 -bittinen CPU, ja nyt esim. AX olikin yht'äkkiä 32 -bittisen EAX -rekisterin alaosa (16 alinta bitiä).

Ja taas joku pölvästi teki väärin toimivan keskeytysaliohjelman:

Uusi väärin toimiva keskeytysaliohjelma käytti 16 -bitin suoritustilassa (jossa siis ohjelmaosoitin on vielä IP, ei siis vielä EIP) 32 -bittisiä rekistereitä kuten EAX.
Tämähän tehdään 16 -bitin suoritustilassa siten, että esim. heksakoodin B8 (mov AX, xxxx) edellä on ns. data size override prefix, joka muuttaa käskyn merkitystä siten, että se onkin nyt "mov EAX, xxxxxxxx".

Tässä ei sinänsä ole mitään väärää, kunhan homma tehdään OIKEIN.


MUTTA: tämä pölvästi laittoi keskeytysaliohjelmansa alkuun:

PUSH AX
PUSH BX
PUSH CX
PUSH DX

ja loppuun

POP DX
POP CX
POP BX
POP AX

Oikein olisi ollut:

PUSH EAX
PUSH EBX
PUSH ECX
PUSH EDX

ja loppuun

POP EDX
POP ECX
POP EBX
POP EAX

kun kerran keskeytysaliohjelmassa käytettiin myös 32 -bittisiä rekistereitä.
Pääohjelman 32-bit rekistereiden yläosa muuttuu satunnaisesti!

4

207

    Vastaukset

    Anonyymi (Kirjaudu / Rekisteröidy)
    5000
    • Anonyymi

      Kääntäjä hoitaa nuo. Ei niihin kannata keskittyä.

    • Anonyymi00002
      UUSI

      Tekoälyn historia kuin joku tieteiskirjailija tai tv-sarja Battlestar Galactica... creative AI.

      Oikeasti olen vähän innostunut kun huomasin että heidän prosessoreissa ei ole välttämättä tehoa, niin tuli Inteliltä joku juttu.. joku uusi väylä grafiikan ja CPU:n välille..

    • Anonyymi00003
      UUSI

      ei hoida kaikkea kuin jos bittileveys loppuu kesken niin segmentti-rekisteriäkin DS voi käyttää data-rekisterinä.

      Intel tai Microsoft sanoivat voit käyttää 32-bittisessä assemblykoodissa, mutta niin, toisaalta niin kun jo tottunut noihin AMD Radeon -juttujen käyttöön, niin löytyy bittileveyttä.

    • Anonyymi00004
      UUSI

      Kuulin suurilta yhtiöiltä että jokainen on erittäin kiinnostunut AI-sovelluksista.

    Ketjusta on poistettu 0 sääntöjenvastaista viestiä.

    Luetuimmat keskustelut

    1. Ukraina, unohtui korona - Grönlanti, unohtu Ukraina

      Vinot silmät, unohtui Suomen valtiontalouden turmeleminen.
      Maailman menoa
      25
      2686
    2. Kumpi on sekaisempi - Koskenniemi vai Trump?

      Koskenniemi haukkui Trumppia A-studiossa, niin että räkä lensi suusta. Sen sijaan Trump puheessaan sanoi, että Grönlant
      Maailman menoa
      109
      2616
    3. Miten kauan sulla menisi

      Jos tulisit mun luo tänne nyt kahvinkeittoon?
      Ikävä
      204
      1404
    4. Kaivattusi silmin

      Minkälaisen kuvan olet omasta mielestäsi antanut itsestäsi kaivatullesi?
      Ikävä
      127
      1327
    5. Miksi me oikein

      Rakastuttiin?
      Ikävä
      94
      1291
    6. "Pähkähullu ruhtinas" sanoi a-studiossa maailmanpolitiikan professori...

      ...Martti Koskenniemi Trumpista ja hänen toimintatavoistaan, vertasi 1600-luvulla eläneeseen Aurinkokuninkaaseen Ludwig
      Maailman menoa
      308
      1285
    7. Riikka Purra perustelee hallituksen leikkauspolitiikkaa

      Odotukset ovat kovat, mutta puhe on poikkeuksellisen onttoa jopa hallituksen omalla mittapuulla. Vastuu työnnetään alas,
      Perussuomalaiset
      49
      1092
    8. Toivottavasti myös pysyy häkissä

      https://www.is.fi/kotimaa/art-2000011754428.html 😡😡😡 tommosia saastoja sitä näyttää Suomussalmen suunnalta sikiävän �
      Suomussalmi
      14
      1034
    9. Martina ja Matias

      Mahtaako Martina yrittää saada Matiasta uudeksi sulhaseksi, niin saisi ne prinsessa häät, mitkä jäi pitämättä, kun Aussi
      Kotimaiset julkkisjuorut
      211
      999
    10. Millaisia tunteita

      Sinulla on minua kohtaan?
      Ikävä
      65
      954
    Aihe