[Страница на сайте](https://e5ash.com/services/algorithms)

R&D и исследования

# Разработка алгоритмов для прикладных задач

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

 [Обсудить алгоритм и ограничения](https://e5ash.com/contacts?service=algorithms)

Формат работы

 **после разбора**

Состав, точный срок и стоимость согласуем до начала работ.

01 / Результат

## Что входит в разработку алгоритма

-    **Формальная задача**

    Определяем входы, ограничения и критерий результата.

-    **Сравнение подходов**

    Выбираем варианты и исходное решение для оценки.

-    **Реализация**

    Готовим алгоритм в согласованной форме.

-    **Качество и скорость**

    Проверяем выбранные показатели на контрольных примерах.


02 / Границы задачи

## За рамками базового состава

-   Гарантия оптимального решения для любой задачи
-   Готовая бизнес-система вокруг алгоритма

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

## Какие задачи формализуем

Алгоритм может помогать выбору, распределению, сопоставлению или расчёту по заданным правилам. Начинаем с конкретного результата и данных, которые реально доступны. Уточняем обязательные ограничения.

Готовая бизнес-система вокруг алгоритма исключена. Интерфейс, роли и интеграции имеют свой состав. Если вопрос пока исследовательский, можно начать с  [R&D](https://e5ash.com/services/rd/index.md) .

## Как задаём критерии и ограничения

Разделяем допустимый результат и предпочтительный. Например, правило может запрещать определённое назначение, а показатель — оценивать качество остальных вариантов. Эти условия согласуем с владельцем процесса.

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

## Как сравниваем подходы

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

Для отдельной технической неопределённости можно провести  [PoC](https://e5ash.com/services/poc/index.md) . Не гарантируем достижение глобального оптимума в любой задаче: это зависит от постановки, метода и доступного ресурса.

## Как проверяем реализацию

Проверяем корректность по согласованным правилам и контрольным примерам. Измеряем выбранные показатели скорости, фиксируем размер данных и условия запуска.

Не переносим скорость небольшого примера на любой объём. Если требуется ускорить действующий продукт целиком, предусмотрена  [оптимизация производительности](https://e5ash.com/services/performance/index.md) . Здесь проверяем конкретный алгоритм.

## Оценка и передача результата

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

Передаём алгоритм, описание правил, результаты проверки и ограничения. Отмечаем условия, при которых вывод применим. Следующий этап системы согласуем отдельно; сам алгоритм не заменяет весь процесс бизнеса.

## Вопросы перед началом

Вы гарантируете оптимальный ответ для любой задачи?

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

Готовая система будет включена?

Нет, бизнес-система вокруг алгоритма исключена. Согласуем форму реализации и её проверку.

Как проверяется скорость?

На согласованных примерах с зафиксированным объёмом и условиями запуска. Результат не переносим на произвольные данные.

Следующий шаг

## Формализуем задачу для алгоритма

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

 [Обсудить алгоритм и ограничения](https://e5ash.com/contacts?service=algorithms)  [Как идёт работа](https://e5ash.com/work/index.md)

По вашей задаче

## Может пригодиться

 [R&D — исследования и разработка по этапам](https://e5ash.com/services/rd/index.md)  [PoC — проверка технологии от 2 дней](https://e5ash.com/services/poc/index.md)  [Скорость и стабильность продукта после аудита](https://e5ash.com/services/performance/index.md)
