xmoonlight
@xmoonlight
https://sitecoder.blogspot.com

Какой генератор алгоритмов на основе входных и выходных данных вы сейчас используете?

Принцип: на вход генератора свои входные и выходные данные (несколько проверенных эталонных вариантов) и на выходе - получаете единую формулу преобразования для всех эталонов или 2-3 формулы для пошагового алгоритма преобразования исходных данных в нужный результат.
  • Вопрос задан
  • 497 просмотров
Решения вопроса 2
wataru
@wataru Куратор тега Алгоритмы
Разработчик на С++, экс-олимпиадник.
В общем виде, когда надо найти функцию любого вида (предположительно самую короткую) - задача не решается. Тут нужен искусственный интеллект. Настоящий, а не машин лёрнинг.

Но, если ограничить класс допустимых формул, то решение есть - например, среди полиномов для n заданных эталонов можно всегда найти полином степени n-1, который будет через эти точки проходить. Это если у вас входные и выходные данные - по одному числу.

Тут можно решить систему из n линейных уравнений (обозначаете неизвестными коэффициенты полинома, подставляете известные значения x и y для всех эталонов, гоните метод Гаусса).

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

Формально, задача будет решена, но практического смысла в этом нет совсем. Формулы будут огромными и страшными.
Ответ написан
uvelichitel
@uvelichitel
habrahabr.ru/users/uvelichitel
Если рассмотреть выходные данные как дискретную функцию входных то можно применить наример
  • Преобразование Фурье
  • Вейвлет преобразование
  • Линейную регрессию

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

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы