Qazanclar:
- Simvolik və ədədi hesablamaları ayırd etmək və hər bir problem üçün düzgün aləti (SymPy və ya NumPy/SciPy) seçmək bacarığı
- Süni intellektin yaratdığı rəqəmsal kodu oxumaq və anlamaq, onu özünüz idarə etmək və məlum girişlə sağlam düşüncə testi həyata keçirərək onu yoxlamaq bacarığı.
- Üzən nöqtəli ədədlərin dəqiqliyinin hüdudlarını anlayın, dəqiq bərabərlik əvəzinə dözümlülükdən istifadə edin və ilkin təxminlərin ədədi üsullara təsirini idarə edin.
Simvolik hesablama inteqralın və ya tənliyin dəqiq düsturunu verir; Amma riyaziyyatda praktiki məsələlərin əksəriyyətini qapalı düsturla həll etmək olmaz. Ədədi hesablamanın işə girdiyi yer budur: dəqiq düsturdan çox, istədiyiniz dəqiqliklə təxmini ədədi nəticə çıxarmaq. 0,001 dəqiqliyə qədər inteqralın qiymətini tapmaq, tənliyin kökünü onluq yaxınlaşmaya hesablamaq, məlumat dəstindən statistika çıxarmaq — bunların hamısı ədədi hesablamalardır. Python-da bunun üçün alətlər NumPy (rəqəmli massivlər və riyaziyyat) və SciPy (elmi hesablama) kitabxanalarıdır. Bu bölmədə siz AI-dən ədədi hesablama üçün Python kodu yaradan köməkçi kimi istifadə etməyi və kodun düzgünlüyünü yoxlamağı öyrənəcəksiniz.
Kritik tərif: üzən nöqtəli nömrə kompüterin məhdud dəqiqliklə onluq ədədləri saxladığı formatdır. Buna görə də kompüter arifmetikasında 0,1 + 0,2 tam olaraq 0,3 deyil, 0,30000000000000004 ola bilər. Bu, səhv deyil, bu, ədədi hesablamanın xarakteridir – lakin siz bundan xəbərdar olmasanız, səhv nəticələrə gətirib çıxaracaq. Rəqəmsal hesablamada “dəqiq bərabərlik” əvəzinə “kifayət qədər yaxın” ilə işləyir.
Simvolik yoxsa ədədi? Düzgün alət seçmək
Vəziyyət
Simvolik (SymPy)
Rəqəm (NumPy/SciPy)
Qapalı formul var
üstünlük verilir
lazım deyil
Formula yoxdur/çox mürəkkəb
həll edə bilməz
üstünlük verilir
Tam dəqiqlik tələb olunur
Bəli
təqribən.
Böyük məlumat / çox emal
yavaş
çox sürətli
Onluq ilə nəticə kifayətdir
—
uyğun
Yaxşı təcrübəçi hər ikisindən istifadə edir: mümkünsə simvolik həll edin, mümkün deyilsə, rəqəmə keçin və mümkün olduqda birini digəri ilə çarpaz yoxlayın.
Addım-addım: Süni intellekt ilə rəqəmsal hesablamaları təmin edin
1. Problemi və həssaslığı müəyyən edin. "Neçə onluq yer?" və "hansı diapazonda?" Suallarınızı aydınlaşdırın.
2. Çıxış deyil, AI-yə kodu yazın. 4-cü bölmədən xatırlayın: AI proqnozlaşdıran kod çıxışını etməyin. Kodu işlədin.
3. Kodu oxuyun və anlayın. Yaradılan kodu sətir-sətir anlayın. Doğru kitabxana, düzgün funksiya, düzgün parametrlər? Başa düşmədiyiniz kodu işlətməyin.
4. Məlum vəziyyətlə sınaqdan keçirin. Cavabını artıq bildiyiniz sadə girişlə kodu sınayın. Məsələn, sin(0)=0, məlum inteqralın qiyməti kimi. Kod onu düzgün verirsə, ona daha çox güvənəcəksiniz.
5. Simvolik və ya əl ilə çarpaz yoxlama. Mümkünsə, eyni nəticəni SymPy və ya əllə yanaşma ilə təsdiqləyin.
6. Üzən nöqtəli tələlərdən çəkinin. == ilə ciddi bərabərlik əvəzinə abs(a - b) < 1e-9 kimi dözümlülüklərdən istifadə edin.
İpucu: Həmişə "bildiyiniz cavabla" rəqəmsal kodu sınayın. Kök tapıcı yazmısınızsa, əvvəlcə onu x²−4=0 kimi məlum köklü (x=±2) tənliyə tətbiq edin. Kod bunu düzgün tapsa, bilmədiyiniz tənliklərdə etibarlı olma ehtimalı artır. Bu "ağıllılıq yoxlaması" ən ucuz yoxlamadır.
Rəqəmsal hesablamanın tələsi: yaxınlaşma və səhvlərin yığılması.
Əksər ədədi üsullar iterativ şəkildə işləyir: ilkin təxmindən başlayaraq və tədricən faktiki cavaba yaxınlaşır. Bu yaxınlaşma prosesi konvergensiya adlanır. Lakin hər iterativ metod həmişə birləşmir; bəziləri ayrılır (nəticədən uzaqlaşır) və ya yanlış dəyərə yaxınlaşır. Süni intellekt tərəfindən yaradılan kod metodun birləşib-birləşmədiyini yoxlamazsa, səssizcə sizə səhv nömrə verə bilər. Deməli, sadəcə ədədi nəticənin “bir nömrə çıxarması” onu doğru etmir; Bu rəqəmin həqiqətən axtarılan həllə yaxınlaşdığını da təsdiqləmək lazımdır.
İkinci incəlik səhvlərin yığılmasıdır. Uzun hesablamalar zəncirində hər addımda kiçik üzən nöqtə yuvarlaqlaşdırma xətaları toplana və böyüyə bilər; Xüsusilə iki çox yaxın böyük rəqəmin fərqini götürsəniz (buna fəlakətli ləğv deyilir), nəticənin əhəmiyyətli rəqəmləri itirilə bilər. Süni intellekt həmişə belə ədədi sabitlik problemlərini proqnozlaşdırmır. Kritik hesablamalarda, nəticənin başqa üsulla və ya daha yüksək dəqiqliklə yenidən hesablanması və müqayisəsi gizli səhvlərin yığılmasını aşkar edir.
Diqqət: ədədi metodun "nəticə verməsi" və "düzgün nəticəyə yaxınlaşması" iki fərqli şeydir. Kodda konvergensiya yoxlaması daxil olduğundan əmin olun (məsələn, iki ardıcıl addım arasındakı fərq kifayət qədər kiçik olur); Əgər onu ehtiva etmirsə, süni intellektə bu nəzarəti əlavə edin.
üç mini qutu
Hal 1 — Yanlış funksiya seçimi. Bir tələbə süni intellektdən funksiyanın kökünü tapmaq üçün kod istədi. Süni intellekt scipy.optimize.fsolve istifadə etdi, lakin pis ilkin təxmin seçdi və yanlış kökə yaxınlaşdı. Şagird əvvəlcə funksiyanın qrafikini çəkərək yoxladı (vizuallaşdırma vahidinə bax), düzgün ilkin təxmin verdi və əsl kökü tapdı. Dərs: ədədi kök tapıcılar başlanğıc nöqtəsinə həssasdırlar.
Məsələn 2 - Üzən nöqtə tələsi. Mühəndis 0.1 + 0.2 == 0.3: olduqda yazan AI kodunu işlətdi və şərtin heç vaxt doğru olmadığını başa düşdü. Süni intellekt üzən nöqtə dəqiqliyinə məhəl qoymadı. Kod abs((0.1+0.2) - 0.3) < 1e-9 ilə düzəldildi. 1e-9 "ondan mənfi doqquza", çox kiçik bir tolerantlıq deməkdir.
Case 3 - Sağlam düşüncə sınağı səhvi tutdu. Müəllim scipy.integrate.quad saytından müəyyən inteqralı ədədi olaraq hesablayan kod aldı. O, əvvəlcə onu ∫₀¹ x dx = 0,5 kimi məlum inteqralla sınaqdan keçirdi; kod 0.5 verdi. Sonra o, faktiki inteqralı hesabladı və nəticəni SymPy ilə təsdiqlədi. İki müstəqil metod eyni nəticəni verəndə o, etibar edirdi. Ümumi vaxt: 6 dəqiqə.
Dörd kopyalana bilən şablon
1) Rəqəmsal hesab kodunun tələb edilməsi:
Aşağıdakı problemi SAYI həll edən Python kodunu yazın: [problem]. NumPy/SciPy istifadə edin. Həssaslıq: [məs. 6 onluq]. kodu işlədəcəm; çıxışın proqnozlaşdırılması. Hansı funksiyanı və niyə seçdiyinizi şərh sətirində qısaca izah edin.
2) Sağlam düşüncə testinin əlavə edilməsi:
Bu kodu işə salmazdan əvvəl onun DÜZGÜlüyünü yoxlamaq üçün ona sağlam düşüncə yoxlanışı əlavə edin: cavabın artıq məlum olduğu sadə girişlə cəhd edin (məsələn, x²-4=0 üçün kök ±2) və onun gözlənilən nəticəni verdiyini yoxlayın.Kod: [burada]
3) Simvolik-rəqəmli çarpaz yoxlama:
Aşağıdakı inteqral/tənliyi HƏM SymPy (simvolik) HƏM SciPy (rəqəm) ilə həll edən kodu yazın: [problem]. İki nəticəni çap edin ki, onları müqayisə edə bilim. abs() ilə fərqləri yoxlayan sətir əlavə edin.
4) Üzən nöqtə təhlükəsizliyi:
Bu kodda üzən nöqtə sayı müqayisələrini nəzərdən keçirin. Əgər ciddi '==' bərabərlikləri varsa, onları müvafiq tolerantlıqla əvəz edin (abs(a-b) < 1e-9) və bunun səbəbini izah edin. Kod: [burada]
Zəif məlumat / Güclü göstəriş
Zəif: "Bu tənliyin kökünü tapın: x³ − 2x − 5 = 0. Cavabını yazın."
Nəticə: AI onluq ədədə uyğun gəlir (məsələn, "2.0946..."). Bu doğru ola bilər, olmaya da bilər; İstifadə edilmədiyi üçün təsdiqlənməyib.
Güclü: "SciPy ilə x³ − 2x − 5 = 0 tənliyinin həqiqi kökünü tapan kod yazın. İlkin təxmin üçün əvvəlcə funksiyanın işarəsini dəyişdiyi intervalı göstərin. Kökü əvəz edən sətir əlavə edin və nəticənin ~0 olduğunu yoxlayın. Mən çıxışı görəcəyəm."
Nəticə: İcra edilə bilən kod, dəqiq ilkin təxminlər, daxili hashlər. Kökün etibarlılığı sübut edilmişdir.
Ümumi səhvlər
- Kodu işlətmədən nəticəyə etibar etmək. AI-nin "proqnozlaşdırdığı" rəqəmsal nəticə doğrulama deyil.
- `==` ilə üzən nöqtə bərabərliyi sınaqdan keçirilir. Demək olar ki, həmişə səhvdir; Tolerantlıqdan istifadə edin.
- Pis ilkin proqnoz. Rəqəmsal kök/optimallaşdırma üsulları başlanğıc nöqtəsinə həssasdır; Yanlış kökə yaxınlaşa bilər.
- Həssaslığı ifadə etməmək. "Neçə addımdır?" Əgər soruşulmazsa, nəticə ehtiyaca uyğun gəlməyə bilər.
- Sağlam düşüncə testindən keçməyin. Məlum bir girişlə sınaqdan keçirmədən real problemə kodun tətbiqi risklidir.
- Kodu başa düşmədən işlətmək. Başa düşmədiyiniz kod səhv funksiyadan istifadə edə bilər; hər sətri başa düş.
Diqqət: Rəqəmsal nəticələr həmişə təxminidir. “Nəticə məhz belədir” demək əvəzinə, “məhz belədir” deyin. Mühəndislik və ya elmi hesabatda istifadə olunan metodu və dəqiqliyi qeyd etmək dəqiqliyin bir hissəsidir. Təxmini nəticəni qəti olaraq təqdim etmək yanlışdır.
Xülasə
Ədədi hesablama qapalı düsturla həll edilə bilməyən məsələlər üçün təxmini, lakin praktiki nəticələr verir; Python-da onun alətləri NumPy və SciPy-dir. Süni intellekt tez bir zamanda bu kitabxanalar üçün kod yaradır, lakin siz kodu işlətməli, onu oxuyub başa düşməli və məlum girişlə sınaqdan keçirməlisiniz. Üzən nöqtə dəqiqliyi ilə diqqətli olun: dəqiq bərabərlikdən çox tolerantlıqdan istifadə edin. Mümkünsə simvolik və rəqəmsal metodları çarpaz yoxlayın. Sağlam düşüncə testi və əvəzetmə ən ucuz və effektiv yoxlamalardır.
Tətbiq tapşırığı
Qapalı düsturla həlli çətin olan problemi seçin (məsələn, x³ − 2x − 5 = 0 kökü və ya qeyri-elementar inteqralın müəyyən qiyməti). Süni intellektə həm rəqəmsal kodu, həm də mümkünsə, 1 və 3 şablonları ilə simvolik-rəqəm çarpaz yoxlama kodunu çap etdirin. Kodu real Python mühitində işlədin. Əvvəlcə məlum bir girişlə sağlam düşüncə testi edin, sonra faktiki problemi həll edin. Üzən nöqtə müqayisəsi varsa, tolerantlıqlardan istifadə etdiyinizə əmin olun. Nəticəni həssaslığı ilə birlikdə qeyd edin.
yoxlama siyahısı
- [ ] Problemi və tələb olunan həssaslığı müəyyən etdim.
- [ ] AI tərəfindən yaradılan kodu sətir-sətir oxudum və başa düşdüm.
- [ ] Mən kodu real Python mühitində işlədim.
- [ ] Mən məlum girişlə sağlam düşüncə testi etdim.
- [ ] Mümkünsə simvolik/əllə çarpaz yoxlama əlavə etmişəm.
- [ ] Mən üzən nöqtəli müqayisələrdə tolerantlıqdan istifadə etdim.