Для выбора важен вопрос о влиянии порядка выбора на окончательный результат рассуждений. Если имеются две продукции и ситуация такова, что изменение состояния базы знаний, которое может возникнуть при срабатывании одной из них, сказывается на выполнимости условий срабатывания для другой, то такие продукции естественно назвать зависимыми. Если две продукции независимы, то порядок их выбора из фронта не может сказаться на результате рассуждения. Поэтому интерес представляют лишь зависимые продукции.
Как осуществлять выбор в этом случае? Для пояснения складывающейся ситуации рассмотрим следующий пример. Только что кончилась лекция, наступил двухчасовой перерыв и группа студентов обсуждает проблему: куда сейчас пойти? В имеющихся условиях есть две альтернативы: пойти в кино (но никто не знает, какая там идет картина) или пойти в кафе-мороженое (но ни у кого нет уверенности, что кафе работает). Ясно лишь одно, что выбор одного варианта исключает выбор другого, так как кино и кафе-мороженое находятся в разных концах города. Убедившись, что кафе не работает, нет надежды успеть в кино, а обнаружив, что в кино ничего интересного не идет, нет надежды поесть мороженое. В условиях, когда никто из студентов не имеет никакой информации о кино и кафе, единственным разумным способом выбора является известное бросание монетки, т.е. случайный выбор. Но если в момент обсуждения появляется их сокурсник, который говорит, что только что был в кино и ушел, не досмотрев скучную картину (тем самым он меняет состояние «баз знаний» остальных студентов), то выбор активизируемой «продукции», соответствующей программе достижения кафе-мороженого, станет однозначным.
Описанная ситуация является в некотором смысле экстремальной. Один выбор исключает другой. Чаще это не так – после неудачного выбора можно вернуться к альтернативному выбору и попробовать другой вариант. Чтобы так можно было делать в процессах рассуждений, необходимо сохранять состояние базы знаний в момент выбора. Для реализации этого при принятии решения об альтернативном выборе можно, например, запоминать не всю информацию, имеющуюся в данный момент в базе знаний, а только ту ее часть, которая меняется в результате применения продукций из выбранного варианта. Если вариант окажется удачным, то новое состояние базы знаний будет сформировано на основе полученной в ходе проверки варианта информации. Если попытка окажется безрезультатной, то произойдет возвращение к состоянию базы знаний в момент выбора, а информация, полученная в ходе плохого варианта, сотрется из памяти. Практически все системы моделирования рассуждений в интеллектуальных системах используют этот прием, который называется «бэктрекинг».
Но в любом случае остается проблема выбора продукции из готового фронта. Психологов весьма интересует вопрос, как это делают люди. К сожалению, однозначного ответа на этот вопрос пока нет. При экспериментах с программой «Логик-теоретик» ее авторы проводили сравнение работы программы с тем, как ведут себя в многочисленных возникающих по ходу доказательства случаях альтернативного выбора люди. В частности, последовательность, в которой перечислены различия в формулах, используемая для выбора преобразований в программе «Логик-теоретик», отражает экспериментально наблюдаемые приоритеты, демонстрируемые людьми.
Отсутствие точных психологических данных о способах выбора продукций из фронта людьми привело к тому, что в интеллектуальных системах стали использовать эвристические соображения, которые могут и не отражать особенности человеческих рассуждений. Так, весьма популярной стратегией выбора является принцип «стопки книг». Этот принцип описывает процедуру наиболее быстрого (в среднем) способа поиска нужной книги в стопке книг. Если каждый раз, использовав некоторую книгу, класть ее в стопку сверху, то часто используемые книги постепенно сосредоточатся в ее верхней части, а внизу будут лежать те, которые почти никогда не требовались. Если при поиске очередной нужной книги начинать просмотр стопки сверху, то она, как правило, встретится довольно скоро. Если продукции во фронте будут упорядочены по частоте их предшествующего успешного использования и активизироваться будет первая продукция этого фронта, то принцип стопки книг будет реализован.
У этого принципа есть определенный аналог в процедурах работы с информацией у человека. Если потребовать от испытуемых «не задумываться», говорить первое, что «приходит в голову», то на просьбу «Назовите поэта XIX века», как правило, будет дан ответ «Пушкин», а на просьбу «Назовите плодовое дерево» в подавляющем большинстве случаев ответ «Яблоня». Это, конечно, справедливо для испытуемых, живущих в средней полосе СССР. В других местах и социо-культурах возникнут свои приоритетные ответы. Человек как бы всегда имеет наготове, «на языке», подходящие отклики на часто встречающиеся ситуации.
Другой эвристический прием, заставляющий вспомнить герменевтические рассуждения, состоит в проверке в первую очередь продукции с самым длинным условием А. Такой прием обосновывается принципом «частное важнее общего» или «исключение важнее правил».
Но такие априорные внешние способы задания продукций, выбираемых из фронта, не всегда оправданы. В большинстве случаев тот или иной выбор зависит от текущего состояния базы знаний dt и того реального набора продукций, который образует в этот момент времени фронт. Для описания выбора при таких условиях в интеллектуальных системах часто используют так называемые метапродукции. Они вводятся в систему продукций специально для того, чтобы осуществлять приоритетный выбор тех или иных продукций из фронта в зависимости от предыстории развития процесса рассуждений, состава фронта и состояния базы знаний. Вот пример такой метапродукции, используемой в американской экспертной системе MYCIN – TEIRESIAS, диагностирующей инфекционные заболевания.
Мы специально не расшифровываем латинские термины, так как они совершенно не мешают понять суть работы метапродукции в данной экспертной системе.
Довольно часто возможность применения той или иной продукции зависит не только от того, какие именно продукции входят во фронт (как в только что приведенном примере метапродукции), но и от того, какие продукции в этот фронт не вошли. Другими словами, влияние может оказывать как «положительный», так и «отрицательный» контекст, в котором происходит выбор продукции из фронта готовых продукций.
Когда имеется выбор из нескольких продукций, то их можно выполнять последовательно, альтернативно или параллельно. Если считать, что в период реализации продукций из фронта время как бы останавливается (т.е. сохраняется неизменной база знаний со своим состоянием di), а влияния действий продукций друг на друга нейтрализуются тем, что все они работают в автономных участках памяти, не искажая информации в базе знаний, то порядок их выполнения роли не играет. Лишь после реализации всех продукций надо выбрать те из них, которые сформируют новый фронт (с учетом их возможного взаимодействия). Однако и эта задача оказывается весьма непростой и требует каких-то эвристических соображений.
Другой проблемой управления реализацией системы продукций является поиск наиболее эффективных способов проверки выполнения условий А в множестве продукций на текущем состоянии базы знаний di. При большой базе знаний эта переборная процедура весьма неэффективна. Каков аналог данного процесса у человека?
У психологов бытует термин «поле активного внимания». В это поле попадает та часть хранимой в памяти человека информации, которая обусловливает его текущие размышления или рассуждения. Как бы лучом прожектора эта информация выхватывается из огромного хранилища всевозможных знаний. Поле активного внимания скользит по памяти, не всегда подчиняясь нашему желанию. Как порой мучительно трудно выудить нужную информацию (например, вспомнить фамилию человека, лицо которого вам явно знакомо), как, отчаявшись, мы перестаем об этом думать, а оно «само, без видимых усилий» как бы всплывает из темных, неосвещенных глубин памяти.