H&S – это шампунь от перхоти номер 1, упор был именно на это. Поскольку в нашей стране английский, в основном, знают совсем чуть-чуть более, чем никак, объяснять это пришлось отдельным рекламным роликом.
Игру слов, впрочем, этот ролик не объяснял, поэтому для нас и неочевидно, что H&S – прекрасное название для шампуня.
По остальным пунктам – «да» («последняя f в разделе» – отмечена у меня на скрине (2)).
Проверял на последнем образе Axiom на ubuntu-виртуалке – брать отказалась.
Было бы интересно посмотреть трассировку алгоритма для (2) – где именно навернулась эвристика, и какое тождество она в итоге не расколола.
Касаемо же closed-form integration (я даже затрудняюсь сказать, есть ли у нас соответствующий термин) – бОльшая часть материалов, которые мне попадались, активно использовали ТФКП (да, ехал вычет через вычет), и, поскольку ТФКП нам толком не читали, воспринимал я эти материалы приблизительно никак, увы.
Ну, в оправдание такого подхода можно, наверное, отметить, что те исключительные случаи, когда системы компьютерной алгебры не могут отыскать первообразную, хотя она есть и элементарна, человеку в любом случае вряд ли удастся победить, если только это не человек, который их придумал.
И, разумеется, искать первообразные вручную целесообразно только тогда, когда учишься искать первообразные. Положительно оценить полезность этого умения саму по себе с каждым годом всё тяжелее, но иметь хотя бы базовое представление о том, как это делать руками, пожалуй, не вредно.
Вы хотите сказать, что Mathematica справляется с обоими примерами из Problem Examples?
Я имею в виду f(x) = x / sqrt ( x4 + 10x² — 96x + 71 ) и второй пример с логарифмами.
В последний раз, когда я проверял, Axiom справлялась только с первым. Wolfram|Alpha тоже.
Прямо там же, в вики, сказано, что при отыскании первообразной приходится сравнивать символьные выражения, и, поскольку на данный момент неизвестно, алгоритмизируема ли эта задача в принципе, приходится применять эвристики. Второй пример, по всей видимости, как раз синтетический, минимально необходимый для того, чтобы эвристики обломались.
PS. Сам Бронштейн по этой проблеме (помимо собственно реализации алгоритма Риша) опубликовал Symbolic Integration Tutorial, и это без преувеличения самый хардкорный из туториалов, которые я видел, моего знания математики не хватило, чтобы осмыслить, что он предлагает, и то, что он многие вещи упоминает лишь вскользь (видимо, подразумевая очевидными), тоже дела не облегчает. Однако, профессиональным математикам, наверное, будет понятно.
Стиль там вообще очень контрастен к любому из учебников интегрирования для людей: сразу же полями и их замыканиями в голову, большинство наблюдений и результатов дано без доказательств (вряд ли это можно поставить в упрёк, так как поля у него действительно были слишком узки), и только примеры отчасти спасают ситуацию для программистов вроде меня.
Возможно, чтобы калькулятор мог пережить отказ как можно большего числа сегментов и остаться в состоянии что-то считать. Тогда к этому вопросу серьёзно подходили…
Эмм. Я не говорю, что не нужно ничего делать. Я говорю, что у меня нет хорошего варианта. Я не говорю, что не надо делать ничего. Я говорю, что не надо делать что-то заведомо плохо.
Если адаптировать популяризованную одним занимательным персонажем известную задачку: пусть тест определяет профессионализм в данной предметной области по типу «айтишник — не айтишник». Если в среднем из тысячи человек айтишников 10, если тест в среднем проходят 80% заведомо-айтишников и 10% заведомо не-айтишников, то вероятность, что случайный человек, прошедший тест, айтишник — около 7%. Если вдруг кто-то решит искать соус — вот он.
Я к чему: вот это «абсолютная точность и не нужна» нуждается в очень строгом обосновании. Дело не в том, что точность не будет абсолютной, дело в том, что точность крайне желательно определять строго. Иначе — писями по воде виляно.
Беда в том, что я решительно не могу предположить, как этой точности достичь.
Система не нужна, если она не действует. Если она действует (влияет на что-то), её будут пытаться эксплоитить. Абузить. Либо она «опциональна, мало на что влияет, итд», и она ровно в той же мере, в которой «не влияет», и «не нужна», либо её будут пытаться налюбить. Чтобы она в таких условиях оставалась нужна, налюбить её должно быть в некоторой степени трудно.
А я не представляю, как сделать её такой.
Идея хороша, если все будут честно проходить эти тесты. Как организовать оффлайн-тестирование всех пользователей? Я подразумеваю, что смысла в онлайн-тестировании нет в принципе…
...screw that. Смысла в России нет ни в каком тестировании, если только это не форма собеседования в какую-нибудь очень крутую контору.
Игру слов, впрочем, этот ролик не объяснял, поэтому для нас и неочевидно, что H&S – прекрасное название для шампуня.
Это просто надо знать, каким словарём пользоваться. Или литературу читать не только техническую.
По остальным пунктам – «да» («последняя f в разделе» – отмечена у меня на скрине (2)).
Проверял на последнем образе Axiom на ubuntu-виртуалке – брать отказалась.
Было бы интересно посмотреть трассировку алгоритма для (2) – где именно навернулась эвристика, и какое тождество она в итоге не расколола.
Касаемо же closed-form integration (я даже затрудняюсь сказать, есть ли у нас соответствующий термин) – бОльшая часть материалов, которые мне попадались, активно использовали ТФКП (да, ехал вычет через вычет), и, поскольку ТФКП нам толком не читали, воспринимал я эти материалы приблизительно никак, увы.
И, разумеется, искать первообразные вручную целесообразно только тогда, когда учишься искать первообразные. Положительно оценить полезность этого умения саму по себе с каждым годом всё тяжелее, но иметь хотя бы базовое представление о том, как это делать руками, пожалуй, не вредно.
Я имею в виду f(x) = x / sqrt ( x4 + 10x² — 96x + 71 ) и второй пример с логарифмами.
В последний раз, когда я проверял, Axiom справлялась только с первым. Wolfram|Alpha тоже.
Прямо там же, в вики, сказано, что при отыскании первообразной приходится сравнивать символьные выражения, и, поскольку на данный момент неизвестно, алгоритмизируема ли эта задача в принципе, приходится применять эвристики. Второй пример, по всей видимости, как раз синтетический, минимально необходимый для того, чтобы эвристики обломались.
PS. Сам Бронштейн по этой проблеме (помимо собственно реализации алгоритма Риша) опубликовал Symbolic Integration Tutorial, и это без преувеличения самый хардкорный из туториалов, которые я видел, моего знания математики не хватило, чтобы осмыслить, что он предлагает, и то, что он многие вещи упоминает лишь вскользь (видимо, подразумевая очевидными), тоже дела не облегчает. Однако, профессиональным математикам, наверное, будет понятно.
Стиль там вообще очень контрастен к любому из учебников интегрирования для людей: сразу же полями и их замыканиями в голову, большинство наблюдений и результатов дано без доказательств (вряд ли это можно поставить в упрёк, так как поля у него действительно были слишком узки), и только примеры отчасти спасают ситуацию для программистов вроде меня.
PS. Искал этот комментарий на эту тему, не нашёл, оставил сам.
Эмммм… наверное, всё же «преобразование двух в третий»… или хотя бы «одного в другой посредством третьего», не?
PS. Вообще не понял, что за негатив, просто оставлю эту тему в покое.
Если адаптировать популяризованную одним занимательным персонажем известную задачку: пусть тест определяет профессионализм в данной предметной области по типу «айтишник — не айтишник». Если в среднем из тысячи человек айтишников 10, если тест в среднем проходят 80% заведомо-айтишников и 10% заведомо не-айтишников, то вероятность, что случайный человек, прошедший тест, айтишник — около 7%. Если вдруг кто-то решит искать соус — вот он.
Я к чему: вот это «абсолютная точность и не нужна» нуждается в очень строгом обосновании. Дело не в том, что точность не будет абсолютной, дело в том, что точность крайне желательно определять строго. Иначе — писями по воде виляно.
Беда в том, что я решительно не могу предположить, как этой точности достичь.
Система не нужна, если она не действует. Если она действует (влияет на что-то), её будут пытаться эксплоитить. Абузить. Либо она «опциональна, мало на что влияет, итд», и она ровно в той же мере, в которой «не влияет», и «не нужна», либо её будут пытаться налюбить. Чтобы она в таких условиях оставалась нужна, налюбить её должно быть в некоторой степени трудно.
А я не представляю, как сделать её такой.
...screw that. Смысла в России нет ни в каком тестировании, если только это не форма собеседования в какую-нибудь очень крутую контору.
Если да – то подтверждаю, неплохая.