Faida:
- Uwezo wa kutofautisha kati ya hesabu ya ishara na nambari na kuchagua zana sahihi (SymPy au NumPy/SciPy) kwa kila shida.
- Uwezo wa kusoma na kuelewa msimbo wa nambari unaozalishwa na akili ya bandia, iendeshe mwenyewe, na uithibitishe kwa kufanya jaribio la akili ya kawaida na ingizo linalojulikana.
- Elewa vikomo vya usahihi wa nambari ya sehemu zinazoelea, tumia uvumilivu badala ya usawa kamili, na udhibiti athari za kubahatisha kwa awali kwenye mbinu za nambari.
Hesabu ya ishara inatoa fomula halisi ya muunganisho au mlingano; Lakini shida nyingi za vitendo katika hisabati haziwezi kutatuliwa kwa fomula iliyofungwa. Hapa ndipo hesabu ya nambari inapotumika: kutoa takriban tokeo la nambari kwa usahihi unaohitajika, badala ya fomula kamili. Kupata thamani ya muunganisho kwa usahihi wa 0.001, kukokotoa mzizi wa mlinganyo hadi ukadiriaji wa desimali, kutoa takwimu kutoka kwa seti ya data - haya yote ni hesabu za nambari. Katika Python, zana za hii ni maktaba za NumPy (safu za nambari na hisabati) na SciPy (kompyuta ya kisayansi). Katika kitengo hiki, utajifunza kutumia AI kama msaidizi ambaye hutoa nambari ya Python kwa hesabu ya nambari na kuangalia usahihi wa nambari.
Ufafanuzi muhimu: nambari ya sehemu inayoelea ni muundo ambao kompyuta huhifadhi nambari za desimali kwa usahihi mdogo. Ndiyo sababu katika hesabu ya kompyuta, 0.1 + 0.2 inaweza kugeuka kuwa 0.30000000000000000, sio 0.3 hasa. Hili sio kosa, ni asili ya hesabu ya nambari - lakini itasababisha matokeo yasiyo sahihi ikiwa hujui. Katika hesabu ya nambari, mtu hufanya kazi na "karibu vya kutosha" badala ya "usawa halisi".
Ya ishara au nambari? Kuchagua chombo sahihi
Hali
Alama (SymPy)
Nambari (NumPy/SciPy)
Kuna fomula iliyofungwa
inayopendelewa
sio lazima
Hakuna fomula/changamano mno
haiwezi kutatua
inayopendelewa
Usahihi kamili unahitajika
Ndiyo
Takriban.
Data kubwa / usindikaji mbalimbali
polepole
haraka sana
Matokeo na decimal ni ya kutosha
-
yanafaa
Mtaalamu mzuri hutumia zote mbili: suluhisha kiishara ikiwezekana, nenda kwa nambari ikiwa sivyo, na unganisha moja na nyingine inapowezekana.
Hatua kwa hatua: Salama hesabu ya nambari na AI
1. Tambua tatizo na unyeti. "Maeneo ngapi ya desimali?" na "katika safu gani?" Fafanua maswali yako.
2. Andika msimbo kwa AI, sio pato. Kumbuka kutoka kwa kitengo cha 4: Usifanye pato la msimbo wa AI. Unaendesha msimbo.
3. Soma na uelewe kanuni. Kuelewa kanuni zinazozalishwa mstari kwa mstari. Maktaba ya kulia, kazi sahihi, vigezo sahihi? Usikimbilie msimbo ambao hauelewi.
4. Mtihani na hali inayojulikana. Jaribu msimbo wenye ingizo rahisi ambalo tayari unajua jibu lake. Kwa mfano, sin(0)=0, kama thamani ya kiunganishi kinachojulikana. Ikiwa nambari itaitoa kwa usahihi, utaiamini zaidi.
5. Angalia kwa njia ya mfano au kwa mikono. Ikiwezekana, thibitisha matokeo sawa na SymPy au mbinu ya mwongozo.
6. Jihadharini na mitego ya kuelea. Badala ya usawa mkali na ==, tumia uvumilivu kama vile abs(a - b) <1e-9.
Kidokezo: Jaribu msimbo wa nambari kila wakati "na jibu unalojua". Ikiwa uliandika kitafuta mizizi, kwanza kitumie kwa mlinganyo wenye mzizi unaojulikana (x=±2), kama vile x²−4=0. Nambari ikipata hii kuwa sawa, kuna uwezekano mkubwa wa kuaminika kwenye milinganyo usiyoijua. Huu "kukagua utimamu" ndio uthibitishaji wa bei rahisi zaidi.
Shimo la calculus ya nambari: muunganiko na mkusanyiko wa makosa.
Njia nyingi za nambari hufanya kazi mara kwa mara: kuanzia nadhani ya awali na polepole kukaribia jibu halisi. Mchakato huu wa kukaribia unaitwa muunganiko. Lakini sio kila njia ya kurudia inaungana kila wakati; baadhi hutofautiana (sogea mbali na matokeo) au kuungana kwa thamani isiyo sahihi. Iwapo msimbo unaozalishwa na AI hauangalii kama njia hiyo inaunganika, inaweza kukupa nambari isiyo sahihi kimyakimya. Kwa hivyo kwa sababu tu matokeo ya nambari "iliyotoa nambari" haifanyi kuwa kweli; Inahitajika pia kudhibitisha kuwa nambari hiyo inabadilika kuwa suluhisho linalotafutwa.
Ujanja wa pili ni mkusanyiko wa makosa. Katika mlolongo mrefu wa mahesabu, makosa madogo ya kuzungusha sehemu ya kuelea katika kila hatua yanaweza kujilimbikiza na kuwa makubwa; Hasa unapochukua tofauti ya namba mbili za karibu sana (hii inaitwa kufuta janga), tarakimu muhimu za matokeo zinaweza kupotea. Akili ya bandia haitabiri kila wakati shida kama hizo za utulivu wa nambari. Katika hesabu muhimu, kuhesabu upya na kulinganisha matokeo kwa njia tofauti au kwa usahihi wa juu huonyesha mkusanyiko wa makosa yaliyofichwa.
Tahadhari: "Kutoa matokeo" na "kubadilishana kwa matokeo sahihi" ya njia ya nambari ni vitu viwili tofauti. Hakikisha msimbo unajumuisha ukaguzi wa muunganisho (kwa mfano, kwamba tofauti kati ya hatua mbili zinazofuatana inakuwa ndogo ya kutosha); Ikiwa haina, weka akili ya bandia uongeze udhibiti huu.
kesi tatu ndogo
Kesi 1 - Uteuzi usio sahihi wa kitendakazi. Mwanafunzi aliuliza AI msimbo ili kupata mzizi wa chaguo la kukokotoa. AI ilitumia scipy.optimize.fsolve, lakini ikachagua ubashiri mbaya wa awali na kuunganishwa kwenye mzizi usiofaa. Mwanafunzi kwanza alichunguza chaguo la kukokotoa kwa kuichora (angalia kitengo cha taswira), alitoa kisio sahihi cha awali, na akapata mzizi halisi. Somo: wapataji wa mizizi ya nambari ni nyeti kwa mahali pa kuanzia.
Kesi ya 2 - Mtego wa kuelea. Mhandisi aliendesha nambari ya AI iliyoandika ikiwa 0.1 + 0.2 == 0.3: na akagundua kuwa hali hiyo haikuwa kweli. AI ilikuwa imepuuza usahihi wa sehemu ya kuelea. Nambari ya kuthibitisha ilirekebishwa kwa kutumia abs((0.1+0.2) - 0.3) <1e-9. 1e-9 inamaanisha "kumi hadi tisa", uvumilivu mdogo sana.
Kesi ya 3 - Jaribio la akili ya kawaida lilishika mdudu. Mwalimu alipokea msimbo kutoka scipy.integrate.quad ambao hukokotoa kiunganishi mahususi. Kwanza aliijaribu kwa kiungo muhimu kinachojulikana kama vile ∫₀¹ x dx = 0.5; kanuni ilitoa 0.5. Kisha akahesabu kiunga halisi na akathibitisha matokeo na SymPy. Aliamini wakati njia mbili za kujitegemea zilitoa matokeo sawa. Jumla ya muda: dakika 6.
Violezo vinne vinavyoweza kunakiliwa
1) Kuomba nambari ya nambari ya akaunti:
Andika msimbo wa Python ambao unasuluhisha tatizo lifuatalo KITABU: [tatizo]. Tumia NumPy/SciPy. Unyeti: [k.m. 6 desimali]. nitaendesha kanuni; kutabiri matokeo. Eleza kwa ufupi katika mstari wa maoni ni kitendakazi ulichochagua na kwa nini.
2) Kuongeza mtihani wa akili ya kawaida:
Ongeza ukaguzi wa akili ya kawaida kwenye msimbo huu ili kujaribu USAHIHI wake kabla ya kuiendesha: ijaribu kwa ingizo rahisi ambapo jibu tayari linajulikana (k.m. mzizi ±2 kwa x²-4=0) na hakikisha kwamba inatoa matokeo yanayotarajiwa.Msimbo: [hapa]
3) Alama mtambuka ya nambari-nambari:
Andika msimbo unaosuluhisha muunganisho/mlinganyo ufuatao kwa ZOTE SymPy (ishara) NA SciPy (nambari): [tatizo]. Chapisha matokeo mawili ili niweze kulinganisha. Ongeza mstari unaoangalia tofauti na abs().
4) Usalama wa uhakika wa kuelea:
Kagua ulinganisho wa nambari za nukta zinazoelea katika msimbo huu. Iwapo kuna usawa mkali wa '==', badilisha na ustahimilivu unaofaa (abs(a-b) <1e-9) na ueleze ni kwa nini. Kanuni: [hapa]
Mwongozo dhaifu / Mwongozo thabiti
Dhaifu: "Tafuta mzizi wa mlingano huu: x³ − 2x − 5 = 0. Andika jibu."
Matokeo: AI inalingana na nambari ya desimali (k.m. "2.0946..."). Inaweza kuwa kweli au isiwe kweli; Haijathibitishwa kwa sababu haijaendeshwa.
Nguvu: "Andika msimbo unaopata mzizi halisi wa equation x³ − 2x − 5 = 0 na SciPy. Kwa nadhani ya awali, kwanza bainisha muda ambapo kipengele cha kukokotoa kinabadilika. Ongeza mstari unaochukua nafasi ya mzizi na uhakikishe kuwa matokeo ni ~0. Nitaona matokeo."
Matokeo: Nambari inayoweza kutekelezeka, ubashiri sahihi wa awali, heshi zilizojumuishwa. Uhalali wa mzizi umethibitishwa.
Makosa ya kawaida
- Kuamini matokeo bila kuendesha msimbo. Matokeo ya nambari ambayo AI "inatabiri" sio uthibitisho.
- Inajaribu usawa wa sehemu inayoelea na `==`. Ni karibu kila mara makosa; Tumia uvumilivu.
- Utabiri mbaya wa awali. Njia za nambari za mizizi/uboreshaji ni nyeti kwa mahali pa kuanzia; Inaweza kuungana kwa mzizi usiofaa.
- Si kuonyesha unyeti. "Hatua ngapi?" Ikiwa hautaulizwa, matokeo hayawezi kuendana na hitaji.
- Sio kuchukua mtihani wa akili ya kawaida. Kuweka msimbo kwa tatizo halisi bila kuipima kwa ingizo linalojulikana ni hatari.
- Kuendesha nambari bila kuielewa. Msimbo usioelewa unaweza kuwa unatumia kazi isiyo sahihi; kuelewa kila mstari.
Tahadhari: Matokeo ya nambari huwa ni makadirio kila wakati. Badala ya kusema "matokeo ndio haya kabisa", sema "hii ndiyo hasa". Katika ripoti ya uhandisi au ya kisayansi, kutaja mbinu na usahihi uliotumika ni sehemu ya usahihi. Inapotosha kuwasilisha takriban tokeo kama dhahiri.
Kwa muhtasari
Hesabu ya nambari inatoa matokeo ya takriban lakini ya vitendo kwa shida ambazo haziwezi kutatuliwa kwa fomula iliyofungwa; Katika Python, zana zake ni NumPy na SciPy. AI hutengeneza msimbo wa maktaba hizi haraka, lakini lazima uendeshe msimbo, uisome na uielewe, na uijaribu kwa pembejeo inayojulikana. Kuwa mwangalifu na usahihi wa sehemu inayoelea: tumia uvumilivu badala ya usawa kamili. Angalia mbinu za kiishara na nambari ikiwezekana. Majaribio ya akili ya kawaida na uingizwaji ndio uthibitishaji wa bei rahisi na mzuri zaidi.
Jukumu la maombi
Chagua tatizo ambalo ni gumu kusuluhisha kwa kutumia fomula iliyofungwa (k.m., mzizi x³ − 2x − 5 = 0, au thamani mahususi ya kiunganishi kisicho cha msingi). Acha AI ichapishe msimbo wa nambari na, ikiwezekana, msimbo wa tiki-nambari wa alama na violezo 1 na 3. Tekeleza msimbo katika mazingira halisi ya Chatu. Kwanza fanya mtihani wa akili ya kawaida na ingizo linalojulikana, kisha utatue tatizo halisi. Hakikisha kutumia uvumilivu ikiwa kuna ulinganisho wa hatua ya kuelea. Kumbuka matokeo pamoja na unyeti wake.
orodha ya ukaguzi
- [ ] Nilitambua tatizo na unyeti unaohitajika.
- [ ] Nilisoma na kuelewa msimbo uliotolewa na AI kwa mstari.
- [ ] Niliendesha nambari katika mazingira halisi ya Python.
- [ ] Nilifanya jaribio la akili ya kawaida na ingizo linalojulikana.
- [ ] Nimeongeza ukaguzi wa kiishara/mwongozo ikiwezekana.
- [ ] Nilitumia uvumilivu katika ulinganisho wa pointi zinazoelea.