Другие языки программирования и технологии

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

Например:
1 3 5 7 9
Числа увеличиваются на 2
Виктор $$$$$$$
Виктор $$$$$$$
7 458
Генетический алгоритм, штоле?

Тут без эмпирики не обойтись, она должна быть или заложена в громоздкий алгоритм, или передана ему обратной связью от разработчика (т.е. речь об ML).

Это примерно как ученика бить палкой, пока не угадает или не сдохнет, с той только разницей, что даже самый тупой ученик умеет думать, а алгоритм - нет. И надо позаботиться, чтобы обучающая выборка включала все нужные варианты последовательностей. Например, можно натаскать на квадраты, а на кубы - нет, и кубы он не сможет распознавать.
Костя Шемовнев
Костя Шемовнев
87 571
Лучший ответ
Красиво выглядит
Алексей Смахтин автор ответа признал, что вопрос не является полезным
Если начать решать задачу "в лоб"
1. Входной массив необходимо отсортировать
2. Пишем функцию, которая сравнивает 2 числа. Ее придется вызвать хотя бы один раз и передать туда элементы массива с индексом 0 и 1. Так мы проверим, что если первый и второй элементы не удовлетворяют условию, то можно дальше весь масив и не проходить.
3. Проходим весь массив в цикле, передавая в функцию элементы для сравнения.

Но это такое решение, без оптимизации. Предпологаю, что есть какие-то чисто математические решения для таких задач. Например что-то типа задачи о счастливых билетах, где нужно подсчитать кол-во билетов, у которых сумма первых 3 цифр равна сумме вторых 3 цифр. Вы же не будете такую задачу решать через брутфорс, просто перебирая комбинации.
 # определяем последовательность чисел  
numbers = [1, 3, 5, 7, 9]

# находим разность между каждыми двумя соседними числами
differences = [numbers[i+1] - numbers[i] for i in range(len(numbers)-1)]

# проверяем, есть ли одинаковые разности между числами
if all(x == differences[0] for x in differences):
print(f"Числа в последовательности увеличиваются на {differences[0]}")
else:
print("Не удалось найти закономерность в последовательности чисел")

Это на питоне

Похожие вопросы