XS
SM
MD
LG
Державний університет інформаційно-комунікаційних технологій

(Державний університет телекомунікацій)


Адреса:
03110, Україна
м. Київ, вул. Солом'янська, 7
Контактна інформація:
Державний університет інформаційно-комунікаційних технологій

(Державний університет телекомунікацій)

Штучний інтелект навчився писати програми, "крадучи" ділянки коду інших програм

14:53, 31-03-2017

Дослідники з компанії Microsoft Research і Кембріджського університету створили систему штучного інтелекту під назвою DeepCoder, яка вже здатна самостійно писати не дуже складні програми, які вирішують завдання на зразок типових задач для змагань з програмування. Подальший розвиток цього напряму може привести до того, що створенням комп'ютерних програм зможуть займатися люди, які абсолютно нічого не розуміють в програмуванні. Для цього їм потрібно лише описати вирішувану задачу, дотримуючись набору певних правил.

Система DeepCoder використовує технологію, яка зветься програмний синтез. Вона бере готові ділянки коду, витягнуті з коду інших програм, і з'єднує їх у власну послідовність, з огляду на список вхідних і вихідних даних кожного фрагмента коду. Відзначимо, що подібний підхід широко використовується і людьми-програмістами, які використовують для цього свої власні розробки, здебільшого, і чужі - в більш рідких випадках.

Однією з основних переваг підходу автоматизованого програмного синтезу є те, що штучний інтелект має можливість для складання власної програми вибрати або найбільш ефективні ділянки вихідного коду, або ділянки, які найкраще підходять для даного конкретного випадку. Більш того, штучний інтелект може використовувати такі прийоми і методи, які ніколи б не використовували люди в силу особливостей людського мислення.

Принцип роботи системи DeepCoder в чомусь подібний до принципу роботи системи, розробленої в 2015 році фахівцями з Массачусетського технологічного інституту, яка виправляє помилки в програмах, замінюючи ділянки коду, працездатними ділянками, узятими з інших програм.

Однією з найважливіших складових частин системи DeepCoder є система, яка виробляє пошук по всіх загальнодоступним базам вихідних кодів, сортування коду, оцінку його оптимальності, функціональності і повноцінності. І з цією роботою система DeepCoder справляється набагато швидше, ніж інші подібні системи, створені раніше.

Система DeepCoder здатна створити нескладну працездатна програму за частки секунди, в той час, як іншим системам, що виробляють послідовну перевірку різних комбінацій ділянок коду, потрібно на такому ж дію час, що обчислюється хвилинами і годинами. Це відбувається тому, що система DeepCoder постійно вивчає, які ділянки коду працюють і як вони роблять свою справу. І система постійно покращує свої навички в цій справі у міру збільшення кількості вирішених нею завдань.

В даний час можливості системи DeepCoder вельми і вельми скромні, вона здатна вирішувати завдання і складати програми, що складаються з кількох рядків коду. Але, при правильному підході до програмування, ці кілька рядків можуть містити в собі рішення досить складних завдань.

Читаючи все вищесказане, можна відчути занепокоєння з приводу того, що в майбутньому програмісти, завдяки появі подібних систем, можуть залишитися без роботи. Однак, це зовсім не так. Завдяки таким системам саме програмісти будуть звільнені від необхідності робити тяжку, одноманітну і рутинну роботу з програмування будь-яких типових функцій. А час, що звільнився вони зможуть направити на виконання більш складних робіт.

Бажаєте дізнаватись про особливості вступу у 2024 році?
Підписуйтесь на спільноти спеціальності "126 Інформаційні системи та технології" кафедри Інженерії програмного забезпечення автоматизованих систем та першим отримуйте новини, сповіщення про важливі події, підготовчі курси, дні відкритих дверей та багато цікавого.
Читайте також

Про кафедру

Кафедра Інженерії програмного забезпечення автоматизованих систем

Отримати консультацію

Ваш запит на зворотній дзвінок отримає завідуючий кафедрою
Надіслати запит

Абітурієнту

Спеціальність: Інформаційні системи та технології

Спеціальність «Інформаційні системи та технології» дає можливість студентам отримати ґрунтовні знання з сучасних інформаційних технологій та знайти перспективну роботу в ІТ-компаніях, у тому числі закордонних. Студенти отримують ґрунтовну математичну та алгоритмічну підготовку, вивчають основні мови програмування, комп`ютерні мережі, операційні системи та інші дисципліни, необхідні для роботи за фахом.

Місцем роботи випускників можуть бути організації, які займаються розробкою та супроводом програмного забезпечення, у тому числі на платформі Web, оператори мобільного зв'язку, Інтернет-провайдери, організації, які використовують комп`ютерні технології.

Спеціальність: Інформаційні системи та технології

Спеціальність «Інформаційні системи та технології» дає можливість студентам отримати ґрунтовні знання з сучасних інформаційних технологій та знайти перспективну роботу в ІТ-компаніях, у тому числі закордонних. Студенти отримують ґрунтовну математичну та алгоритмічну підготовку, вивчають основні мови програмування, комп`ютерні мережі, операційні системи та інші дисципліни, необхідні для роботи за фахом.

Місцем роботи випускників можуть бути організації, які займаються розробкою та супроводом програмного забезпечення, у тому числі на платформі Web, оператори мобільного зв'язку, Інтернет-провайдери, організації, які використовують комп`ютерні технології.

Переглядів: 4 439