Компилятор искусственного интеллекта - PullRequest
19 голосов
/ 11 августа 2010

Мне было интересно, можно ли использовать искусственный интеллект, чтобы сделать компиляторы лучше?

Вещи, которые я мог бы себе представить, если бы это было возможно -

  • Более конкретные сообщения об ошибках
  • Улучшение оптимизации компилятора, чтобы компилятор мог фактически понять, что вы пытаетесьделать, и делать это лучше

Если это возможно возможно, есть какие-либо исследовательские проекты по этому вопросу?

Ответы [ 4 ]

15 голосов
/ 11 августа 2010

Вы должны посмотреть на MILEPOST GCC -

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

7 голосов
/ 11 августа 2010

Оптимизирующий компилятор - это очень сложная экспертная система , а экспертные системы - одна из самых старых ветвей искусственного интеллекта.

3 голосов
/ 11 августа 2010

Вы ссылаетесь на что-то вроде генетического программирования?

http://en.wikipedia.org/wiki/Genetic_programming

2 голосов
/ 11 августа 2010

Это действительно исследуемая область.Посмотрите на ветку milepost для GCC, которая опирается на профилированную оптимизацию и машинное обучение.Недавняя научная литература для компиляторов полна работ, в которых используется комбинация интеллектуального анализа данных, машинного обучения (посредством генетических алгоритмов или нейронных сетей) и более «классического» распознавания образов определенных кодовых шаблонов.

...