Войти
ФлеймФорумОбщее

Почему ты не можешь написать алгоритм, создающий алгоритмы?

Страницы: 1 2 3 4 5 Следующая »
#0
13:29, 8 дек. 2018

Просто интересны ваши доводы


#1
13:35, 8 дек. 2018

Могу.

#2
13:35, 8 дек. 2018

™­•-=MASTER=-•™
А почему ты не можешь? Тоже неудачник?

#3
13:40, 8 дек. 2018

Написал

printf "function binary_search(A, n, T):"
printf "    L := 0"
printf "    R := n − 1"
printf "    while L <= R:"
printf "        m := floor((L + R) / 2)"
printf "        if A[m] < T:"
printf "            L := m + 1"
printf "        else if A[m] > T:"
printf "            R := m - 1"
printf "        else:"
printf "            return m"
printf "    return unsuccessful"

#4
13:40, 8 дек. 2018

Python, Lua, любой самоописательный язык, где ты можешь в рантайме создавать методы, анализировать список методов класса и т.п. - ты пишешь алгоритм создающий алгоритм. Использование #препроцессинга или всяких фич статической компиляции C++11 и выше, да впрочем даже простые шаблоны - это алгоритм создающий алгоритм.

Я уже представляю как ты постиш мне в ответ фейслпалм.
Давай я сразу сделаю это за тебя:

Изображение удалено
#5
13:41, 8 дек. 2018

™­•-=MASTER=-•™
Потому что когда я что-то проектирую, я не руководствуюсь каким-то определенным алгоритмом, а в большей степени полагаюсь на случай.
Маленькие алгоритмы и правила все-таки имеют место, но единственный цельный алгоритм из них построить мне пока не удалось.

#6
(Правка: 13:59) 13:43, 8 дек. 2018

Maltakreuz
> Написал
Плохо. Создает только один "алгоритм". Автор хочет алгоритмы (хотябы два).

#7
(Правка: 13:59) 13:46, 8 дек. 2018

Лучший алгоритм - это не написанный алгоритм

Я считаю, что множественное число позволяет писать 0 алгоритмов, так что пощу лучший код, что я написал (лучший код - это не написанный код):

 

#8
13:48, 8 дек. 2018

*Lain*
Если запустить 2 раза, создаст сразу два алгоритма. Кстати можно так и 3 получить.

#9
13:55, 8 дек. 2018

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

#10
(Правка: 13:58) 13:58, 8 дек. 2018

Maltakreuz
> создаст сразу два алгоритма.
Нет, напишет 2 "кода", а новый алгоритм эта штука не создаст. Тк этот алгоритм уже создан. Можешь найти его на википедии. Не возможно создать дубликат алгоритма, тк алгоритм - это способ выполнения операций, идея, а ее невозможно дублировать, тк дубликат алгоритма - это все тот же старый алгоритм, который уже создан, а не новый

#11
13:58, 8 дек. 2018

*Lain*
но их два, хахахах

#12
14:00, 8 дек. 2018

™­•-=MASTER=-•™
> Почему ты не можешь написать алгоритм, создающий алгоритмы?
Почему бы сразу не пойти дальше и не создавать алгоритм, создающий алгоритмы, создающие алгоритмы?

#13
14:00, 8 дек. 2018

*Lain*
Был создан или был открыт?
Даже более общий вопрос - математики создают или открывают математику?

#14
14:01, 8 дек. 2018

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

Если я сталкиваюсь с новой задачей, которую раньше никогда не решал, то по сути действую также - перебираю известные мне алгоритмы (с помощью гугла добавляются и новые алгоритмы), никогда не знаешь какое сочетание более простых алгоритмов приведет к наилучшему результату. Даже уже известные алгоритмы можно также переделать совсем другим способом, проблема только в том, то на это нужно время, а будет ли конечный результат быстрее или нет заранее неизвестно, ну и потенциал к дальнейшей оптимизации тоже неизвестен.
Получается алгоритм по генерации других алгоритмов должен использовать все известные ему алгоритмы, а также пытаться изобретать мелкие алгоритмы и использовать их при генерации более сложного. Любое ограничение только уменьшает количество решений, но при этом ускоряет поиск хоть какого-то решения.

Страницы: 1 2 3 4 5 Следующая »
ФлеймФорумОбщее