Я специализируюсь на логическом программировании и пишу на Prolog, беря те задачи, где классический императивный код и модели машинного обучения оказываются неудобными или непрозрачными. Вместо того чтобы описывать пошаговый алгоритм, я формализую факты и правила вашей области, а поиск решений делегирую механизму логического вывода. Такой подход отлично ложится на экспертные системы, контроль соответствия нормам, планирование, диагностику и все случаи, где правил много, они запутаны и постоянно правятся. Ключевое преимущество: система не просто выдаёт результат, а показывает, по какой цепочке правил она к нему пришла, что критично для аудита и доверия.
Практически я собираю движки, в которых закодированы десятки и сотни правил и политик, решатели ограничений для распределения, маршрутизации и упаковки ресурсов, а также базы знаний с онтологиями, классификаторами и связями между объектами. Использую индексированные предикаты, грамматики определённых предложений для разбора входных данных и программирование в ограничениях над конечными доменами для расписаний и конфигураторов. Отдельно занимаюсь интеграцией: оборачиваю логический слой в сервисный интерфейс, встраиваю его в приложения на Python, Java или C и связываю с базами и хранилищами, сохраняя разделение логики, данных и представления.
Ещё я разбираю и переписываю запущенную старую логику, ускоряю запросы с избыточным перебором и добавляю трассировку и человекочитаемые объяснения. От прототипа идеи до готовой к эксплуатации экспертной системы или сложного комбинаторного решателя — доведу работу до протестированного и задокументированного вида.
— Экспертные системы и движки правил на SWI-Prolog и родственных диалектах
— Задачи планирования и ограничений через CLP(FD) над конечными доменами
— Базы знаний, онтологии и семантический вывод
— Разбор и интерпретация входных данных на грамматиках DCG
— Связка с Python, Java, C, SQL и веб-интерфейсами
— Рефакторинг, ускорение и объяснимость для унаследованной логики
Практически я собираю движки, в которых закодированы десятки и сотни правил и политик, решатели ограничений для распределения, маршрутизации и упаковки ресурсов, а также базы знаний с онтологиями, классификаторами и связями между объектами. Использую индексированные предикаты, грамматики определённых предложений для разбора входных данных и программирование в ограничениях над конечными доменами для расписаний и конфигураторов. Отдельно занимаюсь интеграцией: оборачиваю логический слой в сервисный интерфейс, встраиваю его в приложения на Python, Java или C и связываю с базами и хранилищами, сохраняя разделение логики, данных и представления.
Ещё я разбираю и переписываю запущенную старую логику, ускоряю запросы с избыточным перебором и добавляю трассировку и человекочитаемые объяснения. От прототипа идеи до готовой к эксплуатации экспертной системы или сложного комбинаторного решателя — доведу работу до протестированного и задокументированного вида.
— Экспертные системы и движки правил на SWI-Prolog и родственных диалектах
— Задачи планирования и ограничений через CLP(FD) над конечными доменами
— Базы знаний, онтологии и семантический вывод
— Разбор и интерпретация входных данных на грамматиках DCG
— Связка с Python, Java, C, SQL и веб-интерфейсами
— Рефакторинг, ускорение и объяснимость для унаследованной логики