203-20 guruh magistranti
Abduqodir Malika
Sun’iy intellekt va neyron tarmoqlari fanidan 1-topshiriq
Asisment-1. Python yoki Matlab FLT muhitida Noravshan mantiqiy model qurish
Ishning maqsadi. Ushbu topshiriqni bajarish davomida biz tanlagan obyekt xususiyatlari asosida bilimlar bazasini qurish (oraliq qiymatlar va termlarni shakllantirish), Mamdani tipidagi produksion model ishlab chiqish va noravshan mantiq asosida qaror qabul qilish imkonini beruvchi model qurishni o’rgatadi.
Topshiriqni bajarish algoritmi:
Obyektni tanlash (Dissertatsiya mavzusi bo’yicha obyekt tanladim. Ya’ni: Bankdan kredit olish masalasi)
Obyekt xususiyatlari bo’yicha 3 ta kirish va bitta chiqish parametrlari belgilab olamiz.
Python (yoki Matlab FLT) muhitida model qurish
Model natijalarini olish va 3D grafik shakllantirish
Bajarilgan ishlar bo’yicha hisobot tayyorlash va tizimga yuklash.
Kutubxonaning “fond”i, “xizmat” ko’rsatishi va “foydalanuvchilar” soniga qarab ushbu kutubxonaning ishlash sifatini tekshirish noravshan mantiq asosida aniqlansin.
• Tegishlilik darajalari:
– “Fond” [0, 1000] oraliqda
– “Xizmat” [0, 10] oraliqda
– “Foydalanuvchi” [0, 100] oraliqda.
Ishni bajarish ketma-ketligi (Python)
1-rasm. Skfuzzy orqali birinchi kiruvchi parametrning bog’liqlik funksiya grafigi
2-rasm. Skfuzzy orqali ikkinchi kiruvchi parametrning bog’liqlik funksiya grafigi
3-rasm. Skfuzzy orqali uchinchi kiruvchi parametrning bog’liqlik funksiya grafigi
4-rasm. Skfuzzy orqali chiquvchi parametrning bog’liqlik funksiya grafigi
Barcha parametrlar va ular asosida tegishlilik funksiyalari kiritilgandan keyin, model uchun noravshan qoidalar to’plami quriladi.
qoida1 = ctrl.Rule(fond['poor'] | xizmat['poor'] | foydalanuvchi['poor'], baho['low'])
qoida2 = ctrl.Rule(fond['poor'] | xizmat['average'] | foydalanuvchi['average'], baho['low'])
qoida3 = ctrl.Rule(fond['average'] | xizmat['poor'] | foydalanuvchi['average'], baho['medium'])
qoida4 = ctrl.Rule(fond['average'] | xizmat['good'] | foydalanuvchi['poor'], baho['medium'])
qoida5 = ctrl.Rule(fond['average'] | xizmat['average'] | foydalanuvchi['good'], baho['high'])
qoida6 = ctrl.Rule(fond['good'] | xizmat['good'] | foydalanuvchi['good'], baho['high'])
Model uchun shakllantirilgan noravshan qoidalar to’plamini amalda sinab kurish uchun tegishli kiruvchi qiymatlar beramiz va natijani visual ekranga chiqaramiz.
baholash_ctrl = ctrl.ControlSystem([qoida1, qoida2, qoida3, qoida4, qoida5, qoida6])
baholash = ctrl.ControlSystemSimulation(baholash_ctrl)
baholash.input['fond'] = 800
baholash.input['xizmat'] = 7
baholash.input['foydalanuvchi'] =60
baholash.compute()
print(baholash.output['baho'])
baho.view(sim=baholash)
5-rasm. Kiruvchi qiymatlarga mos natijaning tegishli oraliqda joylashish grafigi
Xulosa
Vazifani bajarish jarayonida men kutubxonaning ishlash prinsipini misol qilib oldim. Unga 3ta kiruvchi parametr: kutubxona fondi, xizmat ko’rsatish va foydalanuvchilarni oldim, chiquvchi parametr esa baho bo’ldi. Shu parametrlarga termlar belgiladim. Natija kutubxona ishlash bahosi edi. Men Python dasturida kutubxoba ishlash prinsipi uchun uning noravshan mantiqiy modelini qurdim. Modelni qurishda kiruvchi va chiquvchi parametrlar va ularning qiymat oraliqlari va termlarini kiritdim. Mazkur kiruvchi va chiquvchi parametlardan foydalanib real qoidalar to’plamini yaratdim va Python dasturida mana shu qoidalar asosida noravshan mantiq modelini qurdim va uning son qiymatlarini kuzatdim.
Do'stlaringiz bilan baham: |