об абстрактном
Feb. 1st, 2007 03:20 pm(эта запись - примерный перевод моей же записи в англоязычном блоге)
В новом и довольно интересном блоге математика Джона Армстронга (The Unapologetic Mathematician) появилась запись, объясняющая начала теории групп для широкой публики.
Конечно, подавляющее большинство читателей, не знакомых с математикой на университетском уровне, не смогут понять это введение. Это само по себе довольно очевидно; что менее очевидно - почему Джон Армстронг искренне считает, что написал что-то простое и понятное любому нематематическому читателю (и тут я не пытаюсь как-то его выделить или обидеть: со мной тоже такое случалось в прошлом, да и у множества других людей я наблюдал такое отношение). Желание автора блога объяснить начала "настоящей" математики широкой публике понятно и похвально, но вместе с тем затея обречена на неудачу.
Есть что-то в устройстве нашего разума, что мешает нам понять, насколько другим людям тяжело справиться с какой-то абстракцией, которую мы как следует усвоили, привыкли к ней и пользуемся ей не задумываясь. Вообще говоря, мы постоянно строим у себя в голове модели, "картинки" мыслительного процесса других людей. Это происходит по самым разным поводам постоянно, сотни раз каждый день; без этого процесса невозможно никакое понимание и реальное общение. Но почему-то именно когда речь идет о какой-то сложной абстрактной идее, которую мы сами хорошо понимаем, наша способность построить у себя в голове адекватную картинку того, как другие люди ее не понимают, буксует. Это не невозможно сделать, но заметно тяжелее, чем другие виды моделирования чужих мыслей и размышлений.
Почему? Понятия не имею.
Раз у меня нет понятия, попробую обойтись несколькими ассоциациями и примерами. Запись про теорию групп напомнила мне два похожих по сути запомнившихся примера, оба из области программирования.
Вчера я прочитал интереснейшую запись в блоге Coding Horrors, в которой обсуждается недавняя научная статья, авторы которой изучали студентов-первокурсников на компьютерном факультете. Авторы статьи утверждают, что они смогли сформулировать очень простой тест, который позволяет отделить тех студентов, которые научатся программировать, от тех, которые не научатся, еще до того, как они начали учиться. Пример вопроса из этого теста, который приводится в записи, настолько абсурдно простой, что в комментариях к записи многие протестуют и не доверяют утверждению, что вообще хоть кто-нибудь мог не ответить на него правильно через три недели после начала учебы (а в статье описывается в том числе и такая проверка). Программистам кажется странным, нелепым, невозможным, чтобы разумный, неглупый человек не смог на него ответить - порому что мы до такой степени усвоили определенные основные понятия - переменные, значения, присваивание - что не представляем, как можно пытаться их усвоить и не смочь.
Второй пример приведу из блога Джоэля Спольского, запись "The Perils of JavaSchools" годичной давности (есть также русский перевод), которая тогда вызвала жаркие дебаты (в целом я, кстати, совершенно согласен с высказанными в ней мыслями). Многим показалось странным, что Джоэль привел указатели (pointers) в качестве жизненно важного понятия для любой академической программы изучения Computer Science. Конечно, верно то, что во многих областях и на многих языках сегодня можно писать вполне "настоящие", сложные программы, которые никак не пользуются указателями. Но тем не менее, говорит Джоэль,
"Но даже вдали от задач, где важность указателей и рекурсии очевидна, их реальная значимость в том, что создание больших систем требует той гибкости мозга, которую вы получаете при их изучении, и тех способностей мозга, которые были вам необходимы для того, чтобы не вылететь с курса во время обучения. Указатели и рекурсия требуют от человека определённых способностей: рассуждать, абстрактно мыслить, и, что особенно важно, видеть проблему на нескольких уровнях абстракции одновременно. Поэтому способность понимать указатели и рекурсию напрямую связана со способностью быть настоящим программистом."
Однако тем из нас, кто знает и понимает указатели, не так уж легко понять, в чем, собственно, проблема, как кто-то может не просто, скажем, ошибаться в их применении, но вообще не понять саму идею, даже после многих попыток объяснить. Указатели - абстрактная идея, которую мы усвоили, переварили, сделали частью своего ментального аппарата. Так и математик, усвоивший алгебраические структуры, не понимает, что сам язык, которым он пытается "просто" и "не требуя предварительных знаний" объяснить их широкой публике все равно полон определенных допущений, способов рассуждать, понимания того, что такое множества и алгебраические операции, способности достаточно уверенно манипулировать в уме этими понятиями - итд. итп. - и всего этого у представителя широкой публики просто нет. Я лично считаю очень полезным для себя опыт преподавания начал программирования (языка C) студентам-первокурсникам на компьютерном факультете много лет назад - именно тогда мне пришлось как следует понять и осознать тот факт, что нелегко приобрести понимание того, как другие не понимают, но без него не может быть качественного преподавания.
Не стоит забывать и тот факт (гм, это уже третий пример), что в университетских математических программах обычно изучают абстрактную алгебру (группы, кольца итд.) после линейной алгебры. Каким бы простым не казалось нам определенее группы, даже первокурсники на математическом факультет обычно не готовы к тому, чтобы его усвоить и свободно им пользоваться. У них нет достаточной тренировки в математическом мышлении. Им нужно пройти через линейную алгебру с ее матрицами и векторами и полями и векторными пространстами - более конкретными, более близкими к непосредственному опыту объектами. Им нужно пройти через анализ, и картинку с производной функции, и определение предела через дельта-эпсилон. И только после этого им обычно преподают концептуально более простые начала теории групп.
... В конечном итоге, мне кажется невозможным объяснить начала теории групп читателю, у которого нет достаточно опыта математического мышления, нет того, что в предисловиях к учебникам называют математической зрелостью (mathematical maturity). Почему без этого - невозможно? Не думаю, что у кого-либо есть ответ на этот вопрос.
no subject
Date: 2007-02-01 01:29 pm (UTC)int b = 20;
a = b;
очевидно что результат void, так как после a = b стоит ;
если убрать ; после a = b, то получится что результат true, там почему-то таких нету,
если предположить что = - это присваивание, то тогда a = 20, b = 20;
помоему совсем неочевидный тест,
логичнее было бы
set a 10
set b 20
set a b
тут я думаю двучтений намного меньше, в комментариях в статье пишут так же.
no subject
Date: 2007-02-01 01:30 pm (UTC)no subject
Date: 2007-02-01 01:34 pm (UTC)Сам я разобрался с понятием группы (по журналу "Квант") за долго до того, как с матрицами. Последнее мне далось значительно сложнее :-).
no subject
Date: 2007-02-01 01:45 pm (UTC)Хотя если задуматься над тем что процентов 30-40 людей вообще функционально неграмотны...
no subject
Date: 2007-02-01 01:48 pm (UTC)насколько я помню, первые три экзамена на мехмате МГУ в 1990 году были: аналитическая геометрия, алгебра и матан. Линейная алгебра началась со второго семестра.
no subject
Date: 2007-02-01 01:50 pm (UTC)no subject
Date: 2007-02-01 01:53 pm (UTC)Кстати если линейная алгебра и всякие тензорные штуки привычны как свой дом, то и квантовая механика становится столь же родной и естественной и СТО тоже интуитивна.
Понять вопрос обучаемого –– тоже искусство. Я помню лет в 12–13 всем задавал коряво сформулированный вопрос "как компьютер знает какую инструкцию ему выполнять после включения", так меня никто и не понимал, некому было ответить "дык в железо впаяно". Причем я уже Бейсик знал.
no subject
Date: 2007-02-01 01:54 pm (UTC)Программа курса
http://shade.msu.ru/~admin/kurs/kaf/algebra.htm
no subject
Date: 2007-02-01 02:00 pm (UTC)я был очень силен в математике лет 7-10 назад а теперь глядя на формулы и логику рассуждения по ссылкам даже вникать не хочется, т.к. это слишком много ресурсов мозга жрет, которые для других целей необходимы. так что вот. выводов не делаю т.к. суть не совсем четко уловил :))
no subject
Date: 2007-02-01 02:00 pm (UTC)Вы так говорите, как будто "понять" - это дискретная характеристика, понял или не понял. На самом деле, еще есть другое, иногда более важное: понять не само определение некого математического обьекта, а то, "что с ним можно делать" и "зачем он нужен". Например, человек с инженерным образованием способен прекрасно понять начала теории групп, но у него останется при этом некий "ментальный дискомфорт", который обычно можно устранить только путем плотной работой с новыми для тебя обьектами.
no subject
Date: 2007-02-01 02:01 pm (UTC)Что касается последнего вопроса, ответ, казалось бы, тривиальный: практически любой аспект жизни требует обрести какой-никакой опыт, прежде чем можно будет продвинуться на "следующую ступень". Даже наличие способностей, "врожденного таланта", не отменяет необходимость набрать этот опыт, просто времени понадобится гораздо меньше.
Однако, совсем не уверен в правильности этого утверждения в том что касается абстрактного мышления и математики. По видимому с этим рождаются... и если этого нет, то ни корпение над книгами, ни лекции лучших учителей не выведут больше чем на одну-две ступени выше базы.
Почему без этого - невозможно?
Date: 2007-02-01 02:06 pm (UTC)И будь вы хоть академиком, местные крестьяне посмеются над вашей недогадливостью.
Они умнее? Они сдали топографию на пять?
Они просто знают местность, потоптались там не один год.
Можно сказать созрели.
Поэтому математическая зрелость, ИМХО, это всего лишь местечковый опыт,способствующий экономии энергоресурсов думающего индивидуума и способствующий быстрой ориентации в пространстве своего и, если нужно, близлежащих лесов.
Противоположности сходятся
Date: 2007-02-01 02:12 pm (UTC)Надобно сказать, что я вполне могу дать ответ на "ключевой вопрос программирования", но только на основании знания об используемом языке. Если это будет язык, у которого я "never looked at a line of code in their lives", мой ответ будет "не знаю".
no subject
Date: 2007-02-01 02:16 pm (UTC)А теория групп "для широких масс" - это действительно абсурдный проект. Его автор, видимо, не из тугодумов.
Именно так
Date: 2007-02-01 02:18 pm (UTC)no subject
Date: 2007-02-01 02:20 pm (UTC)Re: Противоположности сходятся
Date: 2007-02-01 02:21 pm (UTC)no subject
Date: 2007-02-01 02:21 pm (UTC)Re: Именно так
Date: 2007-02-01 02:26 pm (UTC)Re: Именно так
Date: 2007-02-01 02:27 pm (UTC)Re: Именно так
Date: 2007-02-01 02:39 pm (UTC)Но курс алгебры выполнил те же функции, что и курс по указателям из статьи Анатолия: 40% потока либо чистой математики вылетело, либо перевелось на педагогику/примат/...
no subject
Date: 2007-02-01 02:44 pm (UTC)как можно быть уверенным, что имеется в виду, если кода никогда раньше не видел и язык непонятно какой (не C потому что нет main())? в одних языках a=b; означает присвaивание, а в других - проверку равенства. можно себе представить язык, в котором каждая строка - отдельный блок кода и все операции с глобальными переменными локальны, так что на следующей строчке а вернется к старому значению...
no subject
Date: 2007-02-01 02:57 pm (UTC)no subject
Date: 2007-02-01 03:13 pm (UTC)Что же касается упомянутого Джоэлем желания снизить уровень сложности предментов, то, по крайней мере, в Нидерландах, ларчик открывается просто: университетам платят по головам дипломников. Чем больше выпущено, тем больше получено доходов...
no subject
Date: 2007-02-01 04:10 pm (UTC)