Математический поисковик: Математическая поисковая система Uniquation / Хабр

Математическая поисковая система Uniquation / Хабр

Mы только что открыли α-тестирование проекта Uniquation. Это математическая поисковая система, которая ищет решения среди уравнений, равенств и прочих математических объектов, размещенных в интернете. На текущем этапе развития её можно мыслить как развивающуюся CAS (wiki). Помимо этого поста про неё можно прочитать в нашей презентации.

Мы (shai_xylyd, greenman, konfuze) – небольшая команда авантюристов, которым интересно создавать и исследовать что-то новое. В результате нашего сотрудничества родился и продолжает совершенствоваться этот проект. Прежде всего нами движет интерес. Интерес от исследования своих способностей, новых инструментов, и того, что мы создаем.

Возможности

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

Сейчас поддерживаются простые арифметические выражения, некоторые функции (sin, cos, ln, факториал…), неопределенные интегралы, суммы и уравнения в частных производных. Не полностью поддерживаются обыкновенные дифференциальные уравнения, пределы и комбинаторика.

История проекта

Идея создать математический поиск пришла мне в голову, когда я пытался посчитать интеграл Ито некоторого выражения и результат не совпадал с ответом упражнения. Тогда я захотел найти решение в интернете, чтобы сравнить решения, но, к сожалению, не смог, так как нужного поисковика тогда не существовало. Текущая альфа пока не умеет искать по стохастическим уравнениям, но она развивается и уже может быть полезна при решении небольшого класса задач.

Разработка движка началась в свободное от работы и учебы время осенью 2008-ого года. Изначально код был написан в императивном стиле, но затем, после более полного анализа предметной области, было принято решение о переходе на функциональную парадигму, в итоге где-то 10 февраля весь код был переписан, что позволило сократить объем исходного кода почти вдвое и ускорить процесс разработки. Примерно в это время мой друг предложил участвовать в конкурсе Imagine Cup, и, как следствие, работа стала более интенсивной. Так как помимо движка нужно было работать над дизайном сайтом, я устроил спам-рассылку по питерским студентам, работающим web-дизайнерами и зарегистрированными на хабре. Такой метод оказался очень плодотворен, почти все, кому я посылал сообщения, ответили; так в команду попал konfuze. 12 января 2009 движок впервые успешно произвел поиск.

17 марта 2009 состоялось выступление на северо-западном этапе конкурса Imagine Cup, где наша команда заняла второе место. О выступлении можно почитать в Деловом Петербугре. После конкурса мы сконцентрировали силы на исправлении тех ошибок, которые были обнаружены во время подготовки к Imagine Cup. Так же участие в конкурсе дало нам уверенность в том, что идея жизнеспособна.

11 апреля 2009 Uniquation был представлен в качестве примера проекта написанного с применением аспектно-ориентированного программирования на Coffee & Code в питере.

С 24 апреля движок стал мультиплатформенным, и далее все версии тестируются как в windows, так и в linux.

Летом к разработке присоединился мой друг greenman для создания нового проекта и интеграции в него технологий Uniquation.

5-6 сентября 2009 проект участвовал в hackday. Мы надеялись найти специалиста по JS, который помог бы нам с созданием графического редактора для ввода формул. К сожалению, он не был найден, и green переключился на адаптацию Java-апплета DrugMath к нашим целям.

2 октября 2009 произошло одно из самых значительных изменений в проекте: был доработан алгоритм нормализации формул; именно он позволяет искать формулы вне зависимости от переменных, которые в них использованы, и вне зависимости от порядка аргументов в коммутативных операциях. Эта задача относится к классу NP-полных, поэтому быстрого алгоритма для всех возможных формул теоретически быть не может, но наш алгоритм работает достаточно быстро на тех формулах, которые имеет смысл искать.

В конце октября произошла заморозка разработки новых возможностей и все силы были отданы на подготовку этой α-версии.

Архитектура

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

Open source

Мы любим open source, но, хотя сам по себе проект uniquation является некоммерческим, мы не можем открыть его исходники, так как планируем запустить стартап на основе технологий, которые в нем используем. Но мы наедимся, что мы приносим пользу сообществу, так как совершенствуем открытый редактор формул.

Зачем мы пиаримся?

Очень хотелось бы получить обратную связь. Например, если вы думаете, что сервис может быть вам полезен, то напишите, что вам в нем не хватает сейчас. У нас множество идей как можно улучшить поиск, но всегда приятней работать, зная что есть кто-то, кому это нужно. Это могут быть совершенно разные пожелания, например, «стоит объединять одинаковые по смыслу формулы в выдаче», или «улучшить поддержку пределов | многомерных интегралов | ODE | …», или «создать сайт, где пользователи могут делиться решениями и их обсуждать», или «индексировать dxdy.ru».

8 поисковиков, которые лучше, чем Google

25 февраляВеб-сервисы

Речь вовсе не о «Яндексе» или Bing. Есть поисковые сервисы, которые действительно лучше, чем лидеры рынка. Пусть и не во всём.

Поделиться

0

1. DuckDuckGo

Что это

DuckDuckGo — это довольно известная поисковая система с открытым исходным кодом. Серверы находятся в США. Кроме собственного робота, поисковик использует результаты других источников: Yahoo, Bing, «Википедии».

Чем лучше

DuckDuckGo позиционирует себя как поисковик, обеспечивающий максимальную приватность и конфиденциальность. Система не собирает никаких данных о пользователе, не хранит логи (нет истории поиска), использование файлов cookies максимально ограничено.

Зачем это вам

Все крупные поисковые системы стараются персонализировать поисковую выдачу на основе данных о человеке перед монитором. Этот феномен получил название «пузырь фильтров»: пользователь видит только те результаты, которые согласуются с его предпочтениями или которые система сочтёт таковыми.

DuckDuckGo формирует объективную картину, не зависящую от вашего прошлого поведения в Сети, и избавляет от тематической рекламы Google и «Яндекса», основанной на ваших запросах. При помощи DuckDuckGo легко искать информацию на других языках, тогда как Google и «Яндекс» по умолчанию отдают предпочтение русскоязычным сайтам, даже если запрос введён на иностранном.

DuckDuckGo →

2. You.com

Что это

Один из новых поисковиков, выдача которого формируется не по принципу «самый короткий релевантный ответ», а представляет собой всестороннюю выжимку данных из различных источников, включая соцсети, сообщества и форумы.

Чем лучше

У You.com современный интерфейс и приятный дизайн, которые обеспечивают наглядность информации и позволяют одним взглядом охватить полную картину. Результаты отображаются в виде блоков и разбиты на категории.

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

Зачем это вам

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

You.com →

3. StartPage

Что это

Интересный поисковик, который объединяет в себе лучшее из двух миров. В отличие о конкурентов, использующих собственные движки, которые откровенно слабее крупных игроков, StartPage берёт выдачу из Google. Важный момент: при этом он обезличивает все ваши запросы, сохраняя анонимность.

Чем лучше

Главная фишка StartPage — это забота о конфиденциальности. Сервис использует прокси, а также специальный генератор уникальных URL, благодаря которому отпадает надобность в cookies, что и обеспечивает полную анонимность в Сети. Поисковик не фиксирует ваши запросы и IP-адрес, а ещё имеет специальный приватный режим, который активируется в выдаче и не позволяет сайтам отслеживать ваши действия.

Зачем это вам

Попробуйте, если результаты альтернативных поисковиков не устраивают, а со слежкой Google вы мириться не готовы.

StartPage →

4. Swisscows

Что это

Швейцарский сервис, в основе которого лежит семантический поиск на основе машинного обучения. Искусственный интеллект определяет контекст поискового запроса и угадывает, что на самом деле вы ищете.

Swisscows сотрудничает с Bing и использует их индексированную выдачу в дополнение к своей собственной. Монетизация осуществляется за счёт рекламы, которая основывается исключительно на поисковых запросах.

Чем лучше

Ключевая особенность сервиса — в семантическом алгоритме, который делает поиск интеллектуальным. Swisscows не хранит файлы cookies, не отслеживает ваше поведение и сохраняет анонимность — вы всегда остаётесь гостем.

Зачем это вам

Swisscows пригодится, если вам нужен честный, безопасный и анонимный поисковик с собственным индексом.

Swisscows →

5. Dogpile

Что это

Метапоисковик Dogpile выводит комбинированный список результатов из поисковых выдач Google, Yahoo и других популярных систем.

Чем лучше

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

Зачем это вам

Если вы не можете найти информацию в Google или другом стандартном поисковике, попробуйте обнаружить её сразу в нескольких поисковиках с помощью Dogpile.

Dogpile →

6. BoardReader

Что это

BoardReader — система для текстового поиска по форумам, сервисам вопросов и ответов и другим сообществам.

Чем лучше

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

Зачем это вам

BoardReader может пригодиться пиарщикам и другим специалистам в области медиа, которых интересует мнение массовой аудитории по тем или иным вопросам.

BoardReader →

7. FindSounds

Что это

FindSounds — ещё один специализированный поисковик. Ищет в открытых источниках различные звуки: дом, природа, машины, люди и так далее. Сервис не поддерживает запросы на русском языке, но есть внушительный список русскоязычных тегов, по которым можно выполнять поиск.

Чем лучше

В выдаче только звуки и ничего лишнего. В настройках можно выставить желаемый формат и качество звучания. Все найденные записи доступны для скачивания. Имеется поиск по образцу.

Зачем это вам

Если вам нужно быстро найти звук мушкетного выстрела, удары дятла-сосуна или крик Гомера Симпсона, то этот сервис для вас. И это мы выбрали только из доступных русскоязычных запросов. На английском спектр ещё шире.

Если серьёзно, специализированный сервис предполагает специализированную аудиторию. Но вдруг и вам пригодится?

FindSounds →

8. Wolfram|Alpha

Что это

Wolfram|Alpha — вычислительно-поисковая система. Вместо ссылок на статьи, содержащие ключевые слова, она выдаёт готовый ответ на запрос пользователя. Например, если ввести в форму поиска «сравнить население Нью-Йорка и Сан-Франциско» на английском, то Wolfram|Alpha сразу выведет на экран таблицы и графики со сравнением.

Чем лучше

Этот сервис лучше других подходит для поиска фактов и вычисления данных. Wolfram|Alpha накапливает и систематизирует доступные в Сети знания из различных областей, включая науку, культуру и развлечения. Если в этой базе находится готовый ответ на поисковый запрос, система показывает его, если нет — вычисляет и выводит результат. При этом пользователь видит только нужную информацию и ничего лишнего.

Зачем это вам

Если вы, например, студент, аналитик, журналист или научный сотрудник, то можете использовать Wolfram|Alpha для поиска и вычисления данных, связанных с вашей деятельностью. Сервис понимает не все запросы, но постоянно развивается и становится умнее.

Wolfram|Alpha →

Текст был обновлён в феврале 2022 года.

Читайте также 🧐

  • 25 забавных пасхалок поиска Google, о которых вы могли не знать
  • Какие личные данные собирает о вас Google и как это запретить
  • Как изгнать Google из своего смартфона

Wolfram|Альфа-примеры: математические функции

Wolfram|Альфа-примеры: математические функции

Ого! Wolfram|Alpha не работает без JavaScript.

Пожалуйста, включите JavaScript. Если вы не знаете, как это сделать, вы можете найти инструкции здесь. Как только вы это сделаете, обновите эту страницу, чтобы начать использовать Wolfram|Alpha.

Примеры для

В математике функция определяется как отношение, числовое или символьное, между набором входных данных (известным как домен функции) и набором потенциальных выходных данных (кодовый домен функции). Мощь языка Wolfram Language позволяет Wolfram|Alpha вычислять свойства как общих функциональных форм, вводимых пользователем, так и сотен известных специальных функций. Используйте нашу обширную базу функциональных возможностей для вычисления таких свойств, как периодичность, инъективность, четность и т. д. для полиномиальных, элементарных и других специальных функций. 92 — 3z)Больше примеровФункции теории чисел

Получите информацию об арифметических функциях, таких как функция Эйлера и Мёбиуса, и используйте их для вычисления свойств положительных целых чисел.

Получить информацию о теоретико-числовой функции:
Эйлера фи
Выполнить вычисления с теоретико-числовой функцией:
фи(110)Другие примеры0054 Полиномы
  • Рациональные функции
  • Четные и нечетные функции

    Определение четности математической функции.

    Определить, является ли функция четной или нечетной:
    какова четность sin(x)sin(x+pi/4)+cos(x+pi/4) четная функция?является f(x,y, z)=sin(xyz) нечетная функция?Формулы представления

    Вычисление альтернативных представлений математической функции.

    Найти представления функции заданного типа:
    gamma(x) интегральное представление Si(x) limit repБольше примеров
    • Pro
    • Web Apps
    • Mobile Apps
    • Products
    • Business
    • API & Developer Solutions
    • Resources & Tools
    • About
    • Contact
    • Connect
    • ©2022 Wolfram Alpha LLC
    • Условия
    • Конфиденциальность
    • wolfram. com
    • Wolfram Language
    • Mathematica
    • Демонстрация Wolfram
    • Wolfram for Education
    • MathWorld

    Поисковая система Math — Поисковая система Watch

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

    Будьте конкретными

    Перед изучением математики полезно напомнить, что чем конкретнее ваш поиск, тем больше вероятность, что вы найдете то, что хотите. Не бойтесь сообщить поисковой системе, что именно вы ищете.

    Например, если вам нужна информация об ошибках Windows 98, ищите «ошибки Windows 98», а не «Windows». Или, что еще лучше, найдите, в чем именно заключается проблема: «Я не могу установить USB-устройство в Windows 98», например. Вы удивитесь, как часто это срабатывает.

    Использование символа + для добавления

    Иногда нужно убедиться, что поисковая система находит страницы со всеми введенными вами словами, а не только с некоторыми из них. Символ + позволяет это сделать.

    Например, представьте, что вы хотите найти страницы, на которых есть ссылки на президента Клинтона и Кеннета Старра на одной странице. Вы можете искать таким образом:

    +clinton +starr

    В ваших результатах будут отображаться только те страницы, которые содержат оба слова. Вот еще несколько примеров:

    +windows +98 +bugs

    Это позволит найти страницы, на которых есть все три слова, полезно, если вы хотите сузить поиск до ошибок Windows 98, а не Windows 98 в целом.

    Ресурсы

    +star +trek +insurrection

    Это даст вам страницы о Star Trek, на которых также конкретно упоминается «Восстание», название фильма Star Trek.

    Символ + особенно полезен, когда вы выполняете поиск, а затем обнаруживаете, что перегружены информацией. Представьте, что вы хотите зарезервировать место для кемпинга в национальном парке Йосемити в Калифорнии. Вы можете начать с простого поиска следующим образом:

    yosemite

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

    +yosemite +camping +reservations

    Использование символа – для вычитания

    Иногда вам нужна поисковая система. чтобы найти страницы, на которых есть одно слово, но нет другого слова. Символ – позволяет это сделать.

    Например, представьте, что вам нужна информация о президенте Клинтоне, но не хочет, чтобы был завален страницами, касающимися скандала с Моникой Левински. Вы можете выполнить поиск следующим образом:

    clinton -lewinsky

    Это говорит поисковой системе найти страницы, на которых упоминается «clinton», а затем удалить все страницы, на которых также упоминается «lewinsky».

    Точно так же, возможно, вы ищете информацию конкретно о Windows 95, но продолжаете получать страницы о Windows 98 или Windows 3.1. Вы можете исключить их с помощью такого поиска:

    windows -98 -3.1

    Возможно, вы поклонник оригинальной серии Star Trek, но вместо этого продолжаете находить страницы о Voyager, Deep Space Nine или Star Trek: The Next Generation. Попробуйте выполнить поиск следующим образом:

    звездный путь -вояджер -глубокий космос -девять -некст -поколение

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

    Использование кавычек для умножения

    Теперь, когда вы знаете, как складывать и вычитать члены, мы можем перейти к умножению. Как и в обычной математике, умножение терминов с помощью «фразового поиска» может быть гораздо лучшим способом получить ответы, которые вы ищете.

    Например, помните выше, когда нам нужны были страницы о бронировании кемпинга в Йосемити? Мы ввели все термины следующим образом:

    +yosemite +camping +reservations

    Это возвращает страницы, на которых есть все эти слова, но нет никакой гарантии, что слова обязательно могут быть рядом друг с другом. Вы можете получить страницу, которая упоминает Йосемити в первом абзаце, а затем рассказывает о том, как забронировать места для кемпинга в Гранд-Каньоне. Все слова, которые вы добавили вместе, появятся на этой странице, но это может быть не то, что вы ищете.

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

    «резервирование кемпинга в Йосемити»

    Теперь будут перечислены только те страницы, которые содержат все слова и в точном порядке, указанном выше. Ответы должны быть гораздо более точными, чем при простом сложении.

    Аналогично, помните этот пример сложения?

    +windows +98 +bugs

    Как вы понимаете, перемножение терминов в поиске по фразе будет работать лучше, потому что именно эта фраза, вероятно, появляется на хороших страницах, посвященных ошибкам Windows 98. Итак, попробуйте следующее:

    «ошибки Windows 98»

    Помните поиск информации о последнем фильме «Звездный путь»? Мы могли бы преобразовать это в поиск по фразе, например:

    «восстание звездного пути»

    Но на самом деле в названии фильма после слова «путешествие» стоит двоеточие, и многие страницы также могут следовать этому формату. Таким образом, лучшим поиском по фразе может быть:

    «Звездный путь: восстание»

    Комбинирование символов

    После того, как вы научитесь складывать, вычитать и умножать, вы можете комбинировать символы, чтобы легко создавать целевые поиски.

    Например, помните человека, который хотел страницы только об оригинальном сериале «Звездный путь»? Мы искали так:

    звездный путь -вояджер -глубокий космос -девять -следующее поколение

    Лучший поиск мог бы использовать вычитание и умножение:

    «Звездный путь» — вояджер — «глубокий космос девять» — «следующее поколение»

    Расскажите мне больше!

    Приведенных выше советов, вероятно, достаточно для 90 процентов пользователей поисковых систем. Все еще хотите больше? Затем посетите страницу Power Searching For Any, которая знакомит вас с концепциями, выходящим за рамки основ математики поисковых систем.

    Когда вы начнете использовать математику поисковых машин, пожалуйста, дайте мне знать о ваших успехах. Я хотел бы знать, что вы искали и как вы это нашли. Я составляю страницу с примерами поиска, чтобы помочь другим. Используйте форму обратной связи сайта, чтобы отправить мне письмо.

    Добавить комментарий

    Ваш адрес email не будет опубликован. Обязательные поля помечены *