«…монада — моноидальный объект в категории эндофункторов: return — единица, а join — умножение. Проще этого и объяснить нельзя! Если это кажется запутанным, посмотрите на монаду как слабый функтор из терминальной бикатегории…»
Не знаю. Это зависит от аудитории, от того, что читатель должен знать. Первая часть вполне имеет смысл. А начиная от «проще и объяснить нельзя» — уже лишнее. Извинения ни к чему, и проще не получилось.
Сразу вспоминается IgNobel Prize (2006 г.): профессор психологии из Принстона Дэниел Оппенгеймер доказал, что самые трудночитаемые тексты с засильем терминов плодят люди с низким IQ.
Если с точки зрения программирования на функциональных языках, то поищите лекцию Бекмана (Beckman) о монадах. Она чуть больше часа, но он разбирает все до дна — никакого знакомства с теорией категорий не требуется.
Что такое моноид, все знают. Это когда мы умеем умножать и брать единицу. То есть из пары чегототам (т.е. из элемента декартова квадрата) получать одно чегототам, и из ничего получать одно чегототам, при выполнении известных соотношений.
Моноидальная категория C — это категория, оборудованная бифунктором ⊗ : C × C → C и объектом I, служащим единицей для этого бифунктора, с точностью до естественного изоморфизма, опять при выполнении очевидных соотношений (ассоциативность и проч.)
Например, Set — моноидальная категория, в которой ⊗ — декартово произведение ×, а I — одноэлементное множество {0}. Например, К-Vect (К — поле) — моноидальная категория, в которой ⊗ — тензорное произведение, а I — одномерное пространство над К (или (notation abuse) просто К). Например, Ab — моноидальная категория, в которой ⊗ — опять тензорное произведение, а I — это Z. Вообще любая категория с конечными произведениями (или копроизведениями) моноидальна.
Внимание, начинается вывих мозга.
Моноид на моноидальной категории (C,⊗,I) — это объект M, оборудованный морфизмами μ: M ⊗ M → M (умножением) и η: I → M (единицей). Не путать M, μ и ⊗! Например, моноид на категории Set (точнее, (Set,×,{0}) — это обычный моноид, про который все знают. То есть объект S из Set (множество), оборудованный умножением (помните, функцией из мн-ва пар, т.е. из S×S, в S) и единицей (функцией из как бы ничего, т.е. из одноэлементного мн-ва, в S). Например, моноид на (K-Vect,⊗,К) — это K-алгебра. Например, моноид на (Ab,⊗,Z) — это кольцо.
Пусть есть категория C. Категория эндофункторов в C моноидальна (⊗ — композиция, I — тождественный функтор). Моноид на этой категории называется монадой.
(no subject)
2011-07-13 08:44 (UTC)(no subject)
2011-07-13 08:57 (UTC)(no subject)
2011-07-13 09:08 (UTC)(no subject)
2011-07-13 09:30 (UTC)(no subject)
2011-07-13 09:02 (UTC)(no subject)
2011-07-13 09:55 (UTC)Действительно, проще не скажешь
2011-07-13 09:03 (UTC)idem per idem
Re: Действительно, проще не скажешь
2011-07-13 09:08 (UTC)Re: Действительно, проще не скажешь
2011-07-13 09:08 (UTC)Re: Действительно, проще не скажешь
2011-07-13 09:33 (UTC)Re: Действительно, проще не скажешь
2011-07-13 09:37 (UTC)Re: Действительно, проще не скажешь
2011-07-13 09:54 (UTC)Re: Действительно, проще не скажешь
2011-07-13 10:24 (UTC)Re: Действительно, проще не скажешь
2011-07-13 09:43 (UTC)Кажется, вот она: http://channel9.msdn.com/Shows/Going+Deep/Brian-Beckman-Dont-fear-the-Monads
Пишу больше для себя.
2011-07-13 17:43 (UTC)Моноидальная категория C — это категория, оборудованная бифунктором ⊗ : C × C → C и объектом I, служащим единицей для этого бифунктора, с точностью до естественного изоморфизма, опять при выполнении очевидных соотношений (ассоциативность и проч.)
Например, Set — моноидальная категория, в которой ⊗ — декартово произведение ×, а I — одноэлементное множество {0}. Например, К-Vect (К — поле) — моноидальная категория, в которой ⊗ — тензорное произведение, а I — одномерное пространство над К (или (notation abuse) просто К). Например, Ab — моноидальная категория, в которой ⊗ — опять тензорное произведение, а I — это Z. Вообще любая категория с конечными произведениями (или копроизведениями) моноидальна.
Внимание, начинается вывих мозга.
Моноид на моноидальной категории (C,⊗,I) — это объект M, оборудованный морфизмами μ: M ⊗ M → M (умножением) и η: I → M (единицей). Не путать M, μ и ⊗! Например, моноид на категории Set (точнее, (Set,×,{0}) — это обычный моноид, про который все знают. То есть объект S из Set (множество), оборудованный умножением (помните, функцией из мн-ва пар, т.е. из S×S, в S) и единицей (функцией из как бы ничего, т.е. из одноэлементного мн-ва, в S). Например, моноид на (K-Vect,⊗,К) — это K-алгебра. Например, моноид на (Ab,⊗,Z) — это кольцо.
Пусть есть категория C. Категория эндофункторов в C моноидальна (⊗ — композиция, I — тождественный функтор). Моноид на этой категории называется монадой.
И что, спрашивается, может быть проще?
(no subject)
2011-07-13 10:38 (UTC)(no subject)
2011-07-13 20:44 (UTC)(no subject)
2011-07-14 14:25 (UTC)