Zbekiston respublikasi raqamli texnologiyalar rivojlantirish vazirligi muhammad al-xorazmiy nomidagi
Download 1.59 Mb.
|
SUNIY INTELLEKT
- Bu sahifa navigatsiya:
- Korsatmalar toplami
Musiqa
Rassomchilik 2015 yilda Google jamoasi neyron tarmoqlarni mustaqil ravishda tasvirlarni yaratish qobiliyatini sinovdan o'tkazdi. Keyin sun'iy aql ko'p sonli turli xil rasmlar misolida o'qitildi. Biroq, mashinadan biron bir narsani tasvirlashni "so'rashganda", u atrofimizdagi dunyoni qandaydir g'alati tarzda tushuntiradi. Masalan, dumbbelllarni chizish vazifasi bo'yicha ishlab chiquvchilar metalni inson qo'li bilan bog'laydigan tasvirni oldilar. Ehtimol, bu mashg'ulot bosqichida dumbbelllar yordamida tahlil qilingan rasmlarning qo'llari va neyron tarmog'i buni noto'g'ri talqin qilganligi bilan bog'liq. 2016 yil 26-fevral kuni San-Frantsiskoda o'tkazilgan maxsus kim oshdi savdosida Google vakillari sun'iy intellekt yordamida chizilgan psixikaviy rasmlardan 98 ming dollarni xayriya ishlariga topshirdilar. Eng muvaffaqiyatli avtomobil rasmlaridan biri quyida keltirilgan. Google tomonidan sun'iy aqlni bo'yash. Ushbu maqolada men genetik algoritmdan foydalanib oddiy sun'iy intellekt (AI) etishtirish tajribasi bilan o'rtoqlashaman, shuningdek har qanday xatti-harakatni shakllantirish uchun zarur bo'lgan minimal buyruqlar to'plami haqida gapirib beraman. Ishning natijasi shundan iboratki, AI qoidalarni bilmagan holda tic-tac-toe o'yinini mustaqil ravishda o'zlashtirdi va unga qarshi o'ynagan botlarning kamchiliklarini topdi. Ammo men bundan ham sodda ishni boshladim. Ko'rsatmalar to'plami Hammasi AI bo'lishi mumkin bo'lgan buyruqlar to'plamini tayyorlash bilan boshlandi. Yuqori darajadagi tillarda yuzlab turli xil operatorlar mavjud. Kerakli minimalni ta'kidlash uchun men Assembler tiliga murojaat qilishga qaror qildim. Biroq, unda ko'plab buyruqlar mavjudligi ma'lum bo'ldi. Menga ma'lumotlarni o'qish va chiqarish, xotira bilan ishlash, hisoblar va mantiqiy operatsiyalarni bajarish, o'tish va ko'chadan bajarish uchun AI kerak edi. Men Brainfuck tiliga duch keldim, unda faqat 8 ta buyruq mavjud va har qanday hisob-kitoblarni amalga oshira oladi (ya'ni Turing to'liq). Aslida, bu genetik dasturlash uchun javob beradi, lekin men yanada oldinga bordim. Men hayron bo'ldim: har qanday algoritmni amalga oshirish uchun buyruqlarning minimal soni qancha bo'lishi kerak? Ma'lum bo'lishicha - bitta! URISC protsessorida faqat bitta buyruq mavjud: agar berilgan son kamaytirilgan bo'lsa, keyingi buyruqni olib tashlang va o'tkazib yuboring. Bu har qanday algoritmni qurish uchun etarli. Oleg Mazonka yanada olg'a bordi, BitBitJump guruhini tuzdi va Turingga ko'ra uning to'liq ekanligini isbotladi. Buyruq uchta manzilni o'z ichiga oladi, birinchisidan ikkinchi xotira manziliga bir bit nusxa ko'chiradi va boshqaruvni uchinchi manzilga o'tkazadi. Olegning g'oyalarini o'rganib, ishni soddalashtirish uchun men SumIfJump guruhini ishlab chiqdim. Buyruq to'rtta operandni o'z ichiga oladi: A, B, C, D va quyidagilarni bajaradi: hujayradan ma'lumotni A manziliga B manziliga qo'shadi, agar qiymat belgilangan * dan katta bo'lsa, u C manziliga o'tadi, aks holda u D manziliga o'tadi. Izoh * Bu holda 128 ishlatilgan - bu genom uzunligining yarmi. Operand A N0 xotira xujayrasiga kirganda, ma'lumotlar kiritiladi va N1 katakka o'tganda, u holda chiqish amalga oshiriladi. Quyida FreePascal-dagi SumIfJump kodi (Delphining bepul analogi). RunProg protsedurasi (lar: TData); var a, b, c, d: TData; begin Inc (NStep); agar NStep\u003e MaxStep, keyin ProgResult-ni boshlang: \u003d "MaxStep"; Chiqish oxiri; a: \u003d s; b: \u003d s + 1; c: \u003d s + 2; d: \u003d s + 3; a: \u003d Prog [a]; b: \u003d Prog [b]; c: \u003d Prog [c]; d: \u003d Prog [d]; agar a \u003d 0 bo'lsa, unda ProgResult boshlang: \u003d "Kirish"; Chiqish oxiri; agar a \u003d 1 bo'lsa, unda ProgResult boshlang: \u003d "Chiqish"; Chiqish oxiri; Prog [b]: \u003d Prog [b] + Prog [a]; agar Prog [b]< ProgLength div 2 then RunProg(c) else RunProg(d); end; SumIfJump o'zini o'zi o'zgartiradigan kodni amalga oshiradi. Oddiy dasturlash tilida mavjud bo'lgan har qanday algoritmlarni bajarishi mumkin. Kodni o'zgartirish oson va har qanday manipulyatsiyaga qarshi turadi. Shunday qilib, bizning AIda faqat bitta jamoa mavjud. Tic-tac-toe u uchun juda qiyin o'yin bo'lsa-da, men sodda bo'lgan bilan boshladim. Bot tasodifiy raqamni beradi va AI ma'lumotlarni o'qib, javob berishi kerak. Agar raqam o'rtacha darajadan kattaroq bo'lsa (tasodifiy sonlar oralig'idan), AI o'rtacha raqamdan kamroq raqamni berishi kerak va aksincha. Bizning AI genomimiz 0 dan 255 gacha bo'lgan qiymatlarga ega 256 hujayradan iborat. Har bir qiymat xotira, kod va manzildan iborat. Kodni bajarish bosqichlari soni 256 bilan cheklangan. Operandalar birin-ketin o'qiladi. Dastlab, genom tasodifiy sonlar to'plami bilan hosil bo'ladi, shuning uchun AI nima o'ynash kerakligini bilmaydi. Bundan tashqari, u botga javoban ma'lumotlarni ketma-ket kiritish va chiqarish kerakligini bilmaydi. Download 1.59 Mb. Do'stlaringiz bilan baham: |
Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling
ma'muriyatiga murojaat qiling