Искусственный интеллект научился писать программы, заимствуя код
28 февраля 2017 года
Исследователи из Кембриджского университета и компании Microsoft, используя машинное обучение, разработали программу, которая способна создавать другие программы, заимствуя код. Для работы новой программе, получившей название DeepCoder, нужны лишь входные и выходные данные.
В настоящее время существует множество языков программирования низкого и высокого уровней. При этом программистам для успешной работы нередко приходится изучать несколько языков программирования. При это программирование как правило недоступно людям, не изучавшим машинные языки.
Новая программа DeepCoder, по утверждению разработчиков, в будущем позволит программировать даже тем людям, которые не знают ни одного языка. Для этого им достаточно лишь будет словами описать, какой результат желательно получить; программу в соответствии с представленным описанием DeepCoder составит сам, пишет N+1.
В настоящее время новой программе для работы необходимы лишь входные и выходные данные, то есть некий набор значений на входе программы и другой набор значений на выходе. Опираясь на эти данные программа может определить закономерности.
После того, как закономерности, связывающие входные и выходные данные будут найдены, DeepCoder самостоятельно будет искать в других программах подходящие куски кода и из них составлять готовую собственную программу. В случае, если дать DeepCoder описание промежуточных шагов, программа составит готовый код в несколько раз быстрее.
В конце января 2016 года исследователи из Массачусетского технологического университета представили программу Prophet, способную самостоятельно искать ошибки в исходном коде других программ и исправлять их. Для анализа и исправления программа использует стохастическую модель и способна к платформонезависимому применению исправлений кода.
Для работы с исходным кодом другого программного обеспечения Prophet использует данные об эффективных патчах, исходный код которых и описание опубликованы в открытых источниках в интернете. Для исправления ошибок алгоритм использует полученные из интернета и автоматически измененные патчи.
Источники править
Любой участник может оформить статью: добавить иллюстрации, викифицировать, заполнить шаблоны и добавить категории.
Любой редактор может снять этот шаблон после оформления и проверки.
Комментарии
Если вы хотите сообщить о проблеме в статье (например, фактическая ошибка и т. д.), пожалуйста, используйте обычную страницу обсуждения.
Комментарии на этой странице могут не соответствовать политике нейтральной точки зрения, однако, пожалуйста, придерживайтесь темы и попытайтесь избежать брани, оскорбительных или подстрекательных комментариев. Попробуйте написать такие комментарии, которые заставят задуматься, будут проницательными или спорными. Цивилизованная дискуссия и вежливый спор делают страницу комментариев дружелюбным местом. Пожалуйста, подумайте об этом.
Несколько советов по оформлению реплик:
- Новые темы начинайте, пожалуйста, снизу.
- Используйте символ звёздочки «*» в начале строки для начала новой темы. Далее пишите свой текст.
- Для ответа в начале строки укажите на одну звёздочку больше, чем в предыдущей реплике.
- Пожалуйста, подписывайте все свои сообщения, используя четыре тильды (~~~~). При предварительном просмотре и сохранении они будут автоматически заменены на ваше имя и дату.
Обращаем ваше внимание, что комментарии не предназначены для размещения ссылок на внешние ресурсы не по теме статьи, которые могут быть удалены или скрыты любым участником. Тем не менее, на странице комментариев вы можете сообщить о статьях в СМИ, которые ссылаются на эту заметку, а также о её обсуждении на сторонних ресурсах.