ermouth: (Default)
ermouth ([personal profile] ermouth) wrote2016-08-09 04:42 am
Entry tags:

Про неверные обобщения

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

http://www.wou.edu/~girodm/library/benny.pdf

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

Китайская комната, во всей красе.

Бенни описывает свои ощущения от тестов как wild goose chase, на русский я бы это перевёл как “бесполезная движуха”. То-есть это такая игра, в которой основной результат вовсе не понимание, а проходной балл. Иными словами, основной стимул – как можно быстрее дать правильный ответ.

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

Набрёл я на этот пример с правилами Бенни в рамках диалога и размышлений о подходах работы абстрактного генератора программ по нечёткому заданию.

Затрудняюсь точно описать выводы. Как минимум, теперь я уверен, что подход, связанный с “охотой” на решение, выражаемое в рамках замкнутой символической системы, не очень то уместен как генерализованный для нейросетей.

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

Понятно, что способ начинает давать ложные результаты при расширении выборки – но мы склонны патчить имеющиеся правила (как Бенни), а не искать более общую закономерность.

Ну и related video вот, Алан Кей рассказывает про важность простоты. Там в начале хороший пример в тему – про Птолемееву систему мироустройства.

[identity profile] archaicos.livejournal.com 2016-08-09 07:52 am (UTC)(link)
Шедевр! На самом деле я видел по американскому ящику много-много лет назад почти такую же (недо)методу, по которой могли обучаться подобные Бенни. Там учитель писал на доске примеры и ответы к ним, не давая объяснений. Типа после 3-го или 5-го примера учитель просил ученика придумать из правильных примеров правила и применить их к новым примерам. Учитель - аппарат для придумывания заданий или переписывания их из учебника на доску. О+уенно. Ещё был пример из моей студенческой жизни. Одна знакомая особа умудрялась решать большинство задач (ну или чего там хватало на трояк или даже четвёрку) путём нахождения нужной формулы или комбинации из нескольких. Смысл происходящего в задаче для неё не существовал. Паттерн-матчинг следующего уровня: формула-матчинг. :)

А у программистов матчинг - вообще беда. Из A следует B в первой версии, и всё вроде хорошо. Много времени и кода спустя во второй версии следование B из A становится условным. Старая логика размазана по углам. Знание утеряно с авторами первой версии, и весь матчинг разваливается. На помощь приходят костыли в новых углах. :)

[identity profile] morfizm.livejournal.com 2016-08-09 08:46 am (UTC)(link)
Я, честно говоря, не уверен, что метод IPI (подгонять под прохождение тестов) чем-то фундаментально лучше, чем метод, которым учили в школе нас: запомнить набор чётких правил (без понимания) и перебирать их в памяти, пока не подберешь подходящее по синтаксису. Такой вот обход в глубину перебором: если спотыкаешься на syntax error - backtrack, and try another rule.

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

Я знал очень старательных учеников, которые делали на 100% всё, что от них хотели учителя, к сложным задачам они вообще не знали как подойти. Пытались заматчить задачу на похожую известную, у них не получалось, и они разводили руками.

Если описывать универсальный подход, в котором уживались бы и реальные задачи и символьная аналитика, я бы шёл от физики. Она как раз вся про это: вот многогранная реальность, её хочется описывать для того, чтобы предсказывать, описывать хочется как можно более проще и символьно, при этом можно немного ошибаться, сохраняя при этом предсказательную силу. Если ещё добавить к этому геометрию и логику, то добавляется framework, чтобы перебирать весь domain разных случаев и доказывать, что предсказательная сила в какой-то обозначенной мере всегда сохраняется. Получаем практичные модели - настоящие решения задач по физике, плюс способность эти модели подбирать.

Модель может быть в корне неправильная (асимптотически совсем не туда идёт), но при достаточно жёстких ограничениях (напр., предсказывать не далее, чем на N шагов, delta T времени и т.п.) она всё равно может быть доказуемо практичной. Т.е. в описанных рамках иметь предсказательную силу. Для решения реальных задач этого, в общем-то, достаточно.

[identity profile] dennyrolling.livejournal.com 2016-08-09 02:45 pm (UTC)(link)
в школе я так никогда и не понял как на самом деле работают химические реакции, просто вытащил из примеров несколько грамматических правил изменения уравнений реакций и они работали достаточно хорошо чтобы сдать необходимый минимум. там была какая-то математика, типа "сбалансировать количество атомов", но механическая.

меня совершенно не интересовала химия.