- •Глава1. Ватсон против Холмса
- •Глава2. Теорема Пифагора и теорема Ферма
- •Глава3. Проблемы нерешённые и проблемынерешимые
- •Глава4. Длины и числа
- •Глава5. Квадратура круга
- •Глава6. Массовые задачи и алгоритмы
- •Глава7. Парадокс Галилея, эффект Кортасара ипонятие количества
- •Глава8. Параллельные прямые в мифологии, вреальности и в математике
- •Глава9. Проблема на миллион долларов
Глава6. Массовые задачи и алгоритмы
В которыйуже раз подчеркнем, что задача - этовсегда требование что-то найти, построить,указать. В школе это «что-то» обычноназывают ответом, а системурассуждений, приводящую к ответу, -решением . Во «взрослой» математикеответ чаще всего тоже называют решением.Таким образом, термин «решение»приобретает два значения: ‘решение-ответ’и ‘решение-процесс’ - причём первоеесть результат второго. С точки зрениярусской лексики ситуация здесь отнюдьне уникальна: например, печенье какизделие есть результат печения какдействия по глаголу «печь». К путаницеподобная полисемия, как правило, неприводит: из контекста всегда бываетясно, что имеется в виду. Так что согласимсяупотреблять «взрослую» терминологию.
Взамечательной одноактной пьесе «Урок»Эжена Ионеско есть такой диалог, которыймы приведём с купюрами.
«Учитель.‹…› Сколько будет, ну, скажем, если тримиллиарда семьсот пятьдесят пятьмиллионов девятьсот девяносто восемьтысяч двести пятьдесят один умножитьна пять миллиардов сто шестьдесят двамиллиона триста три тысячи пятьсотвосемь?
Ученица.Это будет девятнадцать квинтиллионовтриста девяносто квадриллионов дватриллиона восемьсот сорок четыремиллиарда двести
девятнадцатьмиллионов сто шестьдесят четыре тысячипятьсот восемь
‹…›
Учитель(сосчитав в уме, с нарастающимизумлением). Да… Вы правы… ответ,действительно… (невнятно бормочет) квадриллионов… триллионов… миллиардов…миллионов… (разборчиво) стошестьдесят четыре тысячи пятьсот восемь…(Ошеломленно.) Но каким образом выэто вычислили, если вам недоступныпростейшие приемы арифметическогомышления?
Ученица.Очень просто. Поскольку я не могуположиться на свое арифметическоемышление, я взяла и выучила наизустьвсе результаты умножения, какие тольковозможны».
Всехрезультатов умножения бесконечно много,так что выучить их наизусть невозможно.Да и не нужно: Ионеско справедливоутверждает, что «математика - заклятыйвраг зубрёжки». (Кстати, теоретическаяневозможность выучить все результатыполучила в приведённом диалоге иэкспериментальное подтверждение. Делов том, что Ученица дала неправильныйответ: правильным ответом являетсячисло 19 389 602 947 179 164 508, а ею названо число19 390 002 844 219 164 508. Не берусь судить, получилли этот факт должное отражение вионесковедении.)
Но мыведь умеем умножать. Это потому, что ещёв начальной школе нам сообщают некоторыйобщий способ умножения любых целыхчисел, а именно способ умножениястолбиком. Любой человек, овладевшийэтим способом, имеет право заявить, чтотеперь он готов умножить друг на другалюбые два натуральных числа - и не потому,что он выучил все результаты (что,повторим, невозможно), а именно потому,что указанный способ позволяет найтитребуемый результат для любой парысомножителей.
Напримере с умножением можно получитьпредставление о понятии массоваязадача . Массовая задача образуетсяпутём совместного рассмотрения серииоднотипных единичных задач. В случаеумножения каждая единичная задачасостоит в указании пары конкретныхчисел (как, например, тех, которые былиназваны Ученице Учителем) и требованиинайти их произведение. Это произведениеявляется решением предложеннойединичной задачи. Массовая же задачасостоит здесь в требовании найти некийметод, позволяюший найти произведениедля каждой отдельной пары чисел. Другойпростой пример. Задача решить квадратноеуравнение x 2 - 13x + 30 = 0 - этоединичная задача, и её решением служитпара чисел 3 и 10. А вот изучаемая в среднейшколе задача о решении произвольногоквадратного уравнения - это массоваязадача, и её решением служит всемизвестная (или долженствующая быть всемизвестной) формула, дающая решение длялюбого конкретного квадратного уравнения.Остановим свой взгляд на какой-нибудьмассовой задаче и посмотрим, чемотличаются друг от друга составляющиееё единичные задачи. Мы видим, что ониотличаются своими исходными данными . Для каждой единичной задачи умноженияисходным данным служит конкретная парачисел. А для каждой единичной задачи нарешение квадратного уравнения исходноеданное - это конкретное квадратноеуравнение.
Решениемже массовой задачи является общий метод,дающий для каждой из составляющих еёединичных задач решение этой задачи.Если предложенный общий метод состоитв последовательности строгодетерминированных операций, ведущихот исходного данного к результату, онназывается конструктивным, илиэффективным, или алгоритмическим, или, короче, алгоритмом . Такимобразом, можно говорить об алгоритмесложения столбиком, об алгоритмеумножения столбиком, об алгоритмерешения квадратных уравнений и т. п.Алгоритмы играют в математике, да и вовсей нашей жизни, большую роль - особеннов связи с развитием компьютернойтехнологии.
Самослово «алгоритм» достаточно интересно:это, возможно, единственный математическийтермин, имеющий в своей этимологиигеографическое название. Таким названиемслужит слово «Хорезм». Великий учёныйМухаммед бен Муса аль-Хорезмби жил вконце VIII - первой половине IX века. Арабскоеимя «аль-Хорезми» буквально означает‘из Хорезма’. Аль-Хорезми предложилнекоторые методы решения арифметическихзадач, и на его авторитет ссылалисьсредневековые европейские авторы,писавшие, как это было принято, на латыни.При этом начиная с XII века его имятранслитерировалось как «Algoritmi». Отсюдаи пошёл термин «алгоритм». Поиски общегометода для решения массовой задачивелись со времён античности. Однаковпервые ясное понимание алгоритма вкачестве самостоятельной сущностивстречается лишь в 1912 году в трудахвеликого французского математика ЭмиляБореля.
Понятиеалгоритма - одно из центральных вматематике. Программа для компьютераесть не что иное, как запись какого-тоалгоритма на компьютерном языке. Прорывв осознании этого важнейшего понятияпроизошёл в 1936 году, когда независимодруг от друга Алонзо Чёрч в Америке иАлан Тьюринг в Англии предложилиматематические уточнения понятияалгоритма (каждый своё) и на основе этихуточнений предъявили первые примерымассовых проблем, неразрешимыхалгоритмически, в числе которых оказаласьи очень знаменитая, стоявшая с 1915 годатак называемая «das Entscheidungsproblem» («проблемаразрешения»), считавшаяся главнойпроблемой математической логики.Поясним, что термины «проблема» и«задача» для нас синонимы и что массоваяпроблема считается алгоритмическинеразрешимой, если не существуетрешающего её алгоритма, то есть такогоединого алгоритма, который позволял бынаходить решение для каждой из техединичных проблем, которые и составляютрассматриваемую массовую проблему.
Алгоритмическинеразрешимые проблемы, указанные Чёрчеми Тьюрингом, слишком сложны, чтобы ихздесь формулировать. Сейчас мы приведёмдостаточно простой пример такой проблемы.Разумеется, мы вынуждены ограничитьсяеё формулировкой и не приводить нидоказательства, ни даже намёка надоказательство её неразрешимости.Пример этот покажет, что массовыепроблемы, для которых отсутствуеттребуемый алгоритм, лежат совсем близкок нашей повседневной жизни.
В целяхбольшей наглядности изложим наш примерв терминах некоей игры. Любезный читательсогласится, что такая игра вполне мыслимав нашу эпоху пиара, рекламных акций,казино и игровых автоматов.
Средствамиигры будут служить пластинки, наподобиетех доминошек, что используются приигре в домино. Как и в домино, каждаяпластинка разделена на верхнюю и нижнююполовину. В каждой половине что-тонаписано. Отличие от домино в том, чтбоименно написано. В случае домино в каждойиз половин записывается количествоочков, от 0 до 6. А нашем случае в каждойиз половин записывается какая-то цепочкаиз букв икс и зет. Вот примеры такихцепочек. Цепочки длины один: x , z . Цепочки длины два: xx , xz , zx , zz . Цепочки длины три: xxx, xxz, xzx,xzz, zxx, zxz, zzx, zzz. Возможна и цепочкадлины ноль, в этом случае не записаноничего. А вот одна из 128 цепочек длинысемь: zxzxxxz . Проиллюстрируем сказанноепримерами возможных пластинок:
Перечисленные4 пластинки, в том порядке, как ониуказаны, обозначим - для дальнейшихссылок - буквами A, B, C, D . Если приложитьодну пластинку к другой, но не торцами,как при игре в домино, а боками, то врезультате получим две строчки букв:одну сверху, другую снизу. Так, прикладываяA к D (слева D , справа A ), получаем zzzx сверху и zzx снизу.Если приложить в другом порядке, получимxzzz сверху, zxz снизу. Аналогичноможно прикладывать друг к другу несколькопластинок и считывать верхнюю и нижнююстрочки букв. Более того. Каждую пластинкуразрешается воспроизводить в неограниченномколичестве и создавать сочетания изповторяющихся пластинок - такие, например,как AACA . В этом примере верхнейстрочкой будет xxxzx , а нижней - zxzxzzzx . Прошу у читателя прощение за затянувшеесяпредварение к игре, но хотелось бы, чтобывсё было предельно ясно.
Теперь- сама игра. Она состоит в следующем. Всредствах массовой информации объявляетсянекоторый конкретный набор пластинок.Далее предлагается, воспроизводя каждуюиз пластинок набора в необходимомколичестве, приложить пластинки другк другу так, чтобы верхняя и нижняястрочки иксов и зетов совпали друг сдругом. Первым пяти, приславшим решения,будет выплачен внушительный приз.
Пояснимсказанное на примерах. Пусть объявленныйнабор содержит всего только однупластинку A из приведённого вышеперечня. Ясно, что решение невозможно,поскольку, сколько раз ни прикладывайпластинку A саму к себе, нижняястрока всегда окажется длиннее верхней.По сходной причине решения не существует,если объявленный набор состоит из однойтолько пластинки D , только тутдлиннее будет верхняя строка. Желающиемогут попытаться доказать, что решенияне существует и в том случае, когдаобъявленный набор состоит из двухпластинок, A и D . А вот еслиобъявить набор из всех наших четырёхпластинок A , D , C и D , торешение существует. Действительно, еслисложить пластинки в таком порядке: DBCDA , то и верхняя, и нижняя строка окажутсяодинаковы: zzzxxzzzzx .
Итак,набор объявлен. Все хотят получить приз.Но прежде, чем пытаться найти такоерасположение пластинок, при которомверхняя и нижняя строки окажутсяодинаковыми, желательно узнать, возможноли такое расположение в принципе. Ведьесли оно невозможно, то бесперспективноего искать, это будет пустой потерейвремени. Так вот, оказывается, что несуществует никакого эффективногоспособа это узнавать. Не существует(именно не существует, а не простонеизвестен) такого алгоритма, которыйпозволял бы для любого объявленногонабора пластинок узнать, имеется лирешение, то есть возможно или невозможносложить пластинки требуемым образом.Для каждого отдельно взятого наборапластинок задача узнать, к какой из двухкатегорий этот набор относится - к той,для которой решения имеются, или же ктой, для которой решений нет, - она, этазадача, есть сугубо творческая задача,своя для каждого такого набора, а общийметод получения ответа для всех такихзадач отсутствует.
