Comments 26
Не хватает ссылки на книгу Юджинии Ченг: https://dmkpress.com/catalog/estestvennye-nauki/978-5-93700-313-3/
А также на книгу Бартоша Милевски: Теория категорий для программистов
Зачем надо было опускать (противопоставлять, если угодно) Саватеева АВ
Почему он неправ, а она права?
"К счастью, не все согласны с А.В. Савватеевым. Британский математик Евгения Чен считает, "
Понадергано цитат и не увидел выводов, что это оочень просто, почему Савватеев неправ.
Может ошибаюсь, но похоже Дипсик помогал писать
Всякое познание суть сопоставление и противопоставление. Поиск общего и поиск различного. Попытка отделить ложь от истины. Никто никого не "опускает".
Все цитаты на месте. Можно не соглашаться с самими высказываниями.
И, наоборот, показано, что теорию категорий можно изучить, не так уж она недоступна. В этой её недоступности Савватеев, возможно и не прав. Но он точно прав в том, что сегодня мало кто адекватно воспринимает эту теорию. Начнём с того, что про теорию категорий мало кто слышал. И даже в среде математиков эта теория проходит по разряду запредельной (и, вроде бы, даже бесполезной=никому не нужной) абстракции.
Не читал, но осуждаю.
Даагая, все гааздо пгоще!
Первичные понятия/аксиоматика, их пространства, структуры, логика, вычисления, межвзаимодействия.
На цифровые/лингвистические вычисления сами все это перекинуть сможете?!
Теория категорий просто? Ха-ха-ха. Я мог бы в другой жизни быть математиком, но когда я в первый раз увидел теорему о фактор группе по ядру гомоморфизма, я не мог ее понять месяц. Так это просто первый можно сказать уровень абстракции, 1-й семестр 1-го курса. Теория категорий вовсе не о категориях (1 уровень), не о функторах (2 уровень), она о естественных преобразованиях (3 уровень) как базе, а дальше уже строятся еще более сложные объекты. Всем кто считает ее простой, предлагаю понять доказательство леммы Ионеда. Это утверждение уровня 1+1=2, если вы действительно понимаете о чем там речь.
но когда я в первый раз увидел теорему о фактор группе по ядру гомоморфизма, я не мог ее понять месяц
В чём именно у Вас была трудность? Можно было представить классы вычетов по какому-нибудь модулю.
Тут, кстати, интересно вот что. Мы мышление привыкло оперировать конкретным. Легко понимать на конкретном примере. А вот попробуй подняться на абстрактный уровень и увидеть и решить задачу в общем смысле.
К счастью, не все согласны с А.В. Савватеевым.
Население планеты - что-то где-то в районе между 7 и 8 млрд. Людей понимающих теоркат ГЛУБОКО хорошо если хотя бы с десяток тысяч, но наверняка и того меньше. Вполне себе подходит под определение "мало кто понимает".
Сообщество математиков, считающих знак равенства изначальной ошибкой математики, растет.
Сейчас бы журналиста слушать. Равенство, эквивалентность, похожесть (similarity), конгруэнтность, гомо/гомеоморфность, равномощность - разные вещи действующие на разных уровнях асбтракций для разных объектов. Не даром ко многих из таких "эквивалентных" соотношений дописывают до какой степени эти соотношения работают - до изомофизмов, до групповых операций и т.п. Фраза равносильна тому, чтобы считать законы Ньютона ошибкой.
Можно было бы подумать, что Теория категорий — это метаматическая система. Однако это не так. Теория категорий пересекается с метаматематикой, но не ограничивается ею. Она является метаматематическим инструментом, когда используется для изучения оснований математики, унификации различных теорий или анализа логических систем, но она также остаётся частью математики, когда изучаются конкретные категории, функторы и их свойства.
Таким макаром плюсы-минусы-деления-умножения и прочие операции это тоже не математика.
Таким образом, Теорию категорий можно рассматривать как универсальную гибридную дисциплину
среди всех дисциплин математика и была самая универсальная и гибридная дисциплина из всех. За это её и звали царицей наук. Теоркат лишь её часть, а не нечто совершенно отдельное. В магазине у прилавка теоркат не очень-то работает, в отличие от других областей математики, например.
Равенство, эквивалентность, похожесть (similarity), конгруэнтность, гомо/гомеоморфность, равномощность - разные вещи действующие на разных уровнях асбтракций для разных объектов.
Тут какое дело? Возьмите простое равенство: . Что оно означает? Да, мы понимаем, что слева — результат операции, а справа — конкретный объект. А какой смысл в равенстве
? Вроде, и так понятно, но единица слева и единица справа — это один и тот же объект? Можно, конечно, сослаться на то, что мы имеем дело с именами объектов (что-то типа указателей). А можно считать, что, на самом деле, у нас знак
— это сокращение для двух совмещённых стрелок "слева-направо" (
) и "справа-налево" (
). В смысле: "можем преобразовать".
Не стоит думать что наши великие предшественники что-то не додумали. Хотя, например, Бурбаки хотел(и) формализвать всю математику, но у него (них) ничего не вышло.
Эквивалентность в теоркате (да и не только) возникает, когда на двух концах разные объекты. Например таблица Кэли эквивалентна некоторому графу переходов поворотов и отражений. В такой ситуации речь идёт уже об асбтрагировании от представления структуры к категориям и морфизмам. В 1+1=2 и 1=1 это именно равенство. А вот если сделать 1+1 = 2.0 то тут уже можно задавать вопросы касательно того, что обозначает знак равенства.
это сокращение для двух совмещённых стрелок "слева-направо"
Ага, а черточка по середине у это такой барьер на рыцарском турнире. Двусторонние преобразования имеют собственные варианты стрелочек
(Из книги Милевского)
В течение довольно продолжительного времени я обдумывал идею: написать книгу по теории категорий для программистов. Заметьте, не для компьютерных теоретиков, а для программистов — скорее инженеров, чем ученых. Я знаю, что это звучит безумно, и я сам был достаточно напуган. Я знаю, что есть огромная разница между наукой и техникой, потому, что я работал по обе стороны баррикад ...
Какие ещё баррикады?
Для программистов? Чтобы что? Чтобы взяли категории и воплотили их в практику проектирования своих приложений?
Но у меня всегда был очень сильный порыв объяснять сложные вещи простым языком. Я восхищаюсь РИЧАРДОМ ФЕЙНМАНОМ, который был мастером простых объяснений. Я знаю, я не ФЕЙНМАН, но я стараюсь и буду стараться с полной самоотдачей. Я начинаю с публикации этого предисловия, которое должно мотивировать читателя изучать теорию категорий, и надеюсь на начало дискуссии и обратную связь.
Хорошая идея! Давайте изучим. Мне, как раз, нужно будет в ближайшее время надо будет вспомнить математику. Будет здорово начать этот поход с теории категорий. И, кстати, может быть самая первая лекций в вузе и должна быть посвящена теории категорий? Может быть, у людей и мышление другим станет, если во первых строках любого математического образования будет лежать теория категорий? Диалектика здесь заключается в том, что чтобы достичь какого-либо успеха в конкретном (в практике), нужно (с самого начала) встать на самую общую точку зрения (то есть — посмотреть на всё с высоты птичьего полёта).
Композиция в самой основе теории категорий, она — часть самого определения категории. И я утверждаю, что композиция — суть программирования. Мы комбинировали разные сущности уже очень давно, задолго до того, как какой-то великий инженер придумал подпрограммы. Некоторое время назад принципы структурного программирования произвели революцию в программировании, — они сделали блоки кода комбинируемыми. Потом пришло объектно-ориентированное программирование, суть которого заключается в комбинировании объектов.
А тут интересно: объектов или классов? В реальной (функционирующей) программе встречаются объекты, а в исходном классе имеются только классы (объектов). Другое дело: то, что мы хотим получить на выходе. Если встречаются два объекта, мы хотим составить некую композицию классов двух заданных объектов для решения некой задачи. (При этом, задачу также можно рассматривать как объект некоторого класса.) Вопрос: нужны ли нам классы? И можем ли мы предусмотреть заранее все взаимодействия?
Не то чтобы побочные эффекты изначально плохи, плохо то, что они скрыты от наблюдения. Из-за этого, в более крупных масштабах, становится невозможно ими управлять. Побочные эффекты не масштабируемы, а императивное программирование полностью построено на побочных эффектах.
Совершенно верно!
В том-то и дело, что язык программирования должен обеспечивать семантическую ясность всех синтаксических конструкций. А вместо развитого синтаксиса, определяемого предметной областью, мы имеем повальную универсализацию языков программирования и перенос всех трудностей на многочисленные библиотеки.
Теория категорий предназначена дать ответ на вопрос Жизни, Вселенной, и всего такого. Она должна позволить математически описать любые процессы и события, которые только возможны.
На сегодня это open source в математике. Каждый может предложить свою концепцию. Это не теория, а приглашение к разговору.
Да, если вкратце, то именно в этом и есть суть Теории категории: смещение акцента с объекта на отношения (взаимосвязи) между объектами. На необходимость подобного смещения, кстати, намекали многие философы прошлого. Если сильно не углубляться в историю философии, то хотя бы для общего развития и расширения кругозора можно заметить, что Кант уперся в проблему непознаваемости мира (истина есть вещь-в-себя — то, что нам недоступно) во многом именно из-за того, что сосредоточился на объектах, а не взаимосвязях. Этот «недочет» подправил Гегель, предложив как раз-таки обратиться к отношениям между объектами, благодаря чему проблема непознаваемой вещи-в-себе в философии Гегеля была решена.
Во первых, кантовские "вещи в себе" не об объектах как таковых, она о самой реальности, которая существует независимо от познающего субъекта. Можно наделять ее представлениями об объектности, пространственных и временных отношениях, и тд, но это все приближения к ней, связанные со способностью разума познавать ее (см. априорные формы и категории познания). По Канту познание ограничивается феноменальным миром, который воспринимается чувствами, его можно представить состоящим из объектов. Можно только приближаться к познанию реальности, как некоторому пределу, но никогда не достигнуть его. Во-вторых, противоречие. Теория категорий исследует отношения между чем? Объектами, или классами объектов, и тд. Хотя они и не специфицируются в теории, но их существование предполагается. Так, что не ТК, не Гегель представления Канта в этом вопросе не опровергли. Хотя ТК является весьма мощным инструментарием моделирования и описания физических процессов (1 , 2 ).
Не думаю, что имеет смысл смешивать философские интенции и формальные математические построения. Буквальное соотнесение одноимённых понятий может сыграть очень злую шутку.
На самом деле, проблема заключается в том, что имеются два языка: аналитический и синтетический. Аналитический язык (а это основной язык науки) хорошо описывает строение вещества и тому подобные вещи, но не может охватить системную динамику. А синтетический может. Только, где этот синтетический язык?
Допустим, у нас есть объекты и есть отношения. А что нужно? Нужны некие преобразования. Эти преобразования аналитически строятся (точнее, описываются) через указание области определения и области значений. А как описать преобразования конструктивно?
Не думаю, что имеет смысл смешивать философские интенции и формальные математические построения. Буквальное соотнесение одноимённых понятий может сыграть очень злую шутку.
С обычной словоблудской философией да, не стоит) Но ядро философии Канта составляет теория познания, которая многими специалистами рассматривается, как близкая к натуралистической, нежели философской, из-за подробности описания механизмов познания человека, и их ограничений. Кант многое интуитивно угадал, эти механизмы неплохо ложатся на современные представления в области психофизиологии, эволюционные и когнитивные исследования. Поэтому эта теория до сих пор является источником вдохновения и конкретных идей для постановки исследований, особенно в когнитивной области (1, 2). Напомню также, что именно на ее основе Бор (в основном) в конструктивистском кантовском духе обосновал методологию применения КМ с помощью принципов дополнительности описаний, соответствия, и относительности к средствам измерения. Самая большая интрига, которая еще ждет своего окончательного разрешения, связана с пространством и временем, которые по Канту являются априорными формами познания, а не реальными физическими сущностями, см. комент с пояснениями.
Мнению Канта в науке можно доверять, т.к. в первую очередь, он был именно естествоиспытателем. Внес в науку вклад (некоторые статьи на эту тему 1, 2, 3), является одним из основателей научной космогонии, проповедником идей развития, эволюции, как Вселенной, так и жизни, еще до Дарвина. Он настолько опередил свое время, что к сожалению, даже его непосредственные последователи не до конца поняли всех его новаций, и быстро догматизировали его философию, то с чем он боролся с помощью критического метода. Тот же Гегель развил учение Канта о противоречиях разума, как его ограничениях - антимониях, в диалектику борьбы противоположностей, которая благодаря диамату приобрела широкую известность, хотя мало что дает для реальной практики научных исследований. Ну да, нужно искать разрешение противоречий в их синтезе, так это и из антимоний понятно, но окончательно от них не избавиться, проявятся в другой форме)
Допустим, у нас есть объекты и есть отношения. А что нужно? Нужны некие преобразования. Эти преобразования аналитически строятся (точнее, описываются) через указание области определения и области значений. А как описать преобразования конструктивно?
Конструктивно по Канту вводя конструкты, и используя формальные методы связанные с их составляющими в описании. Примеры связанные с принципом дополнительности описаний - корпускулярно-волновой дуализм КМ, пространственно-временной континуум в ТО, корпускулярно-полевое представление КТП. Что такое струны в ТС? Типичный мысленный конструкт. Но к сожалению базовых концептов со связанными с ними формальными методами описания, а это в основном концепты классической физики, ограниченное количество (фактически это концептуализованное человеком эволюционное наследие представлений физического мира). Поэтому в фундаментальной физике наметились некоторые признаки концептуального кризиса (есть показатели к этому). Возможный выход? Повторить трюк, который проделала эволюция для описания жизненно важных для планирования поведения проявлений реальности в биологических системах, но перенести его в технологическую плоскость обучения нейросетевого ИИ. Обучать ИИ на гигантских массивах эмпирических данных с ускорителей, детекторов частиц, различных телескопов, и тд, пусть обучение конструирует модель этих данных. Что-то вроде этого для оценки размерности пространства сложных динамических систем (хотя этот подход пока еще вызывает скепсис, мои доводы минусовали). Т.е. время фундаментальных физических теорий с аналитическими формальными моделями, видимо, отходит в прошлое. Из-за чрезвычайной сложности проблем с происхождением Вселенной, ТМ, ТЭ, и другими проблемами, создать их аналитическую модель будет невозможно, даже с привлечением будущих кв. компов. Потребуется конструирование с помощью ИИ, и что там будет внутри этих моделей может остаться до конца не известным, так же как сейчас в мозге на уровне скрытых, бессознательных механизмов его работы.
А посоветуйте хороший канонический учебник по ТК? Что-то вроде Nederpelt & Geuvers по теории типов и формальным доказательствам.
нет, это про теорию типов, а мне нужно про теорию категорий
В книге "Пирс, Типы в языках программирования", в главе 1.5 можно найти:
"Основания семантики типов в рамках математической теории категорий (category theory) можно найти во множестве источников, включая книги Якобса (Jacobs, 1999), Асперти и Лонго (Asperti and Longo, 1991) и Кроула (Crole, 1994); краткое введение имеется в «Основах теории категорий для специалистов по информатике» («Basic Category Theory for Computer Scientists», Pierce, 1991a)."
много цитат, немножко определений и ссылка на телегу в конце. это была реклама, не переключайтесь.
Теория категорий и красота математики