КОМПЮТЪРНИТЕ ЕВРИСТИКИ И ВЪЗМОЖНОСТИТЕ ИМ ЗА ИЗПОЛЗВАНЕ В ОЛИМПИАДНАТА МАТЕМАТИКА
Резюме. Изучаването на евристични похвати е ключово звено при формиране на умения за решаване на математически задачи. Една от основните цели на съвременната методика на обучение по математика е да се създаде професионална нагласа и практически умения за моделиране и решаване на проблемни ситуации със средствата на математиката и информатиката. Безспорно едно от най-важните приложения на съвременните технологии и софтуер е в обучението по математика чрез по-добра алгоритмизация на различни типове евристични задачи (в това число и олимпиадни) на базата на конкретни програмно базирани компютърни евристики.
Ключови думи: Olympiad, problem, problem solving, heuristics, computer.
През последните десетина години компютърнитетехнологии се развиха неимоверно. Това протече главно в две направления: от една страна цените на компютърните технологии значително намаляха, а от друга съществено се увеличи мощността на хардуера. В резултат повечето студенти и ученици в Европа и света или самостоятелно, или чрез своите университети и училища, имат достъп до специализирани средства за високоскоростни изчисления. Това даде възможност на преподавателите и учителите да въвеждат нови методи за обучение на техните студенти и ученици. Тези възможности в частност са особено атрактивни в областта на математиката.
Съществуват много начини, с които изчислителната мощ може да бъде използвана за подобряване на обучението и изучаването на математика и информатика. Съществуват три основни аспекта на приложението на компютрите в математиката: визуализация, изчисление и програмиране. Върху първите два е писано много. Например във връзка с първия аспект много математически понятия стават далеч по-достъпни и разбираеми, когато се изобразяват графично. Графичните способности на компютрите позволяват различни визуализации да се представят много лесно на студентите и учениците. Нещо повече, за студентите и учениците е въпрос на престиж сами да създават свои собствени визуализации. Програми за динамичен софтуер като Geonext и GeoGebra разширяват многократно възможностите за прилагане на евристични методики на базата на онагледяване и интерактивно взаимодействие. Така например в (Тонов \(\&\) Тонова, 2008) на базата на класическата задача за Аполониевата окръжност е разработен компютърен модел за решаване на следната задача: Да се построи окръжност с радиус \(R\), която се допира до дадена окръжност \(k c\) радиус \(r\) и до права \(\ell\), която е на разстояние \(d\) от центъра на \(k\). Основен момент в реализирания модел е компютърната евристика на пълното изчерпване на съществуващите 31 възможности, които се установяват в хода на решението.
Софтуер като Geonext и GeoGebra дава възможност гъвкаво и лесно да се изграждат конструкции от точки, вектори, сегменти, прави, конични сечения и функции. Всички те могат да бъдат динамично променяни, като различни нови елементи могат да бъдат вкарвани директно върху екрана или чрез команден ред. Могат да се дефинират неизвестни от числа, вектори или точки и да се намират производни и интеграли от функции. От своя страна учителите могат да използват Geonext и GeoGebra, за да издигат различни хипотези, да проверяват твърдения или да доказват теореми от алгебрата или геометрията. Например в (Lazarov, 2011) са показани възможностите на динамичния софтуер при конструкцията на допирателна крива към дадена система от криви в равнината, която може да се изменя динамично. Разгледани са две класически задачи – за пръскалката и водното колело, като тези задачи са илюстрирани динамично. Според нас, основното, което трябва да подчертаем като изводи е, че системите за динамичен софтуер са мощно евристично средство за откриване на хипотези (Lazarov, 2011). В потвърждение на горното са и изследванията на В. Ненков (Гроздев & Ненков, 2012), където с възможностите на интерактивния и динамичен софтуер The Geometer’s Sketchpad \((G S P)\) се формулират нови хипотези и се доказват твърдения, свързани с конични сечения и по-точно, свързани с откриване на зависимости, породени от вписани многоъгълници в конични сечения.
В заключение на горното можем да кажем, че използването на информационните технологии в учебния процес позволява провеждане на самостоятелна работа без непосредствено участие на учителя (Пеева, 2007). Самата визуализация на учебния материал дава възможност за:
– развитие на по-високо равнище на познавателна самостоятелност;
– разграничаване на съществените от несъществените връзки в процеса на обучението по математика;
– затвърждаване на теоретичните знания;
– затвърждаване на придобитите знания и умения чрез решаване на разнообразни задачи;
– извършване на сравнителен анализ между изучаваните математически понятия.
Понеже съвременните технологични решения и иновации имат две ясно обособени функции – алгоритмизация и визуализация, то компютърните евристики имат пряко отношение към тях. Тук под “евристика” ще използваме дефиницията в (Скафа & Милушев, 2009) и ще разбираме “процеса на търсене на нов продукт на дейността, като целта на самата евристика е да се изследват методите, прийомите и правилата, които се използват за осъществяване на откриване и търсене на решение на задача” (Скафа \(\&\) Милушев, стр. 59), а под “компютърни евристики” ще разбираме “всички методи, средства, похвати и корелации чрез конкретни алгоритмични структури на базата на определени софтуерни и хардуерни решения” (Желев, 2012, стр. 78). Една от най-задълбочените класификации на евристиките, както и тяхното приложение за решаване на олимпиадни задасчи, е направена в (Grozdev, 2007).
Изчислителният аспект на използването на различни компютърни системи с математическо приложение като Mathematica, Maple, Matlab, които са добили голяма популярност заедно с някои техни аналози с отворен код като Octave и Scilab, е добре известен. Този софтуер предлага възможности да се избягват дългите ръчни пресмятания. Очевидно е, че учащите се понякога губят смисъла на основната идея, когато тя се съпровожда с извършване на дълги и трудни изчисления. Получаването на верен резултат с много математически преобразувания може да стане самоцел на обучаемия, вместо самото разбиране на математическите принципи. Ефективното използване на дадена технология ще позволи да се съкратят във времето дългите сметки, за да може потребителят да се концентрира върху разбирането на концепциите. Тук може би трябва да отбележим все по-нарастващото потребление специално на Maple в обучението на студенти. Вероятно най-значим принос досега в това обучение имат последните публикации и учебници на проф. дмн Гр. Станилов и доц. д-р Сл. Славова (Stanilov & Slavova, 2008). Техни са уникални в момента за българското образование учебни помагала, в които се разкриват възможностите на Maple в алгебрата, аналитичната геометрия и математическия анализ – матрично смятане, детерминанти, прави, криви от втора степен, числени методи и др. Възможностите на Maple в тези области са почти неограничени, но тук трябва да отбележим, че той има вграден език от високо ниво, чрез който могат да се алгоритмизират решения на различни по трудност задачи. По-долу може да се види кодът при решението на две лесни алгоритмични задачи чрез Maple v.9.
Сега ще видим как могат да бъдат решавани и по-трудни задачи (последните две задачи, които ще решим тук са от силни олимпийски турнири по математика), като се използват възможностите на обектноориентирани езици от високо ниво, каквито са например C и C++.
Задача 1. Дадена е следната пирамида от числа:
Кое число стои на 25 ред в най-десния стълб на пирамидата?
Решение: Решението на тази лесна алгоритмична задача от математическа гледна точка е повече или по-малко ясно. Редицата от най-десния стълб на пирамидата изглежда така: \(1,2,4,7,11,16, \ldots\). Заради самия начин на образуване на тази числова редица, не е трудно да се пресметне, че на 25-и ред ще се появи числото 301.
Простият код на C по-долу решава същата задача:
#include <stdio.h>
main()
{
int a, b, c;
a = 7;
b = 3;
for (c = 0; c < 21; ++c) {
++b;
a = a + b;
}
printf(“%d”, a);
}
Един от най-новите турнири по математика, който се проведе за първи път през декември 2010 г., е Националният турнир на младите математици. Този турнир е проект, който се осъществява от преподаватели във Факултета по математика и информатика на СУ “Св. Кл. Охридски” и е частично финансиран от Фонд “Научни изследвания” на СУ. Неговата цел е организиране на математически турнир, който няма аналог в досегашната практика на математическите състезания в България. Турнирът се състои от два етапа – предварителен и същински. Предварителният етап на турнира е задочен. Той стартира с обявяването на състезателните теми. В продължение на около месец отборите, които имат желание да участват, работят върху поставените теми. Получените на този етап решения се оформят като предварителен материал и се изпращат на електронния адрес на турнира mladi@fmi. uni-sofia.bg. Тези материали могат да съдържат решения и само на част от задачите на някои или по всички теми. Те се рецензират и оценяват от жури, определено от организационния комитет. Въз основа на получените оценки по решение на организационния комитет отборите получават покана за участие във втория кръг на турнира. Тези оценки формират и т. нар. стартов рейтинг на отбора. В следващия месец работата по зададените теми може да продължи.
Темите от своя страна съдържат различен брой полуевристични и евристични задачи, като някои от тях представляват истинско интелектуално предизвикателство и не биха могли да бъдат решени, ако ученикът не е натрупал сериозен запас от знания и няма формирани в достатъчна степен умения да използва евристики. Друга част от задачите са от изследователски тип и изискват умения, присъщи на професионалния математик. По-долу ще разгледаме две от тези задачи, като ще се опитаме да видим как компютърните евристики биха помогнали при решаването на тези здачи.
Задача 2. Докажете, че числото 144 притежава следното интересно свойство: всяко число от вида \(144 k\) за \(k=25,26\),. .., 49 се представя във вида \(x^{2}-y^{2}\), където \(x^{2}\) е най-малкият точен квадрат, по-голям от самото число \(144 k\).
Решение: Решението на тази задача може да стане чрез просто изчерпване и това е направено в таблицата по-долу:
Веднага се вижда, че задача 2 не е вярна, когато \(k=36\), тъй като 145 не е точен квадрат. Задача 2 може да бъде обобщена чрез следната
Задача 3. Съществуват ли числа от вида \(144 k, k=2,3, \ldots 24\), k = 2, 3, ... 24, които не притежават това свойство? Ако има такива, намерете ги! Ако при решаване на тази задача използвате компютърни средства, дайте описание на алгоритъма.
Решение: В тази задача, за да определим съществуват ли числа от такъв вид, които притежават това свойство, можем да използваме компютърни евристики, като в случая напишем програма, както тук сме представили такава на езика C++, чрез която се вижда и самият алгоритъм на търсене посредством функцията floor:
#include<iostream>
#include<cmath>
using namespace std;
int main ()
{
double a, k;
cout<<”k=”;
cin>>k;
a = 144*k;
a = sqrt(a);
a = floor(a);
a = a + 1;
a = a*a;
a = a – 144*k;
a = sqrt(a);
cout<<a<<endl;
if(floor(a)/a = 1)cout<<”Vqrno e”;
else cout<<”Ne e vqrno”;
return 0 ;
}
Програмата, написана от нас, показва, че за \(k=9,16,17,19,23\) числата от вида \(144 k\) не притежават исканото свойство, а за всяко друго \(k\) между 2 и 24 това свойство е в сила.
Две последователни години отбори на ПМГ “Акад. Никола Обрешков”, гр. Бургас взеха участие в Руския фестивал на младите математици в гр. Сочи, Русия. Основната част на фестивала е провеждането на математически боеве. За разлика от традиционните състезания по математика, математическите боеве поставят на изпитание не само способностите на учениците да решават задачи. Изключително важни за постигане на успех са работата в екип, изработването на правилна стратегия, бързата реакция, способността за представяне на решения (Колев и кол., 2011). Желанието, с което учениците от ПМГ “Акад. Н. Обрешков” участваха в състезанието, подсказа идеята за провеждане и на Български фестивал на младите математици. Благодарение на ентусиазма на директора на гимназията Станчо Славов от 19 до 26 септември 2010 г. в Созопол се проведе Първият български фестивал на младите математици. Следващата задача е първата от финалния кръг на това състезание за възрастовата група \(7-9\) клас. Това, което е важно за нас в случая, е че след като решим задачата чисто математически, ще покажем и как можем да програмираме ново решение на същата задача.
Задача 4. Да се намерят всички двойки естествени числа (\(m, n\) ), за които разликата между ъгъла на правилен \(m\)-ъгълник и ъгъла на правилен \(n\)-ъгълник е равна на \(1^{\circ}\).
Решение: Ъгълът на правилен \(k\)-ъгълник е равен на \(180^{\circ}-\tfrac{360^{\circ}}{k}\) и от условието получаваме равенството
\[ \tfrac{360}{n}-\tfrac{360}{m}=1 \Leftrightarrow(m+360)(360-n)=360^{2} \]
За всяко представяне на \(360^{2}\) като произведение на естествени числа, едното от които е поне 363 (отговаря на множителя \(m+360\) ), а другото е най-много 357 (отговаря на множителя \(360-n\) ), получаваме решение (\(m, n\) ) . Понеже единственият делител на \(360^{2}\) в интервала \([358,362]\) е 360, получаваме, че единствено разлагането \(360^{2}=360.360\) не дава решение. Броят на делителите на \(360^{2}=2^{6} .3^{4} .5^{2}\) е 7. 5. 3 \(=105\). Всички делители без 360 се групират на двойки с произведение \(360^{2}\). Следователно броят на представянията \(360^{2}=p q, p \gt q\) са точно 52. Толкова са търсените двойки. Те могат да бъдат записани като
\[ m=2^{\alpha} \cdot 3^{\beta} \cdot 5^{\gamma}-360, \quad n=360-2^{6-\alpha} \cdot 3^{4-\beta} \cdot 5^{2-\gamma} \] където \(0 \leq \alpha \leq 6,0 \leq \beta \leq 4,0 \leq \gamma \leq 2\) и \(2^{\alpha} \cdot 3^{\beta} \cdot 5^{\gamma} \gt 360\). 3β. 5ɣ > 360. (Колев и кол., 2011, стр. 59).
Сега ще видим как би могло да изглежда едно решение, написано с код на C++, което ни дава това предимство, че получаваме решенията експлицитно:
#include<iostream>
using namespace std;
int main ()
{
int n;
for (int m=1; m<360; m++)
if ((360*m)%(360-m)==0)
{n=(360*m)/(360-m); cout<<” “<<m<<” “<<endl;}
return 0
}
Като резултат получаваме и следните 52 двойки решения \((m, n)\) :
\[ \begin{gathered} (0,0),(45,40),(72,60),(90,72),(120,90),(180,120),(216,135),(240,144),(288,160), \\ (315,168),(360,180),(440,198),(450,200),(504,210),(540,216),(600,225),(720,240), \\ (1665,296),(1800,300),(2040,306),(2232,310),(2340,312),(2520,315),(2880,320), \\ (3240,324),(3690,328),(3960,330),(4440,333),(4824,335),(5040,336),(6120,340), \\ (6840,342),(7740,344),(8280,345),(10440,348),(12600,350),(14040,351),(15840,352), \\ (21240,354),(25560,355),(32040,356),(42840,357),(64440,358),(129240,359) . \end{gathered} \]
Както се вижда по-горе, в решенията е включена и двойката (0,0), която не дава истинско решение (не съществуват такива многоъгълници), но въпреки това нашата програма е успяла да намери всички двойки решения, като техният брой кореспондира точно с този, намерен в първото решение.
В заключение можем да отбележим, че използването на компютърните евристики при решаването на по-сложни математически задачи и на олимпиадни задачи в частност не е толкова широко застъпено и предстои да се развива. Показаните по-горе решения ясно илюстрират възможностите, които притежават нашите програмирани решения не само като потвърждения на математическите доказателства, но и като генератори на нови математически идеи и хипотези.
ЛИТЕРАТУРА
1. Гроздев, С., Ненков, В. (2012). Две двойки точки, породени от асоциирани спрямо триъгълник централни конични сечения. Математика и информатика 45(1) , 60-83.
2. Гроздев, С., Ненков, В. (2012). Три забележителни точки върху медианите в триъгълника. София: Архимед, ISBN 978-954-779-136-7.
3. Желев, Ж. (2012). Евристични похвати при решаване на математически задачи от изявени ученици и бъдещи учители (Дисертационен труд). София: ИМИ-БАН.
4. Колев, Е. и кол. (2011). Първи български фестивал на младите математици. София: Издателство “Олимпмат” ЕООД.
5. Пеева, К. (2007). Организация на самостоятелната работа на учениците чрез използване на информационни технологии. Семинар “Дидактическо моделиране” I, 2007-2008, ИМИ-БАН.
6. Скафа, Е., Милушев, В. (2009). Конструиране на учебно-познавателна евристична дейност по решаване на математически задачи. Пловдив: УИ “Паисий Хилендарски”.
7. Тонов, И., Тонова, Т. (2008). Компютърна евристика – една възможност за приложение на ИКТ в образованието (стр. 135-141). В: Computer Methods in Science and Education. Varna: Bishop Konstantin Preslavski University Press.
8. Grozdev, S. (2007). For High Achievements in Mathematics. The Bulgarian Experience (Theory and Practice) . Sofia: Association for the Development of Education.
9. Lazarov, B. (2011). Teaching envelopes in secondary school. The Teaching of Mathematics, 15(1) , pp. 45-55.
10. Stanilov, G., Slavova, S. (2008). Computer methods for education and research (pp. 13-24). In: Computer Methods in Science and Education. Varna: Bishop Konstantin Preslavski University Press.