Biroz vaqt oldin men va mening yaxshi do'stim o'rtasida quyidagi iboralar eshitilgan suhbat bo'lib o'tdi:
β Dasturchilar soni doimiy ravishda o'sib boradi - chunki kodlar miqdori o'sib bormoqda va tobora ko'proq ishlab chiquvchilar uni qo'llab-quvvatlashlari kerak.
β Lekin kod eskirgan, baΚΌzilari endi qoΚ»llab-quvvatlanmaydi. Hatto qandaydir muvozanat mavjud bo'lishi ham mumkin.
Bir necha kundan keyin ularni eslab, vaqt o'tishi bilan ko'proq va ko'proq resurslarni talab qiladigan kodni saqlab qolish, oxir-oqibatda yangi funksiyalarning rivojlanishini falaj qilishi mumkinmi yoki dasturchilar sonini cheksiz ko'paytirishni talab qiladimi, deb o'yladim. Matematik tahlil va differentsial tenglamalar qo'llab-quvvatlash miqdorining rivojlanishga bog'liqligini sifat jihatidan baholashga va savollarga javob topishga yordam berdi.
Birinchi savol. Barcha rivojlanish resurslarini "eyish" ni qo'llab-quvvatlay oladimi?
Ishtirokchilar soni doimiy bo'lgan dasturchilar jamoasini ko'rib chiqaylik. Ularning ish vaqtining ulushi () yangi kodni ishlab chiqishga sarflanadi, qolgan vaqt esa qo'llab-quvvatlashga boradi. Modelning taxminlari doirasida biz faoliyatning birinchi turi kod hajmini oshirishga qaratilgan, ikkinchisi esa uni o'zgartirishga qaratilgan (xatolarni tuzatish) va kod hajmiga sezilarli ta'sir ko'rsatmaydi deb taxmin qilamiz.
belgilaylik o'sha vaqtgacha yozilgan kodning butun miqdori . Kod yozish tezligini proportsional deb hisoblasak , biz olamiz:
Kodni saqlash uchun mehnat xarajatlari uning hajmiga mutanosib deb taxmin qilish tabiiydir:
yoki
Manzil
Osonlik bilan integrallash mumkin bo'lgan differentsial tenglamani olamiz. Agar dastlabki vaqtda kod miqdori nolga teng bo'lsa, u holda
da xususiyati va . Va bu vaqt o'tishi bilan yangi funksionallikni rivojlantirishni nolga tushirish va barcha resurslarni qo'llab-quvvatlashga o'tkazishni anglatadi.
Biroq, agar vaqt davomida kod eskiradi va qo'llab-quvvatlashni to'xtatadi, keyin bir vaqtning o'zida qo'llab-quvvatlashni talab qiladigan kod miqdori allaqachon teng Keyin
Π° kechiktirilgan argumentli differensial tenglamaning yechimi [1]:
Bunday tenglamaning yechimi qiymatlarni ko'rsatish orqali yagona aniqlanadi "vaqt boshlanishidan oldin" . Kod hali dastlabki daqiqadan oldin yozilmaganligi sababli, bizning holatlarimizda da .
Keling, bir nechta misollarni ko'rib chiqaylik. Biz vaqtni yillar bilan, kod miqdorini esa minglab satrlarda o'lchaymiz. Keyin uchun o'nlab tartib qiymatlari maqbuldir, biz 50 va 100 ni olamiz. Ya'ni, bir yil ichida ishlab chiqish guruhi mos ravishda ellik va yuz ming qator kod yozadi. Uchun qabul qilinadigan qiymatlar bo'lishi mumkin: , , . Bu shuni anglatadiki, ishlab chiqish guruhi chorak, yarim yoki to'liq vaqtda bo'ladimi, bir yilda yozadigan kod miqdorini qo'llab-quvvatlashi mumkin. Kodning o'rtacha ishlash muddati sifatida biz quyidagi qiymatlarni o'rnatamiz: 1, 2 va 4 yil. Tenglamani sonli yechish orqali biz funksiyaning harakatiga misollar olamiz ba'zi parametr birikmalari uchun .
Funktsiyaning xatti-harakati kod eskirgan sari u o'zgardi. Funktsiya endi monoton emas, lekin vaqt o'tishi bilan tebranishlar "tinchlanadi" va bunday tendentsiya mavjud. qandaydir doimiy qiymatga. Grafiklar ko'rsatadi: ko'proq , ΠΈ , ya'ni kodning yoshi qanchalik sekin bo'lsa, yangi kod qanchalik tez ishlab chiqilsa va kod sifati qanchalik past bo'lsa, yangi funksiyalarni ishlab chiqish uchun shunchalik kamroq resurslar qoladi. Hech bo'lmaganda bitta misol keltirish istagi bor edi nolga yaqin bo'lgan "o'ralgan". Ammo bu juda yomon rivojlanish sifat ko'rsatkichlarini va uzoq vaqt davomida qarimaydigan kodni tanlashni talab qildi. Hatto pastki chap grafikda ham yangi funksionallik uchun katta miqdordagi resurslar qolmoqda. Shuning uchun birinchi savolga to'g'ri javob ko'proq shunday: nazariy jihatdan - ha, mumkin; amalda - deyarli.
Javob topib bo'lmaydigan savollar:
- Shu rostmi da qandaydir chegaraga intiladi hamma uchun ? Hamma uchun bo'lmasa, qaysi biri uchun?
- Agar chegara mavjud bo'lsa, uning qiymati qanday bog'liq ?
Ikkinchi savol. Kodni saqlash dasturchilar sonining cheksiz o'sishiga olib kelishi mumkinmi?
belgilaylik yangi kodni ishlab chiqishda ishtirok etgan dasturchilar soni. Yuqoridagi kabi, β vaqt oralig'ida yozilgan kod miqdori . Keyin
Kod yordamini band qilib qo'ying dasturchilar. Qarish kodini hisobga olgan holda,
Manzil
agar so'ng
Shunday qilib, ikkinchi savolga javob salbiy: agar yangi kodni ishlab chiquvchilar soni cheklangan bo'lsa, kodning qarishi sharoitida qo'llab-quvvatlash dasturchilar sonining cheksiz ko'payishiga olib kelishi mumkin emas.
xulosa
Ko'rib chiqilgan modellar "yumshoq" matematik modellardir [2]. Ular juda oddiy. Shunga qaramay, simulyatsiya natijalarining parametr qiymatlariga bog'liqligi haqiqiy tizimlar uchun kutilgan narsaga mos keladi, bu modellarning muvofiqligi va yuqori sifatli baholarni olish uchun etarli aniqlik foydasiga gapiradi.
Adabiyotlar ro'yxati
1. Elsgolts L.E., Norkin S.B. Og'ish argumentli differensial tenglamalar nazariyasiga kirish. Moskva. "Science" nashriyoti. 1971 yil.
2. Arnold V.I. "Qattiq" va "yumshoq" matematik modellar. Moskva. MCNMO nashriyoti. 2004 yil.
Manba: www.habr.com