Войти в систему

Home
    - Создать дневник
    - Написать в дневник
       - Подробный режим

LJ.Rossia.org
    - Новости сайта
    - Общие настройки
    - Sitemap
    - Оплата
    - ljr-fif

Редактировать...
    - Настройки
    - Список друзей
    - Дневник
    - Картинки
    - Пароль
    - Вид дневника

Сообщества

Настроить S2

Помощь
    - Забыли пароль?
    - FAQ
    - Тех. поддержка



Пишет Misha Verbitsky ([info]tiphareth)
@ 2009-09-15 22:07:00


Previous Entry  Add to memories!  Tell a Friend!  Next Entry
Настроение: tired
Музыка:Coinside - ELF
Entry tags:math

"советы студентам"
Кстати, "советы студентам".
Для студентов математиков. По просьбе [info]mcparker.

1. Читать книги, решать задачи, делать гуглопоиск.
Чем больше, тем лучше.

2. Много общаться с другими студентами.
Взаимные обучения гораздо важнее лекций.

3. Подвергать сомнению все. Полезность лекций
и интеллект лектора - в первую очередь. Любой
лектор дурак по умолчанию, если не доказано
обратного. Даже если не дурак, половина того, что
он говорит, наверняка ахинея. Нет ничего более
разрушительного для мозгов, чем авторитет.

4. Если что-то не идет, не утыкаться, а перейти
на другое, потом вернуться и добить проблему.

5. Читая учебник, надо воспринимать формулировки
теорем как задачи, пытаться самому доказать, если
не идет, разбираться, что там написано.

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

Привет



(Читать комментарии) - (Добавить комментарий)

Re: а если по другому ?
(Анонимно)
2009-09-16 09:54 (ссылка)
>Ошибаетесь, значит вы просто не в курсе. Нейронные сети в этом смысле >представляют собой исключение из схожих тем, ибо серьезная теория там есть.

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

Об IT и CS. Не, конечно CS имеет свои результаты. Но CS от классической математики отличает простая вещь - инструменты классической математики как правило очень широко применимы, доказательства как правило крайне логичны, красивы и стройны, и математика понятно куда двигается при этом. Каждое последующее достижение CS - по сути решение головоломки, в котором научный метод никак совершенно не требуется. Ну то есть первый свой интерпретатор я написал без подсказок книжек еще будучи школьником - сама собой это оказалась LR(1)-грамматика. Вполне себе наука. Но в отличии от математики доступная любому школьнику.

То что обычно относится на математику более серьезного уровня в CS - автоматы, вычислимость, грамматика - почти полностью примитивно, а то что не примитивно существует в мизерных количествах.

Это конечно если не включать сюда, например, криптографию, которая по моему убеждению к CS классическому имеет мало отношения. Ну или теорию графов, которая тоже появилась задолго до CS. Или теорию информации, которую я лично отношу к Pure Mathematics. Все что есть в кодировании - опять же лишь головоломное переложение чистых фактов из математики (самых примитивных причем).

Я бы сказал, что CS скорее использует математический аппарат, а не сама является частью математики. Так же как экономика, например.

(Ответить) (Уровень выше) (Ветвь дискуссии)

Re: а если по другому ?
[info]bigturtle
2009-09-16 12:47 (ссылка)
А вот численные методы - это что?

(Ответить) (Уровень выше) (Ветвь дискуссии)

Re: а если по другому ?
(Анонимно)
2009-09-16 13:05 (ссылка)
Численные методы появились еще до Ньютона. Другое дело, что широко не применялись и были просто частью анализа. Серьезная и правильная наука. Насколько я знаю, никто из тех, кто занимается CS, не занимается в то же время численными методами. Могу конечно ошибаться.

(Ответить) (Уровень выше)

Re: а если по другому ?
[info]grp
2009-09-16 13:45 (ссылка)
Если вы не занимаетесь наукой и даже агрессивно пропагандируете невежество в духе "чтобы стать экспертом, прочитайте три книжки", то ваши домыслы ничего не стоят. Можете это с той же уверенностью рассказывать друзьям для самоутверждения, но на публике лучше не позориться.

(Ответить) (Уровень выше) (Ветвь дискуссии)

Re: а если по другому ?
(Анонимно)
2009-09-16 14:06 (ссылка)
1. Я занимаюсь наукой. Pure Mathematics.
2. "Три книжки" относится только к IT/CS. Чтобы уметь работать наравне со всеми остальными инженерами-программистами, которые закончили ВМК МГУ и работают в сфере IT. Знания, полученные ими в курсах по CS никак им не пригодятся. Они будут дергать стандартные API-шные методы и конструировать программы из готовых блоков. Самые одаренные будут писать на C++ и использовать STL. Совсем талантливые ребята будут реализовывать давно придуманные алгоритмы на каких-нибудь новых системах. Когда же встанет задача разработать свой собственный нетривиальный алгоритм, то шансы у выпускника ВМК и неуча с тремя книгами равны практически во всех областях CS (я уже упоминал области, являющиеся исключением - они не многочисленны и их сложно отнести к CS в чистом виде).

Утрирую, конечно, но в целом именно так.

(Ответить) (Уровень выше) (Ветвь дискуссии)

Re: а если по другому ?
[info]grp
2009-09-16 14:21 (ссылка)
Инженеры-программисты и ВМК МГУ не относятся никак к математике, в частности, к разделу математики CS.

(Ответить) (Уровень выше) (Ветвь дискуссии)

Re: а если по другому ?
(Анонимно)
2009-09-16 14:36 (ссылка)
Хорошо, скажите, где мне посмотреть что это тогда такое: математика CS. Может быть я действительно заблуждаюсь.

(Ответить) (Уровень выше) (Ветвь дискуссии)

Re: а если по другому ?
[info]grp
2009-09-16 15:19 (ссылка)
Если речь о базовом образовании "про компьютеры" и практическом программировании, то это называется software engineering.

Если базовое образование математическое, то это называется computer science. Иногда, чтобы не было путаницы, theoretical computer science.

Эти вещи полезно не смешивать.

Computer science соотносится с компьютерами, не более чем астрономия с телескопами.

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

Ваша критика по поводу того, что кто-то "приравнивает CS к топологии, алгебре и геометрии", несостоятельна. Приравнивать одно к другому или говорить, что одно важно, а другое - нет, может только невежественный человек.

У тех, кто занимается CS, познания в математике должны быть на уровне. Скажем, раздел X они обязаны знать в том объеме, в котором его знает любой другой компетентный математик, не занимающийся собственно X. Более или менее - какие-то вещи в принципе нужны сильнее, какие-то вещи могут быть нужны в конкретной области.

Алгоритмы, криптография, комбинаторика, вычислимость, сложность, формальные языки - это примерно те вопросы, которыми занимаются в theoretical computer science. Разумеется, не все.

(Ответить) (Уровень выше) (Ветвь дискуссии)

Re: а если по другому ?
[info]grp
2009-09-16 15:52 (ссылка)
Это скорее про theoretical CS.

Если подходить с другой стороны, то ваши суждения тоже никуда не годятся. Но с другой стороны я тут не буду объяснять, ибо сам прикладными вещами интересуюсь, но не особо занимаюсь.

(Ответить) (Уровень выше)

Re: а если по другому ?
(Анонимно)
2009-09-16 16:03 (ссылка)
Алгоритмы - чистая олимпиадность. Каждый алгоритм не похож на другой и сам поиск этих алгоритмов чаще всего либо инженерный (задача решается в лоб), либо из разряда "Эврика!" - хорошо, конечно, но _любой алгоритм_ (во всяком случае из Кнута, за исключением отдельных узкоспецифичных) можно объяснить без привлечения математических дисциплин нематематику. Конечно есть всякие методы работы с полиномами еще, например, но это опять же именно небольшая узкая область где математика задействована.

Криптография - очень далеко от CS. Упор совершенно на другие вещи, знания требуются совершенно иные. Обычно этим занимаются вообще на других факультетах и в других институтах.

Комбинаторика - pure mathematics. Никакого отношения к computer science не имеет вообще. Чудесная кстати наука. Очень жалею что имею в ней лишь ограниченные познания, а углубляться пока времени нет.

Вычислимость, сложность - слишком непрактично и хоть каких-то результатов сложнее тривиальных очень мало. (Они есть, но мало и никуда ничего не движется).

Формальные языки - теория совершенно никак не помогает практике. Конкретные алгоритмы все равно создаются в полном отрыве от того, что написано в книгах по формальным языкам. Ну то есть я много по формальным языкам читал, поскольку занимаюсь компиляторами, и в результате не очень сейчас понимаю зачем я это делал.

(Ответить) (Уровень выше) (Ветвь дискуссии)

Re: а если по другому ?
[info]kouzdra
2009-09-16 18:40 (ссылка)
Алгоритмы - чистая олимпиадность. Каждый алгоритм не похож на другой и сам поиск этих алгоритмов чаще всего либо инженерный (задача решается в лоб), либо из разряда "Эврика!"

Обращу внимание, что решение олимпиадных задачек - вполне себе технический навык, которому учат.

Но вообще - список восхитительный. Главным образом тем, что показывает ваше представления о CS (которую я, повторюсь, не люблю - потому что действительно отстойник для псевдоматематиков в том числе).

(Ответить) (Уровень выше)

Re: а если по другому ?
[info]grp
2009-09-16 19:19 (ссылка)
Думаю, я лучше знаю, что где происходит и куда движется. Так что извиняюсь, но меня ваше мнение не очень интересует - я просто советую вам не высказывать его на публике столь категорично, чтобы не прослыть невежественным человеком.

По поводу непрактичности - вы сначала определитесь, о чем говорите. Или про то что CS - слишком прикладное, или про то что CS - слишком непрактичное.

Спор может быть чисто терминологическим. Соответствующие книги, журналы, конференции таки идут под вывеской "theoretical CS". Но теоретики людям со стороны представляются просто как математики, дабы не нарваться на идиотские выступления про "быдлокодерство" и две-три нужные книжки.

(Ответить) (Уровень выше) (Ветвь дискуссии)

Re: а если по другому ?
[info]kouzdra
2009-09-16 19:24 (ссылка)
В CS все-таки действительно количество ненужной математизации как-то велико изрядно.

(Ответить) (Уровень выше) (Ветвь дискуссии)

Re: а если по другому ?
[info]grp
2009-09-16 19:34 (ссылка)
Я говорю о теоретических вещах, и меня не смущает, что они не имеют прямого применения (а многое и не будет иметь).

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

(Ответить) (Уровень выше) (Ветвь дискуссии)

Re: а если по другому ?
[info]kouzdra
2009-09-16 20:49 (ссылка)
Я скорее о привычке например оснащать статьи по типам данных (сами по себе интересные и содержательные) обширной формалистикой и в 90% случаев вполне тривиальными и потому бессмысленными доказательствами.

Во-избежание - я как раз в этой конктретной формалистике вполне ориентируюсь - и именно поэтому понимаю, где в ней есть какой-то смысл, а где она просто дань моде.

(Ответить) (Уровень выше) (Ветвь дискуссии)

Re: а если по другому ?
(Анонимно)
2009-09-16 22:44 (ссылка)
Я поясню. Я сам учился на CS. Отучился, но отказался от диплома, потому что иметь диплом того заведения, где я учился - все равно что пожизненно себя опидарасить (один из самых престижных ВУЗов рашки). Все пять лет обучения по курсу CS была примитивнейшая хуйня. Плюс надо добавить, что я туда не случайно попал - как писал выше, мечтал заниматься созданием искусственного интеллекта. По этой причине перелопатил тонны литературы по нейронным сетям, decision making, data mining, генетическим алгоритмам, автоматам и т. д. - везде наталкивался на исключительную примитивщину, которая ловко прячется за красивой терминологией, да отдельные высосанные из пальца примеры.

Я видел кучу аспирантов и к.т.н. от CS - непроходимые дебилы и быдло. Я читал диссертации - зачастую там просто написан бред, который вообще не понятно как могли пропустить.

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

(Ответить) (Уровень выше) (Ветвь дискуссии)

Re: а если по другому ?
[info]kouzdra
2009-09-17 00:14 (ссылка)
Тут не стоит впадать в крайности - с одной стороны - оно действительно не бином ньютона. С другой - количество накопленных знаний там не очень велико - но значительно больше "пары книжек".

Что до советского CS-образования - это жопа, да - хотя в общем ситуация мало чем отличается от того, что Миша клеймит про матобразование - только сильнее выражено. Ну чтобы далеко не ходить - я учился на отделении прикладной математики на матмехе - там курс логики - это полсеместра - то есть через неделю (одну неделю лекция, одну - семинар). ЕМНИП - еще и на первом курсе, где в общем-то народ к сжатому изложению еще не готов.

Ну что за это время можно рассказать?

При том, что логика - это таки да - рабочий инструмент в CS. Один из главных.

То есть у меня есть некоторое представление, как должен выглядеть курс CS - как раз азы - логика - теория множеств/теория моделей, немножко теории категорий (по той же причине - рабочий тул), дискретная математика/теория чисел/алгоритмы и структуры данных.

Языки (в том числе - реализация языков) и системы типов (в смысле ML/Haskell и около - с историческим экскурсом - чтобы знать какие ветки были отброшены). Основы криптографии есс-но - вещь красивая и выходов много и помимо узкой темы, прикладной курс повдоль "Конкретной математики".

Ну в каком-то таком стиле. На полноту есс-но не претендую. Один из плюсов области, что в ней как раз еще можно рассказать более или менее все, что напридумывали - это же дикий кайф - реально областей, где еще возможен более или менее энциклопедического типа охват не так уж много осталось.

(Ответить) (Уровень выше)

Re: а если по другому ?
[info]grp
2009-09-18 10:35 (ссылка)
Не повезло — систематически CS в этой стране практически нигде не учат. (И даже практическому программированию.) Чистую математику вы ведь тоже в итоге не в обычный вуз пошли постигать?

По поводу всех претензий.

(1) Нормальные люди, занимающиеся CS, понимают, что наука более прикладная.
(2) При этом они знают ее фундамент и вообще ориентируются в математике.
(3) Они занимаются CS, потому что у них есть интерес именно к CS, а не потому что они недоматематики или перепрограммисты (или что там еще вы думаете).

Удачи реализоваться в других вещах.

(Ответить) (Уровень выше)

Re: а если по другому ?
(Анонимно)
2009-10-11 04:38 (ссылка)
> вполне тривиальными и потому бессмысленными доказательствами

Это из-за карри-ховарда в основном.

Вот коллега Пирс разъясняет:
http://www.vimeo.com/6615365

(Ответить) (Уровень выше)

Re: а если по другому ?
[info]grp
2009-09-16 19:39 (ссылка)
> Комбинаторика - pure mathematics. Никакого отношения
> к computer science не имеет вообще.

Я никуда и не определял комбинаторику, во избежание.
В CS занимаются комбинаторными задачами - это факт.


> на других факультетах и в других институтах

Само-собой. Теоретические вещи в CS делают в лабораториях/кафедрах/факультетах математики.

(Ответить) (Уровень выше)


(Читать комментарии) -