Пролог Искусственный интеллект и разработка iPhone - PullRequest
1 голос
/ 05 февраля 2011

Мне было интересно, стоит ли мне тратить свое время на изучение ИИ с использованием Пролога.Решение простое.Если это принесет какую-то пользу в моей карьере разработчика iPhone, я бы это сделал.В противном случае я пропущу это.

Итак, есть ли какая-то польза в изучении ИИ с использованием Prolog для разработчика iPhone?(особенно для создания игр)

И, если да, то как ???

Спасибо!

Ответы [ 4 ]

6 голосов
/ 05 февраля 2011

Здесь есть два вопроса:

  1. Должен ли я изучать ИИ, используя Пролог?
  2. Будет ли Пролог полезен для меня как язык ИИ для iPhone?

Я не знаю насчет второго.Я не знаком с разработкой iPhone.Я предполагаю, что было бы трудно найти эффективный компилятор Prolog для iPhone.

Что касается первого: Prolog, как правило, считается языком ИИ, поскольку он обеспечивает простой способ написания поисковых программ.Нативный поток управления Prolog - это поиск в глубину.Это круто, но ИИ не начинается и заканчивается простым циклом поиска.Я бы порекомендовал вам изучить методы искусственного интеллекта независимо от языка, а затем решить, поможет ли Prolog вам в ваших конкретных потребностях.Он подходит как перчатка для некоторых вещей и совсем не подходит для других вещей.

Я большой поклонник Пролога и много занимался взломом Пролога.Тем не менее, Пролог не является серебряной пулей для проблем ИИ.Это просто язык, на котором написание поисковых процедур проще, вот и все.

3 голосов
/ 05 февраля 2011

Очень краткий ответ здесь нет, эти два вопроса совершенно не связаны. Ваша карьера не принесет никакой пользы. .

это так просто.

Отличный ответ от Bobby Tables дает вам много информации.

  1. Я действительно не вижу никаких доказательств того, что «Пролог» занимает центральное место в продолжающемся поиске ИИ в вычислительных устройствах. Если бы вы сказали в общем (полностью забыли о проблеме с iPhone): «Я хочу быть исследователем искусственного интеллекта», я не вижу особого смысла в том, чтобы вы бросились изучать Пролог.

  2. Я могу вспомнить ряд известных приложений для iPhone, которые используют некоторую форму облегченного ИИ (поскольку эта фраза часто используется в смысле «ИИ в играх»). В каждом из этих приложений нет абсолютно никакой связи с Прологом. никак, вообще.

  3. FWIW (не очень) Я трачу несколько дней в месяц на «написание AI на iPhone / Mac», например, я никогда не был программистом Prolog и не имею к нему никакого отношения.

стоит отметить, что

  1. Сказать «ИИ» - это невероятно широкое поле. Не могли бы вы более конкретно рассказать о том, что вы хотите сделать?

Кто твой А.И. герой? Род Брукс? Какой "ИИ" вас интересует?

Надеюсь, это поможет! Простой ответ здесь - «нет», вы на неправильном пути.

2 голосов
/ 06 февраля 2011

Вариант Пролога 10-е правило Гринспуна отвечает на ваш вопрос. Вопрос достаточно широкий, чтобы получить ответы «Да, это поможет вам как разработчику iPhone» и «Нет, это не так». Дело в том, что, погружаясь в Prolog (или любую другую новую для вас парадигму программирования), вы, как программист, извлекаете выгоду, но то, как вы извлечете из этого пользу, не предсказуемо ни вами, ни кем-либо еще.

1 голос
/ 05 февраля 2011

У меня нет опыта разработки iPhone.

Не думаю, что вы сможете использовать Prolog при разработке для iPhone. Но так как Prolog - декларативное логическое программирование, вы научитесь мыслить иначе, и это принесет пользу вам как программисту в целом.

Редактировать

Использование Пролога полностью отличается от программирования, чем обычный процедурный способ. Это похоже на то, чем отличается функциональное программирование (которое сейчас кажется каким-то хип-хопом).

Решая проблемы другим способом (или будучи вынужденным решать их по-другому), вы лучше понимаете, что такое программирование / решение проблем. Вы лучше напишите код Objective C после изучения Пролога или Лиспа.

Относительно академического ИИ: я предлагаю изучать функциональный язык вместо Пролога, поскольку Пролог является своего рода нишевым языком программирования, подходящим для очень особых задач. Функциональные языки немного более универсальны.

...