Идеята зад покриващите индекси е да се индексира по всички колони, които участват както в WHERE, така и в SELECT частта на заявката. Нека например имаме таблица users със следните колони: id, username, password и registered_at. Да речем, че ни е нужен списък с потребителските имена на хората, които са се регистрирали през 2022 г. Можем да направим следната заявка:
SELECT username FROM users WHERE registered_at >= "2022-01-01 00:00:00" AND registered_at <= "2022-12-31 23:59:59";
Ако индексът е само върху registered_at (*), той ще бъде използван, а след това ще се направят дискови операции за достъп до таблицата, с които ще се прочетат съответните потребителски имена. Тези дискови операции биха могли да бъдат спестени ако индексът се направи по (registered_at, username). Имайте предвид, че последователността е важна – трябва да се направи първо по условието в WHERE, а след това да се изредят колоните в SELECT. Тогава практически всички данни ще бъдат прочетени директно от индекса. Разбира се е важно колоните от текстови тип, които се извличат, да бъдат с достатъчно къси, за да могат да бъдат индексирани в цялост. Тази техника не може да работи за големи обеми от текст.
(*) В MySQL и MariaDB винаги вторичните индекси са съставни, като в тях накрая се добавя първичния ключ по подразбиране. Тоест ако направите индекс по registered_at, този индекс всъщност ще бъде по (registered_at, id). Аналогично индексът по (registered_at, username) ще бъде всъщност индекс по (registered_at, username, id).
]]>
Решение: Нека означим върховете на квадрата [mathi]ABCD[/mathi] така, че т.[mathi]P[/mathi] да лежи на [mathi]AB[/mathi]. Пример за един от възможните случаи е показан на следната картинка:
Имаме четири възможни случая за т.[mathi]Q[/mathi], които са с равна вероятност.
1 случай) Ако т.[mathi]Q[/mathi] лежи на [mathi]AB[/mathi], тогава [mathi]P(|PQ|>l) = 0[/mathi]
2 случай) Ако т.[mathi]Q[/mathi] лежи на [mathi]CD[/mathi], тогава [mathi]P(|PQ|>l) = 1[/mathi]
3 случай) Ако т.[mathi]Q[/mathi] лежи на [mathi]AD[/mathi], ще разгледаме центъра на отсечката [mathi]PQ[/mathi]. Построяваме кръг с център т.[mathi]A[/mathi] и радиус [mathi]\frac{l}{2}[/mathi]. Експериментално може да се провери, че ако [mathi]PQ > l[/mathi], то центъра на [mathi]PQ[/mathi], който ще означим с т.[mathi]M[/mathi] ще лежи вътре в сектора, който се образува при пресичането на кръга с квадрата:
Това е така, защото ако означим [mathi]|AP| = x[/mathi] и [mathi]|AQ| = y[/mathi], то
[math]|AM|=|PM|=\frac{|PQ|}{2}=\sqrt{\frac{x^2}{4}+\frac{y^2}{4}}[/math]
Когато т.[mathi]M[/mathi] е вътре в сектора, [mathi]\sqrt{\frac{x^2}{4}+\frac{y^2}{4}} < \frac{l}{2}[/mathi], откъдето [mathi]\frac{|PQ|}{2}<\frac{l}{2}[/mathi] или [mathi]PQ<l[/mathi].
Следователно отсечката ще бъде по-дълга от [mathi]l[/mathi] тогава, когато т.[mathi]M[/mathi] е извън него. Това е лицето на защрихованата част от следната картинка.
Вероятността т.[mathi]M[/mathi] да е вътре в тази зона е:
[math]P(M\notin сектора)=1-P(M\in сектора) = 1-\frac{S(сектора)}{S(малкия квадрат)}=1-\frac{\frac{1}{4}\pi (\frac{l}{2})^2}{(\frac{l}{2})^2}=1-\frac{\pi}{4}[/math]
4 случай) Ако т.[mathi]Q[/mathi] лежи на [mathi]BC[/mathi], вероятността ще е същата както в случай 3, защото решенията са симетрични.
От тук решението на задачата е обединението на тези четири случая, т.е.:
[math]P(|PQ|>l) = \frac{0+1+1-\frac{\pi}{4}+1-\frac{\pi}{4}}{4}=\frac{6-\pi}{8}[/math]
]]>Решение: Нека средата на [mathi]AB[/mathi] e точка [mathi]M[/mathi]. Построяваме окръжност с център [mathi]M[/mathi] и радиус [mathi]AM = \frac{a}{2}[/mathi]. Знаем, че ако т. [mathi]P[/mathi] лежи върху тази окръжност, [mathi]\angle APB=90^{\circ}[/mathi]. Ако точката е вътре в полуокръжността (оцветената в жълто част от чертежа), тогава триъгълника ще е тъпоъгълен.
Оттук лесно можем да намерим търсената вероятност. Тя е:
[math]P(\angle APB>90^{\circ}) = \frac{S(полуокръжността)}{S(квадрата)}=\frac{\frac{\pi \times (\frac{a}{2})^2}{2}}{a^{2}}=\frac{\pi \times a^{2}}{8a^{2}}=\frac{\pi}{8}[/math]
]]>Основният начин, по който може да се постигне това, е чрез комбинация от LIMIT и OFFSET върху еднозначно сортирана с ORDER BY поредица от записи. Чрез LIMIT <брой продукти на страница> OFFSET <номер на страница умножен по броя продукти на страница, започвайки от 0> бихме могли да извършим въпросната навигация. Нека дадем пример със следната таблица:
CREATE TABLE products( num INT PRIMARY KEY, name VARCHAR(255) NOT NULL, price DECIMAL(5,2) NOT NULL );
INSERT INTO products(num, name, price) VALUES (59, "A", 25.50), (12, "B", 43.70), (110, "C", 41.30), (15, "D", 110.12), (85, "E", 200.00), (5, "F", 21.40), (1, "G", 134.99), (66, "H", 15.84), (300, "I", 71.00);
Да речем, че искаме да показваме по два записа на страница, като всичко ще е подредено по азбучен ред. Заявката за първа страница би била следна:
SELECT name, price FROM products ORDER BY name, num LIMIT 2 OFFSET 0;
За втора страница би била:
SELECT name, price FROM products ORDER BY name, num LIMIT 2 OFFSET 2;
За трета страница OFFSET ще е 4, и т.н. (номер на страницата, започвайки от 0, умножен по броя на записите в LIMIT). Забележете, че освен по име, сортираме за всеки случай и по първичния ключ. Това се прави, за да направи сортирането детерминистично (еднозначно) и винаги да се гарантира една и съща подредба. Ако не сортираме по num, при повтарящо се име на продукт бихме могли да получим потенциално различна подредба от една и съща заявка.
Този подход е много удобен, защото спокойно бихме могли да навигираме директно на която си поискаме страница. При него обаче има един недостатък: изтриването на информация променя страниците. Представете си, че потребител е на уеб сайта Ви и разглежда първата страница с продукти. Той би виждал продукти A и B, а на втора страница биха го очаквали продукти C и D. Ако в този момент изтрием продукт A и след това потребителят отиде на втора страница, той ще види продукти D и E, вместо C и D. Това е така, защото продукт C вече е дефакто преместен на първа страница.
Алтернативно решение на този проблем е да въведем концепция за съхранение на позицията, на която потребителят се намира текущо, която да е независима от състоянието на базата от данни. Ето как може да стане това:
Ето пример за реализация на тази концепция с примерната таблица. Първата страница се извиква по стандартния начин:
SELECT name, price, num FROM products ORDER BY name, num LIMIT 2; +------+-------+-----+ | name | price | num | +------+-------+-----+ | A | 25.50 | 59 | | B | 43.70 | 11 | +------+-------+-----+
След като вече знаем, че последния продукт е бил с име „B“ и num=11, то следващият в списъка би могъл да е или с име „B“ и по-голям номер, или с име, което е лексикографски след „B“. Така втора страница следва да бъде заредена със следната заявка:
SELECT name, price, num FROM products WHERE (name = "B" AND num>11) OR (name > "B") ORDER BY name, num LIMIT 2;
При това решение винаги продуктите от втора страница ще останат такива, каквито са били, включително ако всички предишни продукти от първа страница бъдат изтрити. Разбира се детерминистичното сортиране тук отново е от ключово значение. Показаният подход обаче има недостатък – при него не можем да се прехвърлим на произволна страница. Различните страници трябва да се зареждат една сред друга, защото всяка следваща зависи от данните, записани в последния елемент на предишната. Това би било подходящо ако например правите уеб страница, която зарежда постепенно нова и нова информация при „скролване“ надолу, но е неизползваемо при свободна навигация.
Първото решение с OFFSET има и още един недостатък – то е, че при много големи таблици, работи бавно и заема много памет. Второто решение няма проблем с бързината, но вече споменахме неговият основен проблем – не може да се отиде на произволна страница. Дали не може първият вариант да се подобри?
Една често препоръчвана техника, която се справя с този проблем е извършване на отложено свързване (deferred join). Идеята е да се създаде допълнителен индекс по колоните, по които ще се сортира:
ALTER TABLE products ADD INDEX(name, num);
след което заявката с LIMIT и OFFSET да се изпълни по следния начин, използвайки SELF JOIN (примерът е за втора страница):
SELECT p1.name, p1.price FROM products AS p1 JOIN (SELECT num FROM products ORDER BY name, num LIMIT 2 OFFSET 2) AS p2 ON p1.num = p2.num;
Идеята тук идва от следното: вложената в JOIN клаузата заявка (таблица p2) работи само и единствено със създадения индекс – така тя реално НЕ прави дискова операция. Ето пример между оригиналната заявка, в която в SELECT се извличаха name и price:
EXPLAIN SELECT name, price FROM products ORDER BY name, num LIMIT 2 OFFSET 2; +------+-------------+----------+------+---------------+------+---------+------+------+----------------+ | id | select_type | table | type | possible_keys | key | key_len | ref | rows | Extra | +------+-------------+----------+------+---------------+------+---------+------+------+----------------+ | 1 | SIMPLE | products | ALL | NULL | NULL | NULL | NULL | 9 | Using filesort | +------+-------------+----------+------+---------------+------+---------+------+------+----------------+
а ето и новата вложена заявка p2, при които price не се извлича, т.е. всичко, което заявката трябва да върне като резултат (num), се съдържа в създадения от нас индекс:
MariaDB [pagination]> EXPLAIN SELECT num FROM products ORDER BY name, num LIMIT 2 OFFSET 2; +------+-------------+----------+-------+---------------+------+---------+------+------+-------------+ | id | select_type | table | type | possible_keys | key | key_len | ref | rows | Extra | +------+-------------+----------+-------+---------------+------+---------+------+------+-------------+ | 1 | SIMPLE | products | index | NULL | name | 1026 | NULL | 4 | Using index | +------+-------------+----------+-------+---------------+------+---------+------+------+-------------+
От удебеления текст ще видите, че първата заявка използва достъп до диска, докато втората работи само с индекса, което разбира се е много по-бързо. Тоест при предложеното решение самото страниране (заявката p2, с която се премахва излишната информация) ще се случва по-бързо, а после добавянето на нужната за потребителя информация (name, price) се извлича от диска само за намерените редове (което е забавяне, но по правило е по-малко, отколкото техниката с LIMIT и OFFSET с filesort).
]]>
Изтеглете проекта със сорс кода от тук: GoblinsLake
Проучете по какъв алгоритъм гоблина обикаля езерото. Намерете слабото му място и измислете тактика, с която да излезете в зеленото поле без той да ви хване. Проучете каква е пределната скорост на гоблина, над която ще е невъзможно да се избяга. Помислете дали може да се подобри алгоритъма на гоблина.
П.П. Тази игра не е подходяща за училище, защото движението по окръжност не е просто и лесно за реализиране действие. Може да се представи само при напреднали ученици в кръжочна форма. Хубава е за упражнение от страна на студенти.
]]>Нека имаме прост брояч и две нишки, които конкурентно една на друга го увеличават. Първоначално ще е без синхронизация, т.е. очаквано ще има т.нар. race condition:
private static Integer count = 0; public static void main(String[] args) throws InterruptedException { Thread incr1 = new Thread(){ public void run(){ for(int i=0; i<100000; i++){ count++; } } }; Thread incr2 = new Thread(){ public void run(){ for(int i=0; i<100000; i++){ count++; } } }; incr1.start(); incr2.start(); incr1.join(); incr2.join(); System.out.println(count); }
Очаквано накрая броячът няма да даде 200000, а по-малко число – някои операции за увеличение са се припокрили една друга, защото те не са атомарни. Заключването с монитор ще разреши този проблем и увеличаването на брояча ще бъде синхронизирано:
private static Object monitor = new Object(); private static Integer count = 0; public static void main(String[] args) throws InterruptedException { Thread incr1 = new Thread(){ public void run(){ synchronized(monitor){ for(int i=0; i<100000; i++){ count++; } } } }; Thread incr2 = new Thread(){ public void run(){ synchronized(monitor){ for(int i=0; i<100000; i++){ count++; } } } }; incr1.start(); incr2.start(); incr1.join(); incr2.join(); System.out.println(count); }
Реално първата нишка, която изпълни своя synchronized блок ще „заключи“ мютекса зад монитора и по този начин другата няма да може да продължи, докато той не бъде отключен – тя ще се нареди на опашка, за да чака реда си. В Java всеки обект има вграден монитор.
Семафорите от своя страна позволяват паралелна работа на повече от една нишка, но им слага горен лимит. Ако например лимитът е 5, това означава, че до пет нишки могат да работят паралелно, а ако дойде шеста – тя вече ще трябва да чака по подобие на случващото се при монитора. Може да приемете опростено мониторите като семафори с лимит 1.
Ще демонстрирам как се работи със семафори в Java чрез задача, в която нишките ще се борят за ограничен споделен ресурс, като този път ще използвам вграден клас java.util.concurrent.Semaphore (в предишни примери съм показвал подобна задача, но изцяло с ръчна синхронизация и употреба на wait() и notify(), което е изключително трудоемко и объркващо). Представете си, че няколко хора влизат в кафене. За съжаление има само два свободни стола за сядане. Идеята е първите двама, които стигнат до столовете, да седнат на тях, а останалите да ги изчакат на опашка. Когато някой стане, най-дълго чакалия ще седне на неговото място веднага. Ето примерна реализация на това:
public class Philosophers { public static void main(String[] args) throws InterruptedException { Thread t1 = new Thread(new Client("Karl", "Marx")); Thread t2 = new Thread(new Client("Friedrich", "Nietzsche")); Thread t3 = new Thread(new Client("Immanuel", "Kant")); Thread t4 = new Thread(new Client("Muhammad", "Abduh")); Thread t5 = new Thread(new Client("Bertrand", "Russell")); t1.start(); t2.start(); t3.start(); t4.start(); t5.start(); } } record Client(String firstname, String lastname) implements Runnable { private static Semaphore sem = new Semaphore(2); public void run() { try { System.out.println(firstname + " " + lastname + " отива към масата..."); sem.acquire(); System.out.println(firstname + " " + lastname + " седна на масата и започна да яде..."); Thread.sleep(3000); System.out.println(firstname + " " + lastname + " се наяде и освобождава масата!"); sem.release(); } catch (InterruptedException ex) { System.err.println("Нещо се обърка при " + firstname + " " + lastname); } } }
В получер шрифт е отбелязано как се дефинира семафора, как се заключва и как се отключва. Именно метод acquire() е блокиращ – ако в семафора няма свободни слотове за нишки, тази, в която е изпълнен, ще трябва да чака да се освободи.
]]>static BigInteger naivePow(BigInteger x, long n){ BigInteger result = BigInteger.ONE; for (long i = 0; i < n; i++) { result = result.multiply(x); } return result; }
С това решение при достигане до прекалено големи числа ще започне да се отнема сериозно време. Например на компютъра, на който пиша в момента тази статия (Intel Core-i5 9400) изчислението на [mathi]569890561^{121391}[/mathi] отнема около 8 секунди. Не може ли да се случи по-добре?
Основният проблем с бързината идва от там, че извършваме [mathi]n[/mathi] на брой умножения. Вместо това бихме могли да се възползваме от следното наблюдение:
Ето един бърз пример как това може да получи приложение. Представете си, че трябва да изчислим [mathi]5^8[/mathi]. С представената интуитивна реализация ще пресметнем [mathi]5.5.5.5.5.5.5.5=5^{8}[/mathi], т.е. 8 умножения. Вместо това можем да подходим със следната последователност:
Оказва се, че го направихме с едва 3 умножения. Остава да алгоритмизираме този процес. Най-популярната реализация се нарича „степенуване чрез повдигане на квадрат и умножение“ (square and multiply). При него се възползваме от спецификите на двоичната бройна система и най-вече, че операцията „повдигане на квадрат“ е изключително лека – просто се добавя 0 в края на числото. Ще го демонстрирам директно с пример. Нека да речем, че трябва да изчислим [mathi]5^{45}[/mathi]. Представяме числото 45 в бинарен вид:
[math]101101_{2}[/math]
Нека номерираме битовете с индекси отляво надясно с 1, 2, 3, 4, 5 и 6. Тогава за всеки от тях ще имаме следното:
Вижда се как на всяка стъпка след първата се извършва повдигане на квадрат (когато конкретния бит е 0) или повдигане на квадрат и умножение по числото на 1-ва степен (когато конкретния бит е 1). Ето и как се реализира алгоритъма рекурсивно:
static BigInteger fastPowRecursive(BigInteger x, long n){ if(n==0){ return BigInteger.ONE; } BigInteger half = fastPowRecursive(x, n/2); BigInteger squared = half.multiply(half); if((n % 2)==0){ return squared; } else { return squared.multiply(x); } }
Ще забележите веднага, че тази реализация ще даде резултат изключително по-бързо, отколкото предишното решение. Итеративната реализация освен това ще използва и по-оптимално паметта:
static BigInteger fastPowIterative(BigInteger x, long n){ BigInteger result = BigInteger.ONE; while(n > 0){ if((n % 2) == 1){ result = result.multiply(x); } x = x.multiply(x); n = n / 2; } return result; }
Бихте могли допълнително да подобрите бързодействието ако използвате директно побитови операции.
П.П. Този алгоритъм освен това получава изключително често приложение в криптографията, където често се налагат изчисления от типа [mathi]x^{n} mod(m)[/mathi] (например при алгоритъма RSA). Стандартно може да се помисли първо да се изчисли степенуването [mathi]x^{n}=A[/mathi], а след да се намери остатъка от деление [mathi]A mod(m)[/mathi]. По-оптимален вариант би бил да се извършва делението по модул на всяка стъпка от алгоритъма – това няма да промени крайния резултат (проверете). Вярно е, че така броят на извършените операции се увеличава, но за сметка на това вече не се налага да се работи с много големи числа, т.е. заетата памет значително намалява.
П.П.2. Единственият недостатък на така показания алгоритъм е, че при единичен бит се извършва една операция повече (square + multiply), отколкото при нулев (само square). Това прави алгоритъмът податлив на т.нар. „side channel attacks“. Едно възможно решение е алгоритъмът на Монтгомери. Негова примерна реализация е следната:
static BigInteger montgomeryPow(BigInteger x, long n) { BigInteger x1 = x; BigInteger x2 = x.multiply(x); // взима броя битове на числото (премахвайки нулевите в началото) int n_bits_len = Long.SIZE - Long.numberOfLeadingZeros(n); // обхождаме числото бит по бит, пропускайки най-старшия for(int i = n_bits_len-2; i >= 0; i--){ // (n & (1 << i)) >> i връща i-ти бит на числото n if (((n & (1 << i)) >> i) == 0) { x2 = x1.multiply(x2); x1 = x1.multiply(x1); } else { x1 = x1.multiply(x2); x2 = x2.multiply(x2); } } return x1; }]]>
Нека демонстрираме с пример. Ще създадем един масив в Java с 10_000_000 елемента, който ще запълним с произволни числа (които ще са нашите обекти). Естествено и очаквано е някои от числата, които добавим, да се повтарят.
int setSize = 10_000_000; int possibleElements = Integer.MAX_VALUE; Integer[] myMultiset = new Integer[setSize]; Random r = new Random(); for(int i=0; i<setSize; i++){ myMultiset[i] = r.nextInt(possibleElements); }
Колко са уникалните числа в масива? Eдин подход към решаването на тази задача е да се създаде паралелна структура от данни списък. След това един по един се взимат елементите от множеството и се добавят в списъка, но само и единствено ако в списъка все още няма същия повтарящ се елемент. По този начин повторенията ще бъдат премахнати и в списъка ще останат само уникалните елементи. Проблемът на това решение е, че отнема изключително много процесорно време при големи мултимножества (заради проверките на всеки елемент – ще видите, че дори този пример е прекалено бавен и вероятно няма да пожелаете да го изчакате):
List<Integer> uniquesList = new LinkedList<>(); for(Integer i: myMultiset){ if(!uniquesList.contains(i)){ uniquesList.add(i); } } System.out.println("Unique elements: "+uniquesList.size());
Алтернативен подход е паралелната структура да е хеш таблица. По този начин няма да правим проверки за всеки елемент поотделно, а директно ще го добавяме и, в случай на повторение, ще презаписваме отгоре. С това процесорното време се намалява драстично, но за сметка на това се увеличава многократно заеманата памет.
Set<Integer> uniquesSet = new HashSet<>(); for(Integer i: myMultiset){ uniquesSet.add(i); } System.out.println("Unique elements: "+uniquesSet.size());
За разлика от двата описани метода, алгоритъмът на Флажоле-Мартин е вероятностен. Той не дава точен отговор (не може да кажем със сигурност каква е точната кардиналността на мултимножеството), а дава само приблизителен. За сметка на това не отнема нито много процесорно време, нито заема допълнителна памет. Неговото действие е следното:
Оригиналната статия, където алгоритъмът е описан подробно, е следната:
Flajolet, P., & Martin, G. N. (1985). Probabilistic counting algorithms for data base applications. Journal of computer and system sciences, 31(2), 182-209.
Оказва се, че при много големи множества, точността на отговора на този алгоритъм е задоволителна, но все пак може да варира значително. Един исторически често използван вариант за подобрение е да се приложи през няколко различни хеш функции, след което резултатът да се усредни. Друг вариант е да се направи същото и да се вземе медианата. Използвал се е и смесен вариант между двете.
Най-популярната реализация с подобрение, която се използва в днешно време, е т.нар. HyperLogLog алгоритъм. При него мултимножеството се разделя на подмножества, изчислява се кардиналността на всяко едно по алгоритъма на Флажоле-Мартин, след което се изчислява тяхното среднохармонично число (по този начин се дава по-голяма тежест на по-малките числа). Алгоритъмът e показал, че дава много точни приближения при много големи мултимножества. Описан е подробно в следната статия:
Flajolet, P., Fusy, É., Gandouet, O., & Meunier, F. (2007, June). Hyperloglog: the analysis of a near-optimal cardinality estimation algorithm. In Discrete Mathematics and Theoretical Computer Science (pp. 137-156). Discrete Mathematics and Theoretical Computer Science.
Не само това, но забележете, че HyperLogLog много лесно се реализира като паралелен алгоритъм – просто всяко отделно изчисление се пуска в отделна нишка.
Къде може да се прилага този алгоритъм в практиката? Навсякъде, където е нужно приложение на функцията COUNT(DISTINCT *) – по аналогия от SQL, – но обемът на данните е изключително голям, а абсолютната точност не е от изключително значение. Най-често приложение получава при нерелационни бази от данни.
]]>Нека разгледаме следния пример. Ще дефинираме интерфейс „четириъгълник“ и ще реализираме негови реализации „правоъгълник“ и „успоредник“.
package figures2d; abstract interface Quadrilateral{ double getArea(); double getPerimeter(); } record Rectangle (double sideA, double sideB) implements Quadrilateral{ @Override public double getArea(){ return sideA*sideB; } @Override public double getPerimeter(){ return 2*sideA+2*sideB; } } record Parallelogram (double sideA, double sideB, double angle) implements Quadrilateral{ @Override public double getArea(){ return sideA*sideB*Math.sin(angle); } @Override public double getPerimeter(){ return 2*sideA+2*sideB; } }
Тук никой не ни спира да направим например клас „равностранен триъгълник“, който имплементира „четириъгълник“ – това би било напълно нелогично и нежелано, но все пак е възможно. С ключова дума sealed защитаваме интерфейса така, че изреждаме само и единствено класовете, които имат право да го имплементират:
sealed interface Quadrilateral permits Rectangle, Parallelogram{ double getArea(); double getPerimeter(); } record Rectangle (double sideA, double sideB) implements Quadrilateral{ @Override public double getArea(){ return sideA*sideB; } @Override public double getPerimeter(){ return 2*sideA+2*sideB; } } record Parallelogram (double sideA, double sideB, double angle) implements Quadrilateral{ @Override public double getArea(){ return sideA*sideB*Math.sin(angle); } @Override public double getPerimeter(){ return 2*sideA+2*sideB; } }
Вече няма да можем да правим нови класове с имплементации на интерфейса Quadrilateral.
В случая използваме record, с което скриваме част от важните ограничения – класът, който имплементира защитения интерфейс или наследява защитен клас трябва изрично да окаже от своя страна дали е или final (ненаследим), sealed (частично наследим) или свободен (non-sealed). Следният пример демонстрира това:
sealed interface Quadrilateral permits Parallelogram{ double getArea(); double getPerimeter(); } sealed class Parallelogram implements Quadrilateral permits Rectangle{ double sideA; double sideB; double angle; public Parallelogram(double sideA, double sideB, double angle){ this.sideA = sideA; this.sideB = sideB; this.angle = angle; } @Override public double getArea(){ return sideA*sideB*Math.sin(angle); } @Override public double getPerimeter(){ return 2*sideA+2*sideB; } } sealed class Rectangle extends Parallelogram permits Square{ public Rectangle(double sideA, double sideB){ super(sideA, sideB, Math.PI/2); } } final class Square extends Rectangle{ public Square(double side){ super(side, side); } }
Ако не се посочи какъв тип (sealed, non-sealed или final) ще е имплементиращият/наследяващият клас, компилатора ще даде грешка.
]]>Целта на играта е с максимално малко ходове да се обърнат всички карти с лицето нагоре.
За да реализираме картите ще ни трябва набор от картинки. Понеже ще имаме общо 20 карти, ще ни трябват 10 картинки за лицеа (понеже 2 по 2 се повтарят) и 1 картинка за гръб. Може да изтеглите примерни от тук (свалени са като безплатни картинки от iconfinder).
Размерът на игралното поле зависи от размера на картинките. Понеже нашите са с размер 48 на 48 пиксела (дължина и ширина), ще реализираме играта, като ги поставим една до друга в пет реда и четири стълба. Оставайки по един пиксел отляво и един пиксел отдясно на всяка картинка, това ще направи общо 5×50=250 пиксела по хоризонтала и 4×50=200 пиксела по вертикала за цялото игрално поле. Точно с такива размери ще е и основният JFrame. Създайте го, а в него разположете разпънат от край до край JPanel с име gamePanel. Картинките от архива добавете в директория images. Изгледът на програмата е показан на следващата картинка.
Пристъпваме към програмния код. Трябва да създадем 20 на брой карти и да ги разположим по игралното поле. Този път няма да го правим ръчно, използвайки компонентите, които ни предоставя средата NetBeans, а програмно.
Нека започнем с въпроса „какво е карта“. Това е сложен обект – той се състои от картинка за гръб и картинка за лице. Освен това би могъл да извършва действие – да се обръща наобратно. Ще реализираме това като се възползваме от компактния запис на клас Record. Вътре в създадения JFrame създайте следния вложен клас:
// Всяка карта ще се състои от две картинки - предна и задна record Card(JLabel front, JLabel back) { Card{ // Ако някой натисне с бутон на мишката върху гърба на картата // тя се разменя с лицето, а лицето става гръб. Т.е. обръща се back.addMouseListener(new java.awt.event.MouseAdapter() { @Override public void mouseClicked(java.awt.event.MouseEvent evt) { Icon tmp = back.getIcon(); back.setIcon(front.getIcon()); front.setIcon(tmp); } }); // Същото правим за лицето на картата - при натискане се обръща front.addMouseListener(new java.awt.event.MouseAdapter() { @Override public void mouseClicked(java.awt.event.MouseEvent evt) { Icon tmp = back.getIcon(); back.setIcon(front.getIcon()); front.setIcon(tmp); } }); } // Да променим местоположението на една карта означава, че местим // както лицето, така и гърба ѝ void setLocation(int x, int y) { front.setLocation(x, y); back.setLocation(x, y); } }
Ще съхраняваме тестето от карти в свързан списък. Създайте следната член-променлива:
LinkedList<Card> cards = new LinkedList<>();
Сега остава да създадем самите карти и да ги разположим по игралното поле. Създайте събитие за основния JFrame от тип WindowOpened и в него добавете следния код:
private void formWindowOpened(java.awt.event.WindowEvent evt) { // метод, който ще напишем по-късно. // Той ще създаде картите и ще ги запише в свързания списък cards (тестето) generateCards(); // разбъркваме вече създадените карти Collections.shuffle(cards); // ще подреждаме картите по игралното поле с гърбовете им // в пет реда и четири стълба, започвайки от клетка с индекси (0, 0) int row = 0; int col = 0; for (Card c : cards) { // поставяме картата на съответната позиция c.setLocation(col * 50 + 1, row * 50 + 1); // и я добавяме към панела, за да се визуализира gamePanel.add(c.back); // преминаваме към следващата карта, но внимаваме да не излезнем извън екрана row++; if (row > 3) { row = 0; col++; } } // след като сложим всички карти се уверяваме, че всичко е визуализирано коректно gamePanel.repaint(); }
Методът generateCards() ще има следния код:
void generateCards(){ // ще създаваме картите по двойки, затова завъртаме цикъла 10 пъти (за 20 карти общо) for (int i = 1; i <= 10; i++) { // създаваме гърба на едната карта JLabel card1Back = new JLabel(); card1Back.setIcon(new javax.swing.ImageIcon(getClass().getResource("/Pexeso/images/back.png"))); card1Back.setSize(card1Back.getPreferredSize()); // създаваме и лицето ѝ JLabel card1Front = new JLabel(); card1Front.setIcon(new javax.swing.ImageIcon(getClass().getResource("/Pexeso/images/" + i + ".png"))); card1Front.setSize(card1Front.getPreferredSize()); // създаваме самата карта Card newCard1 = new Card(card1Front, card1Back); // повтаряме абсолютно същото за другата карта JLabel card2Back = new JLabel(); card2Back.setIcon(new javax.swing.ImageIcon(getClass().getResource("/Pexeso/images/back.png"))); card2Back.setSize(card2Back.getPreferredSize()); JLabel card2Front = new JLabel(); card2Front.setIcon(new javax.swing.ImageIcon(getClass().getResource("/Pexeso/images/" + i + ".png"))); card2Front.setSize(card2Front.getPreferredSize()); Card newCard2 = new Card(card2Front, card2Back); // добавяме двойката карти в тестето с карти cards.add(newCard1); cards.add(newCard2); }
Играта е готова.
Както виждате, при нея няма автоматизирано оценяване дали картинките на картите съвпадат или не – това е оставено за играча и той е отговорен да ги връща обратно сам при положение, че те последната двойка карти са различни. Едно бъдещо усъвършенстване може да включи и функционалност за автоматизиране. За такава реализация ще е нужно по-прецизно създаване на самото тесте – ще трябва сами да реализирате метод equals, така че да може две карти с едно и също лице наистина да се оценяват като еднакви (при горната реализация не е така). Такъв метод може да е следния (сравнява иконките на лицата на картите по името на файла им):
@Override public boolean equals(Object o) { return o instanceof Card p && this.front.getIcon().toString().equals(p.front.getIcon().toString()); }]]>
Първото нещо, което ще направим, е да променим типа на член-променливите. Двете купчини с карти на играчите ще станат съответно от тип структура от данни Queue по следния начин:
Queue<Integer> leftCards = new LinkedList<>(); Queue<Integer> rightCards = new LinkedList<>();
Промяната в метода на инициализиращото събитие ще е минимална:
private void formWindowOpened(java.awt.event.WindowEvent evt) { for(int i=0; i<52; i++){ deck.add(i); } Collections.shuffle(deck); for(int i=0; i<26; i++){ leftCards.add(deck.get(i)); rightCards.add(deck.get(i+26)); } leftCardPlayed.setText(" "); rightCardPlayed.setText(" "); }
Модификацията за кода на метода на бутона е следната:
private void dealButtonActionPerformed(java.awt.event.ActionEvent evt) { // Краят на играта вече настъпва когато едно от двете тестета свърши if(leftCards.size()==0 || rightCards.size()==0){ message.setText("Играта завърши"); leftCardPlayed.setVisible(false); rightCardPlayed.setVisible(false); dealButton.setEnabled(false); return; } Integer left = leftCards.poll(); Integer right = rightCards.poll(); leftCardPlayed.setIcon(new ImageIcon(getClass().getResource("/CardsWarGame/images/"+left+".png"))); rightCardPlayed.setIcon(new ImageIcon(getClass().getResource("/CardsWarGame/images/"+right+".png"))); if((left)%13 > (right)%13){ leftPlayerScore.setText(""+(Integer.parseInt(leftPlayerScore.getText())+1)); message.setText(" Точка за левия "); // Връщаме картите в началото на левия списък leftCards.add(left); leftCards.add(right); } else if((left)%13 < (right)%13){ rightPlayerScore.setText(""+(Integer.parseInt(rightPlayerScore.getText())+1)); message.setText(" Точка за десния "); // Връщаме картите в началото на десния списък rightCards.add(right); rightCards.add(left); } else{ // При равенство проверяваме кой е по-силния цвят - той ще спечели ръката // Възползваме се, че при именоването на файловете са подредени по големина на цветовете if(left > right){ leftPlayerScore.setText(""+(Integer.parseInt(leftPlayerScore.getText())+1)); message.setText(" Точка за левия "); leftCards.add(left); leftCards.add(right); } else{ rightPlayerScore.setText(""+(Integer.parseInt(rightPlayerScore.getText())+1)); message.setText(" Точка за десния "); rightCards.add(right); rightCards.add(left); } } dealsValue.setText(""+(Integer.parseInt(dealsValue.getText())+1)); // При край на играта вече скриваме гърба на картите само на загубилия if(leftCards.size()==0){ leftDeck.setVisible(false); dealButton.setText("Край"); } if(rightCards.size()==0){ rightDeck.setVisible(false); dealButton.setText("Край"); } }
Ще забележите, че при този вариант играта става много по-продължителна. Може да се наложи да извършвате над 200 хода и дори много повече, преди да се стигне до изчерпване на една от двете конкурентни опашки. Обърнете също внимание, че играта приключва точно тогава, когато единият играч е натрупал точно 26 точки повече от другия.
Нека се възползваме от това и да променим броячите така, че да отразяват текущия броя карти в тестето на съответния играч. Началната стойност на тези броячи трябва да е 26. След това вместо да ги увеличаваме с единица, просто в края на всеки ход ще ги променяме с текст, който отразява текущия брой елементи в опашката. Промените ще са следните:
private void dealButtonActionPerformed(java.awt.event.ActionEvent evt) { if(leftCards.size()==0 || rightCards.size()==0){ message.setText("Играта завърши"); leftCardPlayed.setVisible(false); rightCardPlayed.setVisible(false); dealButton.setEnabled(false); return; } Integer left = leftCards.poll(); Integer right = rightCards.poll(); leftCardPlayed.setIcon(new ImageIcon(getClass().getResource("/CardsWarGame/images/"+left+".png"))); rightCardPlayed.setIcon(new ImageIcon(getClass().getResource("/CardsWarGame/images/"+right+".png"))); if((left)%13 > (right)%13){ //leftPlayerScore.setText(""+(Integer.parseInt(leftPlayerScore.getText())+1)); message.setText(" Точка за левия "); leftCards.add(left); leftCards.add(right); } else if((left)%13 < (right)%13){ //rightPlayerScore.setText(""+(Integer.parseInt(rightPlayerScore.getText())+1)); message.setText(" Точка за десния "); rightCards.add(right); rightCards.add(left); } else{ if(left > right){ //leftPlayerScore.setText(""+(Integer.parseInt(leftPlayerScore.getText())+1)); message.setText(" Точка за левия "); leftCards.add(left); leftCards.add(right); } else{ //rightPlayerScore.setText(""+(Integer.parseInt(rightPlayerScore.getText())+1)); message.setText(" Точка за десния "); rightCards.add(right); rightCards.add(left); } } dealsValue.setText(""+(Integer.parseInt(dealsValue.getText())+1)); leftPlayerScore.setText(""+leftCards.size()); rightPlayerScore.setText(""+rightCards.size()); // При край на играта вече скриваме гърба на картите само на загубилия if(leftCards.size()==0){ leftDeck.setVisible(false); dealButton.setText("Край"); } if(rightCards.size()==0){ rightDeck.setVisible(false); dealButton.setText("Край"); } }
Задача за упражнение: За пълната версия на играта Война ще е нужно кода да се модифицира така, че при равенство картите да се запазят на масата и да се изтеглят нови. Това може да се реализира като текущите карти на масата се натрупват в стек. Би било добро упражнение за комбинация между двете разгледани структури. Реализацията обаче няма да е толкова проста, особено ако се вземе решение да се отчете и малко вероятната, но все пак възможна „патова“ игра (поредица от 26 равни и няма нито един победител).
]]>За реализацията на проекта първоначално се нуждаем от картинки на самите карти. Трябват ви 52 файла с имена 0.png, 1.png, 2.png, …, 51.png и един файл с име back.png (гърба на картите). Създайте проект и направете следния дизайн:
Тук обектите по екрана имат следния смисъл:
Забележете, че всички картинки от архива cards.zip ги вмъкнахме в проекта в поддиректория images. Така те ще са директно достъпни програмно.
След като дизайнът е готов, следва да започнем да пишем програмния код. Задайте следните член променливи:
// Масив с всички карти във вид на числа ArrayList<Integer> deck = new ArrayList<>(52); // Стек за левите карти Stack<Integer> leftCards = new Stack<>(); // Стек за десните карти Stack<Integer> rightCards = new Stack<>();
Ще инициализираме тези член променливи още с отваряне на програмата, като за целта ще създадем събитие FormWindowOpened по следния начин:
private void formWindowOpened(java.awt.event.WindowEvent evt) { // Добавя числата от 0 до 52 в общото тесте карти for(int i=0; i<52; i++){ deck.add(i); } // Разбърква тестето с карти Collections.shuffle(deck); // Един по един добавя елементите от първата и втората // половина на тестето съответно в левия и десния стек for(int i=0; i<26; i++){ leftCards.push(deck.get(i)); rightCards.push(deck.get(i+26)); } // Премахва текстовете за лява и дясна карта. Ще се заменят с картинки. leftCardPlayed.setText(" "); rightCardPlayed.setText(" "); }
Следва кодът на бутона за започване на войната. В него направете следния код:
private void dealButtonActionPerformed(java.awt.event.ActionEvent evt) { // Ако не са останали карти в лелия стек, това означава, че играта е приключила // Ще деактивираме бутона, ще премахнем картите и ще изпишем съобщение за край if(leftCards.size()==0){ message.setText("Играта завърши"); leftCardPlayed.setVisible(false); rightCardPlayed.setVisible(false); dealButton.setEnabled(false); return; } // Взимаме най-горните карти от двата стека Integer left = leftCards.pop(); Integer right = rightCards.pop(); // Сменяме иконката на текущо изиграната карта, за да я покажем. // Възползваме се от това, че името на файла съвпада със стойността на картата leftCardPlayed.setIcon(new ImageIcon(getClass().getResource("/CardsWarGame/images/"+left+".png"))); rightCardPlayed.setIcon(new ImageIcon(getClass().getResource("/CardsWarGame/images/"+right+".png"))); // Проверяваме коя карта е по-силна, след което взимаме решение дали и кой брояч на точки да увеличим if((left)%13 > (right)%13){ leftPlayerScore.setText(""+(Integer.parseInt(leftPlayerScore.getText())+1)); message.setText(" Точка за левия "); } else if((left)%13 < (right)%13){ rightPlayerScore.setText(""+(Integer.parseInt(rightPlayerScore.getText())+1)); message.setText(" Точка за десния "); } else{ message.setText(" Равно "); } // Намаляваме брояча за оставащи ходове dealsValue.setText(""+(Integer.parseInt(dealsValue.getText())-1)); // Ако няма повече оставащи ходове, това значи, че сме обърнали всички карти в стековете. // Затова ги скриваме и променяме текста на бутона на „Край“ if(leftCards.size()==0){ leftDeck.setVisible(false); rightDeck.setVisible(false); dealButton.setText("Край"); } }
След компилиране и изпълнение, играта би изглеждала по следния начин:
]]>package recordsexample; public class RecordsExample { public static void main(String[] args) { Person p1 = new Person("Ivan", "Ivanov", 20); System.out.println(p1.toString()); } } final class Person { private final String firstname; private final String lastname; private final int age; public Person(String firstname, String lastname, int age) { this.firstname = firstname; this.lastname = lastname; this.age = age; } @Override public int hashCode() { int result = 17; result = result * 37 + (this.firstname == null ? 0 : this.firstname.hashCode()); result = result * 37 + (this.lastname == null ? 0 : this.lastname.hashCode()); result = result * 37 + this.age; return result; } @Override public boolean equals(Object o) { if (!(o instanceof Person)) { return false; } Person p = (Person) o; if (p.firstname == null || p.lastname == null) { return false; } return (this.firstname.equals(p.getFirstname()) && this.lastname.equals(p.getLastName()) && this.age == p.getAge()); } @Override public String toString() { return "[firstname=" + this.firstname + ", lastname=" + this.lastname + ", age=" + this.age + "]"; } public String getFirstname(){ return this.firstname; } public String getLastName(){ return this.lastname; } public int getAge(){ return this.age; } }
С JDK 16 на помощ в такива ситуации идва новият тип непроменими (immutable) класове Record. Целият описан по-горе код може да бъде заменен с (почти) еквивалентния следен:
package recordsexample; public class RecordsExample { public static void main(String[] args) { Person p1 = new Person("Ivan", "Ivanov", 20); System.out.println(p1.toString()); } } record Person(String firstname, String lastname, int age){};
Споменах „почти“, защото имплементираният от мен метод hashCode() е различен от този, който се използва в record класа. Друга съществена разлика е, че get методите в record не съдържат думата „get“ в името си. Например ако искате да прочетете първото име на човека, трябва да извикате метод „firstname“:
Person p1 = new Person("Ivan", "Ivanov", 20); System.out.println(p1.firstname());
Това е направено нарочно, като най-вероятната причина е да се направи съществена отличителна разлика между record и JavaBean. Още една разлика е, че record е винаги final клас (не може да бъде наследяван), както и че той не може да наследява друг (позволено е обаче да имплентира интерфейси). От последното следва, че record не може да е и абстрактен.
Удобно нововъведение е, че record дават възможност за добавяне на специален „компактен конструктор“, с който се добавя валидация на данните. Например ако искаме да подсигурим, че годините не са отрицателно число, можем да направим следното:
record Person(String firstname, String lastname, int age){ public Person{ if(age<0) throw new IllegalArgumentException("Age cannot be negative"); if(firstname==null || lastname==null) throw new IllegalArgumentException("Names cannot be null"); } };
От тук насетне може да добавяте и нови методи или да предефинирате някои от съществуващите. Например можем да направим допълнителен конструктор, който приема годините по подразбиране със стойност 18, както и да добавим метод за връщане на пълното име на човека по следния начин:
record Person(String firstname, String lastname, int age){ public Person{ if(age<0) throw new IllegalArgumentException("Age cannot be negative"); if(firstname==null || lastname==null) throw new IllegalArgumentException("Names cannot be null"); } public Person(String firstname, String lastname){ this(firstname, lastname, 18); } String fullName(){ return this.firstname+" "+this.lastname; } };
Може да се досетите, че е възможно да създадете свой get метод, който просто препраща към стандартно генерирания. Това по-скоро би било лоша практика и е по-добре да се избягва.
Накрая ще изредя и някои ограничения за клас record:
На практика record е създадено за удобство да не пишете голямо количество тривиален код. Възползвайте се когато е удачно. Единствено помнете, че той е само и единствено за непроменими (immuatable) обекти.
]]>
Понеже качеството беше доста лошо, реших да я направя наново. Ето какво се получи:
Ето и информацията за част от хората от схемата, която стоеше под оригинала (със съвсем леки изменения и редакции):
Каменохвъргачките (катапулти или требушети) са хвърляли сравнително малки камъни (колкото голям картоф) и са ги хвърляли наистина на далечни за тогавашните стандарти височини и разстояния. Било е достатъчно далеч, че да са извън обсега на стрелците на крепостната стена. Тези камъни разбира се са достатъчно неприятни за човек, който евентуално ще уцелят – почти сигурно е, че ще го убият. Може да навреди и на покрив на къща. Но да разруши каменна крепостна стена? Няма начин!
Катапултите работят с голям лост, от който е образувано късо и дълго рамо. В края на късото рамо има голяма тежест, а в края на дългото има слинг (плат) или дървена кофа, в която се слага снаряда. Опъва се въже, с което голямата тежест се издига нагоре. След това се освобождава, лоста се завърта около остана на въртене и съответно заради центробежната сила снаряда напуска слинга или кофата. Голямото предимство на катапултите е, че може с тях се стреля бързо.
Требушетите от своя страна са с по-сложно устройство. Пак действат на принципа на противотежест, но за разлика от катапултите не я издигат с въжета, поради което могат теоретично да станат много големи. Поради това чрез прашката си могат да изхвърлят значително по-големи камъни. Но колко големи? Не са познати достоверни източиници за требушет, който да има достатъчно голям камък, че да разруши крепостна стена. Покриви на къщи вероятно са чупели значимо, но масивни крепостни стени – никакъв шанс. Историите за гигантски требушети са исторически митове и легенди. Най-малкото трябва да се замислите над следното – дори да са съществували, как са успявали да ги зареждат?
Историята всъщност помни от по-модерни времена дори нападения над крепости със значително по-мощно оръжие – оръдия. Дори в тези битки крепостните стени не са били разрушавани. Крепостите не са се превземали с чупене на стените, а с ресурсно изтощение. Впрочем с „каменохвъргачките“ по-често не са изпращали камъни, а… трупове на животни и части от човешки тела. Идеята е била да пренесат зараза вътре в крепостта и така да пламне епидемия.
Тогава възниква въпроса – а как тогава все пак са били разрушавани крепостни стени? Нали сме виждали такива исторически обекти? Причината най-често е била плячкосване от местното население. Когато дадена крепост спира да функционира местните селяни започват да крадат камъни от стените, за да си градят основите на къщите, а понякога дори властите решават да ги преизползват (например за пътно строителство). Така постепенно крепостните стени изчезват.
]]>Интересното е, че тази игра всъщност си има предшественик. Елизабет Маги Филипс създава играта „The Landlord’s“, която цели да покаже колко лоши са частните монополи. С тази игра тя е целяла да покаже на хората колко зли са собствениците на частни имоти и как наемите вредят на живота на хората. При това е окрасила играта с гледната точка и на ощетяването на жените, което й е било лична кауза).
Играта Landlord’s идва с два вида правила. Първите са такива, в които няма антимонополни закони. При нея се получава така, че всички се избиват един друг, докато накрая само един спечели всичко. Именно това се счита за предшественика на сегашната игра „Монопол“. Във втория комплект с правила имало антимонополни закони, които правят така, че построяването на имот от един човек води до полза за всички на игралната дъска. С това Елизабет е целяла да покаже на хората, че монополите са нещо лошо и да ги поучи как законите могат да регулират нещата в капитализма по такъв начин, че всички да бъдат доволни.
Това, което обаче се случва на практика е, че първия комплект с правила се оказва… много по-забавен за игрална ситуация. Така години по-късно се явява варианта на играта наречен „Монопол“. който приема с леки модификации само първия тип правила. Такава я знаем и до днес. А вторият комплект с правила бил толкова скучен, че вече никой не го ползва. Така се оказва, че Елизабет Маги Филипс завещава на света една забавна игра, в която се пропагандира краен капитализъм, а реално е искала да направи точно обратното – чрез нея да пропагандира идеите на социализма.
]]>Нека е дадена следната таблица:
+--------------+---------------+----------+-----------+ | professor_id | name | position | contract | +--------------+---------------+----------+-----------+ | 1 | Иван Иванов | асистент | срочен | | 2 | Димитър Илиев | доцент | постоянен | | 3 | Тодор Пенков | професор | постоянен | +--------------+---------------+----------+-----------+
В таблицата е записано кой преподавател на каква работна позиция работи и на какъв вид трудов договор работи. Позициите са асистент, главен асистент, доцент и професор, а договорите са срочни и постоянни. Проблемът тук е породен от законодателството на Република България и по-точно „Закон за развитие на академичния състав“. В него има следния текст:
Чл. 17. (Изм. – ДВ, бр. 101 от 2010 г.) Висшите училища и научните организации назначават лица на длъжност „асистент“ на срочен трудов договор.
Оказва се, че в закона не е позволено даден преподавател да е назначен на длъжност асистент и заедно с това да е на постоянен трудов договор. Най-често в практиката програмистите решават проблема чрез съответен код с проверки в приложната програма – не разчитат на промени в дизайна на базата от данни. Въпреки това бихме могли да направим преработка на таблицата чрез нейна декомпозиция, която да гарантира, че този проблем няма да се получи никога:
+--------------+---------------+-----------+ | professor_id | name | position | +--------------+---------------+-----------+ | 1 | Иван Иванов | 1 | | 2 | Димитър Илиев | 5 | | 3 | Тодор Пенков | 3 | +--------------+---------------+-----------+
+--------------+---------------+-----------+ | position_id | name | contract | +--------------+---------------+-----------+ | 1 | асистент | срочен | | 2 | гл. асистент | срочен | | 3 | гл. асистент | безсрочен | | 4 | доцент | срочен | | 5 | доцент | безсрочен | | 6 | професор | срочен | | 7 | професор | бецсрочен | +--------------+---------------+-----------+
Идеята очевидно е да опишем всички възможни позиции и от тук насетне да позволяваме на даден преподавател да заема само избрана конкретна от тях (припомняме, че външен ключ може да приема само стойност, която е равна на съответната по свързания първичен ключ). При положение, че в новата таблица позиция „асистент на постоянен договор“ не съществува, няма да има и как да се назначи преподавател на такава. Това, което направихме, е че създадохме ново множество от допустими стойности (домейн) за позицията на преподавателите, които са точно седем на брой. При това забележете, че не пречи работните позиции да се променят и допълват при смяна на законодателството – това е нещо, което е плюс спрямо решението с проверки в кода на софтуера, защото при него ще се налага препрограмиране на софтуерни продукти. Показаната декомпозиция е привеждането в ДКНФ. Тази нормална форма е по-специална от другите, защото при нея не се дефинират строги и категорично ясни правила, по които да се извърши нормализацията. Дефиницията на ДКНФ гласи следното:
Една релация е в ДКНФ ако всяко ограничение по нея е логическо следствие от дефиницията на нейния първичен ключ и на домейна на атрибутите ѝ.
Тук е важно да се дефинира добре думата „ограничение“ (на английски „constraint”). Авторът Fagin (1981) е имал предвид множествата от допустими стойности, правилата на външен и първичен ключ, функционални и множествени зависимости. Това обаче не включва т.нар. „времеви масиви с информация“ (temporal data) и ограничения свързани с промени на информацията, за които се говори при шеста нормална форма.
Трябва да знаем, че не всяка релация може да бъде приведена в ДКНФ. Ако например приложим ограничение за студентите, което гласи „не можете да записвате повече от четири избираеми учебни предмета за един семестър“, това ще значи, че в евентуалната таблица, в която правим записи за това кой студент какъв предмет е записал, ние трябва да възпрем въвеждането на повече от четири реда с комбинации между факултетен номер и уникален номер на семестър. Подобно ограничение не е следствие от дефиницията за първичен ключ и няма нищо общо с допустимите стойности на колоните на таблицата – следователно това ограничение довежда до нарушаване на ДКНФ и е невъзможност таблицата да се приведе до тази нормална форма.
Както вече казах, няма категоричен алгоритъм за привеждане на релация в ДКНФ. Процесът на нормализация до тази нормална форма е по-скоро творчески, отколкото научен. Такива казуси също рядко се разискват в училище. Хубаво е обаче да се знаят и учителят да има готовност да отговаря на евентуално възникнали въпроси около тях. Понякога учениците добиват чувството, че трябва да се „престарават“ в това да не допускат въвеждане на невалидна информация в таблиците. Именно в такива случаи е възможно да се достигне до питане по проблем, който се разрешава единствено с ДКНФ и учителят трябва да има основна идея за неговото решение.
]]>През 2003 г. Селак на 73 годишна възраст печели 900 000 евро от лотарията. Първоначално си купува две къщи и лодка, но после решава, че няма смисъл от тях, продава ги и раздава парите на свои близки. Сключвал е пет пъти брак през живота си и има едно дете. Умира от старост през 2016 г.
П.П. Дали всичко от горната история е истинска или не, това не е съвсем ясно. Но определено е приятно да ѝ вярваме
]]>Понякога обаче тази тактика не е толкова лесно осъществима. Има софтуерни продукти, които имат имплементирана VBA функционалност, но не пълна. Така например Corel имат доста добра имплементация на VBA в CorelDraw, но не и в другата им популярна програма – PhotoPaint. При PhotoPaint има поддръжка на VBA, но няма запис на макроси във VBA код, а се поддържа по-стар – csc – формат. Той по същество много прилича на код на VBA, но за разлика от VBA се съхранява в отделен файл, а не е вграден във файла с изображението. За щастие кода в csc файловете не е съществено различен и може лесно да бъде трансформиран във VBA код.
Ще дадем още един тривиален пример за употреба на макроси във PhotoPaint. Нека имаме голяма серия от снимки от дигитален фотоапарат с много висока резолюция. Искате да приложите ефект „Auto Adjust“ (автоматично нагласяне на контраста и осветеността) и да намалите размера на снимките, за да станат удобни за качване в уеб сайт. За целта ще покажем автоматизация с Corel PhotoPaint. Първо копираме снимките си в една работна директория:
Отваряме една от снимките с Corel PhotoPaint. След това пускаме запис на макроса от Windows > Docers > Recorder:
Натискаме бутона „Record“ в дъното на екрана, за да започне запис на макроса:
Първо правим ефекта „Auto Adjust“:
След това правим Image > Resize и избираме необходимата големина – в примера искаме да намалим снимките на 50%:
Натиснете бутона стоп, след което запаметете макроса:
Ще се появи диалогов прозорец, в който трябва да укажете името на csc файла. Съхранете го в някоя директория на хард диска.
]]>Както е известно, до освобождението на България от османско робство българските учебници са били печатани почти изключително в чужбина. Значителна част от тях са издавани в Румъния – „гостоприемна страна на свободата“, както казва Бойчо Огнянов — главният герой на Под игото.
Първият учебник по математика, напечатан в Румъния, е именно Болгарска аритметика на Хр. Сичан Николов, след която в 1858 г. също в Букурещ Тодор Т. Хрулев издава Книга по аритметика. През 1864 г. излиза един учебник от Тодор Икономов в Букурещ и друг от С. Костов в Браила, след което в 1873 г. Христо Ботйов издава своите Уроци.
В Дунавските княжества с относителна независимост от Турция учебници по математика започват да се издават малко по-рано. Първият учебник, напечатан през 1795 г. в Яш, е Elementi aritmetice от епископ Амфилохий Хотиниул. В началото на миналия век в Букурещ и Яш са били разпространени няколко десетки ръкописи по математика: оригинални копия и преводи от френски, от които десетина се съхраняват в богатата университетска библиотека в Яш. През периода 1830—1845 г. на румънски биват издадени редица учебници по математика, съставители на които са известни културни деятели като Г. Асахи в Яш, Г. Лазар и Й. Елиаде в Букурещ или Г. Поп и П. Поенару от Колежа „Св. Сава“ и т. н.
В тази именно библиотека открихме и споменатата аритметика на Николов, точното заглавие на която е: Болгарска аритметика, сочинена от Хр. К. Сичан Николов. Букурещ, напечатана у Йосифа Копайнига, 1845.
За автора на Болгарска. аритметика Хр. Сичан Николов можем да кажем много малко: само това, което той казва за себе си в предговора: „Аз в Рилский монастир съ упражнявах седм години в писаниа наш язик сиреч славянския, поучих го после и в немско мало време“. В по-голямата си част уводът представлява интерес само за филолози, тъй като в него е направен опит да се сравнят българските диалекти и сръбския език.
Авторът си поставя за цел в Аритметика да даде най-употребяваните в България единици — пари и мерки. В общи линии той постига целта си. Примерите на единици мерки са аршин, ока, растег, грош и техните подразделения, но някои примери съдържат и други мерки: уврати, нозе, талири, дукати и др.
Болгарска аритметика на Николов е практическо ръководство, в което всички правила са много ясно изразени и многократно разтълкувани в примери и задачи. Така например за тройното правило авторът отделя повече от 35 страници, в които са дадени 50 решения, от тях 20 от сложно тройно правило. От начина и метода на решаването на примерите, от подреждането на сметките, от дадените обяснения се виждат доста големият педагогичен опит и дидактичните дарби на автора.
Цялата книга е съставена по евристичния метод (въпроси и отговори), система, твърде разпространена по онова време. Така например Амфилохиевата аритметика и кратката аритметика на Г. Поп, издадена през 1839 г. в Букурещ, са съставени по същата метода.
Ето в няколко думи съдържанието на Болгарска аритметика. След главата „Заради числението“ идват „Числителните деяния“ с цели числа и задачи за най-голям общ делител. Отново се дават дефиниции на действията с „дробения“, „десетните дробения“ и „смешените числа“, след което следва „заради силите и корените на числата“, „заради изведението на четвероуголните корени“ и „кубическите корени“. След кратък увод „за сравнение или разност“ се минава на тройното правило, лихвите и „содружество и за смешенията“. Учебникът съдържа също и забавна математика, шифроване на писма, отгатване на числа и една таблица със старогръцки, български, латински, турски и арабски цифри. От последните единадесет страници, които съдържат имената на 310 фамилии, предплатили абонамента за аритметиката, съдим за тиража ѝ, който за него време е бил доста голям — повече от 552 екземпляра.
От направените изследвания за източниците на книгата на Амфилохий се установи, че той е ползувал три книги: Elementi aritmetici от А. Конти, Almanacco perpetuo от Бенинказа-Белтрано и един учебник по селска икономика. За вероятни източници на Болгарска аритметика можем да считаме Кратка аритметика на Г. Поп и Аритметика на Франкьор. Аритметиката на Франкьор не съдържа въпроси и отговори и е много сбита. Оттук Николов вероятно е използувал само някои примери и задачи. Така например в параграфа за извличане на квадратен корен намираме единадесет еднакви в двете книги примера, а при тройното правило от големия брой задачи у Николов — само десет от книгата на Франкьор. По наше мнение не само тези две книги са източници на Болгарска аритметика, тъй като в нея има още около сто задачи, които липсват и у Поп, и у Франкьор. Възможно е голяма част от тях да са съставени от автора. Така например на с. 11 четем: „Колумб найде Америка на 1492 п. Р. X.; колко години са оттогава до днес?“ и „ 1845—1492=353“. Тук авторът прави една методична забележка: „Учителите са должни, като покажат един пример на учениците от аритметиката, да ги карат да прават подобни примери от само себе си, за да може лесно да им се укорени оний пример в главата и тако да придават на напред степенно от пример на пример“. На стр. 19 също така има: „1844 години колко са дни“ или на 20 стр. има задача „Един путеходец ходи 9 часа на ден и стига от Филибе до Цариград за 8 дни, колко часове са от Филибе до Цариград?“.
Авторът дава и редица задачи, необходими за общата култура на децата по география (за повърхността на континентите — с. 8), по история (за „вехтия календар“ — с. 48), по физика (падането на камъни — с. 46), по химия (за барута — с. 136).
Интересни са също така задачите за пресмятане на наследство (изобщо, както и по арабския обичай), занимателни задачи за едно каче със сирене и мишки (с. 101), за мехове с маслинено масло, натоварени в един кораб (с. 124). Тези задачи са малко известни и те биха облекчили издирването на други източници, използувани от Николов. Накрая ще се спрем малко повече върху една привлекателна задача, която и до днес не е загубила значението си (с. 119). „За да се направи прекоп от Дунав до Черно море, гдето мястото е най-тясно и право, требува да се изкопаят до 150 000 нозе должина, 12 ширина и 60 нозе долбина. Един человек може да изкопае на ден 15 нозе должина, 3 нозе долбина и 3 ширина. Колко человеци требуват, за да окончат прекопа за 210 дни?“. Само в тази задача се използува като мярка за дължина „нозе“, което може да облекчи намирането на източника ѝ. Дължината на канала, където мястото е най-тясно и най-право (т. е. по дължината на реката Кара-Су), дадена в задачата, е близка до действителността, ако приемем, че стъпалото има 31 см и ако хората работят по 10 часа на ден и почвата не е скалиста. Дадената дълбочина на канала също така е близо до дълбочината на Дунава. Предполагаме, че тази задача е била взета от някой алманах от онова време. Ето едно възможно обяснение: появата на параходи по Дунава и Черно море и развитието на търговията между държавите, разположени край Дунав и другите страни, поставила злободневния въпрос, да се осигури постоянен излаз към морето, като се изчисти делтата на Дунава или се прокопае подходящ канал. Както знаем, впоследствие, през 1856 г., била образувана Дунавска европейска комисия. Спряхме се малко повече на тази задача, защото не предполагаме, че авторът ѝ я съчинил, а също и за да подпомогнем издирването на други източници, с които е разполагал Николов. Също с тази цел нека обърнем внимание и на една твърде рядка таблица за степени (с. 72). Такава таблица намерихме само в последното издание (1850) на Рационална аритметика, на Г. Поп. Можем само да допуснем, че тя фигурира още в първото издание от 1831 г. За съжаление досега не сме открили нито един екземпляр от това първо издание.
Във връзка с това нека отбележим непоследователността на Николов в главата за степени и корени и в параграфа за най-голям общ делител, за намирането на който авторът дава алгоритъма на Евклид (рядко явление за онова време). Той обаче не прави никакви приложения на дадените пра- вила, нито за изчисляване на лица, на обеми, нито за измерване на бъчвите, което срещаме например у Амфилохий.
Накрая нека споменем, че ни учуди фактът, че за числото 1000 Николов употребява старославянската дума „тысящи“ и не споменава народната дума хиляда (гръцка по произход). Може би тук има руско влияние в терминологията. Би било интересно да се сравнят първите български аритметики по отношение на терминологията им и влиянието на по-старите върху новите.
]]>Бурното развитие на физическата и математическата наука през последните години наложи през 1971 година разделянето на Българското физико- математическо дружество на две самостоятелни дружества: Дружество на физиците в България и Българско математическо дружество. Благодарение на създалите се условия в резултат далновидната политика на БКП Българското математическо дружество е превърна в мощна организация и извърши голяма и ползотворна работа във всички области на математиката за нейното преподаване и приложение, сто най-широка обществена организация на математиците, обединила в своите редове повече от 4000 членове в 50 секции, БМД активно подпомогна комплексното решаване на въпросите, свързани с развитието на математиката. : с целта то привлече и използува целия научен потенциал в областта на математиката, нещо, което не е по силите на нито едно отделно ведомство или институт.
Многостранната ползотворна дейност на БМД получи висока оценка от партията и цялата наша общественост. С решение на Секретарията на ЦК на БКП дружеството се реорганизира в Съюз на математиците в България.
На 6 април 1977 г. във Варна се проведе Учредителният конгрес на Съюза на математиците в България. В работата му участвуваха 356 делегати. Гости на конгреса бяха др. Атанас Попов — зам.-заведущ отдел „Наука и образование“ на ЦК на БКП, Геновева Михова — секретар на ОК на БКП — Варна и други представители на варненската общественост.
Конгресът беше открит с встъпително слово от проф. Спас Манолов, който обяви дневния ред и предложи състава на работните комисии.
Др. Веселин Диков — председател на комисията по пълномощията, докладва, че от избраните 384 делегати на конгреса присъствуват 356, следователно учредителният конгрес има необходимия кворум и може да взема решения. Веднага след това конгресът прие първото си решение:
След това акад. Любомир Илиев прочете следното приветствено писмо на др. Тодор Живков, първи секретар на ЦК на БКП и председател на Държавния съвет на НРБ:
Драги, другарки и другари делегати,
С чувство на вълнение от името на Централния комитет на Българската комунистическа партия, Държавния съвет и правителството и от свое име приветствувам вас, представителите на внушителния отред на българските математици — научни работници, преподаватели, учители, специалисти, а чрез вас и цялата математическа колегия по случай учредяването на Съюза на математиците в България.
Нас искрено ни радва всяка нова проява на българските математици на попрището на фундаменталните изследвания, в развитието и все по-широкото приложение на математическите методи и електронноизчислителната техника в подготовката на висококвалифицирани кадри. Иначе не може и да бъде. Математиката — това дивно творение на човешкия гений, е наука не само на миналото и настоящето, тя е наука и на бъдещето, наука, която придобива все no-нарастваща роля в научното познание, в разгръщането на научно-техническата революция, в управлението на производството и другите сложни процеси на обществената практика, в строителството на социализма, и комунизма.
Убеден съм, че като no-висша форма на обществена организация Съюзът на математиците ще продължи и ще издигне на по-високо стъпало плодотворната дейност на досегашното Математическо дружество, ще даде нов тласък в развитието и приложението на математиката.
Нека неуморните труженици на нашия математически фронт и занапред да влагат сили, знания и творчество, за да се множат успехите ни в борбата за органическото съединяване постиженията на науката и научно-техническия прогрес с предимствата на социалистическия строй, което изисква да се решават проблеми, свързани с разработването и прилагането на методите на математическото моделиране в научното познание и практиката, с развитието на електронноизчислителната техника и нейното математическо осигуряване, с механизацията и автоматизацията както на отделни технологически процеси, така и на, цели производства, с внедряването на кибернетични принципи в управлението.
Нека със своята разностранна и съдържателна дейност вашият съюз и българските математици допринасят да се утвърждава, разширява и обогатява държавно-общественото начало в управлението на научно-техническия прогрес и образованието, да се прилагат no-съвършени принципи и форми на интеграция между науката, практиката и подготовката на кадри, да се формират оригинални български школи в научното творчество, изобретателската мисъл и конструкторското дело, да се повишава отговорността на математиците за икономическото развитие и духовното израстване на нацията, да се завоюват нови върхове в научното и техническото ни сътрудничество _ други страни и особено със Съветския съюз.
С лице към поставената от Единадесетия конгрес на Българската комунистическа партия, стратегическа задача за постигане на високо качество и висока ефективност — такава е повелята сега и в областта на математиката, на нейното изучаване и многостранно използуване в изграждането на развито социалистическо общество!
От сърце желая ползотворна работа на вашия конгрес!
Да ни е честит, другарки и другари, новоучреденият Съюз на математиците в България!
На добър път!
Приветствието на др. Тодор Живков беше изслушано с голямо внимание и изпратено с бурни ръкопляскания. Приветствие от името на Министерството на народната просвета прочете първият зам.-министър на МНП доц. Александър Гьонов, ст. н. с. Петър Бърнев прочете приветствието на акад. Кирил Братанов, председател на Съюза на научните работници. Приветствие от името на Дружеството на физиците в България поднесе ст. н. с. Николай Николов.
От името на Бюрото на учредителния конгрес доц. Геро Геров направи предложение досегашните почетни членове на СМБ: Любомир Чакалов, Никола Обрешков, Кирил Попов, Иван Ангелов, Димитър Табаков, Аркади Стоянов, Асен Попов, Атанас Дяков, Александър Иванов, Никола Стоянов, Божин Трайков, Борис Адамов, Боян Петканчин, Георги Брадистилов, Петко Петков, Александър Николов, Никола Нинов, Симеон Данчев, Любен Атанасов, Слав Дърленски, Коста Христов, Петър Пенков, Димо Димов, Стоян Колев, Тянко Христонов, Христо Радоев, Иван Петров — да бъдат обявени и за почетни членове на СМБ. Предложението беше прието единодушно.
С пълно единодушие и ръкопляскания конгресът изпрати телеграма до ЦК на БКП. Основен доклад за целите и задачите на Съюза на математиците в България изнесе акад. Л. Илиев, председател на Българското математическо дружество.
С решение № 649 от 15 юли 1976 г. Секретариатът на ЦК на БКП дава съгласие Българското математическо дружество да прерасне в Съюз на математиците в България. В годината на XI конгрес на БКП, непосредствено след Юлския пленум на ЦК на БКП българската математическа колегия е почетена с изключително внимание от партията! Необходимо е дълбоко разбиране и осъзнаване на този факт, отразяващ отношението към ролята и значението на науката, към ролята и значението на математиката в изграждането на социалистическото общество у нас.
На 17 октомври 1971 г. от бившето Физико-математическо дружество в България се отдели като самостоятелно Българското математическо дружество. През ноември 1973 г. беше чествувана 75-годишнината от основаването на Физико-математическото дружество. Създадено от група физици и математици с възрожденски плам в края на миналото столетие, поддържано като софийско дружество главно от прогресивни физици и математици в миналото, днес то се онаследи от Дружеството на физиците в България и Математическото дружество в България. Само Математическото дружество обединява 4000 членове в 50 секции.
Като всички други области нашият математически фронт се изгражда системно след победата на социалистическата революция у нас. Априлската линия на БКП, развита и направлявана от др. Тодор Живков, осигури комплексна стратегия за развитието на социализма в нашата страна. Конкретните програми за това развитие се разработват от конгресите на БКП и от пленумите на ЦК на БКП. Ние сме свидетели как тези програми осигуриха след X конгрес дълбокото ни навлизане в изграждането на развитото социалистическо общество. В рамките на цялостната социална политика партията разработи и политика за научните изследвания, като постави задачата науката да се превърне в производителна сила на социалистическото общество.
Тази политика винаги е била насочена към съединяване на предимствата на нашия обществен строй с постиженията на научно-техническата революция, към осигуряването на траен творчески съюз между науката и общественото развитие. Непосредствено следствие от тази политика е мястото на науката, определено от XI конгрес на БКП в решаването на основната задача на 7-ата петилетка — задачата за решително повишаване на ефективността на икономиката, за подобряване на качеството на продукцията, за повсеместна интензификация на производството. Динамичното и пропорционалното развитие на народното стопанство, все по-пълното задоволяване на материалните и духовните потребности на народа повишаването на производителността на труда са постоянна грижа на БКП и са немислими без ускореното внедряване на научно-техническите постижения, без по-нататъшното интензивно развитие на научния фронт и без повишаването на ефективността на научноизследователската дейност в областта на обществените, природните и техническите науки.
Юлският пленум на ЦК на БКП от 1976 г. утвърди доклада на др. Тодор Живков за всестранното реализиране на решенията на XI конгрес на БКП, за последователното прилагане на ленинските принципи в областта на социалната политика и осигуряване на висока ефективност при строг режим на икономии при използуване на трудовите, материалните, финансовите и валутните ресурси на страната. Проблемите, които стоят пред математиката през седмата петилетка, имат пряко и основно значение за ефективността на научните изследвания в другите науки, техните приложения и развитието на обществената практика. Математиката в нашата страна е готова да приеме тези задачи, защото изхожда от високото и зряло ниво, на което я постави съветската математическа наука. Развитието на математическия фронт в нашата страна съответствува на развитието на зрялото социалистическо общество у нас и това зряло развитие позволява да се поставят и решават в национален мащаб проблемите:
Ролята на математиката за ефективността на природните и обществените науки; Математиката и техническия прогрес; Математиката и образованието; Закономерностите за развитието на математиката. Необходимо е именно пред най-общия форум на математиците в България, макар и най-общо, да се поставят проблемите за математиката в съвременната епоха и в нашето развитие. Ролята на математиката се очертава във връзките ѝ с другите науки и общественото развитие. Математиката винаги е обслужвала материалното и духовното изграждане на всички епохи със съответствуващи за техните нужди нови и унаследени универсални математически средства.
Нуждите на съвременното общество революционно се различават от нуждите на миналите епохи. Трябва веднага да се каже, че и математиката има революционно нови възможности за тяхното обслужване. Представяйки сама основа за създаването на изчислителната техника, математиката превърна нейната експлоатация в мощен математически метод — в технически апарат на математиката за изследване на математически модели и кибернитични процеси.
Същевременно през последните 50 години тя разви до съвършенство абстрактния апарат на математическите структури. Досега главното внимание у нас е било насочено към създаването на изчислителната техника. Приложението обаче на математическите методи в другите науки и обществената практика, математическото моделиране на процесите им променя със скок ефективността на тяхното развитие и приложение. Тези революционни процеси в науката са много силни в компютърния стадий на математическото моделиране, когато се използуват абстрактният и техническият апарат на математиката.
Проблемите за ефективността на фронта на науката следователно са свързани с експлоатацията на изчислителната техника чрез компютърно математическо моделиране. Решенията на XI конгрес на БКП и Юлския пленум от 1976 г. на ЦК на БКП изискват да се постави въпросът за развитието на математиката именно във връзка с ефективността на научния фронт и на социалната система у нас. Тази постановка изисква да се разбере основно какво е станало и какво трябва да стане на фронта на математиката.
1. В нашето съвремие постепенно цялата математика, всичките ѝ области се съединяват с изчислителната техника, с компютърната наука.
Получава се единен абстрактен и технически апарат на математиката, чрез който математиката и изчислителната техника навлизат в другите науки и приложенията. Получава се възможност за компютърно математическо моделиране в другите науки и практиката. Това явление отговаря на най-съвременното състояние на науката и постепенно ще обхване съвременната математика в световен мащаб. То беше започнато в Новосибирск.
В съвременната епоха именно се очертава като доминиращ в науката следният
Принцип А. Математиката, компютърната наука, другите науки и практиката са съединени комплексно при компютърното математическо моделиране на проблемите им.
Този принцип обуславя ефективността на науката и практиката в нашата епоха.
Този принцип като уникално решение изцяло е приложен в развитието на математиката у нас. Това решение обуславя досегашното ни развитие в областта на математическия фронт и е основа за осъществяване в бъдеще на най-прогресивни тенденции. По тези възможности ние сме в челния фронт на съвременната наука. Това състояние беше постигнато под прякото ръководство на съветската наука и многостранното сътрудничество с академиите на науките на социалистическите страни.
Реализирането на Принципа А обаче е проблем на цялата съвременна наука. Все повече се утвърждава следната съвременна картина. Ако влезете в един изследователски институт, приложен институт, висше учебно заведение, средно училище, класове за даровити деца, дори предучилищни класове, и то в което и да е направление на науката, производството и образованието да бъдат те, ще видите много десетки, дори много стотици терминали, свързани с изчислителни центрове. Информацията за всяка системна дейност се обработва по този начин. Стотици студенти едновременно, и то от всички специалности, стотици научни и помощни сътрудници, и то на институти от различни науки и ведомства работят едновременно с терминали, свързани с изчислителни устройства. Съвременните изчислителни устройства представляват хардверно нагодени системи за включване в тях, за работа в режим на разпределено време, едновременно, чрез терминали, на редица потребители. Една такава система може да бъде съставена от едно устройство с терминали за един институт, група от институти или учебно заведение. Една редица от такива устройства обаче, свързани помежду си, могат да образуват мрежа за работа в режим на разпределено време от потребители на един район, на една държава, на един континент или дори за междуконтинентални връзки. Връзките на някои такива мрежи се поддържат чрез изкуствени спътници. Към такава една мрежа могат да се включат отделни устройства системи цели други мрежи. И най-малките такива изчислителни устройства системи имат възможност за включване на стотици терминали. При оптимални условия, без изчакване на приоритет, на един миникомпютър могат да работят едновременно 32 терминала. Това обуславя следния
Принцип В. Математическата обработка на информацията във всички звена се извършва в системи (и мрежи) за работа в режим на разпределено време с терминали.
На пръв поглед при тази постановка изглежда, че са пренебрегнати фундаменталните изследвания. В действителност те се поставят на преден план, защото всичко казано следва от следния
Основен принцип. Бъдещето на математиката е във връзките ѝ с другите науки, а бъдещето на другите науки е в математическото моделиране на процесите, които изследват.
Дори за развитието на най-фундаменталните изследвания в самата математика вече е необходима изчислителната техника. Да напомним, че само преди месеци с помощта на изчислителната техника беше решен проблемът за четирите бои.
Изложените принципи представят една основна характеристика на съвременната наука. Те обуславят проблемите за математическото моделиране и автоматизацията във фронта на науката. Българската математическа наука притежава кадри и е готова да приложи и тия принципи във всички сфери на своите дейности в средните и висшите учебни заведения, в научните институти, във ведомствата и предприятията на нашата страна. Осъществяването на тия възможности е резултат на правилното профилиране на математическия фронт в нашата страна, на развитието в равновесие: единство на всички основни комплексни направления на съвременната математика и техните главни еднородни сектори.
Линията на развитие на математиката у нас доведе още през 1968 г. до постановката: „Етапите на развитие и състоянието на математиката в световноисторически мащаби са достигнали до кристално ясна обозримост. Три крупни явления в математическите науки се отразяват в развитието на всички науки и съзнателни човешки дейности на съвременното общество: строежът и реализацията на математическите структури, математическите основи на изчислителната техника и кибернетиката, математическото моделиране.“ (Л. Илиев. „За развитието на математическите науки“. Списание на БАН, 1968 г., кн. 3, 3-33).
Комплексното направление Универсални математически структури или универсални математически теории обхваща структурите на анализа и основните структури на алгебрата, топологията и логиката. Тяхната универсална общност позволява да се осъществяват реализации, изоморфизми на обекти и явления вътре и вън от тях от най-различен характер — от изоморфни научни теории до съвременните изчислителни устройства. Чрез апарата — операциите на универсалните структури, се извличат следствията — свойствата на построените изоморфизми-модели. Комплексното направлене Математически основи на изчислителната техника и кибернетиката обхваща математическото осигуряване на изчислителните устройства и мрежи — основно осигуряване, алгоритмични езици и транслатори, пакети от програми и генериращи автоматизирани системи. По същество това представлява автоматизиран алгоритмизиран апарат на математиката, който се реализира чрез изчислителни устройства. Математическото моделиране обхваща, от една страна, развитието на изградените върху универсалните структури ориентирани структури — стохастични науки, оптимиране и числени методи, като ориентиран апарат за обработка на информацията. От друга страна, моделирането обхваща създаването на модели и системи с помощта на математическите теории за извеждането на следствията от тях — обработката на включената информация с помощта на целия математически апарат — абстрактен и технически. Математическото моделиране обхваща процеса на математическото описание на явленията и на математическата обработка на включената в него информация до получаване на следствията от моделираните явления.
Развитието на математиката като съставена от три комплексни направления, като камплексно единство от тях, като наука с тези три съставки представя основата на нашите възможности при изграждането на математическия фронт в страната — Принцип С, напълно овладян от нас, който допълва Принципа А.
2. Развитието на математическите направления обаче представя само базата за осъществяване на различните слоеве от математически дейности.
Фундаменталните математически резултати и изследвания във всички математически направления обогатяват универсалните структури. Чрез техните многократни изоморфни реализации се осъществява крупен мултипликационен ефект — в науките, в техниката, в обикновената практика. Развитието на математическите теории в България има традиционно високо международно ниво, осъществяващо непрекъснато постижения с международно признание. Нашето участие във възпроизводството на международната математическа наука е системно и общопризнато. В това се изразява базовият ешелон на математиката в нашата страна.
Създаването с помощта на математическите теории на алгоритмичните езици, транслатори, пакети от програми, генериращи автоматизирани системи, всеки от които представя математически агрегат, представя ешелонът за математически агрегати. Един пакет от програми може многократно да се използува на различни места и за различни обекти. Една генерираща автоматизирана система може непрекъснато да генерира нови системи. Независимо от този мултипликационен ефект те могат да се вграждат в сложни системи. С помощта на математическите теории и техните реализации и с помощта на математическите агрегати се строят математически модели и сложни системи. С помощта на абстрактния и технически апарат на математиката се получават новите следствия от тях — извършва се математическа обработка на включената в тях информация. Това е ешелонът на модели и системи в математиката. Нашият фронт на математиката не само е готов, но и извършва интензивна дейност в тези области.
Профилирането и ешелонизирането на математическите дейности в страната определя пространствените размери на математическия фронт у нас. Тези дейности определят степента на ефективност на другите науки — обществени и природни — и на техническия прогрес; проблемите на автоматизацията. Те регулират процеса на средното и висшето образование.
3. Навлизането на една наука в етапа на математическото моделиране на изучаваните от нея процеси е революционно явление в нея.
Математическото моделиране променя със скок ефективността на нейното развитие и приложение. То дава именно възможност от началното състояние на явленията да се проследи процесът изцяло — във всеки момент. Революционните процеси в науката са много бурни в компютърния стадий на моделирането и специално, когато една наука навлезе направо в стадия на компютърно математическо моделиране. Историческите революционни явления в астрономията, механиката и физиката са резултат на достигането на стадий на математическо моделиране след изграждането на съответния математически апарат. Техническата реализация на логико-математически модели създаде изчислителната техника. Това осигури компютърния стадий на науките и автоматизацията на овладените умствени и физически процеси. По същество това е съдържанието на научно-техническата революция в нашата епоха.
Всеки път, когато математиката се обогати с нов апарат, тя получава нови възможности за моделиране на процесите в частните науки; за навлизане на моделирането в нови науки. В такъв случай с нейните възможности става скок, който се отразява в другите науки. В същност появата на нов апарат в нея означава, че е получен нов универсален абстрактен модел като отражение на обективната реалност, на обектите на другите науки. Така чрез взаимна връзка между математиката и другите науки се осъществява тяхното взаимно развитие — приложение на Основния принцип.
В световен мащаб почти всички науки и човешки изследвания са вече достигнали възможността за навлизане в компютърния стадий. Експлозивно развитие се очаква в биологическите и икономическите науки, където моделирането започва направо от компютърния стадий. Основни проблеми в тези дейности са проблемът за кадрите и проблемът за съвършеното техническо оборудване.
4. Благодарение на усвоените принципи за изграждането на математическия фронт у нас проблемът за кадрите при компютърното математическо моделиране е овладян процес.
Известно е, че университетското образование по математика у нас
а) съответствува на съвременното профилиране на математическата наука,
б) удовлетворява всички нужди от специалисти в нашето развитие,
в) поради това то е степенувано и профилирано.
Върху широка база именно през първите три години то се профилира за специалисти в производството, образованието в средните училища и възпроизводствените дейности в страната. Поради всичко това беше възможно то да се уеднакви в базата си с образованието в МГУ. Съществената му характеристика обаче е, че то е изградено съгласно Принципа А. Това е новото, това е същественото в нашето развитие.
Образованието през първите три години по цялата математика, за всички бъдещи специалисти в кое да е направление е съединено с компютърната наука, с информатиката. Така се създаде „Базовият комплекс на съвременната математика“ в нашето обучение през първите три години. Базовият комплекс обхваща Универсални структури, Математически основи на изчислителната техника, Моделиране, Основни структури, Структури на анализа, Диференциални уравнения, Геометрия, Информатика, Числени методи, Теория на вероятностите, Математическа статистика, Оптимиране.
Пълното усвояване на базовия комплекс на съвременната математика и профилирането на университетското образование е процес, който беше овладян изцяло през шестата петилетка в ЕЦНПКММ. Сега всеки завършил при нас математик е специалист по информатика. Това осигури:
г) еднакъв научно-математически поглед на всички специалисти по математика — в производството, средните училища, в научните институти и ВУЗ,
д) унищожи поляризацията между различно профилираните специалисти, делението на „чисти“ и „приложни“ математици,
e) осигури лесното преквалифициране на кадрите,
ж) владеенето на информатиката от всеки математик го прави винаги използуваем, реализуем даже тогава, когато е сбъркал или надценил възможностите си в кой да е профил.
Постепенно тази система на обучение обхваща подготовката на математиците и от другите университети в страната. Базовият комплекс на съвременната математика обаче на съответно логическо ниво и със съответен обем и профилиране за неспециалисти трябва да бъде основата за преподаването на математиката в нематематическите ВУЗ. Целта на образованието във ВУЗ в настоящата епоха е специалистите от всички науки, които изучават математика, да станат специалисти и по информатика.
Оказва се, че принципите да обучението по математика във ВУЗ за специалисти и за неспециалисти са еднакви. Всичко това осигурява възможността тия явления да се отразят в средното образование. От една страна, съвременният учител по математика, получил специализация учител след общата математическа база, има общ поглед с останалите математически кадри по математика в страната и познания информатика. От друга страна, учителите по редица други дисциплини ще имат познания по информатика. С тази система на обучение нашият математик в производството, математик учител и математик за възпроизводствените дейности е оформен най-съвременно. Той е същевременно и математик — специалист по информатика. Нашата математическа колегия се разслоява на три слоя съгласно съставките на съвременната математика, които обаче са здраво споени в едно чрез базовия комплекс на съвременната математика. Необходимо е те да намерят връзка със специалистите от другите науки посредством информатиката. Това ще допринесе за създаване на комплексно единство в частнонаучната подготовка наред с общо мирогледното единство на кадровия потенциал от специалистите в страната, ще осигури прилагането на комплексно-целевия подход във всички области на науката.
5. Чрез изпълнението на крупни национални програми с дейностите във втория и третия ешелон на математическите науки математиците в нашата страна участвуват интензивно в създаването на материалната база и средства на изчислителната техника и автоматизацията.
Впрочем математиците у нас са инициатори за създаването на изчислителната техника във всичките ѝ аспекти: производство, експлоатация, математическо осигуряване. На настоящият етап у нас има достатъчно изчислителна техника, която при подходяща организация, по-нататъшно правилно попълнение и подмяна и след правилно насочване на производството би могла да удовлетвори съвременните нужди на страната. Всички тези особености и възможности на съвременната математика и на нашия математичен фронт оправдават грижите и надеждите към математическите науки в нашата страна.
6. В цялостната система на развитието, преподаването и приложението на математиката Българското математическо дружество има голяма и съществена роля.
БМД е най-общата, обхващаща всички дейности в сферата на математиката обществена организация. Днес голяма част от дейностите, свързани с математиката, се провеждат с прякото участие или под ръководството на дружеството. Чрез БМД се осъществява единството на административното и общественото начало.
За да участвува успешно в решаването на всички задачи, трябваше БМД да се преструктурира в стройна единна система по извършване на дейностите с републикански и местен характер. В продължение на 1975 г. Бюрото на ЦР проучи опита на различни секции в по-големи и по-малки центрове и се запозна с начина на работа и проблемите, стоящи пред секциите. За целта бюрото проведе периодически обсъждания на работата на отделни секции, като на свои заседания канеше съответните секционни ръководства. Също така членове на бюрото или цялото бюро посещаваха отделни секции и са се запознавали на място с работата им.
В резултат на извършените проучвания Бюрото на ЦР констатира, че е назряла необходимостта от създаване на единна система на основните дейности на дружеството. Тази система трябва да унифицира работата на всички негови звена в цялата страна. Първият доклад, съдържащ основните концепции и идейния проект на такава система заедно с две нейни подсистеми, беше обсъден на пленума на дружеството по време на пролетната конференция през 1976 г. в Габрово. След решението за прерастване на дружеството в съюз работата при новите изисквания продължи със засилени темпове. Окончателен проект за Система на основните дейности на Съюза на математиците в България беше приет на Пленума на дружеството през януари н. г. Този проект е предложен за обсъждане и утвърждаване на Учредителния конгрес на съюза. Той беше разпратен на делегатите един месец преди конгреса. От него могат да се видят изключително многобройните, сложни, отговорни, комплексно свързани и същевременно високоблагородни, идейни, хуманни дейности на нашата математическа колегия. Цялата наша колегия е в дружеството — бъдещия съюз. Всички дейности в областта на математиката се вършат от хора, които участвуват в съюза. Повечето от служебните задължения се извършват съвместно със съюза и неговите секции. Там, където свършват служебните дейности, работата попада в ръцете на нашите членове и секции. Като се започне от цялостно изградената мрежа за подпомагане, насочване, селекциониране дори на деца от предучилищна възраст с повишени интереси и се стигне до участието във всички научни мероприятия и приложни дейности в страната, единната обществена организация на математиците в България дава своето решително участие.
Заедно със Системата за дейностите на съюза на конгреса са предложени да бъдат одобрени и четири нейни подсистеми: Система за финансиране и отчетност в поделенията на съюза, Система за провеждане на курсове за кандидат-студенти в страната, Система за международното сътрудничество на съюза и Система за провеждане на пролетните конференции на съюза. Приемането на тези първи 4 системи ще регламентира приложението им в цялата страна. Конгресът ще трябва да приеме, разбира се, и Устав на съюза, за който също е предложен проект, обсъден на нашия януарски пленум.
Окриляни от вниманието и доверието на ЦК на БКП, от изключителните указания и помощ лично на първия секретар на партията и председател на Държавния съвет другаря Тодор Живков, познавайки и обичайки нашата работа, ние, математиците в България, с ентусиазъм приемаме новия етап в нашето развитие и с увереност виждаме резултатите, които ще осъществим.
* * *
В обедната почивка делегатите и гостите на конгреса поднесоха венци пред варненския пантеон на падналите в борбата против капитализма и фашизма. Следобедното заседание беше председателствувано последователно от ст. н. с. Петър Б ъ р н е в, проф. Алипи Матеев и доц. Дочо Дочев. Конгресът изслуша и одобри доклада на Централната ревизионна комисия на БМД, прочетен от др. Николина Попова. Доклад на комисията по проекта за Устав на СМБ изнесе доц. Г. Геров. След станалите обсъждания и гласуваните поправки конгресът единодушно прие внесения проект.
Учредителният конгрес единодушно одобри системата за основните дейности и административно-финансовата система на съюза. По доклад на доц. Запрян Запрянов беше обсъдена и приета подсистема за международната дейност на съюза. Н. с. Христо Хитов докладва подсистемата за организиране и провеждане на пролетните конференции на съюза, която беше приета единодушно. Подсистемата за организацията и работата на курсовете за кандидат-студенти беше докладвана от др. Константин Петров и приета без изменения.
По предложение на проф. С. Манолов, председател на комисията предложение за ръководни органи на съюза, конгресът избра единодушно централно ръководство от 57 членове и централна контролно-ревизионна комисия от 5 членове, а именно:
Централно ръководство: Александър Гьонов, Александър Михайлов, Александър Николов, Алипи Матеев, Атанас Атанасов, Благовест Сендов, Боян Пенков, Боян Петканчин, Васил Коларов, Веселин Диков, Веселин Спиридонов, Владимир Георгиев, Георги Тотов, Георги Брадистилов, Геро Геров, Грозю Иванов, Димитър Димитров, Димитър Мутафчиев, Димитър Шишков, Димо Ангелов, Дочо Дочев, Друми Байнов, Евтим Божоров, Елеонора Тумбева, Запрян Запрянов, Иван Тренков, Иван Янчев, Иван Ганчев, Иван Иванов, Иван Драганов, Иван Тюфекчиев, Константин Петков, Коста Коларов, Лиляна Матеева, Любомир Илиев, Минчо Колчев, Митьо Песев, Младен Карадимов, Недялко Павлитов, Николай Стоянов, Николай Шополов, Нино Ставров, Петко Петков, Петко Арнаудов, Петър Бърнев, Петър Петров, Петрана Димитрова, Райко Петров, Рашко Ангелинов, Руси Русев, София Димитрова, Спас Миланов, Стоян Стоянов, Тодор Чимев, Тодор Моллов, Тодор Маринов, Христо Хитов.
Централна контролно-ревизионна комисия: Ани Барбарова, Елисавета Огнянова, Николина Попова, Стоян Попратилов, Стоян Матеев.
На проведения непосредствено след закриване на конференцията пленум на централните органи на съюза ЦР на СМБ избра Бюро на ЦР в състав: председател акад. Любомир Илиев, зам.-председатели проф. Алипи Матеев, проф. Спас Манолов, ст. н. с. Петър Бърнев и гл. ас. Иван Ганчев; гл. научен секретар доц. Геро Геров; секретари: доц. Друми Байнов, доц. Райко Петров, н. с. Петър Петров, София Димитрова; членове: доц. Александър Гьонов, доц. Боян Пенков, н. с. Христо Хитов.
]]>
Математиката, най-древната наука, първата оформила се именно като наука в историята на човечеството, винаги е била в тесни двустранни връзки с множество други науки и влияейки решително върху тяхното развитие, чрез тях е въздействувала върху най-разнообразни дейности в човешкото общество. В периода, за който ще говорим, тя започна пряко да въздействува върху обществото. Единодушно се счита, че живеем във време на научно-техническа революция, в която на математиката се пада движеща роля не само поради огромното разширение на обема на математическите знания и възможностите за тяхното използуване, но и поради изменения в основните хаерактеристики на самата математика и нейните методи. Съвсем не е наша цел да проследяваме подробно тези изменения, но трябва да отбележим поне две неща. Далечната абстрактност, която излезе на предно място в последните десетилетия, наложи като основен предмет на занимания в математиката твърде общи математични структури, които се изследват чрез аксиоматичния метод. Общността на тези структури дава възможности не само за тяхното приложение над конкретни проблеми в математиката, но и за създаване на модели за обясняване на обширни области от явления в природата и обществото. На второ място трябва да се изтъкне бурното развитие на математическата изчислителна техника, с която по-пълно и задълбочено могат да се изследват споменатите модели. Тя постави и пред математиката сериозни проблеми, свързани с изработване на ефикасни методи за изчислително решаване на математически задачи, с езика и логиката на човека и машината, и по този начин действува импулсиращо върху развитието на самата математика. Тези изменения в математиката дадоха по-силно или по-слабо, съзнателно или несъзнателно, явно или прикрито отражение и у нас и ние ще се помъчим да го опишем, като изложим накратко историята на математиката в нашата страна през изминалия четвърт век. Това е период на изграждането на новото, социалистическо общество, което във всички свои дейности се опира на науката.
На първо място в една наука стоят, разбира се, творческите постижения, откритията в нея. Но за да се дойде до тях, необходимо е, понякога решаващо е, наличието на редица организационни фактори. Ние ще се спрем и на първите, и на вторите, може би дори повече на вторите, защото често именно те създават атмосферата, в която може да се очаква появяването на творците.
Математиката от Освобождението на България насам е заемала важно място в средното училище, специално в реалните гимназии. Многократните изменения на учебните планове и програми в училището, особено в първите три десетилетия на нашия век, дадоха възможност да се включат в учебния материал въпроси и теми в духа на реформените тенденции в преподаването на математиката от края на миналия и началото на този век. Да отбележим например: изтъкване на предно място понятието функция; производна и използуването ѝ; елементи от теорията на вероятностите; аналитична геометрия в равнината; за известно време дори понятието интеграл и някои негови приложения.
До края на Втората световна война математиката се развиваше творчески в рамките на Физико-математическия факултет на Софийския университет, който въобще беше центърът на висша математическа наука у нас. Открит в 1889 година, той беше единственото място, където се подготвяха учители по математика за средните училища и бъдещи научни работници по математика. Малко преди и след Първата световна война в него влязоха като преподаватели няколко даровити математици, които за повече от тридесет години сложиха определен отпечатък и върху преподаването на университетската математика, и върху избора на разработваните научни теми. Това бяха бившите професори, всички — с едно изключение — вече покойници: Д. Табаков (р. 1879), К. Попов (1880—1966), Ив. Ценов (1883—1967), Л. Чакалов (1886—1963), Н. Обрешков (1896—1963), А. Стоянов (1896—1963). Техните лекции представляваха голяма крачка напред в сравнение с миналото по отношение на подбора и строгостта в изложението на материала и почти всички бяха издадени като номера в поредицата „Университетска библиотека“. Табаков, дългогодишен ръководител на катедрата по геометрия, който пръв от българските математици помести научен принос в чуждо научно списание (1905), даде изследвания върху системи от конични сечения и повърхнини от втора степен, върху циклидите на Дюпен, върху композирането на квадратичните форми. Попов, ръководител на катедрата по диференциално и интегрално смятане, започва като астроном. В своята докторска дисертация (1912), работена при големия френски математик Анри Поанкаре, той изследва движението на малката планета Хекуба. По-късно той посвети много трудове на външната балистика, използувайки методите на Поанкаре в теорията на диференциалните уравнения. През 1931 г. излезе на немски език в Лайпциг негова книга „Главната проблема на външната балистика в светлината на модерната математика“, която съдържа неговите основни резултати в тази област. Ценов, ръководител на катедрата по аналитична механика, в редица свои работи се занимава с общите уравнения на движението на нехолономни системи, както и с изследване поведението на конкретни механични системи. Чакалов, ръководител на катедрата по висш анализ, работи в няколко области на анализа и алгебрата: неопределени уравнения и аритметични изследвания на някои безкрайни редове; проблемата за квадрируемите лунични, завещана от древността; формули за механична квадратура, теория на диференциалните уравнения. Особено много и изчерпателни бяха неговите изследвания върху теоремата за средните стойности и нейни обобщения. Обрешков, ръководител на катедрата по висша алгебра, даде основни и многобройни резултати върху разпределението на корените на алгебричните уравнения, върху нулите на класи от функции, върху сумирането на разходящите редове (където въведе свои методи на сумиране, изследвани и прилагани и от други автори), върху въпроси от теорията на вероятностите. Стоянов, отначало в катедрата по аналитична механика, а по-късно ръководител на катедрата по теоретична механика в Инженерно-строителния институт, работи върху въпроси от външната балистика, някои въпроси от геометрията, третирани по оригинален начин (например чрез комплексни числа), условия за интегруемост на диференциални изрази. Голяма част от трудовете, за които става дума, бяха поместени в Годишника на университета, Физико-математически факултет, което беше единственото научно списание у нас за физико-математическите науки. Немалко работи обаче бяха публикувани в известни чуждестранни научни списания и по този начин ставаха известни на по-широк кръг научни работници в различни страни.
Всички тези много заслужили за математиката дейци бяха имали на младини възможност да прекарат по-продължително време в чужбина в реномирани университети. Това е било от голямо значение за насочване на техните научни интереси, за оформяне на техните лекции, за създаване на научни връзки с математици от други страни. Затова неслучайно повечето от тях бяха доктори по математика на чуждестранни университети: Табаков — Пиза, Попов — Париж, Чакалов — Неапол, Обрешков — Палермо и Париж, участвуваха в международните конгреси по математика и механика (математика: 1928 Болоня, 1932 Цюрих, 1936 Осло; механика — 1924 Делфт) обикновено с научни съобщения и можеха да привлекат през 30-те години за научни гостувания у нас и изнасяне на доклади, дори на цели цикли от лекции, редица изтъкнати математици от други страни. Самите те бяха канени за изнасяне на доклади в чужбина и участвуваха например активно в създаването на Междубалканския математически съюз и в неговите два конгреса в Букурещ и Атина преди Втората световна война. Тези благоприятни за тяхното математическо развитие като преподаватели и творци условия почти липсваха за близките им наследници в университета.
Полезна роля в математическата общественост играеше до войната Физико-математическото дружество в София. Основано през 1898 г. от професори на Физико-математическия факултет, то продължаваше да бъде в тясна връзка с факултета, но в него членуваха и голяма част от преподавателите по математика и физика в средните училища в София. Дружеството развиваше лекционна дейност, намесваше се компетентно пред държавните органи по въпросите на преподаването на математиката в училищата, вземаше отношение към професионални въпроси, интересуващи математиците и физиците. Най-важна негова проява беше издаването на „Списание на Физико-математическото дружество“ (всичко 33 годишнини от 1904 до 1950 г. с прекъсване през годините 1915—1924). В него в популярна форма се излагаха класични и модерни въпроси от физиката и математиката и се отразяваше животът на тези науки в страната и в чужбина. Ценен отдел в него беше „Задачи и решения на задачи“. Интересните и нетривиални задачи служеха за първи опити на студенти, а дори и на ученици за самостоятелна работа в математиката. Своята 40-годишнина дружеството отбеляза с издаването на юбилеен сборник, в който наред с научни приноси са дадени и статии, които съдържат ценни сведения за историята на дружеството и въобще на физико-математическите науки у нас.
Българската академия на науките в онези години беше по-скоро един представителен институт, в който участвуваха малко учени от математическите и природните науки. Немногобройните публикации бяха повече от областта на хуманитарните и обществените науки. Все пак в сборника и списанието на академията, които излизаха тогава, има поместени и математични статии. Членове на академията, редовни, от страна на математиците бяха Чакалов и Ценов.
За да характеризираме обстановката, в която беше поставена математиката до края на Втората световна война, остава да споменем някой печални неща. В ръководните държавни органи липсваше поглед (и положителен, и отрицателен) за значението и нуждата от математиката вън от наследеното от традицията преподаване в училищата. Математическата литература се ограничаваше до учебници и други учебни помагала за средните училища и университета. Рядко някой ентусиаст успяваше да издаде малка брошура с математическо съдържание или вестник с интересни статии и задачи за учениците. Тогавашните издателства вероятно се бояха от риска да издават литература, за която не очакваха пласмент. Впрочем и самите математически дейци не бяха узрели за мисълта да пишат и предлагат за издаване математически книги с научно или популярно съдържание. Приложенията на математиката, главно в практическата дейност на инженерите, статистиците и застрахователните дейци, се свеждаха обикновено до използуване на класически елементарни изчислителни методи, което не е за учудване при липсата тогава на съответни висши учебни заведения и научни институти.
9 септември 1944 година представлява и за математиката в нашата страна преломен момент. В многобройни партийни и правителствени документи, особено в последните години, се подчертава значението на математиката в различни аспекти: преподаване в учебните заведения от всички видове и степени, научно творчество, организационни форми, приложение в техниката, икономиката, строителството, транспорта и т. н. и се планират съответни конкретни мероприятия.
В рамките на преобразованията, извършени въобще в нашата училищна система, няколко пъти с учебните планове и програми бяха изменяни обемът, съдържанието и разпределението на учебния материал по математика в училището. В общи линии в средното училище остана традиционният материал, застъпван и по-рано, като обаче намаленият 11-годишен курс на обучение наложи известни съкращения: например отпадна материалът по аналитична геометрия. В последните години и у нас, както и в много други страни се правят предложения за включването на съвременен материал по математика в средното училище: елементи от теорията на съвкупностите, теорията на геометричните преобразования, теория на вероятностите и статистиката, математическа логика, диференциално и интегрално смятане, аналитична геометрия, изчислителна математика. Тези въпроси бяха разглеждани в голям колектив към Министерството на народната просвета, съставен от преподаватели от средните и висшите училища, проведе се експериментално преподаване на някои дялове от споменатия материал, съображения за и против се обсъждат горещо между учителите, но процесът не е завършен и няма определени решения, оформени в учебни планове и програми.
И при традиционния материал съществуват много възможности за повишаване интереса и успеха на учениците по математика. В много училища бяха изпробвани редица организационни форми за това: математически кръжоци, математически школи, математически паралелки, състезания по математика между паралелки и училища, математически лектории, радиоконкурси по математика и др. Искам да подчертая по-специално два факта. От 1964/1965 г. към Математическия факултет на Софийския университет беше организирана специална математическа паралелка за ученици с подобри математически данни. Постъпването в нея става с конкурс във факултета. Завършилите паралелката и постъпили в Математическия факултет показват добър успех и това сочи, че по този начин могат да се подготвят добри математически кадри. От 1968/1969 година тези паралелки се оформят в математическата гимназия.
Повече от 15 години в средните училища редовно се провеждат математически олимпиади в няколко кръга. Тази сериозна и отговорна проява помага да се открият учениците с най-добри математически качества и да се насочват правилно в бъдещото им развитие и професия. Най-добре представилите се на републиканските олимпиади участвуваха и в международните олимпиади, уреждани всяка година между социалистическите и някои други страни. Всички описани форми на извънучилищна работа по математика изискват, за да бъдат резултатни, много труд и внимание. Покрай учителите и ръководните просветни органи активна помощ са оказвали тук и преподаватели от висшите учебни заведения, Българското физико-математическо дружество чрез своите секции и ДКМС.
Много и съществени изменения има и в положението на математиката във висшите учебни заведения. В по-голямата част от разглеждания период Физико-математическият факултет на Софийския университет оставаше единственото място за подготовка за специалисти математици с висше образование. В последните години и в пловдивския Висш педагогически институт се подготвят преподаватели по математика за средните училища. Учебните планове и програми и в Математическия факултет бяха подлагани на много промени. Да отбележим някои съществени пунктове в тези промени: включено беше изучаването на идеологически предмети (броят, наименованието, разпределението им варират в различните планове) като основа за изграждането на диалектико-материалистически мироглед на бъдещите специалисти; за бъдещите учители по математика беше предвидено изучаване на методиката на преподаването на математика в училището със съответна практическа подготовка; изучаваният материал по физика беше сведен до един курс; за известна част от студентите (в тъй наречения производствен профил) беше предвидено изработването и защита на дипломна работа; математическите курсове по съдържание и изложение бяха поставени в хармония с модерните изисквания; въведе се изнасянето на специални курсове върху отделни математически теории; организираха се най-различни семинари към катедрите.
От 1963 г. дотогавашният Физико-математически факултет бе разделен на два факултета: Математически и Физически. От 1950 г. специалността математика беше разделена на два профила: научно-педагогически за подготвяне преди всичко на учители за средните училища и научно-производствен за специалисти по отделните клонове на математиката. Известно време профилите бяха премахнати, след това пак възстановени. Сега в Математическия факултет има дори три профила: научно-педагогически с 4-годишен курс на обучение; научно-производствен с 5-годишен курс; профил по изчислителна математика (открит през 1967/1968 год.) също с 5-годишен курс за подготвяне на специалисти по изчислителна математика и математическо обезпечаване на изчислителната техника. Сега в Математическия факултет има 8 катедри: 5 наследени от миналото, именно диференциално и интегрално смятане, висша алгебра, висш анализ, геометрия, теоретична механика, и 3 нови, именно обща и приложна математика, методика на преподаването на математиката в средните училища и изчислителна математика. В тези катедри сега има 6 професори, 10 доценти, 16 асистенти и 7 стажант-асистенти. Срещу това за сравнение да припомним, че в Математическия институт на университета (отговарящ на сегашния Математически факултет) през 1942 г. имаше 5 професори, 1 доцент и 3 асистенти. Към катедрите на Математическия факултет са работили с различна интензивност и резултатност през разните учебни години студентски научни кръжоци. Там студентите се запознават с въпроси и извън четените курсове и с разработваните в катедрите научни теми и евентуално сами дават някои научни приноси. Немалко от сегашните доценти във факултета са изработили първите си трудове във връзка с тематиката на съответния кръжок. Преди войната подобна роля играеше единственият към Математическия институт семинар на професорите Чакалов и Обрешков, който също има големи заслуги за израстването на научни математически кадри.
Увеличи се твърде много броят на катедрите по математика — в същност по математика, дескриптивна геометрия и теоретична механика — в другите висши учебни заведения, преди всичко техническите, със съответен персонал от професори, доценти и асистенти, подготвени предимно в Математическия факултет. Това се дължи не само на създаването на нови висши учебни заведения, технически, икономически и др., но и на все по-засилващото се съзнание у представителите на много други науки за необходимостта от математическа подготовка на техните специалисти. Знаменателен е фактът, че вече например фармацевти, геолози и географи изучават и използуват математиката, да не говорим за техници, химици и икономисти.
Съвсем нов за нашата страна и от огромно значение факт е съществуването на специален Математически институт към Българската академия на науките. След 9. IX. 1944 г. академията бе основно преустроена в съгласие със задачите, които се поставят на науката в едно социалистическо общество. Наред с много други институти към нея през 1948 г. беше създаден и Математически институт с първи директор акад. Ив. Ценов. По-късно за директор беше избран акад. Н. Обрешков, а след неговата смърт в 1963 г. — акад. Л. Илиев. Докато в първите години институтът имаше минимален персонал, в последните 7—8 години той постепенно се разви в пълнокръвен академически институт с десетина секции по различните клонове на математиката, включително на изчислителната математика, със съответния научен и помощен персонал, надхвърлящ 100 души. В 1961 г. към Математическия институт и МНП беше организиран Изчислителен център с основни задачи приложение на математическите методи в различните отрасли на народното стопанство, научни изследвания в изчислителната математика, проектиране и конструиране на сметачни машини с програмно управление. През 1963 г. в Изчислителния център бе завършен моделът на първата българска електронна сметачна машина с програмно управление, а през 1964 г. бе доставена за нуждите на центъра съветска електронна сметачна машина „Минск 2“, която оттогава и досега интензивно се използува за решаване на различни изчислителни задачи, постъпващи от научни институти, заводи, ведомства и пр. От началото на 1966 г. групата инженери и техници в Математическия институт, която се занимаваше предимно с конструирането на електронни сметачни машини, беше оформена в отделен Централен институт за изчислителна техника към Държавния комитет за наука и технически прогрес.
Увеличи се участието на математиците и в членския състав на Българската академия на науките. Скоро след 9. IX. 1944 г. за академици бяха избрани професорите Попов и Обрешков. В три последователни избора през 1958, 1961, 1966 г. бяха привлечени и други математици, така че сега в БАН има двама академици — Л. Илиев и Б. Петканчин — и трима членове-кореспонденти — Я. Тагамлицки, Бл. Долапчиев и Г. Брадистилов.
Освен в Математическия институт и в катедрите по математика във висшите учебни заведения редица научни работници или специалисти математици работят в различни научни институти към академията или ведомствата.
Голямата армия научни работници и математици даде голям брой научни приноси, все по-разнообразни по тематика и ценни по значение. Те намират място в наши и чуждестранни научни списания или в отделни монографии. Невъзможно е не само да споменем отделни резултати, но дори да изброим всички области на математиката, в които се е работило и се работи. През 1967 г. беше издадена от четирима автори (С. Бутлева, И. Първанова, А. Стоянова, Е. Фурнаджиева) „Библиография на българската математика 1944— 1966“, стр. Х+238. В нея са включени и работи, които преставляват математическо третиране на въпроси например от теоретичната физика, от механиката, от техниката и др. Тя съдържа 1938 заглавия — число, което говори твърде много независимо от всички въпроси, които могат да се поставят във връзка с характера и качеството на трудовете. Да отбележим, в реда на библиографията и ограничавайки се на чисто математически трудове, някои области, в които имаме ценни приноси: математическа логика, теория на алгебричните системи (групи, полугрупи, полета, пръстени и др.), теория на числата, теория на алгебричните уравнения, Диофантови апроксимации; разпределението на нулите на класи от полиноми и цели функции; редове по полиномите от известен клас, особени точки на аналитичните функции, еднолистни функции, теория на потенциала, сумиране на разходящи редове; конуси в линейни пространства, полунаредени пространства, спектри на оператори; теория на обикновените диференциални уравнения и специално периодични и асимптотични решения на такива,теория на частните диференциални уравнения; топология, диференциална геометрия на съвкупности от прави, изобразяване на комплексното пространство, теория на равномерните пространства, теория на роевете, конгруенциите и комплексите прави в двуосното пространство, диференциална геометрия на четиримерното проективно пространство, проективни равнини, структура на групата на колинеациите в проективно пространство, геометрия на векторното поле в Евклидовото и неевклидовото пространство, конгруенции прави в елиптичното и хиперболичното пространство, риманова геометрия; линейно програмиране, формули за механична квадратура, аксиоматика на блок-схемите, теория на графите; апроксимация с помощта на различни метрики, специално с Хаусдорфова, приближени методи за интегриране на диференциални уравнения; нелинейно програмиране, математическа демография, закон за големите числа, редици от случайни величини, теория на грешките, номография; перманентни ротации на твърдо тяло, теория на черупките, теория на еластичните плочи, кинематика, теория на механизмите, системи от махала. Това изброяване тъкмо поради своята хаотичност и случайност най-добре показва колко разнообразни са интересите на българските математици и на онези представители на сродни науки, които прилагат като основен метод на изследване математиката. Може да се каже: ако и да е нереалистично да се очаква равномерно застъпване на всички области на математиката, все пак българските математици са работили в много и много класични и модерни области. В същност могат да се забележат групи от изледователи, дори школи, които третират близки проблеми. Не е наша задача да подлагаме на анализ, класифициране и преценка всички трудове.
Академиците Попов, Ценов, Чакалов и Обрешков и през разглеждания период работиха интензивно, дори навлизайки в някои нови области. Попов продължи своите балистични изследвания; от споменатата по-горе немска монография излезе второ издание. Нова проблематика за него беше математическата теория на необратимите термодинамични процеси, с която се занимава в голям брой публикации. За тях той получи през 1957 г. премията „Анри дьо Парвил“ на Френската академия на науките. Резултатите му в тази област бяха събрани в издадената на френски в Париж монография от серията „Мемориал на физическите науки“. Ценов публикува голям брой приноси върху различни нови форми на общите уравнения на движението на материални системи, включително върху интегралните принципи на аналитичната динамика. Неговите приноси получиха висока оценка от специалисти в СССР. Чакалов се занимава с общи квадратурни формули, като намери остатъчния член на класи от такива формули. Някои негови работи са посветени на еднолистните функции. Обрешков даде трудове в най-различни области: разпределение на нулите на полиномите, като издаде две монографии по този въпрос, едната на немски в ГДР, другата на български; неравенства за производните; интегрално представяне на функции; числено решение на уравненията; асимптотични закони за вероятностите; сумиране на разходящите редове. Нова проблематика за него бяха диофантовите апроксимации на линейни форми; в 1965 г. той успя за пръв път да намери точната стойност на тъй наречената константа на Борел.
Ще се спрем накратко и върху областите на работа на някои от по-възрастните активни математици, които могат да се считат за преки наследници, било в Математическия факултет, било в БАН, на изброените по-рано професори и академици. Чл.-кореспондент Г. Брадистилов работи главно в теорията на нелинейните диференциални уравнения и техните приложения в механиката и техниката. Намерил е периодични решения за една консервативна система в околността на устойчивото равновесие, като се разглеждат различни случаи според корените на характеристичното уравнение. Проучил е въпроса за съществуването на периодически и асимптотически решения при движението на свързани физични махала. Изследвал е нелинейните колебания на автогенератори и генератори. Този кръг от проблеми се разработва по-нататък от голям брой по-млади математици и инженери. Чл.-кореспондент Бл. Долапчиев е дал главните си приноси в две области: теория на Кармановите вихрови улици и аналитична динамика на материалните системи. В първата той намира ефекта на косо протичане на улицата, изследва по-общи „двупараметрови“ улици и за тях установява паралелно с други изследователи условие за стабилност. В редица публикации, някои съвместно с други автори, Долапчиев коригира някои резултати на чужди автори и попълва някои празноти. Той издаде на немски в ГДР монография върху стабилността на вихровите улици. Във втората област Долапчиев обобщава уравненията на Ценов и Нилсен, като излиза от обобщен принцип на Даламбер. Академик Б. Петканчин работи главно върху диференциалната геометрия на роевете прави в Евклидовата, елиптичната и двуосната геометрия. Той дава за пръв път основния аналитичен апарат за общите изотропни роеве прави в елиптичното пространство с ефективни изчислителни формули. В двуосната геометрия той изследва с реални средства елиптичните роеве прави. Петканчин изгради по-нататък аксиоматично комплексната двумерна геометрия на Мьобиус, след като в своята хабилитационна работа от 1940 г. беше дал аксиоматика за реалната двумерна геометрия на Мьобиус. Изследванията на Петканчин в двуосната геометрия бяха продължени от други български геометри. Академик Л. Илиев даде приноси главно в следните три области: 1) теория на еднолистни функции, 2) аналитична непродължимост и свръхсходимост на степенни и други родове, 3) теория на някои класи цели и специални функции. В първата област например той реши отдавна поставения въпрос за аналога при двусиметричните еднолистни функции на теоремата на Сегьо за парциалните суми на еднолистни в единичния кръг функции. Във втората област, където са получени много конкретни резултати от него, той намира някои нови критерии за аналитична непродължижимост на редове без празнини с коефициенти от определен тип. Върху тези изследвания той издаде две монографии: немски в ГДР и на български. В третата област той изгражда теория за някои класи от специални цели функции, като намира интегрално представяне и ортогоналните системи в тях. Приносите на Илиев са изходна точка за работа на математици у нас и в чужбина. Чл.-кореспондент Я. Тагамлицки работи във функционалния анализ, като го прилага и над класически проблеми. Така в изследването си върху Абелевия интерполационен ред той намира най-малкия конус, който съдържа регулярно монотонните функции и в който интерполационните полиноми на Абел са неразложими; установени са и всички неразложими елементи на този конус. Той даде няколко труда върху теорията на конусите (неразложими елементи, допълване на конуси, обобщение на понятието функция). От него са въведени и изследвани и тъй наречените двойно асоциативни пространства. Работите на Тагамлицки са дали подтик за аналогични изследвания на други български математици.
Едно ново явление у нас, както впрочем във всички страни, е многократно повишеното използуване на математиката в другите науки, в техниката, строителството, стопанството, транспорта и пр. Това явление се обуславя от създаването през разглеждания период на електронните сметачни машини, както и от навлизането на математическо-статистическите методи в споменатите дейности. Заслужава да се спрем върху работата в нашата страна в това отношение, макар че и досега дадохме някои сведения.
Освен Изчислителния център към Математическия институт на БАН в страната се изграждат или са изградени и други изчислителни центрове или станции с по-тесни задачи, специално за преработка на икономическа информация. За резултатното използуване на набавяната изчислителна техника са необходими преди всичко подготвени математици със средно и висше образование. За да се отговори на тази нужда, в някои училища вече се подготвят програмисти, организират се курсове по програмиране за специалисти от други науки. Все с тази цел през учебната 1959/1960 година към катедрата по висш анализ в тогавашния Физико-математически факултет на Софийския университет беше открита специализация по изчислителна математика, която през 1967/1968 година се преобразува в профил към Математическия факултет с отделна катедра по изчислителна математика. Работи се вече и творчески в областта на изчислителната математика и нейните приложения, включително в математическото обезпечаване на електронните сметачни машини. Работата е концентрирана предимно в Математическия институт на БАН в следните основни направления: алгоритмични езици за автоматични сметачни машини и създаване на транслатори, операционни системи и проблемно ориентирани програми; усъвършенствуване на числени алгоритми във връзка с използуването им на конкретни машини; моделиране на технически, икономически, биологически и други обекти чрез автоматични сметачни машини; разпознаване на образи и създаване на устройства и алгоритми за тази цел.
През 1962 г. към Математическия факултет бе създадена специализация по теория на вероятностите и математическа статистика към производствения профил. Наред с това в Математическия институт е организирана секция по теория на вероятностите и математическа статистика, където се работи научно в следните направления: демография, надеждност и статистически контрол, биометрия, марковски процеси. Тази проблематика следва отчасти известна традиция в Математическия институт. Още в първите години на съществуването му там работиха две комисии за демографски проучвания: по изследване смъртността на населението в България (ръководител К. Попов); по перспективно планиране на населението в България (ръководител акад. Н. Обрешков). Като резултат от работата на комисиите са изработени и публикувани редица таблици, една монография и статии в известията на института.
През периода между 1962 и 1964 год. в Математическия факултет бяха създадени специализации по различните клонове на математиката съобразно наличните катедри. В тях се подготвят специалисти, голяма част от които намират място в научните институти и висшите учебни заведания като научни работници и преподаватели.
Значителната по обем и качество научна дейност на българските математици намери научно и обществено признание в редица посоки. Голям брой млади математици са вече кандидати на физико-математическите науки, получили тази степен след изработване и успешна защита у нас или в СССР на специална дисертация. Няколко души са и доктори на физико-математическите, в новия смисъл, който има този термин сега по закона: Г. Брадистилов (София, 1958), Долапчиев (София, 1958), Б. Петканчин (София, 1958), Л. Илиев (София, 1958), Я. Тагамлицки (София, 1958), Бл. Сендов (Москва, 1968). С Димитровска награда за наука бяха отличени в различни години следните математици: К. Попов (2 пъти), Ив. Ценов, Л. Чакалов, Н. Обрешков, Бл. Долапчиев, Б. Петканчин, Л. Илиев, Я. Тагамлицки.
През разглеждания период твърде много се разшири издаването на математическа литература, като ръководна роля в това отношение играят Издателство „Наука и изкуство“, Издателство „Народна просвета“, Издателство „Техника“, Издателство на БАН. Почти по всички задължителни математични курсове във висшите учебни заведения има издадени учебници като правило на високо научно равнище. Дори има специализиране: по една и съща дисциплина се издават в различен обем и третиране различни учебници според учебните заведения, за които са предназначени. По повечето предмети има и практически ръководства и сборници от задачи. Научните приноси се печатат в няколко специални математични периодични издания: Годишник на Математическия факултет на Софийския университет (излиза вече повече от 60 години); Известия на Математическия институт на БАН; Годишник на ВТУЗ, математика. Статии от математически характер се поместват и в Доклады Болгарской академии наук, както и в изданията на. висшите учебни заведения според профила на последните.
Списание с научно-популярен характер, в известен смисъл наследник на споменатото по-горе Списание на Физико-математическото д-во, е „Физико-математическо списание“, издавано от Математическия и Физическия институт на БАН (том 1: 1958, том 12: 1969). В него освен научно-популярни статии се следят редовно проявите на математическата общественост у нас и в чужбина, поместват се задачи и решения, научни новости, математическа библиография с рецензии и др. Предназначено главно за преподавателите в средните училища е сп. „Математика и физика“, Изд. „Нар. просвета“ (том 1: 1958, т. 12: 1969) с материали върху училищната физика и математика, третирани особено от методична гледна точка. Най-после за учениците от средните училища излиза в много голям, немислим в миналото тираж сп. „Математика“, издание на ЦК на ДКМС и МНП (том 1: 1962, т. 8: 1969).
През поледните години излязоха, предимно в споменатите издателства, оригинални от български автори или преводни, главно от руски, десетки научно-популярни книги по математика, дори научни монографии. Някои от книгите са от световно известни учени и са значителни по обем и на високо научно равнище. Между тях има и книги с исторически или философски характер, биография, приложения на математиката. Броят на книгите не е малък, тиражът е сравнително голям. Въпреки това трябва да се констатира, че гладът за подобна литература все още не е задоволен. Например трябва да се отбележи, че много сполучливи книги чакат второ издание, защото се търсят и ще намерят широк пласмент.
В интензивния математически живот намери място и Физико-математическото дружество. През 1948 г. то отпразнува тържествено своя 50-годишен юбилей и беше наградено с орден „Гражданска заслуга“, II ст. Малко по-късно, през 1950 г., по действуващите тогава норми за научните организации то трябваше да прекрати съществуването си. През 1960 г. обаче дружеството беше възстановено под името „Българско физико-математическо дружество“, и то на по-широка основа, отколкото преди. Сега то обединява почти всички научни работници и преподаватели в средните и висшите училища в страната по математика и физика. Организационно то е разделено на 38 секции в окръжните и някои други градове с около 1800 членове. Дейността, която развиват секциите и Централното ръководство, е твърде разнообразна и обширна и подпомага най-ефикасно развитието на физико-математическите науки у нас. Неговите членове участвуват най-активно в популяризирането на тези науки, в извънучилищната работа на учениците (кръжоци, олимпиади, състезания, лекционна дейност). Към централното ръководство е създадена лектория, членовете на която са на разположение на секциите за доклади. Дружеството поддържа връзки със сродни организации в други, предимно социалистически страни, като с някои от тях има дори сключени споразумения за сътрудничество: с Физическото и с Математическото д-во в ГДР; с Математическото и с Физическото д-во в Полша; с Физико-математическото д-во в Чехословакия; с Математическото и с Физическото д-во в Унгария. С тези организации се разменят делегати, научни работници и преподаватели, за научна работа, проучвания, обмяна на опит, участие в различни научни срещи и др.
Въобще разширяват се и укрепват международните връзки на българските математици. Главните заслуги в това отношение имат Българската академия на науките и специално Математическият институт в нея, висшите учебни заведения чрез МНП, Българското физико-математическо д-во. Връзките се проявяват в много направления. Все повече научни работници математици поместват свои научни трудове в реномирани списания в другите страни; така се увеличава известността на тези приноси и те намират правилна оценка в научните среди. От друга страна, чуждестранни учени математици предлагат свои трудове в наши списания. Почти всички научни работи на българските математици се реферират в големите международни реферативни списания „Реферативны журнал Математика“, „Реферативны журнал Механика“, „Централблат фюр Математик“, „Математикал Ревюз“. И мнозина български математици реферират статии, не само български, за тези списания.
Голям брой младежи от нашата страна завършиха аспирантура със защита на кандидатска работа в СССР. Също там, а и в други страни прекараха по-кратка или по-продължителна специализация десетки млади математици, научни сътрудници, асистенти и доценти. Неоценима е ползата, която те имат от такова пребиваване в научна среда, евентуално под компетентно научно ръководство, освободени от преподавателски, административни и други задължения. Дори в последните години изтъкнати студенти от Математическия факултет биват изпращани след втората година да завършат следването си в СССР. Резултатите са повече от добри; голяма част от тях биват оставяни на аспирантура там и се оформят като надеждни научни работници.
Надали може да се направи списък на всички чужди научни работници математици, които посетиха с научна цел нашата страна през този период. Ако в статия, поместена във „Физико-математическо списание“, т. 2, кн. 3, акад. Обрешков можеше да посочи имената на чуждите математици, посетили България в 15-годишния период след 9. IX. 1944 г., сега е необходимо специално проучване за 25-годишния период. Да посочим само — между тях има имена от световно значение. Може би още по-мъчно е да се изброят всичките дълготрайни или кратки гостувания на български математици в други страни за изнасяне на лекции и доклади, за участие в симпозиуми, конгреси, за обмяна на опит, за участие в международни комисии за сътрудничество по определени проблеми и т. н. Може би трябва да подчертаем, че обикновено нашите представители са изнасяли научни съобщения. Все пак някои конкретни неща трябва да се кажат. По линията на многостранното сътрудничество на академиите на науките на социалистическите страни са създадени две работни групи: ГАМС — за изработване на системи за автоматизация на програмирането при електронни сметачни машини от среден тип; ГАЯПЭИ — за алгоритмически езици за преработка на икономическа информация. В редовно провежданите срещи на тези групи българските представители вземат най-подчертано участие.
Българската математика беше представена почти на всички Международни конгреси по математика през разглеждания период (Амстердам, 1954, Единбург, 1958, Стокхолм, 1962, Москва, 1966), като голяма част от участниците са изнасяли научни съобщения. Особено внушително се представи България на конгреса в Москва: делегация от 75 члена с 20 доклада.
Българските математици членуват в Международния математически съюз чрез Национален комитет по математика, учреден към БАН. Именно този съюз урежда международните математически конгреси. България членува и в ИФИП, Международната федерация за обработка на информация и нейни представители редовно участвуват в общите събрания на федерацията, както и в други нейни прояви.
През разглеждания период българските математици отчетоха на два пъти своята научноизследователска работа: на I конгрес през октомври 1956 г., в които участвуваха и 16 гости от чужбина с 15 доклада; от българските участници бяха изнесени около 40 съобщения. Ще остане в историята на математиката в България внушителният II конгрес (29. VIII — 7. IX. 1967), много добре организиран и проведен в курорта „Дружба“ край Варна. Редовните членове в него бяха 719: 498 от България и 221 от чужбина (от 14 страни). В 10-те секции на конгреса бяха изнесени от български участници 5 пленарни доклада и 124 научни съобщения, от чуждестранни участници — 26 пленарни доклада и 152 научни съобщения. Фактически по своя характер това беше един международен конгрес по математика.
България участвува през 1965 г. в съвещанието в Букурещ за възстановяване на Междубалканския математически съюз, създаден преди Втората световна война. На III конгрес на този съюз в Букурещ (12—17. IX. 1966) България беше представена от около 30 математици.
От изложеното досега е ясно, че математиката в България е във възход. Създадени са предпоставки за още по-големи успехи в научното творчество, преподаването и приложението в математиката. Да пожелаем на нашите наследници да отчетат след 25 години постижения, далеч надминаващи онова, което сега ни се струва логично да очакваме.
]]>
Един 25-годишен период е достатъчно голям отрязък от време, за да заслужава да бъде положена на преглед и оценка дейността на един такъв важен научноизследователски и учебно-преподавателски център в нашата страна, какъвто е Математическият факултет на Софийския университет. Тази година обаче ние отбелязваме едно забележително 25-летие. Навършват се 25 години от деня на социалистическата революция в България, най-светлата дата в новата ни история, представляваща преломен момент в цялостното развитие на нашата родина. 9. IX. 1944 г. е началото на нова епоха в историята на България, това е денят, в който тя под мъдрото ръководство на БКП започна строителството на новото социалистическо общество. Още в самото начало на това строителство беше ясно, че науката е призвана да изиграе важна роля в изграждането на новия живот. Социализмът и науката са неотделими.
Когато на забележителния V конгрес на БКП, начертал пътищата за развитие на нашата Родина, Георги Димитров посочи като най-непосредствени задачи индустриализацията и електрификацията на страната, както и издигането на материалното и културното равнище на трудещите се, ясно беше, че тези големи задачи не могат да бъдат разрешени без непосредствената помощ на отделните науки, в това число и на математиката.
В своя доклад пред VII конгрес на БКП през юни 1958 г. др. Т. Живков, след като изрично отбеляза постиженията на някои науки и по-специално на математическите науки у нас, постави вече конкретни изисквания, засягащи учебно-възпитателната работа във висшите учебни заведения, както и планирането и съгласуването на научноизследователската дейност.
Но истинско признание за голямата и основна роля на математиката в съвременната научно-техническа революция, а и оттам и за нейното голямо значение за развитието на нашето общество бе изразено на IX конгрес на БКП през ноември 1966 г.. В своя доклад др. Тодор Живков каза тогава следното: „Технико-икономическите проучвания, икономическата и научно-техническата информация трябва да се издигнат на съвременно равнище. Необходимо е да се ускори приложението на математическите методи в икономиката, внедряването на изчислителната техника за обработка на данни и изграждането на единна система от изчислителни звена в страната“. В директивите на конгреса за петгодишния план за развитието на народното стопанство на НР България през 1966-1970 г. е записано следното: „Ускоряването на техническия прогрес изисква да се разширяват мащабите и да се повишават темповете както на фундаменталните научни изследвания, така и на изследванията с чисто приложен характер“ и по-нататък: „Да се внедрява изчислителната техника при обработката на икономическата, научната и техническата информация. Да започне изграждането на единна система от изчислителни звена за обработка на икономическата информация в страната. Широко да се прилагат математическите методи при обработката на икономическата информация и в ръководството на народното стопанство отделните отрасли и предприятия“.
Най-сетне Юлският пленум от миналата 1968 година, посветен на основните насоки за по-нататъшното развитие на системата на управление на нашето общество, отново потвърди голямата роля, която се отрежда на науката изобщо и на математиката в частност за осигуряването на истински научен подход в управлението на всички сфери на нашия икономически и обществен живот.
Математическият факултет на Софийския университет живя през изтеклото 25-летие богат, твърде разнообразен живот, характеризиращ се с важни структурни промени и значителни научни постижения. Разглежданият период обхваща дейността на математици, които условно бихме могли да отнесем към четири различни поколения. Това е най-напред поколението на бившите академици и професори Табаков, Попов, Ценов, Чакалов и Обрешков, поколение, което има неоценими заслуги в развитието на българската математика въобще и на Математическия факултет в частност. Това е по-сетне поколението на днешните наши академици, член-кореспонденти и професори. След него идва поколението, чиито представители са днешните доценти в Математическия факултет. Най-сетне в последните години на този период започнаха своята работа във факултета и най-младите наши колеги – днешните асистенти, някои от които дадоха вече своите първи приноси в математическата наука.
Трябва с прискърбие да отбележим, че в течение на последните 5-6 години факултетът, а с него и българската математика понесе тежки загуби – отидоха си от нас академиците Н. Обрешков, Л. Чакалов, Ц. Ценов, безвременно ни напусна и Й. Дуйчев.
Нека хвърлим поглед към историята на факултета. Още със създаването на висшите училища през 1889 г. и по-сетне на университета през 1904 г. се създават три катедри – катедра по Основи на висшата математика, по-сетне, в 1922 г. преименувана в катедра по Диференциално и интегрално смятане, катедра по Висша алгебра и катедра по Висш анализ. По-късно се създават и катедра по Геометрия и катедра по Аналитична механика. Тези пет катедри са влизали в състава на Физико-математическият факултет и това положение било неизменно до 9. IX. 1944 г.
Днес Математическият факултет наброява осем катедри, в чийто състав се включват общо 6 професори, 10 доценти, 4 главни асистенти, 5 старши асистенти, 19 асистенти и 5 стажант асистенти.
Катедрата по Диференциално и интегрално смятане, която, както споменахме, е започнала своето съществуване като катедра по Основи на висшата математика, е била ръководена най-напред, до 1909 г., от проф. А. Тинтеров, който е чел лекции по алгебричен анализ. От 1909 г. тези лекции са четени от доц. Г. Стоянов, починал 1912 г. От 1914 г. за редовен доцент в катедрата е избран К. Попов, дотогава асистент по астрономия. През 1920 г. той е избран за извънреден професор, а през 1922 г. за редовен професор. Тогава катедрата бива преименувана и получава името, което носи и днес. От 1951 г. катедрата се поема от нейния сегашен ръководител проф. Я. Тагамлицки. Преди 9. IX. 1944 г. съставът на катедрата се е изменял през различни периоди, като обикновено се е състоял от един професор и един асистент. Покойният академик Н. Обрешков и член-кореспондент Г. Брадистилов са били асистенти при тази катедра. След 9. IX. 1944 г. като асистенти в катедрата са работили Д. Дойчинов, Д. Шопова, Д. Добрев, Д. Скордев и Ив. Проданов. В настоящия момент катедрата се състои от ръководителя проф. Я. Тагамлицки, доц. Д. Скордев, доц. Ив. Проданов, гл. асист. Д. Шопова и асистентите А. Мадгерова и П. Недевски. Преди 9. IX. 1944 г. са четени лекции по диференциално и интегрално смятане, алгебричен анализ, застрахователна математика, редове на Фурие, интегрални уравнения, вариационно смятане. След 9. IX. 1944 г. са четени лекции по диференциално и интегрално смятане, теория на реалните функции, функционален анализ, редове на Фурие, интегрални уравнения, комбинаторна топология, обща топология, равномерна топология, алгебрична топология, линейни топологични пространства, нормирани пръстени, абелови локално-компактни групи, вариационно смятане, външна балистика, методи на Поанкаре, рекурсивни функции, теория на множествата. Освен членовете на катедрата като нейни сътрудници са чели лекции Л. Чакалов, Вл. Чакалов, който е бил и аспирант при катедрата, К. Дочев, Д. Дойчинов.
В катедрата по Висша алгебра до 1910 г. лекциите са били четени от проф. Сп. Ганев. От 1910 г. те се поемат от проф. Ем. Иванов. През 1923 г. ръководител на катедрата става Н. Обрешков, отначало доцент, след това от 1925 г. – извънреден професор и от 1928 г. – редовен професор. На 9. IX. 1944 г. имала един редовен член – своя ръководител. След 9. IX. 1944 г. като асистенти в катедрата, вече преименувана в катедра по Висша алгебра и теория на вероятностите, са работили Й. Дуйчев, по-сетне доцент при катедрата, Р. Денчев, С. Тодоринов, Бл. Сендов, Д. Димитров, Т. Кирпикова. След смъртта на акад. Обрешков през 1963 г. катедрата се ръководи от доц. Дуйчев, а след неговата смърт в 1966 г. ръководството се пое от доц. К. Дочев. Понастоещем катедрата се състои от ръководителя доц. Дочев, гл. асист. Д. Димитров и асист. Гр. Недялкова (в момента аспирантка в СССР). Преди 9. IX. 1944 г. в катедрата са били четени лекции по висша алгебра с теория на числата и по теория на вероятностите. След 9. IX. 1944 г. са били четени следните лекции: висша алгебра с теория на числата, теория на вероятностите, математическа статистика, теория на числата, линейна алгебра, теория на редовете, алгебрични полета, теория на Галоа, теория на групите, обща алгебра, асоциативни алгебри, пръстени и модули. Като сътрудници на катедрата са чели лекции Ив. Байчев и Мих. Гаврилов.
Пръв ръководител на катедрата по Висш анализ е бил проф. Ем. Иванов, който изпълнявал тази длъжност до 1910 г. От 1914 г. до 1952 г. ръководител на катедрата е бил Л. Чакалов, който е бил и единствен неин член до 9. IX. 1944 г. От 1952 г. катедрата се поема от сегашния ѝ ръководител акад. Л. Илиев. След 9. IX. 1944 г. катедрата е била натоварвана и с редица други функции, произлизащи от възникналите нови задачи пред Математическия факултет. На нея бяха последователно възлагани грижите относно обучението по методика на преподаването по математика в средните училища, организирането на четения и написването на учебници по елементарна математика за студентите по математика, създаването на специализация изчислителна математика. В нея са работили през различни периоди твърде много математици, голяма част от които са преминали през отделилите се след това катедра по Методика на математиката и катедра по Изчислителна математика. Те ще бъдат споменати по-нататък, когато ще стане дума за работата на тези катедри. Освен тях като асистенти при катедрата са работили П. Шопов, Т. Генчев, Т. Аргирова. В момента катедрата се състои от ръководителя ѝ акад. Л. Илиев, доц. Т. Генчев, доц. Б. Пенков, ръководител на сектора по Теория на вероятностите и математическа статистика, гл. асист. Т. Аргирова, асист. П. Бояджиев, стаж. асист. А. Атанасов (в момента на аспирантура в СССР). Преди 9. IX. 1944 г. в катедрата са били четени лекции по висш анализ (теория на аналитичните функции и диференциални уравнения) и по вариационно смятане. След 9. IX. 1944 г. в катедрата са били четени следните лекции: теория на аналитичните функции, геометрична теория на аналитичните функции, теория на целите функции, конформни изображения, квазиконформни изображения, риманови повърхнини, гранични задачи в теорията на аналитичните функции, обикновени диференциални уравнения, частни диференциални уравнения, обобщени функции, някои въпроси от функционалния анализ и частните диференциални уравнения, алгебрична топология и функция на много комплексни променливи, елементарна математика, елементарна алгебра, елементарна аритметика, елементарна геометрия, методика на математиката, методика на физиката. Лекциите към сектора по изчислителна математика ще бъдат изброени по-нататък. Като сътрудници на катедрата са чели лекции Е. Божоров, Г. Каратопраклиев, П. Русев, Сп. Манолов, Ст. Димиев.
През 1945 г. бе създадена катедра по Математически статистика и застрахователна математика, чието ръководство бе възложено на акад. Н Обрешков, останал нейн единствен член до 1963 г. През годините 1951-1954 аспирант към катедрата е бил Б. Пенков. През 1963 г. катедрата бе преименувана на катедра по Теория на вероятностите и математическа статистика и поради смъртта на акад. Н. Обрешков нейното ръководство временно бе поето от декана на факултета проф. А. Матеев. В 1965 г. катедрата бе временно закрита, като към катедрата по Висш анализ бе открит сектор по Теория на вероятностите и математическа статистика, в който днес се числи доц. Б. Пенков. В сектора по Теория на вероятностите и математическа статистика към катедрата по Висш анализ са четени следните лекции: увод в теория на вероятностите, теория на вероятностите, математическа статистика, стохастични процеси, марковски вериги, теория на информацията. Освен от доц. Б. Пенков лекции са четени и от К. Попов, Ив. Кацаров, Ем. Симеонов и А. Обретенов, който понастоящем е хоноруван доцент при факултета.
Първи преподавател по геометрия е бил чехът Теодор Монин, който е чел лекции по дескриптивна геометрия, аналитична геометрия и синтетична геометрия от 1889 г. до 1891 г. След него е бил преподавател чехът Владислав Шах, който през годините 1891 до 1894 е чел лекции по сферична тригонометрия и аналитична геометрия. Особени заслуги за преподаването на геометрията в университета има чехът Антон Шоурек, извънреден преподавател по математика от 1890 г., редовен преподавател от 1893 г., след това редовен професор. От 1921 г. до смъртта си в 1926 г. той е бил редовен професор-титуляр на катедрата по Геометрия. Чел е лекции по аналитична геометрия, синтетична геометрия, дескриптивна геометрия, диференциална геометрия, висша геометрия, кинетика на пространството, теория на криви линии и повърхнини, и други. Шоурек има големи заслуги за организирането и снабдяването с литература на математическата библиотека при Физико-математическия факултет – едно ценно наше богатство, чието систематично попълване през последните години за съжаление не се извършва така, както бихме желали. От 1926 г. до 1948 г. ръководител на катедрата е бил професор Д. Табаков, доцент от 1920 г., извънреден професор от 1923 г., редовен професор от 1941 г. Чел е лекции по аналитична геометрия, проективна геометрия, дескриптивна геометрия, диференциална геометрия. На 9. IX. 1944 г. катедрата е имала състав: проф. Д. Табаков, доц. Б. Петканчин, асист. А. Матеев. От 1948 г. катедрата се поема от сегашния ѝ ръководител акад. Б. Петканчин. След 9. IX. 1944 г. в катедрата са работили А. Матеев като асистент, доцент и професор, Ал. Гьонов като аспирант, асистент и доцент, Н. Мартинов като асистент и доцент и освен това Сп. Манолов, Ив. Михайлов, Н. Стоев, А Пейнерджиева и сегашните асистент при катедрата. В момента катедрата се състои от ръководителя ѝ акад. Б. Петканчин, проф. А. Матеев, доц. Ал. Гьонов, доц. Н. Мартинов, ст. асист. Ив. Иванова-Каратопраклиева, асист. А. Лангов, асист. К. Петров, асист. Г. Енева, асист. Ст. Хинева (в момента на аспирантура в СССР), асист. Д. Вакарелов и стаж. асист. Р. Пиперов. Видовете лекции, които са били четени при катедрата преди 9. IX. 1944 г. бяха споменати по-горе. След 9. IX. 1944 г. са четени лекции по аналитична геометрия, проективна геометрия, дескриптивна геометрия, диференциална геометрия, основи на математиката, афинна и риманова геометрия, проективни равнини, диференцируеми многообразия и разслояеми пространства, групи на Ли и интегрална геометрия, двуосна геометрия, елиптична геометрия, елементарна геометрия, математическа логика. Като сътрудници на катедрата лекции са чели Гр. Станилов и В. Топенчаров.
Пръв ръководител на катедрата по Теоретична механика е проф. Сп. Ганев, назначен през 1983 г. за извънреден преподавател по механика и висша алгебра, доцент от 1897 г. и от 1904 г. извънреден професор и зав. катедрата до 1911 г. След него титуляр на катедрата е станал Ив. Цонев – асистент от 1909 г., доцент от 1914 г., извънреден професор от 1919 г., редовен професор от 1922 г. От 1951 г. катедрата се ръководи от проф. Бл. Долапчиев,. Преди 9. IX. 1944 г. освен Бл. Долапчиев, в катедрата е работил и А. Стоянов като асистент, доцент и професор от 1942 г. и Н. Минков като асистент. След 9. IX. 1944 г. в катедрата са работили като асистенти Сп. Манолов, Ив. Чобанов, Л. Ринтел, В. Диамандиев, Г. Паскалев, Н. Стоев, З. Запрянов. Понастоящем катедрата се състои от ръководителя чл.-кор. Бл. Долапчиев, доц. Ив. Чобанов, гл. асист. В. Диамандиев, ст. асист. З. Запрянов, асист. Н. Стоев, стаж. асист. Р. Стоянова. Преди 9. IX. 1944 г. в катедрата са четени лекции по аналитична механика. След 9. IX. 1944 г. са четени следните лекции: аналитична механика, векторно и тензорно смятане, хидромеханика, аеродинамика, теория на потенциала, теория на вихрите, теория на еластичността, устойчивост на движението, газова динамика. До 1952 г. катедрата е осигурявала четенията по висша математика за нематици. Като сътрудници на катедрата лекции са чели Ив. Димовски и Ат. Анчев.
Катедрите по Диференциално и интегрално смятане, Висша алгебра и Геометрия са обслужвали и продължават да обслужват с лекции по съответите дисциплини студентите физици.
През 1952 г. с цел да бъдат посрещнати нуждите от четения по Висша математика за студентите химици и за тези от други нематематически специалности, които четения дотогава се поемаха от катедрата по Теоретична механика, бе създадена катедрата по Обща и приложна математика. Ръководството на катедрата до 1958 г. бе възложено на акад. Ив. Ценов, а след това на сегашния ѝ ръководител проф. А. Матеев. Пръв асистент при катедрата е бил В. Диамандиев, който от 1966 г. премина към катедрата по Теоретична механика. Въпреки специфичните задачи на катедрата тя постепенно бе комплектувана от математици с подчертано теоретични интереси. Понастоящем в нейния състав влизат доц. Д. Дойчинов, ст. асист. Н. Хаджииванов (в момента аспирант по топология в СССР), асистент К. Тодоров, асист. П. Петков (в момента аспирант по математическа логика в СССР), асист. Ст. Георгиева-Петкова (в момента аспирант по алгебрична топология в СССР) и стаж. асист. Я. Кинтишев. В катедрата се четат лекции по висша математика за студентите химици, биолози, биохимици и микробиолози, геолози, географи и други. Освен това към катедрата са четени лекции по обща топология и по алгебрична топология. Като сътрудници на катедрата са чели лекции Б. Пенков, А. Обретенов, Д. Добрев, Ив. Димовски, М. Гаврилов, Ст. Димиев.
От началото на 50-те години в целия свят станаха твърде актуални изследванията по изчислителна математика и използуването на автоматични сметачни машини. Ставаше при това все по-ясно, че се касае за едно развитие, което има непосредствено отношение към практическите въпроси на материалното производство и управлението на обществото. Трябва да отбележим, че въпросите на изчислителната математика имаха почва у нас преди всичко поради работите на Обрешков, Чакалов и Илиев върху разпределението на стойностите на функциите. Въпреки това заслугата за първите конкретни стъпки за приобщаване на българската математика към научноизследователската и практическата дейност в областта на изчислителната математика в света се пада на акад. Илиев. Той бе първият у нас, който видя необходимостта да бъдат взети своевременни мерки в това отношение. Без неговите извънредно навременни и твърде активни постъпки пред ръководните органи в нашата страна, в резултат на които бяха изпратени на специализация в СССР млади математици и бе снабден Математическия факултет с най-необходимата начална материална база, ние бихме се оказали съвършено неподготвени да посрещнем задачите, които животът ни постави след това. В 1956 г. бе изпратен в СССР първият, а две години по-късно и вторият наш аспирант по изчислителна математика. Тези двама първи наши пратеници обаче по едни или други причини не се оформиха като първи наши кадри по изчислителна математика. През 1959 г. в Обединения ядрен институт в Дубна – СССР бяха изпратени 9 души – четири математици и пет инженери – да се запознаят с методите на работа с автоматичните сметачни машини. В 1960 г. в Московския университет бе изпратен на специализация по изчислителна математика Бл. Сендов, който още преди това, но особено след това разви изключително голяма дейност за създаването и укрепването на специалността и чиито заслуги в това отношение трябва да бъдат изрично изтъкнати.
През учебната 1959-1960 г. бе открита специализацията изчислителна математика към катедрата по Висш анализ. В нея бяха включени някои студенти от тогавашния IV курс производствен профил, които я завършиха 1961 г. Също в 1959 г. бе организирана лабораторията по изчислителна математика във факултета, снабдена с клавишни сметачни машини. Понастоящем лабораторията е изостанала в техническо отношение и се нуждае от снабдяване с модерни електронни калкулатори. От 1961 г. към катедрата по Висш анализ бе създаден секторът по изчислителна математика, в който са работили доц. Сендов, доц. Добрев и матем. В. Спиридонов. Първоначално специализиращите студенти по изчислителна математика работеха програми на машината Сетунь, които бяха изпращани в МГУ, след това – за машината ЧИФА и бяха изпращани за проверка в Румъния.
От 1961 г. бе създаден Изчислителният център при Математическия институт на БАН и Математическия факултет, който от септември същата година премина изцяло на издръжка на БАН. В 1964 г. Изчислителният център бе снабден с машината МИНСК-2, върху която оттогава до днес се обучават студентите от специализацията изчислителна математика. Във връзка със силното увеличение на броя на студентите, специализиращи изчислителна математика, назряла е необходимостта от снабдяване на Математическия факултет със собствена модерна електронна сметачна машина.
От 1968. секторът по Изчислителна математика при катедрата по Висш анализ се обособи в отделна катедра по Изчислителна математика, чието ръководство бе поверено на проф. Бл. Сендов. Катедрата понастоящем се състои от ръководителя ѝ проф. Сендов, доц. Д. Добрев, асист. Т. Кирпикова, асист. М. Апостолова, асист. Св. Марков, асист. Т. Боянов, асист. В. Веселинов и двама математици М. Илиева и Б. Боянов. При сектора и катедрата по Изчислителна математика са четени следните лекции: числени методи, теория на автоматичните сметачни машини, програмиране за автоматичните сметачни машини, числени методи на линейна алгебра, функционален анализ, теория на полето, методи за транслация, теория на автоматите, линейно програмиране, теория на игрите. Като сътрудници на катедрата са чели лекции Б. Пенков, П. Бърнев, М. Германов, М. Петков, В. Попов, В. Спиридонов.
Както вече беше споменато, след реорганизацията на методическото обучение на студентите в Софийския университет през 1948 г. на катедрата по Висш анализ бе възложена подготовката и обучението на студентите по методика на преподаването на математиката. Бе създаден и съответен сектор към катедрата, в който влизаха преп. П. Иванов и асистентите Н. Павлов и Р. Раденков. След хабилитирането на др. П. Иванов в 1955 г. секторът се обособи в отделна катедра по Методика на математиката, физиката и химията с ръководител доц. П. Иванов. В нея влизаха тогава и преподавателите по методика на другите две посочени специалности. В катедрата са работили като асистенти Н. Павлов, Р. Раденков, З. Запрянов, Ив. Ганчев, Й. Кучинов, К. Петров, Д. Георгиев. В момента катедрата, обособена вече като катедра по Методика на математиката, се състои от асист. Ив. Ганчев, ст. асист. Й. Кучинов и асист. Д. Георгиев.
От създаването на университета математическите катедри са влизали в състава на Физико-математическия факултет, преименуван за известно време в Природо-математическия факултет. Постепенно от него се отделиха в други факултети специалностите биология, геология, география, химия. В 1963 г. Физико-математическия факултет, включващ по онова време вече само специалностите математика и физика, се раздели и математическите катедри се обособиха в отделен Математически факултет. Това беше един навременен акт. Той даде възможност на математиците спокойно и целенасочено да се обърнат към специфичните твърде важни и отговорни задачи, стоящи пред тях. Факултетният съвет в своя вече хомогенен състав делово и задълбочено обсъжда въпросите и компетентно взима своите решения. За първи декан на Математическия факултет бе изпран проф. А. Матеев, който години наред преди това бе член на ръководството на общия Физико-математически факултет. Той заемаше този пост до 1966 г. От началото на 1967 г. до края на учебната 1967/68 г. декан бе доц. Ал. Гьонов. Трябва да се изтъкне извънредно голямата роля, която изигра др. Гьонов в качеството си на декан за организационното укрепване на факултета.
Още от създаването на Софийския университет Математическият факултет е изпълнявал важната задача да подготвя учители по математика за средните училища. След 9. IX. 1944 г. тази задача изведнъж придоби твърде остър характер, тъй като в резултат на демократизацията на средното образование броят на гимназиите в страната се увеличи от 134 през учеб. 1943/44 г. на 206 през учеб. 1944/45. Това създаде криза за учители, особено по математика. Към май 1945 г. ние сме имали 404 учители по математика с висше образование (със и без държавен изпит) при необходимост от 703 учители. През декември 1949 г. като се вземат предвид и професионалните училища, налице са били 502 учители висшисти при необходимост от всичко 954 учители. За да излезе от това положение, Министерството на народната просвета назначи в гимназиите голям брой прогимназиални и други учители без необходимия ценз (такива учители през учебната 1949/50 г. е имало 302 срещу 502 учители висшисти), намали броя на часовете по математика в гимназиите, увеличи седмичната заетост на учителите по математика и пр. По това време се увеличи и броят на приеманите ежегодно студенти в специалността математика – средно около 200 всяка година. От 1948 г. се откри и задочното обучение по математика. Далеч не всички студенти, записали математика, обаче са завършили следването си. Още по-малко са онези, които са завършили в срок. От 1944 г. досега са били записани 6347 редовни студенти по математика. Като приспаднем 1011 от тях, които са студенти в момента, остават 5336 студенти, от които досега са завършили с държавен изпит 1680 и с дипломни работи 293, или всичко 1973, т.е. около 37%. Много по-незадоволително е положението със задочните студенти, гдето от 1427 студенти (без да се вземат предвид 320-те студенти задочници в момента) са завършили с държавен изпит всичко 268 досега, т.е. около 19%, или по-малко от една пета. По такъв начин Математическият факултет е дал на страната от 9. IX. 1944 г. досега 2241 дипломирани учители висшисти по математика.
Днес вече не съществува криза за учители по математика. Въпреки това поради големия брой на учителски места по математика изобщо в страната – повече от 2000 места за учители висшисти – ежегодните нужди за попълване на освобождаващите се места ще поставят винаги пред факултета важната задача за подготовка на педагогически кадри с висше образование независимо от това, че такива кадри вече се готвят и на други места в страната.
След 9. IX. 1944 г. учебните планове на специалността математика бяха подлагани многократно на редица промени. Беше въведено изучаването на идеологически предмети, имащи цел да спомогнат за формирането на диалектико-материалистически, комунистически мироглед у бъдещите специалисти. Ролята на тези предмети е особено голяма в такъв факултет като Математическия, гдето специалните математически предмети не предоставят големи възможности за непосредствено въздействие в този смисъл. Във връзка с преподаването на идеологичните предмети заслужава да бъде споменато името на преп. Б. Мунтян, чиито лекции по диалектически и исторически материализъм, който той редица години чете във факултета, в най-висока степен изпълняват своето предназначение.
Когато начиная от учебната 1949/50 г. бе премахнат учителският стаж в обучението на студентите по математика, бяха включени четения по методика на математиката, а също така и по психология и педагогика, както и педагогическа практика.
От учебната 1950/51 г. с оглед на новите задачи, стоящи пред факултета, специалността математика бе разделена на два профила – педагогически, предназначен да подготвя учители за средните училища, и производствен, подготвящ специалисти математици. По такъв начин за пръв път от създаването на математическите кадри в университета на висшето образование по математика в България бе възложена официално задачата да подготвя не само учители по математика за средните училища, но и математици специалисти за други нужди. Както вече споменахме, през учебната 1959/60 г. бе създадена специализация по изчислителна математика към катедрата по Висш анализ. По-нататък през учебната 1961/62 г. бе създадена и специализация по математическа статистика при катедрата по Математическа статистика и застрахователна математика. Понастоящем тази специализация се ръководи от сектора по Теория на вероятностите и математическа статистика при катедрата по Висш анализ. Най-сетне през учебната 1963/64 г. бяха създадени и останалите специализации по основните клонове на математическата наука. С решение на МС от август 1967 г. специализацията по изчислителна математика бе преобразувана в профил изчислителна математика. Производственият профил от своя страна се подразделя на шест специализации: алгебра, реален анализ, комплексен анализ, геометрия, механика и математическа статистика. Обучението на студентите от всички специализации на производствения профил и от профил изчислителна математика е общо в течение на първите две години, когато се изучават основните математически дисциплини. Едва след втори курс те се разделят по профили и специализации.
Преди една година Факултетният съвет на Математически факултет, изхождайки от голямата роля, която механиката – една от най-старите фундаментални науки – играе в съвременната научно-техническа революция, както и от голямото разширение на областите на нейното приложение, взе решение да предложи създаването на отделна специалност механика към Математическия факултет. Тази специалност ще има предназначението да готви солидно обучени кадри по механика, способни компетентно да се справят със задачите, които ще им постави развитието на икономиката в нашата страна.
През последните 2-3 години учебните планове отново бяха основно преработени. Този на педагогическия профил бе съобразен с четиригодишния курс на обучение, като в него бяха включени само онези математически предмети, които са действително необходими за придобиване на математическа култура у бъдещите наши учители, като същевременно бяха направени и някои нови въведения във връзка със съвременните тенденции за изменения на преподаването на математиката в средните учебни заведения. Що се отнася до учебния план на производствения профил, направено бе всичко възможно той да бъде съобразен със съвременното развитие на математиката в света. Същевременно отново бяха разгледани и преработени учебните програми по отделните математически дисциплини.
Учебно-преподавателската работа в Математическия факултет винаги е била поставена на солидни основи. Лекциите и упражненията са били изнасяни на нужната висота. В своята учебно-преподавателска работа факултетът е бил много съществено подпомаган от Математическият институт на БАН, чиито сътрудници всяка година са чели лекции или водили упражнения в качеството си на хонорувани преподаватели или асистенти.
По основните дисциплини, преподавани във факултета, са били отдавна написани учебници, отличаващи се с високи качества, като тези на Шоурек, Табаков, Ценов, Попов, Чакалов, Обрешков. Учебниците на Чакалов по Теория на аналитичните функции и на Обрешков по Висша алгебра и до днес служат като прекрасни учебни помагала на нашите студенти. След 9. IX. 1944 г., освен че бяха преиздадени редица от написаните преди това учебници, бяха написани и издадени следните нови: Теория на вероятностите и Теория на числата на Н. Обрешков; Проективна геометрия, Аналитична геометрия, Диференциална геометрия и Основи на математиката от Б. Петканчин; Аналитична механика том I-III от Бл. Долапчиев; Диференциално и интегрално смятане от Я. Тагамлицки; Елементарна математика и Елементарна аритметика от Л. Илиев; Елементарна алгебра и елементарна тригонометрия от Л. Илиев и Сп. Манолов; Проективна геометрия и Аналитична геометрия за физици от А. Матеев; Методика на математиката от П. Иванов; а също и следните сборници със задачи: по елементарна математика на Чакалов, Илиев, Матеев и Манолов; по Аналитична геометрия от Ал. Гьонов и Н. Стоев; по Проективна геометрия от Н. Мартинов; по Теория на аналитичните функции от Т. Аргирова и Т. Генчев.
Математическият факултет е оказал ценна помощ на Министерството на народната просвета по въпросите на обучението по математика в средните училища. Не само покойните академици Чакалов и Обрешков, но и по-голямата част от преподавателите, влизащи в днешния състав на факултета, са вземали дейно участие в написването и рецензирането на учебници и учебни помагала по математика, както и в изготвянето на учебни програми по математика за средното училище.
Заслужава си да се спрем специално на една особена дейност на Математическия факултет, свързана със средното образование. От началото на учебната 1964/65 г. със заповед на министъра на народната просвета бе създадена специална математическа паралелка за ученици от IX, X и XI клас с подчертани математически наклонности, в която обучението се води от преподаватели на факултета по специална учебна програма. Приемането в паралелката става в IX клас с конкурс, провеждан на два етапа. От настоящата учебна година математическата паралелка бе преобразувана в Математическа гимназия, за която се предполага, че ще се състои от няколко паралелки. Тази година бяха приети две паралелки. Преподавателите от Математическия факултет се отнесоха с голямо желание и изключителна сериозност към поставената им задача. Особено големи грижи за изработването на подходящи учебни програми положиха доц. Мартинов, гл. ас. Шопова и гл. ас. Д. Димитров. Мнозина преподаватели във факултета – доценти и асистенти – преподаваха в тези паралелки през изтеклите пет учебни години. Резултатите са обнадеждаващи. Въпреки, че обучението се водеше по твърде засилена учебна програма, включваща доста елементи от висшата математика (особено в XI клас), учениците показаха много хубави способности за усвояване на този труден материал. Понастоящем първите випуски, завършили тези паралелки, са студенти по математика и също показват добър успех. Нека отбележим още, че преподаването в Математическата гимназия дава възможност на преподавателите от Математическия факултет да експериментират в бъдеще съвсем нови учебни програми, допринасяйки по този начин за разрешаването на въпроса за целесъобразни промени в преподаването по математика в средните училища – една задача, която е извънредно актуална в целия свят и към която Математическия факултет проявява най-жизнен интерес.
Творческото развитие на математиката е било винаги важна част от дейността на математиците от Софийски университет още от първите години на неговото създаване. До 9. IX. 1944 г. Физико-математическият факултет беше единственият център на математическата наука в нашата страна. И днес неговата роля в това отношение е също така първостепенна, както и преди.
Първата научна работа по математика е изследването „Тетраниони“ на проф. Ем. Иванов, публикувана 1905 г. в Годишника на Софийски университет. В същата година е направена и първата публикация на български математик в чуждо научно списание, принадлежаща на Д. Табаков. Проф. Табаков е дал приноси също в теорията на коничните сечения и повърхнините от втора степен, върху цикливите на Дюпен и други. Малко по-късно във Физико-математическия факултет влизат онези математици – покойните днес академици Попов, Ценов, Чакалов и Обрешков, – които издигнаха българската математика на световно ниво и за дълги години наложиха своето влияние върху научноизследователската и учебно-преподавателската дейност във факултета. Всички те са прекарали продължително време в изтъкнати чуждестранни университети във Франция, Германия и Италия.
К. Попов започва своята научноизследователска дейност като астроном. Неговата докторска дисертация, изработена в 1912 г. в Париж при големия френски математик Анри Поанкаре, е посветена на изследването на движението на малката планета Хекуба. Следват цикъл трудове из областта на външната балистика, наградени от Парижката академия на науките. Основните негови резултати в тази област са включени в неговата монография, която бе издадена на немски език в 1931 г. в Лайпциг. През 50-те години той посвети редица свои трудове на математическата теория на необратимите термодинамични процеси. Тези трудове бяха също наградени от Парижката академия на науките и издадени в Париж в монография на френски език.
Ив. Ценов в редица свои трудове се занимава с общите уравнения на движението на нехолономните системи, както и с изучаването на конкретни механични системи. В последните години от своята творческа дейност той предложи различни нови форми на уравненията на аналитичната динамика.
Л. Чакалов даде забележителни приноси в многобройни различни области на анализа и алгебрата: неопределени уравнения, проблемата за квадрируемите лунички, изследвани върху Римановата цета-функция, Рикатиеви диференциални уравнения, теория на целите функции, еднолистни функции, тригонометрични редове, квадратурни формули. Особено ценни са неговите изследвания върху теоремата на средните стойности и нейни обобщения.
Н. Обрешков в своите близо 200 научни труда даде ценни резултати в различни области на математиката. Извънредно многобройни са неговите приноси върху разпределението на нулите на полиномите и целите функции измежду които специално трябва да се споменат обобщенията на теоремите на Декарт и Бюдан-Фурие. Резултатите от тези негови продължителни изследвания са включени в две негови монографии, издадени едната на немски, а другата на български език през 1963 г. В теорията за сумирането на разходящите редове той въведе свои методи за сумиране, прилагани многократно от други автори у нас и в чужбина – в СССР, Англия, Индия и др. Обрешков е разработил също така въпроси от областта на диофантовите апроксимации. Тук той в 1956 г. за пръв път намери точната стойност на т.нар. константа на Борел, разрешавайки по този начин проблем, поставен 50 години преди това. Освен посочените области Обрешков е дал ценни приноси също така в теорията на обобщените ортогонални полиноми, численото пресмятане на уравненията, теорията на вероятностите и математическата статистика и др.
Математиците от следващото поколение, които също така имаха възможността да специализират за по-дълги или по-кратки срокове в големите университети на Германия и Франция, станаха достойни продължители на делото на нашите покойни академици в областта на творческото развитие на математиката. Без да си поставяме за цел да бъдем изчерпателни, ще споменем някои от по-важните постижения на тези наши математици, които и днес, намирайки се в годините на своята творческа зрелост, продължават активно да работят и да дават ценни научни приноси.
Акад. Б. Петканчин, чийто работи са главно от областта на диференциалната геометрия на роевете прави в евклидовата, елиптичната и двуосната геометрии, създаде пръв аналитичния апарат за общи изотопни роеве прави в елиптичното пространство. Той изгради аксиоматично реалната и комплексна двумерна Мьобиусова геометрия. Освен това той е дал приноси в областта на интегралната геометрия, еквифинната диференциална геометрия, основите на геометрията и др. Някои от изследванията на акад. Петканчин бяха продължени от други български геометри.
Акад. Л. Илиев даде приноси в теорията на еднолистните функции, аналитичната непродължимост и свръхсходимост на степенни редове и теорията на някои класи цели и специални функции. Той така реши поставения отдавна въпрос за аналога при двусиметричните еднолистни функции на теоремата на Сегьо. Резултатите на Илиев във втората област са изложени в една монография, излязла на български и на немски език. В третата област той изгради теория на известна класа от цели специални функции, за които намери интегрални представяния. Изследванията на акад. Илиев бяха продължени от други математици у нас и в чужбина.
Чл.-кор. Бл. Долапчиев е разработвал въпроси от теорията на вихровите конфигурации, гдето е допринесъл за изясняването на математическите основи на Кармановия модел на вихровите улици. Резултатите му върху стабилността на вихровите улици са обединени в една монография, издадена на немски език в ГДР. През последните години, работейки в областта на аналитичната динамика, излизайки от въведените от него обобщени уравнения на Лагранж, той подведе под обща схема известните уравнения за нехолономни системи на Лагранж, Нилсен, Ценов, съпоставяйки им съответни вариационни принципи.
Чл.-кор. Я. Тагамлицки, чиито работи са главно от областта на функционалния анализ, посвети голям брой свои трудове на теорията на неразложимите елементи и достигна до извънредно общи теореми, като същевременно приложи тези свои резултати и към въпроси от класическия анализ. Така в изследването си върху Абелевия интерполационен ред той придаде извънредно завършен вид на теорията на този ред. Той има приноси също в теорията на реалните функции, интегралните уравнения и др. Изследванията на Я. Тагамлицки в областта на функционалния анализ бяха продължени от редица негови ученици.
Проф. А. Матеев работи върху диференциалната геометрия на конгруентни прави и конгруентни криви в евклидово, елиптично и хиберболично пространство, а също върху диференциалната геометрия на векторно поле в евклидово и псевдоевклидово пространство.
Тук трябва да се спомене и покойният доц. Дуйчев, работил в теорията на алгебричните полета, теорията на Галуа, върху неразложимост на полиноми и др., който в 1956 г. пръв даде аритметично доказателство на важната теорема за съществуване на безкрайно много прости идеали от първа степен в произволно алгебрично разширение на полето на рационалните числа, доказвана преди това само с трансцедентни методи.
Най-сетне от средата на 50-те и особено от началото на 60-те години започва активната научноизследователска дейност и на следващото поколение математици, които започнаха като ученици на своите професори във факултета и които в по-голямата си част се оформиха окончателно като научни работници след специализация в Московския университет. Продължавайки в редица случаи изследванията на своите предшественици, те от своя страна също разшириха списъка на областите, разработвани в Математическия факултет.
Ето един кратък преглед на областите, в които са работили или работят някои от представителите на това поколение: проф. Сендов – теория на апроксимациите, по-специално апроксимация на функции и множества относно Хаусдорфова метрика – една област, в която той е пионер, а също така функционален анализ, моделиране на биологични системи; доц. Пенков – теория на вероятностите и математическа статистика, теория на апроксимациите; доц. Чобанов – основи на механиката; доц. Гьонов – диференциална геометрия на роеве прави в евклидово и риманово пространство; доц. Генчев – частни диференциални уравнения с неотрицателна квадратична форма; доц. Скордев – функционален анализ и математична логика; доц. Дочев – разпределение и числено пресмятане на корени, екстремални свойства на полиноми, развитие в редове по полиноми, теория на асоциативните алгебри; доц. Проданов – функционален анализ и топология; доц. Добрев – функционален анализ, теория на крайните автомати; доц. Мартинов – дескриптивна геометрия на елиптичното пространство, теория на графите, Клайнови геометрии; доц. Дойчинов – топология; Т. Аргирова – конформно и квазиконформно изображение; Д. Шопова – функционален анализ; Ив. Иванова – алгебрична и диференциална геометрия на съвкупности от прави в четиримерното проективно пространство; Д. Димитров – разпределение на нулите на полиноми и цели функции; В. Диамандиев – кинематика; З. Запрянов – газова динамика; Н. Хаджииванов – топология; Ив. Ганчев – логически проблеми в методиката на обучението по математика; Й. Кучинов – геометричните преобразования в обучението по математика в средното училище, и др.
Както се вижда от направения кратък преглед на научноизследователската дейност във факултета, една голяма част от тази дейност е била извършена именно след 9. IX. 1944 г. Голяма част от извънредно ценните приноси на покойните академици Попов, Ценов, Чакалов и Обрешков се пада именно в този период. Също в този период са извършени и подавляващата, основната част от научните изследвания на днешните наши академици и чл.-кореспонденти. От 9. IX. 1944 г. досега математиците от Математически факултет на Софийския университет са публикували повече от 600 научни труда – една бройка, чието значение става по-ясно, когато се вземе предвид високият критерий за научни публикации, който съществува във факултета, както и фактът, че в първата половина от разглеждания период броят на активно работещите математици във факултета не е надхвърлял твърде силно числото десет.
Говорейки за научноизследователската дейност в Математическия факултет, трябва да споменем тук Семинара по анализ, започнал своята работа още през средата на 20-те години под ръководството на Чакалов и Обрешков и продължил по-сетне да функционира под ръководството само на Чакалов, който е играл голяма роля за формирането на научната мисъл и научните интереси у математиците у нас особено в периода преди Втората световна война. Той продължи да съществува и след 9. IX. 1944 г. докъм средата на 50-те години. Трябва също да се спомене и кръжокът при катедрата по Диференциално и интегрално смятане, който под ръководството на проф. Тагамлицки работи особено активно през 50-те години и който допринесе извънредно много за научното израстване на голяма част от нашите по-млади математици. Мнозина от днешните доценти във факултета са направили своите първи стъпки в науката именно в този кръжок и с благодарност си спомнят за това.
Днес във факултета функционират следните научни семинари, работещи с обединените сили на факултета и Математическия институт при БАН: семинар по функционален анализ при катедрата Диференциално и интегрално смятане, семинари по теория на аналитичните функции и по частни диференциални уравнения при катедрата по Висш анализ, семинар по механика при катедрата по Теоретична механика, семинари по теория на апроксимациите, по теоретични въпроси на кибернетиката и по автоматизация на програмирането при катедрата по Изчислителна математика, а също така и студентски научни кръжоци при катедрите по Диференциално и интегрално смятане, Висша алгебра, Геометрия и Теоретична механика. Научните семинари и студентските научни кръжоци играят важна роля за поддържане на творческа атмосфера в Математическия факултет.
Спирайки се специално на въпроса за научното израстване на младите математически кадри при разглеждания 25-годишен период, трябва да кажем, че за съжаление в това отношение не винаги е било правено всичко, което е необходимо. По-точно казано, този период се разделя в това отношение на две части. Първата от тях, обхващаща първите 15 години, се характеризира с това, че през това време нито един млад български математик не бе изпратен на специализация в чужбина. Изключение правят двете аспирантури по изчислителна математика в СССР през 1956 и 1958 г., които по една или друга причина не оказаха влияние на развитието на математиката у нас и поради това не опровергават верността на горната констатация. Като се прибавят тук и петте години на войната, получава се един 20 годишен период, през който българската математика е била лишена от жива връзка със световната математическа мисъл. Липсата на тази връзка, разбира се, не можеше в никакъв случай да бъде запълнена посредством получаването на чужди периодични научни списания или пък от редките и краткотрайни излизания на конгреси на най-изтъкнатите наши математици по това време.
Естествено това продължително откъсване на българската математика от световното развитие не можеше да не даде своето неблагоприятно отражение. Положението се задълбочаваше, както сега си даваме сметка, и от обстоятелството, че тъкмо през десетилетието, непосредствено следващо годините на войната, световната математика навлезе в един период на неочаквано бурно развитие, което, както изглежда, не е завършило и досега. При това касае се не просто до възникването на нови математически области – явление повече или по-малко обичайно за двадесетия век, – но до създаването и развитието на такива методи в абстрактната математика, които до голяма степен промениха физиономията на самата математика. Като един пример нека споменем само изключително бурното развитие на онези теории, които се обединяват от наименованието алгебрична топология, като например диференциалната топология или хомологичната алгебра, чиито методи проникват днес не само в абстрактните части на математиката, каквито са алгебрата или алгебричната геометрия, но и в такива класически области като теорията на частните диференциални уравнения, правейки ни да виждаме с други очи цялата структура на съвременната математика и по нов начин да схващаме мястото и значението на отделните нейни части. Благодарение на споменатите по-горе причини българската математика закъсня в своето приобщаване към това развитие на математиката в света.
Както вече казахме, положението със специализациите се промени коренно от 1959 г. Това се обяснява с факта, че особено след Априлския пленум от 1956 г. Партията и правителството започнаха в още по-голяма степен да обръщат внимание на науката у нас изобщо и на математическата наука в частност, а също и с обстоятелството, че днешните наши академици и чл.-кореспонденти, които имаха правилно разбиране за нуждата от специализация на младите академически кадри, имаха по това време вече необходимия авторитет, за да поставят този въпрос с цялата му сериозност пред нашите ръководни органи. Трябва да се изтъкне и голямата отзивчивост, с която се отнасяше към този проблем и бившият министър на народната просвета др. Г. Ганев.
Последните десет години бяха важен период за по-младото поколение математици, които почти всички получиха възможността да прекарат по-малко или повече време като специализанти в Московския университет. Тази възможност се използува в още по-голяма степен от най-младото поколение днешни математици, голяма част от които преминаха или преминават в момента през аспирантура в СССР, а някои от тях завършиха математика като студенти там. Непосредственият досег с такъв голям център на световната математика, какъвто е Московският университет – един център, в който напред с някои от най-големите имена на съвременната математика работят и цяла армия от по-млади и извънредно талантливи математици, – не можеше, разбира се, да не даде своето благоприятно отражение за развитието на математиката у нас, особено в лицето на нейните по-млади и най-млади представители. Големият брой спецкурсове, които се чете през последните години в нашия факултет – през миналата учебна година например той достигна до 30, – е само един от признаците, които говорят за едно явно активизиране на творческите усилия.
Помощта, която Московският университет ни оказва, се изразява и в дългосрочни гостувания на съветски математици у нас. Академикът на УССР Б. В. Гнеденко в течение на един семестър чете у нас лекции по теория на масовото обслужване. Лекции четоха също така съветските математици В. Г. Карманов, А. Г. Костюченко, Н. А. Дмитриев, Г. Ф. Лаптев, Н. И. Кованцов. В момента наш гост е А. Д. Соловьев, който чете лекции върху асимптотични методи и Марковски процеси.
През същите тези десетина последни години се увеличи и възможността за специализации в западни страни, а също така и за участие на наши математици на най-различни международни научни форуми. Тези възможности също бяха използувани. Многобройни са както гостуванията на чужди математици у нас, така и командировките на наши математици на конгреси и симпозиуми в чужбина, където те като правило винаги са изнасяли свои доклади. На почти всички международни конгреси по математика сред войната участвуваха и български представители. Особено масово нашата математика се представи на Световния конгрес в Москва в 1966 г., в който взеха участие по-голямата част от преподавателите в Математическия факултет.
Българските математици на два пъти през разглеждания период организираха у нас свои конгреси с гости от чужбина – Първи през октомври 1956 г. и Втори през август – септември 1967 г. И в двата тези конгреса представителите на Математическият факултет взеха най-дейно участие със свои научни доклади. Големият брой, над 200 гости делегати от чужбина, взели участие на Втория конгрес на българските математици, бе едно косвено признание за значението и постиженията на българската математика, най-голям зял в която има именно Математическия факултет на Софийския университет.
Днес, оглеждайки изминатия път през изтеклите 25 години, ние имаме всичкото основание да бъдем доволни. През този, тъй важен за развитието на нашата Родина период Математическият факултет живя пълнокръвен живот, извърши огромна и полезна учебно-преподавателска работа и обогати родната наука с ценни научни приноси. Наброяващ на 9. IX. 1944 г. всичко пет професори, двама доценти и трима асистенти, днес той представлява един колектив, достигнал внушителното число 50 души. Петима от тях са доктори на науката от новия тип, десет са кандидати на науките, други десет в момента работят над своята кандидатска дисертация или са аспиранти. Живи са творческите традиции на големите наши предшественици. Научноизследователската активност е в подем. Ние гледаме с увереност в бъдещето и не се съмняваме, че българските математици и специално математиците от Софийския университет ще се справят с чест със задачите, които ще им постави нашето социалистическо Отечество в своя път към комунизма.
]]>Основната терминология по математика и физика у нас бе създадена в края на миналия и началото на сегашния век от нашите първи учители и професори по математика и физика. Трябва да се отбележи, че те извършиха това с голямо старание и високо патриотично и професионално съзнание. Наред с общоприетите международни термини бяха въведени и множество хубави български думи, които употребяваме и сега. Естествено с времето терминологията по нашите науки непрекъснато се попълваше и усъвършенствуваше.
В последните няколко десетки години бурното развитие на науката и техниката внесе множество нови термини в нашата терминология и голяма част от тях още не са избистрени. Постепенно въвежданите термини се подобряват и се премахват излишните чуждици, като се заменят с български думи и се побългаряват чуждите.
В същото време обаче мнозина проявяват пренебрежително отношение към езика – отново изплаваха отдавна отречени чуждици, за които имаме наши думи, неправилно се образуват нови, използуват се термини в изопачен смисъл, нарушават се езикови норми.
Време е вече да се постави в ред нашата научна терминология и в тая насока започва да се работи организирано. При БАН се изгражда комисия по науко-техническата терминология. Тя ще подготвя с помощта на специалистите предложения за установяване на рационална терминология по специалните науки. Предложените термини ще се приемат и въвеждат след широко обсъждане. Това е огромна работа, за която ще трябва доста време.
Все пак за понятия, за които отдавна имаме твърдо установени термини, още отсега не трябва да се допуска да се употребяват чуждици. Да се мисли, че като заемаме наши думи с чужди, езикът ни се обогатява и става по-представителен, е съвършено погрешно. Това по-скоро е признак на неуважение или непознаване на родния ни език.
Нека приведем някои примери.
Когато се изграждаше нашата математическа терминология, думата „изчисление“ се считаше невъзможна в българския език и се превеждаше „смятане“ или „пресмятане“ – диференциално смятане, пресмятане на една числена стойност, пресмятане на една конструкция. Казваше се „сметачна машина“, а сега се натрапва „изчислителна машина“.
Недопустимо е да се казва „значение“ на една величина вместо „стойност“, „натурално“ число вместо „естествено“ число, „разчет“ вм. „пресмятане“ или „сметка“, „плоскост“ вм. „равнина“, „площ“ на фигура вм. „лице“, „безконечност“ вм. „безкрайност“, „парциална“ производна вм. „частна“, „фамилия“ криви или повърхнини вм. „семейство“, „сума“ вм. „сбор“, „обозначение“ вм. „означение“, „наименование“ вм. „име“ или „название“, „по протежение“ на линия или граница вм. „по дължина на“, „фиксирана“ стойност вм. „дадена“ или „определена“.
Неправилно се употребява „стръмност“ (на крива). Така както казваме кривина и дължина на крива, височина, ширина и дължина на геометрична фигура, трябва да казваме „стръмнина“; също и „повърхнина“, а не „повърхност“.
Особено внимание заслужава думата „направление“. Тя е руска и произлиза от глагола „направить“, което значи „да насоча“. Същата дума има и в българския език, но „да направя“ значи съвсем друго. „Направление“ се превежда на български като „насока“ (на развитие) или „посока“ (в пространството). В математиката и физиката трябва да си служим с понятието „посока“. Думата „направление“ по смисъл и по форма е чужда на нашия език и е съвсем ненужна – нашите думи „посока“ и “насока“ са по-добри от нея и по съдържание, и по звучене.
От физическите термини може да се дадат още повече примери: „безпорядъчно“ и „хаотично“ движение вместо „безредно“, „габарити“ вм. „размери“, „диапазон“ вм. „обхват“, „екран“ (електростатичен или магнитен) вм. „заслон“, „изображение“ вм. „образ“, „колебание“ вм. „трептение“, „лента“ (честотна) вм. „ивица“, „наклонена плоскост“ вм. „наведена равнина“, „непреривно“ (действие) вм. „непрекъснато“, „отверстие“ вм. „отвор“, „детайл“ (на механическо или електронно устройство) вм. „част“, „полоса“ вм. „ивица“, „проявление“ вм. „проява“ или “проявяване“, „накален“ (катод) вм. „нажежен“, „разрешаваща“ (способност) вм. „разделителна“, „свист“ вм. „подсвиркване“, „стълкновение“ вм. „сблъскване“, „съприкосновление“ вм. „допир“, „съхранение“ на енергията вм. „запазване“, „уровен“ вм. „равнище“ или „ниво“ (на енергия), „уширение“ (на спектрална линия) вм. „разширение“.
Мнозина, за да изразят състоянието, при което един диод или триод (полупроводникови или лампи) не пропускат ток, казват, че той е „запушен“. Диодът или триодът може да се сравнят с кран, който спира някакъв поток, и както за кран се казва, че е „отворен“ или „затворен“, така трябва да казваме и за диод и триод. „Запушваме“ бутилка, но диодът и триодът не може да се сравнят с нея.
Време е да подменим „парчета“ или „фрагменти“ с „късове“ или „отломки“, „високоговорител“ с „гласник“, „пътека“ на стабилност с „ивица“, „респективно“ със „съответно“.
Трябва да помислим не е ли по-добре вместо „уравнението се удовлетворява“ да казваме „уравнението се задоволява“ – несъмнено второто е по-кратко и звучи по-добре.
Има още много термини, които по форма и звучение не подхождат на езика ни и за тях трябва да намерим български, например оборудване, разряд, и др.
Голямо увлечение има към предлога „чрез“ – среща се „измерване чрез волтметър“ (в проектопрограма за средните училища), „спектри, снети чрез телескоп“ (в отчет на астрономи). В подобни случаи няма място „чрез“, трябва да бъде „с“.
Забелязват се и недопустими нарушения на нормите на нашия език. Например пробива си път формата „на лампи“, „на транзистори“ – „генератор на транзистори“ вм. „с транзистори“. От първия израз се разбира, че генераторът е устройство, което генерира транзистори, така както имаме „генератор на импулси“. Това е недопустим превод от руски „генератор на транзисторах“.
Има и някои неустановени термини. Например „усилител“ и „усилвател“, „измерител“ и „измервател“ и прилагателните към тях. Кое е правилно? Ако разгледаме съществуващите думи от този вид, ще видим, че в голямото си множество те се образуват от свършената (еднократната) форма на глагола, например показател, указател, заместител, запалител, избелител, обезпрашител, изтребител, предпазител, смесител и много други. Има и редки изключения: „излъчвател“, но вместо него вече се въвежда „лъчител“ (в топлотехниката). Така, че ако може да се говори за правило, то е, че съществителните имена на -тел и прилагателните на -телен се образуват от свършената форма на глагола. Следователно трябва да се казва „усилител“ и „измерител“.
Главната работа по създаване на единна общоприета терминология за математическите и физическите понятия стои пред нас и трябва задружно и упорито да работим, за да я доведем до задоволително състояние. При това не трябва да забравяме, че терминологията, както и езикът, е нещо живо, което с времето непрекъснато се развива – допълва се и се подобрява, така че изграждането ѝ ще бъде един непрекъснат траен процес.
Пред нас стоят още много трудности до постигането на издържана единна терминология, която трябва да бъде и общоприета. Но не трябва да се мисли, че това е непостижимо. Ако поработим с желание и започнем систематично да прилагаме единни термини при преподаването, в учебниците и в научните издания, за няколко години основният резултат ще бъде постигнат. Така ще избегнем множество излишни недоразумения и спорове, ще облекчим изучаването на нашите науки и ще допринесем за развитието на нашия език.
]]>Защо застраховка „Гражданска отговорност“ трябва да е за автомобила?
Според правилата в ЕС (и в общи линии целия останал свят) застраховката „Гражданска отговорност“ е с цел да покрива щетите на невинни участници в пътно-транспортните произшествия. Това не е застраховка за водачите на автомобилите. Не е застраховка и за самите автомобили. Това е застраховка за трети лица. Ние плащаме застраховката не за да пазим себе си, а за да пазим другите от себе си!
След това уточнение вече сме готови да се досетим, че тази застраховка трябва да важи при всички случаи и всички обстоятелства. Представете си, че става дума за пешеходец, който е блъснат от автомобил. Има ли значение за този пешеходец кой е бил водача на автомобила и какъв е правния му статус – има ли шофьорска книжка или няма, дали е застрахован или не, дали е собственика на колата или е някой, който я е откраднал? Не разбира се – блъснатият просто трябва да бъде обезщетен!
Затова за да може да работи Гражданска отговорност ефективно е нужно всички, които шофират автомобили, да бъдат застраховани, а липсата на такава застраховка трябва да е много голяма рядкост. Е, именно тук се пропуква идеята за личната застраховка. Кое според вас е по-лесно:
– Всички автомобили да бъдат застраховани;
или
– Всички хора с книжки да бъдат застраховани?
Естествено, че ще е изключително трудно ще спрете някой хлапак, който се качва в колата на баща си без книжка или без застраховка. Могат да се налагат мащабни глоби, но такива неща ще продължават да се случват. Добавете към това, че при едно ПТП е много по-лесно шофьора да избяга, отколкото колата, която е катастрофирала да го направи. Автомобилите много по-лесно се проследяват и контролират. Ако застраховката беше лична на водачите, а не на автомобилите, тогава случаите на катастрофа с водач без ГО биха били много повече, отколкото са сега. Това ще резултира в нуждата от много по-голям от сегашния Гаранционен фонд, а съдилищата ще бъдат заляти от съдебни дела срещу недобросъвестни водачи. Това не е от полза за никой. Добросъвестните водачи ще се наложи да плащат по-високи застраховки, защото недобросъвестните ще бъдат много по-голямо количество. Това не е добре. Това е причината ГО да се сключва за автомобила, а не за водача му. Просто автомобилите са големи и се хващат лесно, а хората са мобилни и хитри, поради което шмекеруват често.
Вторичен проблем се появява за семейства с една кола, където например жената шофира рядко. За такива случаи ако са за човек, хората ще плащат две застраховки вместо една. Става нечестно хора, които почти не шофират, да плащат наравно с останалите. Не можете да изконтролирате кой колко километра е навъртял.
Освен това изчезва един лост, с който стимулираме бракуването на стари автомобили. Ще се намали финансовият стимул да се премахват купчините ламарини от улиците. Вярвам, че сте съгласни, че хората трябва да бъдат стимулирани да не държат коли, които се карат рядко или не се карат въобще.
Но пък за застрахователите ще е по-добре застраховките да са за хората. Конкретно за бонус-малус е по-неточно и понякога нечестно застраховката да е на колата. Ако тя е лична, рискът ще се определя по-коректно. Това е единствен позитив за личните застраховки. Но внимание – и тук има пробойна. Вече има автономни автомобили. Те са нещо, което ще се види скоро и у нас. Ако застраховката е лична, тогава те как ще бъдат застраховани?
Просто позитивите застраховката да е за автомобила са повече от негативите. Това е.
Вярно ли е, че има „малко бонус и много малус“?
Последният път когато се поинтересувах от темата за бонус-малус, предложението беше да има до 25% намаление за изрядни водачи и до 400% увеличение за тези, които са имали нарушения. Именно това е причината за масовото възмущение, че се дава малко и се взима много. Това естествено е първосигнална реакция на хора, които не разбират от математика.
Идеята освен всичко друго е системата на застраховане да е финансово стабилна и балансирана. Това означава нито да фалират застрахователни дружества, нито да има свръхпечалби за тях. Всичко трябва да е честно и да се работи с разумни печалби и обезщетения, а в системата никога не трябва да се допуска тежък дефицит. Затова е важно размерите на въпросните бонуси и наказания да бъдат съобразени и със съпоставката на количеството на изрядни към неизрядни шофьори!
Тук тезата, че „много взимат, малко дават“ се пропуква. Ако разгледаме статистиката за щетимост на леки автомобили, ще видим, че тя е около 4%. Това означава, че само 4% от застрахованите автомобили са участвали в някакво ПТП, което е породило нужда от плащания по застраховката. Естествено трябва да включим и други видове нарушения, които пораждат „малус“, но картинката е пределно ясна – като цяло има много повече изрядни шофьори, отколкото неизрядни такива!
И сега следва математиката. Задължил си застрахователите да дават „бонус“ на много хора, а ги компенсираш с възможността да правят „малус“ за много по-малко на брой нарушители. Е няма как бонус да е същия процент като малус – просто не може по този начин да се изравни сметката!
Ще дам измислен пример с крайности – да приемем, че шофьорите са само или изрядни с пълен 25% бонус, или неизрядни с 400% малус. Нека имаме 2 милиона застраховани. Нека всеки от тях в сегашната система плаща по 200 лева застраховка. Това значи, че застрахователите получават 400 милиона лева общо ако няма бонус-малус. Нека сега включим бонус-малус. От шофьорите се оказало, че 153000 са нарушители и ги цакат с малус, а 1847000 са изрядни и получават бонус. И веднага смятаме:
Да сумираме – получава се 399 милиона лева и 450 хиляди. Ако увелича малко хората с малус и намаля тези с бонус, направо ще ударим същите 400 милиона лева при 2 милиона застраховани. Тоест 25% бонус и 400% малус всъщност не води до по-големи приходи за застрахователите!
Системата бонус-малус не е измислена, за да нагуши злите застрахователи с повече пари. Бонус-малус е измислена за да насърчи добрите шофьори и да накаже лошите. Когато добрите шофьори са повече от лошите, това значи че бонус трябва да е по-малък, а малус по-голям. Това е положението и няма как да бъде по друг начин.
Защо при продажба на автомобила новия собственик придобива и „малуса“ му?
Отговорът тук е доста категоричен – ако няма такава регулация, а застраховката е за автомобила, бонус-малус всъщност почти няма да сработи. Ако аз например наруша тежко и получа голям малус, аз бих могъл да продам автомобила си на баща си, братовчед си, кума си, т.н., и да продължа да си го карам аз. Така де, не е забранено да се кара чужда кола, нали? Ето това нещо трябва някак да бъде спряно – затова малус класа се прехвърля заедно с прехвърлянето на колата. Тази точка е в пряка зависимост от първата – когато застраховката е за автомобила, а не лична, както бонус, така и малус трябва да вървят с нея.
Е, остава проблемът с лоши шофьори, които постоянно си сменят колите. Да, ще има такива. Естествено, че няма перфектна система. Но и тук неизрядните все пак са наказани. Дали ще им е приятно да си сменят автомобила и да продават стария на по-ниска цена заради натрупания малус с него? Не мисля.
Ами колите под наем?
Да, те определено са още един проблем. Такива автомобили се карат от много и най-различни хора, т.е. там няма как застрахователите да предвидят какво ще се случи. При тях няма как да има нито бонус, нито малус.
Няма ли да се увеличи корупцията на пътя?
Да, ще се повиши. Няма начин „и какво правим сега?“ от страна на катаджиите да не се засили. Това е силен нов жокер за тях – вече ще рекетират шофьорите не само с размер на глоба, но и с дългосрочен малус. Затова ако се въведе бонус-малус системата, трябва да се помисли и за по-сериозни мерки за справяне с корупцията на дребно.
]]>