TATU Qarshi filiali kompyuter injiniring yo’nalishi KI 14-19 (sirtqi) guruh talabasining
Esanov S.
Topshirdi:
Qabul qildi:
Parallel ishlov berish
fanidan
2 – Mustaqil ISHi
Abduvaliyev A. Mavzu: Nutq signallariga parallel ishlov berish.
Inson kompyuter texnologiyalari orasida o‘zaro muloqot qilishning turli usul va vositalari mavjud. Ular orasida nutq signallari bilan olib boriladigan muloqot shakli bugungi kunda o‘zining hususiyatlari va taqdim etadigan imkoniyatlari bilan ajralib turadi. Nutq signallariga ishlov berish tizimlarida nutq signallarini tanib olish, so‘zlovchini tanib olish, uning hissiyotlari, salomatligi bilan bog‘liq holatlarni aniqlab olish mumkin. nutq signallari bilan quyidagi yo‘nalishlarda tanib olish masalalarini hal etish mumkin:
Nutq signallarini tanib olish orqali boshqarish tizimlari, savollarga javob tizimlari, nutqni matnga o‘girish tizimlarini ishlab chiqish mumkin. Bunday tizimlarda nutq signali orqali buyruqlar berish, tanib olingan matnlar bilan tahlil ishlarini amalga oshirish mumkin. Misol uchun nutq signallari yordamida komputer texnikasini boshqarish, dasturlar va boshqariluvchi obyektlarga buyruqlar berish mumkin. Bunday tizimlarni xavfsizligini ta’minlash, nutq signallarini ijro etuvchi shaxlarga ruxsatlarni berish masalasi tanib olishdagi navbatdagi dolzarb vazifa hisoblanadi. Aynan nutq signallari yordamida inson ovozini aniqlab olish va suxandonni tanish orqali hisoblash tizimlarini biometrik xavfsizligini ta’minlash yaxshi samarali choralardan biri hisoblanadi. Nutq biometrik ma’lumot turlaridan biri bo‘lib nutq signallari yordamida identifikatsiyalash hamda verifikatsiyalash mumkin
So‘zlovchini tanib olishda asosan ikkita yo‘nalishni o‘z ichiga oladi:
So‘zlovchini identifikatsiylash (so‘zlovchini aniqlash)
So‘zlovchini verifikatsiyalash (so‘zlovchini tekshirish)
So‘zlovchini identifikatsiyalash (aniqlash) - bu noma’lum suxandonning ovozini ma’lumotlar bazasida ro‘yxatdan o‘tgan suxandonning ovozi bilan solishtirish orqali uning shaxsini topish jarayoni.
So‘zlovchini identifikatsiya qilish tizimidagi (SIT) asosiy komponentlar so‘zlovchini veritifikatsiya qilish tizimlari (SVT) bilan bir xil. SIT da N ta suxandon modellari parallel ravishda baholanadi va eng ehtimoli yuqorisi xabar qilinadi va natijada qaror ma’lumotlar bazasidagi so‘zlovchi identifikatorlaridan biri bo‘ladi yoki ma’lumotlar bazasida mavjud emasligini ko‘rsatadi. Bundan tashqari tanib olishda matnga bog‘liq (text-dependent) va matnga bog‘liq bo‘lmagan (text-independent) usullari mavjud. Bu masalaning qaysi soha uchun qo‘llanishiga qarab turib baholanadi[1-3].
OpenMP-dan foydalanishda e'tiborga olish kerak bo'lgan asosiy narsa, boshqa ish zarrachalari tomonidan ishlatiladigan o'zgaruvchilarning ustiga yozish uchun turli xil oqimlarga ega emas. Yuqoridagi misolda #pragma direktivasida e'lon qilingan o'zgaruvchilar har bir mavzu uchun shaxsiy bo'lgan o'zgaruvchilar sifatida tan olinadi. Aslida, siz kompilyator direktivasidan oldin int i ni e'lon qilishingiz mumkin va hammasi yaxshi bo'lar edi, chunki OpenMP birlamchi aylanish o'zgaruvchisi bilan to'g'ri ishlash uchun etarlicha aqlli. Agar siz quyidagi kodni yozgan bo'lsangiz, katta muammolar yuzaga keladi:
"PPL" kutubxonasining funksiyalaridan foydalanish uchun kerakli funksiyalarni chaqirishingiz kerak. Masalan, parallel sikl yoki parallel foreach funksiyalaridan foydalanish mumkin.
C++ tilida paralel dasturlar yaratish uchun sizga bir nechta usullar mavjud.
Threadlar: C++ tilida threadlar yordamida paralel dasturlar yaratish mumkin. Threadlar, bir nechta ishlarni bir vaqtda bajarish imkoniyatini beradi. std::thread kutubxonasidan foydalanib, yangi thread yaratishingiz mumkin.
Misol uchun:
#include #include // Bu funksiya yangi threadda ishga tushadi void myFunction() {
// Ishlar }
int main() {
// Yangi thread yaratish std::thread myThread(myFunction);
// Asosiy dastur davomida boshqa ishlar // Yangi threadni tugatish myThread.join();
return 0;