Par Repši, mākslīgajiem intelektiem, un robotiem

Runa ir par Mākslīgā intelekta fonda izsludināto “konkursu studentiem”, kas nedaudz iekrīt arī manas kompetences lauciņā.

Iniciatīva man šķiet ļoti apsveicama, jo īpaši tāpēc, ka autori, šķiet, ar mākslīgā intelekta un robotikas attīstību nesaprot spēļu mašīnītēm līdzīgu verķu taisīšanu, kā tas nereti notiek, bet gan fundamentālus pētījumus zinātnē. Vai tur kaut kas var sanākt, vai arī Latvija ir “pārāk maza” tādiem pētījumiem? Piemērs ar kvantu datoru algoritmu pētniecību pierāda, ka iespējams tas ir; tātad var teikt, ka daudz kas būs atkarīgs no konkrētajiem cilvēkiem. Runājot par cilvēkiem – konkursa komisijas sastāvs: bars no LU profesoriem un pāris RTU profesoru. Uz labu vai uz sliktu? Hmm… Toties izskatās nopietni.

Spriežot pēc formāta prasībām, gan jau, ka konkursam beigās tiks iebaroti dažādi “maģistra, bakalaura un kursa darbi”, izstrādāti dažādās universitātēs. (Lielākoties pie tiem pašiem komisijas profesoriem, protams. Interešu konflikts, kas “mazās Latvijas” dēļ ir grūti novēršams, un tomēr – interešu konflikts).

Tātad ar vienkāršu esejas uzrakstīšanu (t.i. pamuldēšanu) acīmredzot nepietiks. Nu ko, līdz ar to piedalīties nesanāks. Toties paanalizēt uzdevumus varu tepat blogā.

Konkursa jautājumi

1. Kādus uzdevumus joprojām cilvēks risina labāk nekā dators

AI-complete uzdevumus. Konkrētāk:
* dabiskās valodas analīze un sintēze; tekstu tulkošana, kā viens piemērs šim;
* reaģēšana uz negaidītām situācijām;
* humora saprašana un lietošana;
* CAPTCHA lasīšana, protams! (attēlu analīze, vispārīgāk ņemot).

Tīri praktiskāk – arī auto vadīšana. Un ne tikai “negaidītās situācijās”, bet gan vispār. No otras puses, Google Car jau ir šeit…

2. Kā dators var atjaunot programmas tekstu pēc ieejas-izejas datu piemēriem?

Laikam tā ir induktīvā inference, un šāda inference, cik zinu, ir smaga teorētiska tēma, ar ko tie paši LU profesori jau pirms gadiem divdesmit un senāk ir ņēmušies, līdz ar to no komentāriem atturēšos.

3. Kā datori un cilvēka smadzenes var izmantot nejaušības rēķināšanas paātrināšanai?

Ja skatās tīri teorētiski, visticamāk, nekā. Jo, ļoti iespējams, BPP (Bounded-error probabilistic polynomial) sarežģītības klase sakrīt ar P (Polynomial) sarežģītības klasi.

Ja praktiski, tad – tas jau ir daudz interesantāk. Tas ir, ja uzskata pseidonejaušu skaitļu ģeneratoru par pieņemamu rīku, netiecoties pēc simtprocentīgas “teorētiskas” randomness. Diezgan acīmredzams “attack point” ir randomizēt NP grūtas problēmas, cerot, ka tas ļaus vidējā gadījumā iegūt vieglāku problēmu. (Nesens piemērs – algoritms, kas izmanto nejaušu grafa virsotņu permutāciju, lai vidēji polinomiālā laikā atrastu Hamiltona ciklu grafā. Sliktākajā gadījumā, protams, polinomiāli šādi nesanāks, jo Hamiltona cikls ir pierādīti NP pilna problēma.)

Šķiet, ka varētu būt ļoti interesanta tēma arī no neirozinātnes viedokļa. Diemžēl tur neesmu kompetents.

4. Kā kvantu mehānika, molekulārbioloģija un citas dabaszinātņu nozares var palīdzēt efektīvu algoritmu veidošanā?

Ja es to zinātu… Nu labi, tīri pamuldēšanas pēc:
Viens – samazināt datoru izmēru. Skaitļošana, kas veikta molekulārā (RNS/DNS molekulas, piemēram), atomārā, vai subatomārā līmenī (kvantu mērījumi). Līdz ar to – mazāki izmēri, ātrāka darbība (jo attālumi mazāki), mazāk silst, var izgatavot lielākos apjomus (RNS/DNS skaitļošana – jau tagad, kvantu – varbūt kaut kad nākotnē).
Divi – kvantu mehānika ļauj paņemt “skaitļošanas jaudas” no “paralēlajām pasaulēm” (ja tic Many-Worlds interpretācijai), vai arī no “tā, kas nu tur ir” (ja dod priekšroku Consistent Histories vai citai mazāk ontologically committed interpretācijai). No kaut kāda “Dabas piezīmju bloknota”, vienvārdsakot. Bet šo visu jau visiem kvantu algoritmu taisītājiem vajadzētu zināt; jautājums tikai, cik bieži viņi par to aizdomājas.

5. Kā veidot iespējami pilnvērtīgu abstraktu interaktīvu vidi, kurā mākslīgas evolūcijas ceļā attīstīt digitālus subjektus ar intelekta pazīmēm?

Cerēt, ka AI emerdžos no World of Warcraft vai Second Life? Švakas izredzes, atklāti sakot.

No otras puses, čatbotiem vai tīkla ģēnijiem tāda “mākslīgā evolūcija” varētu būt noderīga.

6. Kā veidot pašorganizējošas (self assembling) digitālas struktūras, iespējams, sastāvošas no daudziem aģentiem, kuram paškonfigurēšanās, sadarbības, konkurences un citu mehānismu iedarbes rezultatā parādās lietderīga skaitļošanas spēja (emergent computing)?

Ak, senais sapnis par “Neuzvaramā” veida robotiem. Paldies Lemam par visu mūsu iepazīstināšanu ar to. Diemžēl praktiskie panākumi šāda veida struktūru konstruēšanā pagaidām ir bijuši niecīgi, tāpēc šī tēma neliekas tā perspektīvākā. Ja nu tomēr ar to nodarbotos, tad visticamāk jau – skatoties uz skudru, termītu vai bišu kolonijām kā paraugiem.

7. Kā ņemot vērā modernās neirozinātnes atziņas par CNS uzbūvi un nervu šūnu darbības principiem, būvēt uz šiem principiem bāzētus datormodeļus, kas spētu pašorganizēties, piemēroties veicamajam uzdevumam (brain plasticity), pastāvīgi apmācīties (LtP vai citi mehānismi) un izrādīt kaut vienkāršas intelekta pazīmes?

Tēma, kas liek vēlēties kaut ko vairāk zināt par neirozinātni.

Pats fakts, ka datorzinātnieki sāk runāt par šāda veida detaļām, parāda, ka populārais neironu tīklu modelis un virspusīgā izpratne par to smadzeņu darbības aprakstīšanai tomēr ir nepietiekami.

8. Olimpiādes uzdevumi un matemātiska rakstura open research problems.

d) ir gluži interesants filozofisks paradokss. Labāks tā formulējums un saites uz dažādiem saistītiem materiāliem ir pieejams Vikipēdijā (“divu aplokšņu problēma”).

e) un f) šķiet gandrīz vai galvā risināmi uzdeumi (f ir jāizmanto nedeterminētība). Protams, ka varbūt tur tomēr ir kādi āķi… g) naivais risinājums arī ir acīmredzams, kaut arī nespēju iedomāties, kā to uzlabot. Šķiet, ka der pavisam vienkāršs varbūtisks automāts.

a) nav norādīts dimensiju skaits. Vienas dimensijas gadījumā atbilde ir triviāla – visi vienā virzienā, katrs saskaitāmais dod 2, summa ir 8. Augstāka dimensiju skaita gadījumā – pirmā doma ir tāda, ka varētu būt vērts minimizēt skalāro reizinājumu pa pāriem. Neprecīzi runājot – tiekties pēc maksimālas ortogonalitātes. Kaut gan, hmm, četrdimensiju gadījumā maksimāla ortogonalitāte (ņemt vērā, ka četrdimensiju kuba garākās diagonāles garums ir 2a) atkal dod rezultātu 2 + 2 + 2 + 2 = 8, kas acīmredzot nav optimāls.

i) atgādina par tipisko diskrētās matemātikas pirmā kursa uzdevumu “pierādīt, ka jebkurā kompānijā no sešiem cilvēkiem būs vai nu vismaz trīs tādi, kas visi viens otru nepazīst, vai arī visi viens otru pazīst”. Līdz ar to, viens veids kā veikt novērtējumu būtu saskaitīt visus dažādos K_6 grafus, kas veidojas tādā K_100 grafā. Šaubos gan, ka tā var dabūt novērtējumu 9000.

Leave a comment