Јединица 4 / 11

Симболичко израчунавање: Контролисање вештачке интелигенције помоћу СимПи-а

Добици:

  • Способност препознавања основних могућности СимПи-ја (поједностављење, факторизација, решавање једначина, извод, интеграл, граница) и коришћење је за валидацију АИ излаза
  • Способност добијања детерминистичких и прецизних резултата штампањем СимПи кода на вештачку интелигенцију и покретањем самог кода; Схватите да то што је излаз кода предвиђен од стране вештачке интелигенције није верификација
  • Када се резултат вештачке интелигенције не поклапа са СимПи излазом, могућност коришћења СимПи-а као основе за лоцирање грешке и ручно додавање суптилности као што су домени.

Најпрактичнији и најмоћнији алат овог модула је у овој јединици: симболичко рачунање и његова Питхон библиотека СимПи. Симболички рачун је извођење тачне математике не са бројевима већ са симболима (променљиве попут к, и, итд.): узимање интеграла са његовом тачном формулом, решавање једначине словима, поједностављивање израза. СимПи је отворена, бесплатна и детерминистичка Питхон библиотека која то ради — што значи да увек даје исти тачан резултат истом улазу. То га чини идеалним за валидацију АИ излаза: АИ даје брзину и увид, СимПи даје прецизност.

Централна идеја ове јединице је следећа: нека АИ изврши математику, али нека СимПи потврди резултат. Још боље: нека АИ напише СимПи код, ви покренете код и добијете коначни резултат. Дакле, елиминишете ризик од халуцинација АИ са детерминизмом СимПи-ја.

Још једна дефиниција: ЦАС (Цомпутер Алгебра Систем) је општи назив који се даје софтверу који изводи симболичку математику; СимПи је ЦАС. Комерцијални примери су Матхематица и Мапле, али СимПи је бесплатан и доступан јер ради у Питхон-у.

Основне могућности СимПи-ја

СимПи тачно ради следеће:

  • Поједностављење: поједноставити(израз) своди израз на његов најједноставнији облик.
  • Факторинг / проширење: фактор() и прошири().
  • Решавање једначине: реши(једначина, к) даје тачне корене једначине.
  • Извод: дифф(екпр, к).
  • Интеграл: интегрирај(израз, к) (неодређен) или интегрирај(израз, (к, а, б)) (одређен).
  • Лимит: лимит (израз, к, тачка).
  • Серија је скраћеница за: серија(израз, к, 0, н).
  • Матричне операције, системи једначина, диференцијалне једначине и друго.

Корак по корак: АИ + СимПи радни ток валидације

1. Нека АИ реши проблем. Добијте решење корак по корак и коначни резултат.

2. Нека АИ напише СимПи код за исти проблем. Реците „Напишите код који потврђује овај резултат помоћу СимПи-а.“

3. Покрените код сами. Не дозволите да вештачка интелигенција „предвиди” излаз кода – то би била халуцинација. Покрените код у правом Питхон окружењу.

4. Упоредите два резултата. Ако су резултат који је ручно пронашао АИ и СимПи излаз исти, поверење се повећава; ако је другачије, грешка је у АИ (верујте СимПи).

5. Ако постоји разлика, пронађите грешку. Реците АИ: "СимПи је ово дао, ваш резултат је другачији; пронађите своју грешку."

Пажња: Ако узмете код од АИ и питате "шта овај код производи?" Питати АИ“ НИЈЕ верификација — јер АИ такође може да направи излаз кода. Обавезно покрените код у правом Питхон окружењу (локална инсталација, Јупитер или онлајн Питхон руннер). Моћ СимПи-а се открива када се покрене.

АИ ручно решење итд. СимПи — поређење

карактеристика

АИ ручно решење

СимПи

брзина

веома брзо

брзо

прецизност

Нема гаранције (халуцинације)

Детерминисан, сигуран

Објасните кораке

добро

Слабо (оријентисано на резултате)

Интуиција/стратегија

добро

Ниједан

Подобност за верификацију

бр

Да

Најбоља комбинација: АИ за објашњење и стратегију, СимПи за прецизност.

три мини кофера

Случај 1 — Неподударање интеграла. Студент је питао АИ ∫ к/(к²+1) дк. ИЗ је дао (1/2)·лн(к²+1) + Ц. Ученик је покренуо интеграте(к/(к**2+1), к); СимПи је вратио лог(к**2 + 1)/2. Били су исти — потпуно поверење. Затим је изведена контрола такође урађена са дифф; Вратио се на к/(к²+1). Трострука потврда, 3 минута.

Случај 2 — Грешка у поједностављивању. Наставник је имао АИ да поједностави израз (к²−1)/(к−1); ИЗ је рекао к+1 (тачно, али је изоставио услов к=1). СимПи симплифи((к**2-1)/(к-1)) је такође дао к+1, али је наставник ручно додао ограничење домена (недефинисано на к=1). Поука: Чак ни СимПи понекад не наглашава финоћу домена; човек додаје математички контекст.

Случај 3 — Систем једначина. Инжењер је дао АИ да реши систем линеарних једначина са 3 непознате и направио грешку у једној променљивој. СимПи са решењем([једначине], [к, и, з]) је дао тачно решење; З вредност АИ је била погрешна. Инжењер је узео СимПи резултат и натерао АИ да пронађе грешку: грешку у знаку. Решено је за 4 минута.

Четири шаблона за копирање

1) Захтевање СимПи верификационог кода од ИЗ:

Решили сте следећи проблем: [проблем], ваш резултат је [резултат]. Сада напишите извршни код СимПи који ПРОВЕРИ овај резултат. Нека код дефинише симболе, израчунајте резултат и одштампајте га. Не погађајте излаз кода; Ја ћу га покренути.

2) Решење од нуле са СимПи:

Напишите Питхон код који решава следећи проблем са СимПи: [проблем]. Додајте неопходне увозе, дефиниције симбола и отиске. Напишите шта код производи; Само ми дај код и ја ћу га покренути. Додајте кратак коментар у сваки ред кода.

3) Поправи АИ са СимПи излазом:

Рекли сте [резултат], али је СимПи дао ово: [СимПи излаз]. То двоје су различити. Пошто је СимПи детерминистички, прихватите га као исправан. Сазнај КОЈИ си корак направио грешку у свом решењу и покажи то.

4) Дериватни/интегрални код за унакрсну проверу:

Узели сте следећи интеграл: ∫ [ф(к)] дк = [Ф(к)]. Да бисте ово проверили, напишите код у СимПи-у који узима ДЕРИВАТ од Ф(к) и проверава да ли је једнак ф(к) (логиком поједностављења(дифф(Ф)-ф) == 0). Само дај код.

Слаби промпт / Јаки промпт

Слабо: „Шта је ∫ син²(к) дк? Такође проверите са СимПи и напишите излаз.“
Резултат: АИ одговара и одговору и „СимПи излазу“; Оба изгледају доследно, али ниједно није потврђено. Лажно самопоуздање.
Снажно: "Напишите извршни СимПи код за ∫ син²(к) дк (увоз, симбол, интегришите, штампајте). Не пишете излаз — ја ћу га покренути и видети. Такође додајте линију која проверава да бисте разликовали резултат и вратите га у син²(к)."
Резултат: Покрећете код и видите тачан излаз СимПи; верификација постаје стварна.

Уобичајене грешке

  • Имајући АИ да предвиди излаз кода. Ово није валидација; АИ такође може да одговара излазу. Покрени код.
  • Прихватање СимПи резултата без читања. СимПи-јев излазни формат је понекад необичан (нпр. лог = природни логаритам); Знајте како да тумачите.
  • Заборављање домена. СимПи поједностављење не наглашава увек ограничења као што је к=1; човек додаје контекст.
  • Нетачна дефиниција симбола. Ако је к = симболс('к') заборављен, код неће радити; претпоставке (позитивне, реалне) утичу на резултат (симболи('к', позитивно=Тачно)).
  • Недостатак увоза. Уобичајена је грешка да се заборави увоз из симпи импорт * или неопходних функција.
Савет: Да бисте проверили тачност једнакости у СимПи-у, израз симплифи(лефт_сиде - ригхт_сиде) == 0 је веома користан: два израза су идентична ако се разлика поједностављује на нулу. Ово је најчистији начин да се потврди идентитет или поједностављење које производи АИ.

СимПи-јеве претпоставке: исти израз, другачији резултат

Суптилна, али важна карактеристика СимПи-ја је његов систем претпоставки. Када дефинишете симбол, можете му дати својства: симболс('к', поситиве=Труе) означава да је к позитивно, реал=Труе означава да је реално. Ове претпоставке могу променити исход. На пример, израз √(к²) остаје скрт(к**2) ако нема претпоставки о к (јер СимПи узима у обзир да к може бити негативан и зна да мора бити |к|); Али ако је к дефинисано као позитивно, резултат је директно к. Ово није грешка, већ математичка строгост: √(к²) = |к|, а не к = к.

АИ често изоставља или погрешно претпоставља ове претпоставке када генерише СимПи код. Као резултат тога, код који АИ производи можда неће учинити поједностављење које „очекујете“ — а то заправо значи да се СимПи понаша прецизније. Дакле, када вам се чини да поједностављење „не функционише“, прво размотрите стварне математичке услове проблема (да ли је к позитиван? да ли је стварно? да ли је различит од нуле?) и додајте те претпоставке у код. Исправне претпоставке не само да осигуравају да СимПи враћа тачан резултат, већ вас такође приморава да размислите о домену проблема — што је део математичке тачности.

Опрез: СимПи-јев неуспех да „упрости“ израз често није недостатак, већ ствар математичке строгости: пошто неопходне претпоставке (позитивност, реализам) нису дате, СимПи има најопштији, најсигурнији резултат. Ако не видите поједностављење које очекујете, прво прегледајте претпоставке симбола.

Укратко

СимПи је идеалан детерминистички алат за валидацију математичког резултата АИ. Најмоћнији ток посла: стратегија и опис за АИ, прецизност за СимПи. Питајте АИ за СимПи код, али будите сигурни да сами покрените излаз – натерајте АИ да претпостави да излаз кода није валидација. Ако се резултати не поклапају, верујте СимПи-у и пустите АИ да пронађе грешку. Унакрсна провера идентитета са симплифи(разлика) == 0 и интеграла са дифф.

Задатак апликације

Изаберите интеграл, решење једначине и поједностављење израза (три засебна задатка). За сваки од њих, нека АИ ручно напише решење, а затим СимПи код. Покрените кодове у правом Питхон окружењу (локална инсталација или онлајн тркач). Упоредите СимПи излазе са ручним резултатима АИ. Покушајте да пронађете бар једно неслагање; Ако га нађете, нека АИ пронађе своју грешку. Обратите пажњу на процес.

контролна листа

  • [ ] Добио сам и АИ решење и СимПи код за сваки проблем.
  • [ ] Покренуо сам СимПи код у правом Питхон окружењу.
  • [ ] Упоредио сам ИЗ ручни резултат са СимПи излазом.
  • [ ] Унакрсно сам проверио дериват/интегрални инверз са СимПи.
  • [ ] Ручно сам додао домен и претпоставке (позитивне/стварне).
  • [ ] У спору сам се ослонио на СимПи и натерао АИ да пронађе своју грешку.