Чтение онлайн

на главную - закладки

Жанры

Искусственный разум

Чачко Алексей Григорьевич

Шрифт:

Программа САИНТ, подобно человеку, пытается решить задачу одним махом, заменив данный интеграл элементарным. Если это не получается, она производит алгебраические упрощения и снова пытается решить задачу. Если опять не выходит, САИНТ внимательно смотрит, что за птица-уравнение скрывается под знаком интеграла.

Как живых птиц отличают друг от друга форма клюва, оперение, размер и многие другие черты, так и подинтегральные птицы - алгебраические выражения - имеют каждая свои отличия. Как орнитолог оценивает птенчиков и после оценки надевает на их лапки кольца с перечнем их особенностей, так и САИНТ дотошно оценивает подинтегральное выражение

и в памяти ЭВМ приписывает к нему его признаки.

Потом программа САИНТ берется за свой ассортимент эвристик. А он у нее не мал: в программе имеется набор из десяти эвристик, содержится десять драгоценных приемов интегрирования.

САИНТ вдумчиво перебирает эти свои эвристики, оценивает их одну за другой и примеряет каждую из них к подинтегральному выражению: эта не подходит вообще, и эта не подходит, а вот эта срабатывает, и эта годится, и эта тоже.

Программа работает с риском. Может добраться до цели за 3-4 хода, а может закрутиться в череде эвристик: преобразовала, оценила, снова преобразовала, снова оценила... и так без конца. Чтобы проверить успешность работы САИНТа, были взяты 54 задачи, предлагаемые на экзаменах первокурсникам в Массачусетском технологическом институте. Программа решила 52 из них. Две задачи оказались каверзными - память машины перегрузилась промежуточными целями и преобразованиями; САИНТ отпечатал: "Переполнение памяти. Неудача". Но и это неплохо! Ведь КПД САИНТа оказался близким к 96 процентам!

Естественно спросить, быстро ли САИНТ берет интегралы? Примерно с такой же скоростью, что и хороший студент (самый сложный интеграл она штурмовала 18 минут, а самый простой был взят через 1,8 секунды). Вспомним, что САИНТ работала на машине ИБМ-7090, безнадежно устаревшей на сегодняшний взгляд. Сегодня скородействие САИНТа повысилось бы в тысячу раз; чтобы перереши?!? весь задачник, ей понадобилось бы два-три часа. (Поправка: не весь задачник, а 96 процентов входящих в него задач; 4 процента САИНТ не решила бы даже за сутки, ибо САИНТ не строгий алгоритм, гарантирующий решение, а эвристическая программа)

Эвристики - суть этой программы, ее душа, ее радость и печаль.

Эвристики - проблески молнии во тьме проблем. Мрачна, как темная чаща, проблема. Не видно в ней ни зги, ни тропки, ни пути к цели. Но ярко вспыхивает эвристика, освещая все на мгновение; и надо воспользоваться моментом, чтобы увидеть дорогу к цели, пока проблема опять не погрузилась во мрак.

Эвристики - дочери Архимеда - самые остроумные приемы решения задач. Не зря все программы для Искинта долгое время именовалась эвристическими. Не зря программисты изобрели многие десятки эвристик и сами называли их то наивными, то осторожными, то свирепыми, то умными. Есть даже фагозвристики, которые, словно белые кровяные тельца - фагоциты, безжалостно пожирающие микробов, очищают память машины от второстепенных фактов, фактиков, излишней дребедени.

Эвристики - непостоянные красавицы, талантливые и беспечные, полная противоположность унылому работяге алгоритму.

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

принципиально невозможен.

Принципиально невозможен! Как часто иным людям кажется принципиально невозможным то, что им непонятно или что грозит нарушением их научных привычек. Но из своих противоположных углов эвристики и алгоритмы кричат: "Мы - братья и сестры, мы - близнецы, не разлучайте нас!"

И эвристики и алгоритмы - это приемы решения задач, четкие, определенные приемы, прилагаемые ко многим задачам. Здесь, в детерминированности и массовости, если пользоваться более строгим языком, нет никаких различий между эвристиками и алгоритмами. Нет различий и в остроумии, изяществе, внутренней силе: встречаются ослепительные по красоте алгоритмы, встречаются и занудные эвристики. Различие между ними проявляется только в одном - в успешности решения задач; алгоритм успешен всегда, эвристика - часто, но не всегда.

Выходит, что эвристика в определенном смысле хуже алгоритма? Но наше "хуже" носит схоластический характер, потому что эвристики работают с теми задачами, для которых нет строгого алгоритма. Вот он, гвоздь вопроса!

Программу САИНТ, написанную Д. Слейглом, удалось через шесть лет усовершенствовать другому ученому - Л. Мозесу; ее оценки стали многочисленнее и тоньше, в результате чего почти исчезли лишние ветви дерева целей. Программа берет интегралы без колебаний, но при этом еще остается эвристической.

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

Ну что тут скажешь?! Интегрирование с момента его изобретения и по сию пору считалось серьезной умственной работой. На голову, не умеющую интегрировать, не надевали фуражку инженера. Алгоритма интегрирования не было; откуда взяться простым и однозначным правилам там, где нужна изобретательность?

И все же алгоритм интегрирования оказался возможным. И красивым. И эффективным не на 96, как эвристическая программа Д. Слейгла, а на все 100 процентов.

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

Думаю, произойдет совсем другое: они сольются, эвристики и алгоритмы. Понятие "алгоритм" сегодня живет, дышит, развивается, растет. Мы видели - оно вобрало в себя неопределенность и размытость. Оно охватит и эвристичность - умение просто и красиво решать задачи. "Эвристический алгоритм" - непривычное словосочетание, но мы быстро привыкнем к нему.

Мне кажется, что "теория противоположных углов" возникла из-за недооценки гибкости и мощности понятия "алгоритм". При слове "алгоритм" в головах у сторонников этой теории возникает нечто раз навсегда затверженное, неизменное, тупое, нудное, машинное; при слове "эвристика" им грезится что-то изящное, непринужденное, меняющееся, остроумное, неназойливое, человеческое. Но эта греза и есть алгоритмы, проницательные, элегантные, дерзкие алгоритмы.

Впрочем, чему здесь удивляться? Алгоритмы, в том числе эвристические алгоритмы, - порождение человеческого ума. Мы отрываем их от себя и дарим машинам. Если хотите, происходит "переселение душ" из людей в машины. Коль у программиста душа тупая и нудная, то и машинный алгоритм не блещет. Если же программист - человек с нестандартными идеями, с глубокой любовью к делу, тогда и на программы ложится яркий отсвет его личности.

Поделиться:
Популярные книги

Сумеречный Стрелок 5

Карелин Сергей Витальевич
5. Сумеречный стрелок
Фантастика:
городское фэнтези
попаданцы
аниме
5.00
рейтинг книги
Сумеречный Стрелок 5

Вмешательство извне

Свободный_человек
Фантастика:
фэнтези
боевая фантастика
5.00
рейтинг книги
Вмешательство извне

Блуждающие огни 2

Панченко Андрей Алексеевич
2. Блуждающие огни
Фантастика:
боевая фантастика
космическая фантастика
попаданцы
альтернативная история
фэнтези
5.00
рейтинг книги
Блуждающие огни 2

Ни слова, господин министр!

Варварова Наталья
1. Директрисы
Фантастика:
фэнтези
5.00
рейтинг книги
Ни слова, господин министр!

Бастард Императора. Том 4

Орлов Андрей Юрьевич
4. Бастард Императора
Фантастика:
попаданцы
аниме
фэнтези
фантастика: прочее
5.00
рейтинг книги
Бастард Императора. Том 4

Земная жена на экспорт

Шах Ольга
Любовные романы:
любовно-фантастические романы
5.57
рейтинг книги
Земная жена на экспорт

Лекарь для захватчика

Романова Елена
Фантастика:
попаданцы
историческое фэнтези
фэнтези
5.00
рейтинг книги
Лекарь для захватчика

Надуй щеки! Том 4

Вишневский Сергей Викторович
4. Чеболь за партой
Фантастика:
попаданцы
уся
дорама
5.00
рейтинг книги
Надуй щеки! Том 4

Архонт

Прокофьев Роман Юрьевич
5. Стеллар
Фантастика:
боевая фантастика
рпг
7.80
рейтинг книги
Архонт

Клан Мамонта. Народ моржа. Люди Быка

Щепетов Сергей
Каменный век
Фантастика:
научная фантастика
6.60
рейтинг книги
Клан Мамонта. Народ моржа. Люди Быка

Пограничная река. (Тетралогия)

Каменистый Артем
Пограничная река
Фантастика:
фэнтези
боевая фантастика
9.13
рейтинг книги
Пограничная река. (Тетралогия)

Фея любви. Трилогия

Николаева Мария Сергеевна
141. В одном томе
Фантастика:
фэнтези
8.55
рейтинг книги
Фея любви. Трилогия

Измена. Право на любовь

Арская Арина
1. Измены
Любовные романы:
современные любовные романы
5.00
рейтинг книги
Измена. Право на любовь

Жена со скидкой, или Случайный брак

Ардова Алиса
Любовные романы:
любовно-фантастические романы
8.15
рейтинг книги
Жена со скидкой, или Случайный брак