Использование методов искусственного интеллекта (ИИ)

advertisement
Использование
методов
искусственного
интеллекта
(ИИ)
в
программировании
Тема использования методов ИИ в программировании сейчас очень
актуальна. Так как, к сожалению, имеется ряд задач, с которыми обычные
алгоритмы
справиться
не
способны.
Исследование
ИИ
позволит
автоматизировать множество рутинных операций, с которыми пока может
справиться только человек.
Такие задачи как распознавание образов (не
только графических, но и вкусовых, звуковых) тоже могут выполнятся (и уже
выполняются) с помощью ИИ. В настоящий момент ведутся исследования
механизмов работы человеческой памяти.
Раскрытие механизмов работы человеческого интеллекта открывает
перед создателями программных продуктов новые возможности.
Искусственный интеллект (ИИ, англ. Аrtificiаl intelligence, АI) — это
наука, применяемая для разработки интеллектуальных машин и систем,
интеллектуальных компьютерных программ, создаваемых для имитации
некоторых функций человеческого интеллекта. При этом используемые
методы не обязаны быть биологически правдоподобны. Но проблема состоит
в том, что неизвестно какие вычислительные процедуры можно назвать
интеллектуальными. А так как до конца известны только некоторые
механизмы интеллекта, то под интеллектом в пределах этой науки мы
понимаем
только
вычислительную
часть
способности
достигнуть
определенной цели.
При этом ИИ исследователи свободны использовать методы, которые
не наблюдаются у людей, если это необходимо для решения конкретных
проблем.
Именно в таком смысле термин «искусственный интеллект» ввел Джон
Маккарти на конференции в Дартмутском университете в 1956 году, и до сих
пор в научной среде термин сохранил свой первоначальный смысл, несмотря
на явные противоречия с точки зрения интеллекта человека.
Нет точного критерия достижения компьютерами «разумности», хотя
учеными был предложен ряд гипотез, например, тест Тьюринга или гипотеза
Ньюэлла — Саймона.
Несмотря на наличие множества подходов как к пониманию задач ИИ,
так и созданию интеллектуальных информационных систем можно выделить
два основных подхода к разработке ИИ:
1. Нисходящий, семиотический — создание экспертных систем, баз
знаний
и
систем
логического
вывода,
имитирующие
высокоуровневые психические процессы: мышление, рассуждение,
речь, эмоции, творчество и т. д.;
2. Восходящий, биологический — изучение нейронных сетей и
эволюционных
вычислений,
поведение
основе
на
моделирующих
более
мелких
интеллектуальное
«неинтеллектуальных»
элементов.
Последний подход не относится к науке о ИИ по Джону Маккарти —
но их объединяет общая конечная цель.
Раскрытие механизмов работы человеческого интеллекта открывает
перед создателями программных продуктов новые возможности.
Обзор основных технологий применяемых для реализации ИИ
показывает доступность их применения при создании программных
продуктов.
Экспертные системы, это самые первые системы ИИ, позволяющие
заменить специалиста-эксперта в разрешении проблемной ситуации. Правила
для таких систем пишутся на специальных декларативных языках
программирования, таких как Пролог. Как правило, база знаний экспертной
системы содержит факты (статические сведения о предметной области) и
правила - набор инструкций, применяя которые к известным фактам можно
получать новые факты.
В рамках логической модели баз данных и базы знаний, записываются
на языке Пролог с помощью языка предикатов для описания фактов и правил
логического вывода, выражающих правила определения понятий, для
описания обобщенных и конкретных сведений, а также конкретных и
обобщенных запросов к базам данных и базам знаний.
Конкретные и обобщенные запросы к базам знаний на языке Пролог
записываются
с помощью языка предикатов, выражающих
правила
логического вывода и определения понятий над процедурами логического
вывода, имеющихся в базе знаний, выражающих обобщенные и конкретные
сведения и знания в выбранной предметной области деятельности и сфере
знаний.
Нечеткая логика является многозначной логикой, что позволяет
определить промежуточные значения для таких общепринятых оценок, как
да|нет, истинно|ложно, черное|белое и т.п. Выражения подобные таким, как
«слегка тепло»
или «довольно холодно» возможно формулировать
математически и обрабатывать на компьютерах.
o Использование нечеткого управления рекомендуется…
 для очень сложных процессов, когда не существует простой
математической модели
 для нелинейных процессов высоких порядков
 если должна производиться обработка (лингвистически
сформулированных) экспертных знаний
o Использование нечеткого управления не рекомендуется, если...
 приемлемый результат может быть получен с помощью
общей теории управления
 уже
существует
формализованная
и
адекватная
математическая модель
 проблема не разрешима
Искусственные нейронные сети основаны на биологии, так как они
состоят из элементов, функциональные возможности которых копируют
большинство функций биологического нейрона. Эти элементы затем
организуются по способу, который может соответствовать (или не
соответствовать) анатомии мозга. Несмотря на такое поверхностное
сходство, искусственные нейронные сети демонстрируют удивительное
число свойств присущих мозгу.
Нейронные
сети
в
большинстве
своем
используются
для
классификации. Они используются для выбора некоторых опций в
зависимости от входных факторов.
Нейронные сети могут использоваться для хранения комплексных
данных. При предъявлении части комплексных данных или зашумленных
(испорченных) данных они могут восстановить исходный набор.
Генетический алгоритм - это простая модель эволюции в природе,
реализованная в виде компьютерной программы. В нем используются как
аналог механизма генетического наследования, так и аналог естественного
отбора. При этом сохраняется биологическая терминология в упрощенном
виде.
Если на некотором множестве задана сложная функция от нескольких
переменных, то генетический алгоритм - это программа, которая за разумное
время находит точку, где значение функции достаточно близко к
максимально возможному. Выбирая приемлемое время расчета, мы получим
одно из лучших решений, которые вообще возможно получить за это время.
По мнению автора, представленные в статье технологии в будущем
будут использоваться повсеместно. Уже сейчас существуют бытовые
приборы с функциями нечеткой логики, компьютер умеет распознавать
голос, символы, лица и улыбки с помощью искусственных нейросетей, а
генетические алгоритмы позволяют ускорить процесс оптимизации в десятки
раз. Многие исследователи обучают ИИ понимать смысл текста (знаменитая
Аlice). И хотя до сих пор ни один из созданы ИИ не прошел тест Тьюринга,
по мнению многих исследователей в ближайшем будущем такая система
будет существовать.
Список литературы:
1. Джозеф Джарратано, Гари Райли «Экспертные системы: принципы
разработки и программирование» : Пер. с англ. — М. : Издательский дом
«Вильямс», 2010. — 1152 стр. с ил.
2. Люгер Дж. Ф. Искусственный интеллект: стратегии и методы решения
сложных проблем = Аrtificiаl Intelligence: Structures аnd Strаtegies for
Complex Problem Solving / Под ред. Н. Н. Куссуль. — 4-е изд.. — М.:
Вильямс, 2012. — 864 с. — 2000 экз. — ISBN 5-8459-0437-4
3. Рассел С., Норвиг П. Искусственный интеллект: современный подход =
Аrtificiаl Intelligence: а Modern Аpproаch / Пер. с англ. и ред. К. А.
Птицына. — 2-е изд. — М.: Вильямс, 2011. — 1408 с. — 3000 экз. — ISBN
5-8459-0887-6
Download