?

Log in

No account? Create an account
об абстрактном - Поклонник деепричастий [entries|archive|friends|userinfo]
Anatoly Vorobey

[ website | Website ]
[ userinfo | livejournal userinfo ]
[ archive | journal archive ]

Links
[Links:| English-language weblog ]

об абстрактном [фев. 1, 2007|03:20 pm]
Anatoly Vorobey

(эта запись - примерный перевод моей же записи в англоязычном блоге)

В новом и довольно интересном блоге математика Джона Армстронга (The Unapologetic Mathematician) появилась запись, объясняющая начала теории групп для широкой публики.

Конечно, подавляющее большинство читателей, не знакомых с математикой на университетском уровне, не смогут понять это введение. Это само по себе довольно очевидно; что менее очевидно - почему Джон Армстронг искренне считает, что написал что-то простое и понятное любому нематематическому читателю (и тут я не пытаюсь как-то его выделить или обидеть: со мной тоже такое случалось в прошлом, да и у множества других людей я наблюдал такое отношение). Желание автора блога объяснить начала "настоящей" математики широкой публике понятно и похвально, но вместе с тем затея обречена на неудачу.

Есть что-то в устройстве нашего разума, что мешает нам понять, насколько другим людям тяжело справиться с какой-то абстракцией, которую мы как следует усвоили, привыкли к ней и пользуемся ей не задумываясь. Вообще говоря, мы постоянно строим у себя в голове модели, "картинки" мыслительного процесса других людей. Это происходит по самым разным поводам постоянно, сотни раз каждый день; без этого процесса невозможно никакое понимание и реальное общение. Но почему-то именно когда речь идет о какой-то сложной абстрактной идее, которую мы сами хорошо понимаем, наша способность построить у себя в голове адекватную картинку того, как другие люди ее не понимают, буксует. Это не невозможно сделать, но заметно тяжелее, чем другие виды моделирования чужих мыслей и размышлений.

Почему? Понятия не имею.

Раз у меня нет понятия, попробую обойтись несколькими ассоциациями и примерами. Запись про теорию групп напомнила мне два похожих по сути запомнившихся примера, оба из области программирования.

Вчера я прочитал интереснейшую запись в блоге Coding Horrors, в которой обсуждается недавняя научная статья, авторы которой изучали студентов-первокурсников на компьютерном факультете. Авторы статьи утверждают, что они смогли сформулировать очень простой тест, который позволяет отделить тех студентов, которые научатся программировать, от тех, которые не научатся, еще до того, как они начали учиться. Пример вопроса из этого теста, который приводится в записи, настолько абсурдно простой, что в комментариях к записи многие протестуют и не доверяют утверждению, что вообще хоть кто-нибудь мог не ответить на него правильно через три недели после начала учебы (а в статье описывается в том числе и такая проверка). Программистам кажется странным, нелепым, невозможным, чтобы разумный, неглупый человек не смог на него ответить - порому что мы до такой степени усвоили определенные основные понятия - переменные, значения, присваивание - что не представляем, как можно пытаться их усвоить и не смочь.

Второй пример приведу из блога Джоэля Спольского, запись "The Perils of JavaSchools" годичной давности (есть также русский перевод), которая тогда вызвала жаркие дебаты (в целом я, кстати, совершенно согласен с высказанными в ней мыслями). Многим показалось странным, что Джоэль привел указатели (pointers) в качестве жизненно важного понятия для любой академической программы изучения Computer Science. Конечно, верно то, что во многих областях и на многих языках сегодня можно писать вполне "настоящие", сложные программы, которые никак не пользуются указателями. Но тем не менее, говорит Джоэль,

"Но даже вдали от задач, где важность указателей и рекурсии очевидна, их реальная значимость в том, что создание больших систем требует той гибкости мозга, которую вы получаете при их изучении, и тех способностей мозга, которые были вам необходимы для того, чтобы не вылететь с курса во время обучения. Указатели и рекурсия требуют от человека определённых способностей: рассуждать, абстрактно мыслить, и, что особенно важно, видеть проблему на нескольких уровнях абстракции одновременно. Поэтому способность понимать указатели и рекурсию напрямую связана со способностью быть настоящим программистом."

Однако тем из нас, кто знает и понимает указатели, не так уж легко понять, в чем, собственно, проблема, как кто-то может не просто, скажем, ошибаться в их применении, но вообще не понять саму идею, даже после многих попыток объяснить. Указатели - абстрактная идея, которую мы усвоили, переварили, сделали частью своего ментального аппарата. Так и математик, усвоивший алгебраические структуры, не понимает, что сам язык, которым он пытается "просто" и "не требуя предварительных знаний" объяснить их широкой публике все равно полон определенных допущений, способов рассуждать, понимания того, что такое множества и алгебраические операции, способности достаточно уверенно манипулировать в уме этими понятиями - итд. итп. - и всего этого у представителя широкой публики просто нет. Я лично считаю очень полезным для себя опыт преподавания начал программирования (языка C) студентам-первокурсникам на компьютерном факультете много лет назад - именно тогда мне пришлось как следует понять и осознать тот факт, что нелегко приобрести понимание того, как другие не понимают, но без него не может быть качественного преподавания.

Не стоит забывать и тот факт (гм, это уже третий пример), что в университетских математических программах обычно изучают абстрактную алгебру (группы, кольца итд.) после линейной алгебры. Каким бы простым не казалось нам определенее группы, даже первокурсники на математическом факультет обычно не готовы к тому, чтобы его усвоить и свободно им пользоваться. У них нет достаточной тренировки в математическом мышлении. Им нужно пройти через линейную алгебру с ее матрицами и векторами и полями и векторными пространстами - более конкретными, более близкими к непосредственному опыту объектами. Им нужно пройти через анализ, и картинку с производной функции, и определение предела через дельта-эпсилон. И только после этого им обычно преподают концептуально более простые начала теории групп.

... В конечном итоге, мне кажется невозможным объяснить начала теории групп читателю, у которого нет достаточно опыта математического мышления, нет того, что в предисловиях к учебникам называют математической зрелостью (mathematical maturity). Почему без этого - невозможно? Не думаю, что у кого-либо есть ответ на этот вопрос.

СсылкаОтветить

Comments:
Страница 1 из 3
<<[1] [2] [3] >>
[User Picture]From: inv2004
2007-02-01 01:29 pm
int a = 10;
int b = 20;
a = b;

очевидно что результат void, так как после a = b стоит ;
если убрать ; после a = b, то получится что результат true, там почему-то таких нету,
если предположить что = - это присваивание, то тогда a = 20, b = 20;

помоему совсем неочевидный тест,
логичнее было бы
set a 10
set b 20
set a b
тут я думаю двучтений намного меньше, в комментариях в статье пишут так же.
(Ответить) (Thread)
[User Picture]From: inv2004
2007-02-01 01:30 pm
хотя про void я что-то перемудрил :) почему-то показалось что надо найти результат этого выражения. но остальное верно.
(Ответить) (Parent) (Thread)
[User Picture]From: potan
2007-02-01 01:34 pm
Многие, прекрасно управляющиеся с указателями, оказываются не в состоянии понять, что такое лямбда-выражение или pattern-matching...

Сам я разобрался с понятием группы (по журналу "Квант") за долго до того, как с матрицами. Последнее мне далось значительно сложнее :-).
(Ответить) (Thread)
From: (Anonymous)
2007-02-01 05:22 pm
Скажите, а с каким из математических понятий было труднее всего разобраться?
(Ответить) (Parent) (Thread) (Развернуть)
[User Picture]From: trurle
2007-02-01 01:45 pm
Напоминает любимый прием Стругацких - разделение человечества по какому-то неочевидному признаку.
Хотя если задуматься над тем что процентов 30-40 людей вообще функционально неграмотны...
(Ответить) (Thread)
[User Picture]From: orleanz
2007-02-01 01:48 pm
" Каким бы простым не казалось нам определенее группы, даже первокурсники на математическом факультет обычно не готовы к тому, чтобы его усвоить и свободно им пользоваться.

насколько я помню, первые три экзамена на мехмате МГУ в 1990 году были: аналитическая геометрия, алгебра и матан. Линейная алгебра началась со второго семестра.
(Ответить) (Thread)
[User Picture]From: orleanz
2007-02-01 01:54 pm
Да, точно. Первый семестр - алгебра, в том числе группы, кольца, поля. Второй - линейная алгебра. Третий - опять группу, уже на более высоком уровне.

Программа курса

http://shade.msu.ru/~admin/kurs/kaf/algebra.htm
(Ответить) (Parent) (Thread)
[User Picture]From: mivlad
2007-02-01 01:50 pm
А не коррелирует ли понимание этих вот присваиваний и указателей с наличием представлений о том, как компьютер вообще внутри себя работает?
(Ответить) (Thread)
[User Picture]From: d_m_
2007-02-13 10:04 pm
+1
Вот именно!
(Ответить) (Parent) (Thread)
[User Picture]From: dyak
2007-02-01 01:53 pm
И первые тома Ландау–Лифшица при всей их формальной самодостаточности будут скорее всего непосильны и бесполезны человеку, не освоившему материал Ландсберга и, предпочтительно, потом Сивухина. Так и абстрактная алгебра после линейной. Для делания некоторыех шагов, предыдущее должно быть домашним, интуитивным и привычным.

Кстати если линейная алгебра и всякие тензорные штуки привычны как свой дом, то и квантовая механика становится столь же родной и естественной и СТО тоже интуитивна.

Понять вопрос обучаемого –– тоже искусство. Я помню лет в 12–13 всем задавал коряво сформулированный вопрос "как компьютер знает какую инструкцию ему выполнять после включения", так меня никто и не понимал, некому было ответить "дык в железо впаяно". Причем я уже Бейсик знал.
(Ответить) (Thread)
[User Picture]From: sillykong
2007-02-13 10:37 pm
Точно! Как-то после первой лекции по Теормеху купил себе первый том Ландау-Лившица, поковырялся с ним один вечер и пошёл в библиотеку за Айзерманом...
За-то сейчас почитываю ландавшиц и недумеваю, что же конкретно мне было непонятно. )
(Ответить) (Parent) (Thread)
[User Picture]From: dennj
2007-02-01 02:00 pm
сложный тескт :))
я был очень силен в математике лет 7-10 назад а теперь глядя на формулы и логику рассуждения по ссылкам даже вникать не хочется, т.к. это слишком много ресурсов мозга жрет, которые для других целей необходимы. так что вот. выводов не делаю т.к. суть не совсем четко уловил :))
(Ответить) (Thread)
[User Picture]From: orleanz
2007-02-01 02:00 pm
" большинство читателей, не знакомых с математикой на университетском уровне, не смогут понять это введение Джона Армстронга

Вы так говорите, как будто "понять" - это дискретная характеристика, понял или не понял. На самом деле, еще есть другое, иногда более важное: понять не само определение некого математического обьекта, а то, "что с ним можно делать" и "зачем он нужен". Например, человек с инженерным образованием способен прекрасно понять начала теории групп, но у него останется при этом некий "ментальный дискомфорт", который обычно можно устранить только путем плотной работой с новыми для тебя обьектами.
(Ответить) (Thread)
[User Picture]From: tassadar_il
2007-02-01 02:01 pm
Очень интересные рассуждения... Между прочим, в Герцлийском "Бейнтхуми" выбрали именно краткий (двухнедельный) курс теории групп, в качестве средства отбора претендентов на факультет CS (пришедших по программе для социально-слабых слоев населения).
Что касается последнего вопроса, ответ, казалось бы, тривиальный: практически любой аспект жизни требует обрести какой-никакой опыт, прежде чем можно будет продвинуться на "следующую ступень". Даже наличие способностей, "врожденного таланта", не отменяет необходимость набрать этот опыт, просто времени понадобится гораздо меньше.
Однако, совсем не уверен в правильности этого утверждения в том что касается абстрактного мышления и математики. По видимому с этим рождаются... и если этого нет, то ни корпение над книгами, ни лекции лучших учителей не выведут больше чем на одну-две ступени выше базы.
(Ответить) (Thread)
From: taichi_777
2007-02-01 02:06 pm

Почему без этого - невозможно?

Попробуйте в незнакомом лесу не заблудиться в трех соснах, или сходу понять, как выбраться из болота с двух слов.
И будь вы хоть академиком, местные крестьяне посмеются над вашей недогадливостью.
Они умнее? Они сдали топографию на пять?
Они просто знают местность, потоптались там не один год.
Можно сказать созрели.
Поэтому математическая зрелость, ИМХО, это всего лишь местечковый опыт,способствующий экономии энергоресурсов думающего индивидуума и способствующий быстрой ориентации в пространстве своего и, если нужно, близлежащих лесов.

(Ответить) (Thread)
[User Picture]From: alll
2007-02-01 02:12 pm

Противоположности сходятся

Насчёт примера с присваиванием.

Надобно сказать, что я вполне могу дать ответ на "ключевой вопрос программирования", но только на основании знания об используемом языке. Если это будет язык, у которого я "never looked at a line of code in their lives", мой ответ будет "не знаю".
(Ответить) (Thread)
[User Picture]From: orleanz
2007-02-01 02:21 pm

Re: Противоположности сходятся

согласен с вами, вопрос про присваивание подлый немного, стояли бы там два знака "равно" вместо одного, большинство "способных" тоже облажалось бы...
(Ответить) (Parent) (Thread) (Развернуть)
From: shilota
2007-02-01 02:16 pm
Лучшие учителя (в широком смысле слова), как известно, это так называемые тугодумы - те, кто понимание приобретает "потом и кровью", не спеша, подходя к вопросу с разных сторон, пытаясь увязать новое со старым как можно прочнее и естественнее. Вот они, пройдя этот трудный путь, очень хорошо понимают ученика. Но среди них вряд ли много хороших математиков :(
А теория групп "для широких масс" - это действительно абсурдный проект. Его автор, видимо, не из тугодумов.
(Ответить) (Thread)
(Удалённый комментарий)
(Удалённый комментарий)
[User Picture]From: mi_b
2007-02-01 02:44 pm
пример из coding Horrors какой-то странный (сейчас я продемонстрирую противоположную крайность;)

как можно быть уверенным, что имеется в виду, если кода никогда раньше не видел и язык непонятно какой (не C потому что нет main())? в одних языках a=b; означает присвaивание, а в других - проверку равенства. можно себе представить язык, в котором каждая строка - отдельный блок кода и все операции с глобальными переменными локальны, так что на следующей строчке а вернется к старому значению...

(Ответить) (Thread)
[User Picture]From: monomyth
2007-02-01 02:57 pm
непонятно, то речь идет о понятии "группа" для широкой публики, а потом о преподовании того же понятия "математикам". Что же вы хотели сказать? что пост автора о группах бестолковый? Да, но совсем не потому, что какие–то читатели не знакомы с математикой на уровне первого курса.
(Ответить) (Thread)
Страница 1 из 3
<<[1] [2] [3] >>