Modul 06 / 8
Domen modelləşdirmə və simulyasiyalar
Proqram təkcə form doldurub bazaya yazmaq deyil. Elmi, riyazi və interaktiv məntiqi AI-a deterministik model kimi — adlı vəziyyətlər, qanunlar, vahidlər, bilinən cavablar ilə — təsvir edirsən. Ekranda düzgün görünmək sübut deyil.
0/2
Modula başlaDərslər
Yanlış inanclar
Bunlara çox adam inanır. Hər biri oxunmuş bir qaydanın tətbiq olunmasına mane olur.
«Ekranda düzgün görünür, deməli riyaziyyat düzdür.»
Göz inandırıcı hərəkəti düzgün hərəkətdən ayırmır. Modeli bilinən cavabla müqayisə et — düsturla, saxlanma qanunu ilə.
«Təsadüfilik simulyasiyanı real edir.»
Toxumsuz (seed-siz) təsadüfilik xətanı təkrarlanmaz edir. Eyni seed eyni nəticəni verməlidir, yoxsa nə test var, nə də təkrar.
«Vəziyyət maşınları böyük layihələr üçündür.»
Üç boolean-ın olduğu yerdə artıq lazımdır: səkkiz kombinasiyanın dördü mənasızdır və onları yazıla bilməz etmək bir tip məsələsidir.
Əməliyyat kartı
Nə vaxt: Qayda və ya simulyasiya qurarkən
Model qəbul kartı
- 1Qanunu, vahidləri və işarə qaydasını koddan əvvəl yaz.
- 2Vəziyyətləri adlandır; icazəsiz keçid olmasın.
- 3Model saf funksiyadır, çəkmə ayrıdır.
- 4Zaman addımı sabitdir, dt məhdudlaşdırılıb.
- 5Təsadüfilik yalnız seed ilə.
- 6İki bilinən cavabla yoxla; dt-ni yarıya endir və yaxınlaşmanı gör.
Ən çox rast gəlinən səhv: ekranda inandırıcı görünəni sübut saymaq. Bir işarə səhvi bütün modulu ölü saxlaya bilər.
Bu modulun təhqiqatı
Audit siyahısı
Bu sahədə AI-ın yazdığı hər diff-i oxuyanda soruş.
- Status bir neçə boolean ilə yox, adlı vəziyyətlərlə təmsil olunur?
- Siyahıda olmayan keçid rədd edilirmi?
- Düstur, vahidlər və işarə qaydaları koddan əvvəl yazılıb?
- Model çəkmədən ayrıdır və saf funksiyadır?
- Zaman addımı sabitdir və kadr tezliyindən asılı deyil?
- Model ən azı iki bilinən cavabla yoxlanılırmı?
Oxu
- Making Impossible States Impossible (talk)Richard Feldman, 2016Elm dilində verilmiş, amma hər dilə aid çıxış: tipləri elə qur ki, mənasız vəziyyət yazıla bilməsin.
- TypeScript Handbook — NarrowingMicrosoftDiscriminated union-lar və vəziyyət tiplərini daraltmaq.
- Fix Your Timestep!Glenn Fiedler, 2004Sabit zaman addımı haqqında klassik məqalə: niyə dt kadr tezliyindən asılı olmamalıdır.
- Game Programming PatternsRobert Nystrom, 2014Pulsuz onlayn kitab. «Game Loop» və «State» fəsilləri simulyasiya üçün birbaşa işə yarayır.