Компьютерные инструменты в образовании, 2018 № 6: 56-62
УДК: УДК:373.62:004.02 http://ipo.spb.ru/journal doi:10.32603/2071-2340-2018-6-56-62
КОНСТРУКТИВНЫЕ ЗАДАЧИ В ОЛИМПИАДАХ ПО МАТЕМАТИКЕ И ИНФОРМАТИКЕ*
Чухнов А. С.
Санкт-Петербурский Государственный Электротехнический Университет «ЛЭТИ» им. В. И. Ульянова (Ленина), Санкт-Петербург, Россия
Аннотация
Конструктивные задачи возникают во всех областях математики. Они очень важны в работе со школьниками и студентами, так как являются одним из самых простых способов стимуляции продуктивной деятельности учащихся. Эта работа посвящена роли конструктивных задач в дистанционных олимпиадах по математике и информатике. Также задачи подобного рода могут быть использованы для мониторинга интеллектуальной деятельности учащихся в образовательном процессе.
Ключевые слова: математические олимпиады, конструктивные задачи, дистанционное обучение, конструктивная деятельность, компьютерные средства, предметные манипуляторы, неинвазивный мониторинг.
Цитирование: Чухнов А. С. Конструктивные задачи в олимпиадах по математике и информатике // Компьютерные инструменты в образовании, 2018. № 6. С. 56-62. doi:10.32603/2071-2340-2018-6-56-62
ВВЕДЕНИЕ
Конструктивные задачи широко встречаются в разных областях математики. Построение примеров и контрпримеров к различным утверждениям является важной составляющей научного познания.
Обучение математике зачастую сводится к изучению различных шаблонов и техник решения задач, оставляя учащимся место лишь для репродуктивной деятельности — воспроизведения того, что они уже видели в исполнении преподавателя. Стимуляция продуктивной деятельности, мотивирование учащихся думать самостоятельно является одной из важнейших задач современного образования.
При решении конструктивных задач имеет место как раз продуктивная деятельность. Учащемуся даются определения или инструменты для построения некоторой конструкции, а методы построения этой конструкции ему приходится разрабатывать самостоятельно.
Подобного рода стимуляция продуктивной деятельности заслуживает своего места как на олимпиадах, так и в рамках образовательного процесса.
*Работа выполненена при поддержке РФФИ (проект 18-013-01130).
1. ОСНОВНЫЕТИПЫ КОНСТРУКТИВНЫХ З^АЧ
В математике есть несколько основных типов конструктивных задач. В первую очередь, это задачи, в которых необходимость построения некоторой конструкции или примера явным образом требуется в условии.
Также конструктивная задача может быть спрятана за формулировкой «существует ли ...». Задачи этого типа, на первый взгляд, выглядят более интересно, поскольку существование конструкции изначально не очевидно. В то же время у учащегося есть большой простор для разочарования в случае, если он потратил часы в попытках доказать отрицательный ответ вместо построения иногда достаточно простого примера.
Также конструктивная задача может быть частью другой, более крупной задачи. Задачи вида «оценка плюс пример» состоят из конструктивной части (построения примера, оптимального по какому-либо параметру) и оценки — доказательства оптимальности этого примера.
Построение конструкции чаще всего является продуктивной, а не репродуктивной деятельностью, то есть самостоятельным мыслительным процессом, а не повторением выученных шагов. Таким образом, конструктивные задачи могут быть полезнее и интереснее учащимся, чем обычные задачи, зачастую сводящиеся к подстановке одних известных формул в другие.
В современной российской олимпиадной математике конструктивные задачи в основном считаются уделом школьников пятых-седьмых классов. На более взрослом уровне конструктивные задачи в чистом виде встречаются гораздо реже, их заменяют задачи вида «оценка плюс пример», где основной упор делается на оценку, и построить пример, как правило, менее трудно, чем обосновать его оптимальность.
2. КОНСТРУКТИВНЫЕ ЗАДАЧИ В ОЛИМПИАДАХ
В современных условиях тотальной информатизации общества многие организаторы олимпиад пришли к необходимости перевести часть своих туров в дистанционную форму, предоставляя учащимся доступ к задачам посредством сети Интернет. В рамках этой формы проведения организаторы сталкиваются с непростым выбором, в каком виде участники должны предоставлять решения задач. Наиболее часто встречающийся вариант — требовать только ответы. Но в этом случае довольно часто в задаче бывает легко угадать ответ без выполнения всей интеллектуальной работы, необходимой для корректного выполнения задания.
Другой способ — требовать полный текст решений. Здесь мы сталкиваемся с иной проблемой: участники могут оказаться в неравных условиях из-за разной скорости печати. Кроме того, могут возникнуть трудности при необходимости дополнить решение чертежом или картинкой.
Ещё один возможный способ, позволяющий, с одной стороны, избежать «рулетки» с угадыванием ответа, а с другой стороны, избавляющий участников от необходимости набора на компьютере огромных объёмов текста, — это использование конструктивных задач.
Конечно, для каждой задачи или каждого типа задач сначала потребуется разработать некоторую интерактивную среду, которую мы в дальнейшем будем называть «манипулятором», что требует несколько большего вложения труда программистов, чем просто проверка ответа, но такова плата за то, чтобы сделать олимпиаду более интерес-
ной, а её результаты более репрезентативными. С другой стороны, решения конструктивных задач, созданных в рамках манипуляторов, могут проверяться автоматически, что приводит к значительному снижению затрат человеческого труда по сравнению с ручной проверкой полных решений.
3. КОНСТРУКТИВНЫЕ ЗАДАЧИ В РАМКАХ ОЛИМПИАДЫ ПО ДИСКРЕТНОЙ МАТЕМАТИКЕ И ТЕОРЕТИЧЕСКОЙ ИНФОРМАТИКЕ
В рамках олимпиады по дискретной математике и теоретической информатике (ДМиТИ) мы обычно используем шесть типов конструктивных задач. Каждый тип поддерживается своим собственным манипулятором.
Это манипуляторы, позволяющие создавать логические схемы, машины Тьюринга, конечные автоматы (с выводом или без) и регулярные выражения; также имеется манипулятор, позволяющий строить и раскрашивать графы, и манипулятор «Мир Тарско-го», работающий с формулами исчисления предикатов, описывающий цветные фигуры в клетчатой таблице.
Например, задача по теории графов может быть сформулирована как «Найдите граф с наименьшим количеством вершин, удовлетворяющий некоторому условию». Корректность построенного графа проверяется автоматически. Дополнительные баллы можно получить за доказательство минимальности, которое приводится в текстовом виде.
Задача 3. Железная дорога.
Требуется построить 8 станций и наибольшее количество прямых железнодорожных линий между ними так, чтобы линии не пересекались. Баллы будут выставляться пропорционально количеству построенных линий. Картинки, не удовлетворяющие условию, оцениваются в 0 баллов.
Станции изображаются вершинами графа, линии — рёбрами.
Граф, являющийся решением задачи, можно увидеть на рисунке 1.
Можно доказать (хотя от участников олимпиады этого и не требуется), что это оптимальный вариант.
Используем формулу Эйлера: В + Г = Р + 2, где В — число вершин графа, Р — число рёбер, а Г — число «граней» (частей, на который граф разбивает плоскость).
Кроме того, 3Г не больше, чем 2Р, потому что в каждую грань входят хотя бы три ребра, а каждое ребро входит в две грани. Поэтому Г ^ 2 Р.
Рис. 1. Железная дорога — решение задачи 3.
Поэтому Р + 2 = В + Г ^ В + 3Р, откуда Р ^ 3(В - 2), что для 8 вершин как раз и составляет
18.
На олимпиаде ДМиТИ не только отборочный, но и финальный тур проводится в компьютерной форме, в том числе и на конструктивных задачах.
4. СЮЖЕТНОЕ ПОСТРОЕНИЕ ВАРИАНТА ОЛИМПИАДЫ. СВЯЗЬ РАЗНЫХ ТИПОВ ЗАДАЧ
Одной из особенностей олимпиады ДМиТИ является подборка задач по сюжетному принципу, в рамках которого участникам предлагаются несколько задач, посвященных общей теме. При этом в рамках одного сюжета могут встречаться конструктивные задачи, реализованные на различных манипуляторах, а также теоретические задачи, требующие текстового решения.
В качестве примера рассмотрим задачи отборочного тура олимпиады ДМиТИ 20182019 годов.
Задача 4. Очень нехорошие слова длины 10
Хорошими словами назовём слова из букв а и Ь, в которых количества букв а и Ь дают одинаковый остаток при делении на 3 (то есть, их разность кратна трём). Все остальные слова назовём нехорошими. Очень нехорошими назовём такие нехорошие слова, что любой их непустой начальный отрезок — тоже нехорошее слово. Например, слово аааЬ начинается с хорошего слова ааа и поэтому не является очень нехорошим.
Найдите все очень нехорошие слова длины 10 и докажите, что других нет.
Для решения этой задачи необходимо понять, что в очень нехорошем слове только первая буква выбирается произвольно. Каждый следующий символ восстанавливается однозначно на основе предыдущих: первые два символа одинаковы, а в дальнейшем символы чередуются. Поэтому очень нехороших слов каждой конкретной длины ровно два.
Задача 5. О чень нехорошие слова. Описание при помощи формулы
Опишите все очень нехорошие слова.
Для описания используйте формулы, которые называются регулярными выражениями.
Формулировка этой задачи существенно сокращена по сравнению с тем видом, в котором она выдавалась участникам олимпиады. Полное условие включает в себя список определений, приведённый в предыдущей задаче, а также описание используемого языка регулярных выражений. Этот язык, помимо конкатенации, использует дизъюнкцию, обозначаемую плюсом, и итерацию, обозначаемую звёздочкой.
Включение определений в каждую задачу обеспечивает участникам возможность решать эти две задачи независимо одну от другой. С другой стороны, задачи решаются при помощи одной и той же идеи и дополняют друг друга в рамках одного сюжета.
Запишем чередующуюся последовательность как (Ьа)*. Тогда перед ней стоит аа или Ь, что записывается как аа + Ь. После неё также может стоять буква Ь или ничего, что записывается как Ь+. В итоге получаем формулу (аа + Ь)(Ьа) * (Ь+), которая описывает все очень нехорошие слова, начинающиеся с аа или Ь, то есть все очень нехорошие слова, кроме слова а.
Таким образом, ответом к данной задаче является выражение а + (аа + Ь)(Ьа) * (Ь+).
Задача 6. Хорошие слова. Описание при помощи формулы
Опишите все хорошие слова. Для описания используйте формулы, которые называются регулярными выражениями.
Заметим, что пустое слово является хорошим, то есть подходит под условие.
Для решения этой задачи разобьём каждое хорошее слово на минимальные хорошие куски, то есть на такие слова, которые сами по себе хорошие, а любой их начальный отрезок — нехороший. Построим формулу для минимального хорошего куска, а затем при помощи итерации превратим его в формулу для всего слова.
Воспользуемся решением предыдущей задачи. Заметим, что минимальный хороший кусок представляет собой очень нехорошее слово, к которому добавлена одна буква, делающая слово хорошим. Как мы знаем, в очень нехорошем слове буквы, начиная с третьей, чередуются, поэтому в минимальном хорошем куске длины хотя бы 3 две последние буквы должны быть одинаковыми. То есть если рассматривать чередующуюся последовательность как (Ьа) *, мы получаем окончание слова ЬЬ + а. Кроме того, надо рассмотреть случай очень нехорошего слова а, которое превращается в хорошее добавлением буквы Ь.
Таким образом, формула для минимального хорошего куска — это аЬ + (аа + Ь)(Ьа) * (ЬЬ + а), а для хорошего слова, соответственно, (аЬ + (аа + Ь)(Ьа) * (ЬЬ + а))*.
Эта задача более сложная, чем две предыдущие, и её решение включает решения предыдущих задач.
Задача 7. Хорошие слова. Распознающая схема
Постройте конечный автомат, распознающий все хорошие слова.
Решение задачи представлено на рисунке 2.
На этой схеме каждое состояние отвечает за остаток от деления на 3 разности между количествами букв а и Ь: остаток равен номеру состояния. Соответственно, остаток увеличивается на 1 при добавлении буквы а и уменьшается при добавлении буквы Ь.
Конечным является только состояние, соответствующее нулевому остатку, то есть состоянию 5 0.
Рис. 2. Конечный автомат — решение задачи 7.
В задачах 6 и 7 участникам предлагалось описать одно и то же множество слов при помощи двух разных языков. При этом последняя задача проще, так как отслеживание остатка при помощи номера состояния является очень естественным; сам автомат также выглядит несколько проще, чем регулярное выражение.
Как известно, существуют алгоритмы, позволяющие по автомату построить регулярное выражение, соответствующее тому же самому языку, и, наоборот, строящие автомат, распознающий язык, задаваемый данным выражением, поэтому задачи 6 и 7 могут быть сведены друг к другу.
Однако в данном конкретном случае легче каждую из этих задач решить отдельно, руководствуясь общими идеями.
Конструктивные задачи также можно использовать для подведения к решению более теоретических. Так, например, все приведённые выше задачи можно считать ступеньками к следующей задаче:
Задача. Количество хороших слов.
Найдите количество хороших слов длины n '
Благодаря задаче 6, мы знаем, что эта задача сводится к следующей: найдите количество разбиений числа n на k кусков, состоящие не менее чем из двух букв каждый. Для каждого k это количество кусков затем необходимо умножить на 2k.
5. ИСПОЛЬЗОВАНИЕ КОНСТРУКТИВНЫХ ЗАДАЧ ДЛЯ НЕИНВАЗИВНОГО МОНИТОРИНГА ПРОДУКТИВНОЙ ДЕЯТЕЛЬНОСТИ СТУДЕНТОВ
Обучая студентов в университете, преподаватели часто задаются вопросом «Как нам проверить, насколько наши студенты по-настоящему знают и понимают материал курса?». Экзамен — это необходимое, но не лучшее средство такой проверки, потому что результат экзамена во многом зависит не только от того, насколько студенту интересен и понятен курс, но также и от того, насколько хорошо он умеет готовиться непосредственно к экзамену и сдавать его; в стрессовой ситуации некоторые студенты показывают гораздо меньше того, что могут, а некоторые, наоборот, творят чудеса.
Эти соображения послужили причиной для разработки неинвазивных инструментов мониторинга и оценки образовательной и продуктивной деятельности студентов. Неинвазивность в данном случае означает, что во время внедрения этих инструментов мы не заставляем студентов готовиться к конкретным тестам вместо изучения предмета в целом.
Эта цель достигается за счёт того, что результаты решения предложенных конструктивных задач не включаются в финальную оценку. Поэтому единственной мотивацией решения данных дополнительных задач является возможность проверить себя и улучшить свои навыки и знания.
Список литературы
1. Pozdniakov S.N., PosovI.A. PuhkovA. V., Tsvetoval. V. Science Popularization by Organizing Training Activities Within the Electronic Game Laboratories // International Journal of Digital Literacy and Digital Competence. 2012. Vol. 3(1). P. 17-31. doi:10.4018/jdldc.2012010102
2. Майтараттанакон А., Посов И. А. Автоматизация проведения дистанционных соревнований, основанных на исследовательских сюжетах по математике и информатике // Компьютерные инструменты в образовании. 2014. № 6. С. 45-51.
3. Papert S. Mindstorms: Children, Computers, and Powerful Ideas. New York: Basic Books, Inc., 1980.
4. Akimushkin V.A., Pozdniakov S.N., Chukhnov A. S. Constructive Problems in the Structure of the Olympiad in Discrete Mathematics and // Theoretical Informatics Olympiads in Informatics. 2017. Vol. 11. P. 3-18.
5. Поздняков С. Н., Рыбин С. В. Дискретная Математика. СПб., 2007.
6. КарповЮ.Г. Теория автоматов. СПб.: Питер, 2003.
7. Шаповалов А. В. Как построить пример. М.: МЦНМО, 2013.
Поступила в редакцию 12.09.2018, окончательный вариант — 15.11.2018.
Computer tools in education, 2018 № 6: 56-62
http://ipo.spb.ru/journal doi:10.32603/2071-2340-2018-6-56-62
CONSTRUCTIVE PROBLEMS IN COMPETITIONS IN MATHEMATICS AND COMPUTER SCIENCE
Chukhnov A. S.
Saint-Petersburg Electrotechnical University, Saint Petersburg, Russia
Abstract
Constructive problems arise in all areas of mathematics. They are very important in working with schoolchildren and students, as they are one of the easiest ways to stimulate students' productive activities. This work is devoted to the role of constructive tasks in remote olympiads in mathematics and computer science. Also tasks of this kind can be used to monitor the intellectual activity of students in the educational process.
Keywords: Mathematical Olympiad constructive tasks distance learning, constructive activity computer facilities subject manipulators. non-invasive monitoring.
Citation: A. S. Chukhnov, "Constructive Problems in Competitions in Mathematics and Computer Science", Computer tools in education, no. 6, pp. 56-62, 2018 (in Russian). doi:10.32603/2071-2340-2018-6-56-62
Received 12.09.2018, the final version — 15.11.2018.
Anton S. Chukhnov, lecturer of Department of Algorithmic Mathematics, Saint-Petersburg Electrotechnical University; 197376 Saint-Petersburg, ul. Professora Popova 5, korp. 3, Dep. of Algorithmic Mathematics, [email protected]
Антон Сергеевич Чухнов, старший преподаватель кафедры алгоритмической математики СПбГЭТУ «ЛЭТИ»; 197376, Санкт-Петербург, ул. Профессора Попова, д. 5, корп. 3, кафедра алгоритмической математики, [email protected]
© Наши авторы, 2018. Our authors, 2018.