Kitengo 2 / 11

Hesabu na Mbinu za Nambari na Python

Faida:

  • Uwezo wa kutegemea matokeo ya kuamua, sio kubahatisha kwa maneno, kwa kuifanya AI itafsiri hesabu ya mwili kuwa nambari ya NumPy/SciPy na kuendesha nambari yenyewe.
  • Uwezo wa kuthibitisha kuegemea kwa nambari ya nambari kwa kuijaribu kwa hali rahisi ambayo jibu lake linajulikana na kuangalia muunganisho wake.
  • Uwezo wa kutoa kitengo na kiwango cha matokeo kwa kuonyesha vitengo tofauti kwenye nambari

Matatizo mengi katika fizikia hayawezi kutatuliwa kwa mkono: muhimu haina ufumbuzi wa uchambuzi, mzizi wa mfumo wa equations hauwezi kupatikana kwa fomu iliyofungwa, au hesabu lazima irudiwe mara elfu. Hapa ndipo mbinu za nambari zinapotumika: badala ya fomula halisi, kompyuta hukokotoa hatua kwa hatua kwa usahihi wa kukadiria lakini unaodhibitiwa. Katika kitengo hiki, utajifunza jinsi ya kutumia akili bandia (AI) kama mshirika wa msimbo kwa hesabu za fizikia za hesabu, jinsi ya kuthibitisha msimbo unaotoa, na mitego gani unapaswa kuepuka kuanguka ndani yake. Zana za kawaida za mwanafizikia hapa zitakuwa lugha ya Python na NumPy (maktaba ya safu za nambari na hisabati ya haraka) na SciPy (maktaba ya kompyuta ya kisayansi; inajumuisha ujumuishaji, upataji mkali, uboreshaji).

Kwa nini AI + Python, kwa nini si kwa mkono?

Kufanya hesabu za nambari kwa mkono ni polepole na kunakabiliwa na makosa. AI inaweza kutafsiri muundo wako wa mwili kuwa nambari ya Python inayoendesha kwa sekunde chache. Lakini kanuni ya dhahabu hapa ni: AI inaandika msimbo, unaendesha msimbo na kuthibitisha matokeo na fizikia. Kusema kwa AI "nambari hii inatoa hiyo" ni utabiri; Kwa kweli kuendesha nambari na kuona matokeo ni ukweli wa kuamua. LLM inaweza "kuhesabu" matokeo ya nambari aliyoandika kichwani mwake na kusema nambari isiyo sahihi; ambapo nambari hiyo hiyo inapoendeshwa inatoa matokeo sahihi. Kwa hivyo usiamini kamwe matokeo ya nambari ambayo AI hutoa kwa maneno - endesha nambari.

Kazi za msingi za hesabu na jukumu la AI

Jitihada

Mbinu/chombo

uthibitisho wa kimwili

uhakika muhimu

scipy.integrate.quad

Majimbo ya kikomo, uchambuzi wa dimensional

mzizi wa equation

scipy.optimize.brentq

Weka mzizi mahali na uangalie ikiwa ni sifuri.

Mfumo wa milinganyo ya mstari

numpy.linalg.solve

Kurudisha suluhisho kwenye mfumo

Nyingine (nambari)

Tofauti ya kati au numpy.gradient

Kulinganisha na derivation ya uchambuzi

Hesabu ya vekta kwa wingi

NumPy safu

Kitengo na udhibiti wa cheo

AI ni nzuri sana kupendekeza ni zana gani kati ya hizi zinafaa na kupata syntax (sheria za uandishi wa msimbo) sahihi. Lakini unaamua ni njia gani inafanya akili ya kimwili na usahihi wa matokeo.

Hatua kwa hatua: hesabu ya nambari inayoweza kuthibitishwa

1. Fafanua tatizo na vitengo. Kwa mfano: "Hesabu muhimu e^(−x²) kutoka 0 hadi infinity; matokeo yanapaswa kuwa √π/2 ≈ 0.8862." Kuandika upya matokeo yanayotarajiwa (ikiwa yapo) hurahisisha uthibitishaji.

2. Uliza AI kwa msimbo, lakini unaendesha matokeo. Nakili kizuizi cha msimbo na uikimbie katika mazingira yako mwenyewe (Jupyter, Colab, Python asili).

3. Mtihani na hali inayojulikana. Jaribu nambari na hali rahisi ambayo tayari unajua jibu. Kwa mfano, jaribu msimbo muhimu kwa mfano unaoujua kwa mkono, kama vile ∫₀¹ x dx = 0.5. Ikiwa nambari itatoa hii kwa usahihi, ujasiri wako huongezeka.

4. Angalia muunganiko. Kwa njia za nambari, unapoongeza idadi ya hatua, matokeo yanapaswa kufikia thamani ya mara kwa mara. Ikiwa haifikii, njia hiyo haifai.

5. Angalia kitengo na cheo. Daima toa matokeo ya nambari na kitengo cha kimwili na utaratibu.

Kidokezo: Unapoomba nambari ya kuthibitisha kutoka kwa AI, sema "pia jumuisha mstari wa majaribio unaolinganisha matokeo na thamani ya uchanganuzi inayojulikana." Kwa hivyo, msimbo wote hufanya hesabu na hujaribu yenyewe katika hali inayojulikana. Hii inafanya makosa kuonekana mara moja.

kesi tatu ndogo

Kesi ya 1 - Hitimisho la mdomo lisilo sahihi. Mwanafunzi alikuwa na AI kuandika msimbo muhimu na AI alisema "nambari hii inatoa takriban 1.77." Mwanafunzi aliendesha nambari: matokeo halisi yalikuwa 0.886. AI ilifanya makosa katika kutabiri matokeo ya nambari; Kanuni ilikuwa sahihi. Somo: amini msimbo, usiamini ubashiri wa maneno.

Kesi ya 2 - kutokuwa na utulivu wa nambari. Mtafiti alitafuta mzizi wa equation na msimbo wa kupata mzizi ambao AI iliandika. Nambari hiyo ilirudisha mzizi, lakini mtafiti aliporudisha mzizi kwenye equation, matokeo hayakuwa sifuri bali idadi kubwa sana. Shida ilikuwa kwamba safu ya kuanzia haikuwa na mzizi; AI ilichukua safu inayofaa. Mtafiti alirekebisha muda kwa maelezo ya kimwili na akapata mzizi sahihi.

Kesi ya 3 - Uthibitisho umepata. Mhandisi alitaka msimbo ambao ulikokotoa mchepuko wa boriti chini ya mzigo. Nambari ilifanya kazi, lakini matokeo yalionyesha mita za kupotoka-haiwezekani kwa boriti ya chuma. Mhandisi alichunguza vitengo: AI ilijifanya kuwa na moduli ya elastic katika Pa badala ya GPa, ikikosa sababu ya 10⁹. Kwa urekebishaji wa kitengo, matokeo yalipungua hadi milimita na yalikuwa ya busara.

Violezo vinne vinavyoweza kunakiliwa

1) Hesabu ya nambari na mstari wa uthibitishaji:

Andika msimbo wa Python (NumPy/SciPy) ambao hufanya hesabu ya kimwili ifuatayo: [tatizo]. Tangaza vigeu vyote katika vitengo vya SI na kubainisha kitengo kwa mstari wa maoni. Ongeza mstari wa kuangalia (dai au uchapishe) mwishoni mwa msimbo unaolinganisha matokeo na thamani inayojulikana ya uchanganuzi/rahisi. Nitaendesha nambari; hautabiri matokeo, andika tu nambari na kiwango kinachotarajiwa.

2) Mashauriano ya uteuzi wa njia:

Ninataka kutatua tatizo lifuatalo kwa nambari: [tatizo].Ni kazi gani ya SciPy/NumPy inafaa na KWA NINI? Pendekeza njia 2 mbadala, andika faida/hasara za kila moja kwa kuzingatia usahihi na uthabiti. Eleza ni ipi inapaswa kupendelewa katika hali gani ya kimwili.

3) Angalia muunganisho:

Andika msimbo wa Python unaoonyesha jinsi matokeo yanavyoungana kwa kuongeza idadi ya hatua za hesabu ifuatayo ya nambari (k.m. N=10, 100, 1000). Chapisha matokeo kwenye jedwali. Ikiwa hakuna muunganiko, eleza sababu ya kimwili/kiidadi ya hili katika sentensi moja. Kanuni: [hapa]

4) Udhibiti wa kitengo:

Katika msimbo ulio hapa chini, toa maoni kuhusu kitengo cha SI cha kila kigezo na uangalie ikiwa kitengo cha matokeo ya mwisho kinalingana na kitengo kinachotarajiwa (k.m. mita, joule). Ikiwa kuna utofauti, onyesha ni mstari upi. Msimbo: [hapa]

Mwongozo dhaifu / Mwongozo thabiti

Dhaifu: "Sema matokeo ya muunganisho huu: ∫₀^∞ x²·e^(−x) dx"
Matokeo: AI inatema nambari katika kichwa chake (labda ni sawa, labda sio sahihi); hakuna kinachoweza kutekelezwa, hakuna kinachoweza kuthibitishwa.
Nguvu: "Andika msimbo wa Python unaokokotoa ∫₀^∞ x²·e^(−x) dx ∫₀^∞ x²·e^(−x) dx kwa kutumia scipy.integrate.quad. Ongeza mstari wa kudai unaolinganisha matokeo na thamani ya uchanganuzi ya kiungo hiki, 2! = 2. Nitaendesha msimbo."
Matokeo: Nambari inayoweza kutekelezeka, uthibitisho uliojengewa ndani (kulinganisha na thamani ya uchanganuzi) na matokeo ya kuaminika.

Makosa ya kawaida

  • Kutegemea matokeo ya nambari ya maneno ya AI. LLM inaweza kutabiri kimakosa matokeo ya msimbo kichwani. Tekeleza msimbo kila wakati.
  • Sio kupima na hali inayojulikana. Msimbo ambao haujaribu kwa mfano rahisi ambao unajua jibu unaweza kuwa na makosa yaliyofichwa.
  • Si kuangalia kwa muunganisho. Kushikamana na hesabu ya hatua moja huficha ikiwa matokeo ni ya kuaminika kwa nambari.
  • Haionyeshi vitengo kwenye msimbo. Kutotoa maoni kwenye kitengo cha vigeu hualika hitilafu 10ⁿ kimya.
  • Kupuuza toleo la maktaba/mawazo. Wakati mwingine AI inaweza kutoa jina la utendaji lisilopo au syntax ya kizamani; Inaonekana unapoiendesha.
Tahadhari: Kabla ya kuweka matokeo ya nambari katika chapisho, kazi au muundo, jaribu nambari ya kuthibitisha ukitumia kipochi huru kinachojulikana na utoe matokeo katika vipimo/agizo. Hata msimbo wa kufanya kazi unaweza kuwa unahesabu fizikia isiyo sahihi; Kwa sababu tu nambari inafanya kazi haimaanishi kuwa fizikia ni sawa.

Kwa muhtasari

AI ni mshirika mwenye nguvu katika kutafsiri mahesabu ya kimwili kwenye msimbo wa Python; Lakini nambari anazotoa kwa maneno ni makadirio, sio ukweli. Mtiririko salama wa kazi uko wazi: fafanua shida na vitengo vyake, ruhusu AI iandike msimbo lakini unaendesha matokeo, jaribu nambari na hali inayojulikana, angalia muunganisho na kitengo. Kinachoamua ni kanuni ambayo inatekelezwa; Sio LLM. Katika kitengo kinachofuata tutahamisha msingi huu wa nambari kwa uigaji wa mifumo ya kimwili inayotofautiana wakati.

Jukumu la maombi

Chagua calculus ya fizikia ambayo unajua suluhu ya uchanganuzi (kwa mfano, kasi ya kitu kinachoanguka bila malipo kwa kipindi cha muda au kiungo rahisi dhahiri). Acha AI aandike msimbo wa Python na kiolezo 1; endesha msimbo mwenyewe. Linganisha matokeo na thamani ya uchanganuzi unayojua. Kisha angalia jinsi matokeo yanavyofanya kwa kubadilisha idadi ya hatua au parameta. Kumbuka katika sentensi 5-6: je, matokeo ya msimbo yalilingana na utabiri wa maneno, je, kulikuwa na suala la kitengo/agizo?

orodha ya ukaguzi

  • [ ] Nilifafanua tatizo na kitengo cha vigezo vyote.
  • [ ] Niliendesha nambari iliyoandikwa na AI mwenyewe, sikuamini matokeo ya maneno.
  • [ ] Nilijaribu msimbo kwa hali rahisi ambayo nilijua jibu lake.
  • [ ] Niliangalia muunganiko au unyeti wa kigezo.
  • [ ] Nilitoa kitengo na mpangilio wa matokeo.
  • [ ] Nimethibitisha kuwa utendakazi wa maktaba ninaotumia ni halisi na umesasishwa.