Ответы пользователя по тегу Алгоритмы
  • Как сделать перебор всех возможных комбинаций из символов?

    @gleb_kudr
    Простой рекурсивный алгоритм, например.
    Ответ написан
    Комментировать
  • Как найти четвертую вершину квадрата, видимого под углом, зная первые три и длину стороны?

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

    square.png
    Черными метками - известные нам точки, красной - валидные варианты расположения четвертого угла при разных положениях камеры.
    Ответ написан
    Комментировать
  • Алгоритм поиска одинаковых участков в N строках?

    @gleb_kudr
    Подобные алгоритмы чрезвычайно широко используются в биоинформатике. Вот направление для начала поисков en.wikipedia.org/wiki/BLAST
    Ответ написан
    1 комментарий
  • Компьютерное зрение: Подсчет годичных колец по фотографии среза дерева

    @gleb_kudr
    Я бы не переводил в контрастно черно-белое, а использовал бы greyscale. При любом сечении такой кривой получится кривая с горбиками. Выбираем порог высоты горбика, который учитывается и довольно легко получим количество.
    Еще стоит поиграться с каналами, возможно один из каналов будет иметь стабильно больший контраст, чем другие (например, канал насыщенности). Тогда можно даже не переводить в черно-белое, а работать просто с каналом.

    Так же необходимо провести диаметры под разными углами, считать значения и усреднять показатели.
    Ответ написан
    Комментировать
  • Тема диплома (диссертационной работы) по «Компьютерному зрению» и «AI»

    @gleb_kudr
    Экспертная система по классификации 3d объектов. Для 2d такое вроде есть (не слышал, чтобы хорошо работало, правда). Попробовать для трехмерных моделей.
    Ответ написан
    Комментировать
  • Алгоритм эффективного распределения заявок

    @gleb_kudr
    Общее решение задачи следующее (в реальной работе):

    Подготовка:

    1. Разбиваем менеджеров на группы 1,2,3 и т.д. Каждый менеджер может быть и в нескольких группах.
    2. К каждой группе применяем фильтр. Например, в группу 1 могут попасть только заявки с бюджетом N, а в группу 2 — только двухкомнатные квартиры. Фишка в том, что фильтры могут пересекаться, ничего страшного в этом нет.
    3. Группы выстраиваются в очередь. В начале — та, которая дольше всех не получала заявки.

    Теперь алгоритм:
    1. Приходит новая заявка.
    2. Примеряется к условию попадания в группу, первую по очереди. Если ок — то заявка поступает в группу, а группа уходит в конец очереди. Если нет, то выбирается следующая за ней и так далее. Та группа в которую попала заявка улетает в конец очереди.
    3. Если заявка попала в группу, то конкретный менеджер из группы назначается просто по-очереди. Опять же, когда он принял заявку, то попадает в конец (уже в этой группе). Если он не взял заявку в течение определенного времени, то она поступает в пул доступных для свободного взятия. Если менеджер присутствует в разных группах, то он продвигается по очереди в них независимо!

    Зачем так сложно? Дело в том, что менеджеры разные по способностям. Нельзя слабых менеджеров сажать на жирных клиентов. В то же время, передвижение в жирные группы — серьезная мотивация работать лучше. Такая система дает хорошую равномерность распределения + оставляет простор для мотивации путем ротации персонала между группами. Ну и абсолютная прозрачность.

    Важное замечание — предусмотрите место для тех заявок, которые не прошли ни в одну из групп (мало ли вы с фильтрами накосячили).
    Ответ написан
    Комментировать
  • Помогите определиться с архитектурой библиотеки управления цветом на C#

    @gleb_kudr
    1. Классы цветов — отдельно на каждый цвет. Ибо конвертеры не являются точными и абсолютными. Хотя бы потому, что Лаб — числа с плавающей точкой, а RGB — целое. Плюс, конвертация зависит от зашитых констант.
    2. Константы параметров для конвертации (например белая точка, константа D).
    3. Абстрактный класс с методами конвертации.

    Могу поделиться исходниками класса-конвертера на c# из RGB в LAB и обратно через XYZ. Пишите в личку.
    Ответ написан
  • Алгоритмы 3D сканирования

    @gleb_kudr
    www.david-laserscanner.com/ — здесь есть хороший англоязычный форум по теме.
    Ответ написан
    Комментировать
  • Как обработать столкновение объектов?

    @gleb_kudr
    Начните с того, что объекты сталкиваются поверхностями.

    Далее — можно проводить дискретизацию формы объекта с уменьшением точности (скажем, контур объекта 1000 точек, построить производные объекты с 100 точками, с 10). Обсчитывать полностью только грубую модель. На выходе вы не будете знать, столкнулимь объекты или нет (на то она и грубая), но сможете примерно прикинуть вероятность (коэффициенты зависят от формы модели) и узлы которые ближе всего друг к другу и потенциально участвуют в столкновении.

    Если вероятность столкновения по грубой модели велика, обсчитать этот участок в более высоком разрешении и т.д.
    Ответ написан
    Комментировать