Alexander
Я в курсе, что существуют разные классификации, но мне кажется странным не относить CS к математике.
Denis
CS это наука, как из названия следует. Математика - нет.
Vladimir
Чо только тут не услышишь.
Alexander
Про математику не науку я тоже знаю, и крайне с этим не согласен.
Vladimir
Особенно про математику. То она не нужна, то она не наука, то она не успевает за инженерией.
Vladimir
;)
Denis
Математика нужна, но это не наука.
Alexander
CS это наука, как из названия следует. Математика - нет.
У одного из известных деятелей (Дейкстры, возможно) другой взгляд на название "Computer Science"
Denis
Наука это то что подтверждаемо научным познанием и экспериментами по определению.
Vladimir
Ну давай, ещё поппером побравируй. Мол тут все неучи)
Alexander
Особенно про математику. То она не нужна, то она не наука, то она не успевает за инженерией.
Не математика не успевает за инженерией, а конкретные разделы все еще не могут четко ответить на вопрос, почему это работает на практике (нейросети)
Alexander
Впервые слышу
Доказательство задачи о четырех красках - экспериментальное.
Denis
Я бы поспорил
Vladimir
Впервые слышу
См. Лакатос "Доказательства и опровержения".
Vladimir
Или даже Арнольда
Mi Shа
Наука это то что подтверждаемо научным познанием и экспериментами по определению.
Разве физические эксперименты. основанные на математических законах, не есть потдверждением этих законов?
Vladimir
Прям так и называется. "Экспериментальная математика"
Alexander
Я бы поспорил
Тогда мы углубимся в терминологический спор о том, что есть доказательство, и что есть эксперимент.
Denis
Оно было сконструировано вычислительно, что ничуть не умаляет его формальности и точности.
Vladimir
Не математика не успевает за инженерией, а конкретные разделы все еще не могут четко ответить на вопрос, почему это работает на практике (нейросети)
Просто не надо считать, что математика -- это только чистые дедуктивные и тавтологические заключения, это не так.
Denis
Я его признаю. Большинство математиков тоже. Но не все
Это норма. Если все доказательство не проверил - можно не признавать. А тут его фиг проверишь, поэтому можно не верить.
Alexander
Просто не надо считать, что математика -- это только чистые дедуктивные и тавтологические заключения, это не так.
У слова "математика" много значений. В более широком смысле да, я согласен, это не только подобные умозаключения.
Mi Shа
Думаю это излишне сильное высказывание
Разве невозможно на основе физических экспериментов подтвердить, что операция сложения над целыми числами работает точно так же, как в теории?
Denis
Разве невозможно на основе физических экспериментов подтвердить, что операция сложения над целыми числами работает точно так же, как в теории?
Это не дает подтверждения что для _всех_ чисел это справедливо. Только для проверенных случаев. Оставляет простор для математического скепсиса, скажем так.
Alexander
Разве невозможно на основе физических экспериментов подтвердить, что операция сложения над целыми числами работает точно так же, как в теории?
Это очень скользская дорожка, которая упирается в вопрос, есть ли в физике доказательства, и если есть, то доказательства чего. Доказательства существования некоторых явлений - это эксперименты. Но доказательства корректности теории? Здесь есть вопросы.
Denis
Другое дело что сложение целых чисел формализовано и его свойства доказаны. Но не физическими экспериментами.
Mi Shа
Другое дело что сложение целых чисел формализовано и его свойства доказаны. Но не физическими экспериментами.
Доказаны суждениями, которые делает человеческого мозг. Хотите сказать, что из-за этого их можно ставить под сомнение?
Alexander
Можно безопасно сказать, что эксперименты свидетельствуют в пользу той или иной теории. Но каждый такой эксперимент может свидетельствовать в пользу сразу нескольких, совершенно различных, теорий. Что не может являться доказательством.
Denis
Доказаны суждениями, которые делает человеческого мозг. Хотите сказать, что из-за этого их можно ставить под сомнение?
Для этого логики существуют, чтобы законами конкретной логики другой человеческий мозг или машина, могли доказательство проверить.
Alexander
Даже если эксперимент свидетельствует в пользу только одной теории, всегда есть вероятность, что более корректную теорию мы просто еще не знаем, и эксперимент будет с ней также согласован
Denis
ну и аксиоматики же существуют, если конкретная аксиоматика подвергается сомнению в какой-то момент времени, то вся теория на ней построенная резко превращается в фуфло
Alexander
На форуме dxdy идут большие баталии про доказательность в физике
Denis
про математику
Denis
а про доказательства в физике - тема то благодатная
Alexander
про математику
Ну здесь все-таки, есть оговорки. Не очень ясно, что именно такое "превращается в фуфло". Уж точно теория не становится менее полезной и не перестает работать для случаев, когда работала. Но становится ясно, что более широкое применение теории ведет к проблемам.
Denis
можно провести мысленный эксперимент добавив в какую-нибудь логику неверную аксиому
Alexander
можно провести мысленный эксперимент добавив в какую-нибудь логику неверную аксиому
Если тебе нужно строить доказательства, используя эту теорию, то лучше взять ту, где проблемы на уровне аксиом исправлены. Если тебе нужно в утилитарных целях, то и не требуется. Скажем, вводить группы можно с использованием наивной теории множеств, но не строить на ней доказательства.
Denis
если есть вычислительная модель, то введение некорретной аксиомы может привести к зацикливанию вычислений, некорректным результатам
Alexander
если есть вычислительная модель, то введение некорретной аксиомы может привести к зацикливанию вычислений, некорректным результатам
Я понимаю, о чем ты. Весь вопрос, что за цели ты преследуешь. Если хочешь продвинуть математику, - это одно. Если интересует решение инженерных задач - это другое. В последнем случае мы почти всегда имеем дело с подобной ситуацией. Наши неявные аксиомы под вычислениями редко когда полны и непротиворечивы. Тем не менее, мы с этим прекрасно справляемся.
Алексей
А доказательства чего в физике? Теории не более чем модели реальности и вполне могут оказаться приблизительными. Да и с математикой физики обращаются куда как более вольно нежели математики
Алексей
Сразу видно - не экспкриментаторы
Alexander
Но мне кажется, это терминологическое заблуждение
Dmitry
Математика университетского уровня в жизни не нужна. И почти не нужна программистам. Однако математика ценна сама по себе, как интеллектуальная игра, не хуже шахмат или го. К сожалению, преподаватали поганят этот предмет, превращая его из интеллектуальной игры в бессвязный материал, который требуется тупо выучить.
Я бы добавил, что университетская математика - это, прежде всего, тренировка собственной логики и абстрактного мышления, умения думать чётко абстрактными символами. Матанализ вот тут прям в самый раз, все эти задрачивания доказательств теорем с пределами - вот прям то, что надо
кана
ты хотел data Showable = forall a . Show a => Showable a
все, я понял наконец разницу. Я думал, что раз forall слева от конструктора, то он слева от всех конструкторов, поэтому это мне казалось странным, ведь мы хотим указать констрейты только для одного
кана
я написал пример посложнее и все стало очевидно по первичным наблюдениям типы полностью аналогичны
Alexander
не, не не Девид блейн
Alexander
тут не видна разница
Alexander
вот если Foo :: (forall a. Show a ) -> Foo то видно
Denis
только => вместо ->
Denis
а хотя даже не так, там a должно быть
кана
я думал, что exist-квантификация это вот такой кейс, где a неявно (в core явно) превращается в пару из значения и инстанса
Dmitry
А еще мне кажется, что математики никогда не смогут создать сильный ИИ. Свидетельством этому является ситуация с нейронными сетями. Экспериментальные, инженерные подходы идут вперед, пока математики пытаются это все формализовать. То же самое с разработкой. Пока разработчики, пришедшие со стороны математики, будут думать про кофункторы и эндоморфизмы, разработчики-практики просто пойдут и решат задачу, пусть и не самым изящным способом. И тут можно было бы спросить, а в чем, собственно, мой поинт, зачем я это пишу. А он в том, чтобы еще раз продемонстрировать: чистая математика, в первую очередь, это потребность, а во вторую - полезный инструмент, по крайней мере, в мире разработки ПО. И более того, инженерные подходы будут понятны большинству разработчиков, потому что такова самая распространенная практика, а вот математические подходы будут понятны лишь небольшой части разработчиков-математиков. Но в нашем деле - разработки ПО - понятность и поддерживаемость значительно важнее. (Текст выше спорный, контраргументы приветствуются).
Ну вот Талеб тоже налегает на tinkering, мол, изобретения именно так делаются. Так что со второй частью мессаги соглашусь. Но вот про нейросети не совсем верно. До сильного ИИ им как до луны, и прорывы последних лет - основаны на теории, было предложено ряд методов ускорения обучения, и всё это дало нам глубокое обучение (ну и да, плюс подгоны от: 1. инженеров: быстрые видяхи, 2. от "обычных" пользователей : куча размещённых данных в интернете).
кана
собственно я и сейчас так думаю и не очень понимаю в чем проблема
Зигохистоморфный
насколько я понял exists не дает убегать переменным из скоупа. На примере ST мы не хотим чтобы было известно что внутри
Зигохистоморфный
это представляет собой некую инкапсуляцию
Denis
да
A64m
> До сильного ИИ им как до луны ну т.е. всего ничего
Зигохистоморфный
форол же?
я про экзистенциальность в общем
Alexander
хм да
Зигохистоморфный
насколько я понял, это следует из теоремы Сколема (что имея forall мы можем легко заменить exists)
кана
я думал, что exist-квантификация это вот такой кейс, где a неявно (в core явно) превращается в пару из значения и инстанса
окей, я просмотрел core и пришел к такому выводу: data T = ToString (forall a. Show a => a) не работает по такой же причине, почему не работает и f :: (forall a. Show a => a) -> String exist значение это по сути пара (в нашем случае тройка из типа, инстанса и значения), а ghc не может тупо взять значение и превратить его в кортеж и потом везде разворачивать/заворачивать. В первом случае у нас такое значение как аргумент конструктора, во втором как аргумент функции. а вот когда мы уже на уровне всего конструктора все это делаем, то ghc нефиг делать добавить в конструктор пару дополнительных скрытых полей: и тип, и инстанс, поэтому data T = forall a. Show a => ToString a прекрасно работает и на самом деле консруктор ToString содержит 3 значения: ToString @(a :: Type) ($show :: Show a) (x :: a) то есть ghc не хочет создавать exist-кортежи из значений, а вот расширять другие кортежи до exist спокойно, то есть это все просто проблема реализации
кана
Oleg
Впервые слышу
Моя кафедра прям так и называлась "Компьютерных наук и экспериментальной математики". Помимо доказуемости или вычислимости есть некий принципиальный нестрогий предел сложности при переходи через который индивид за индивидом теряют способность осознать доказуемые казалось бы вещи. И единственным выходом становится эмпирический подход. Мало того есть мнение, что математический эмпиризм можно спроецировать на все прочие , см. A new kind of science Вольфрама
Alexander
👍