Cтраница 3
Как только каждая задача и подзадача сталкиваются с противоречиями, текущее состояние задачи исследуется с целью выявления того, является ли задача тривиальной в смысле существования факта, выполненного в этом состоянии. Состояние задачи изменяется во время процесса решения, так как выбирается каждый возможный способ действия. Факт робот есть у дверь23 становится истинным. Результатом является новое состояние, в к тором решается задача ( состояние S3 на рисунке), и последовательность действий по преобразованию начального с стояния в новое состояние. [31]
![]() |
Программа поиска в глубину с ограничением по глубине. [32] |
Программа будет бесконечно долго обследовать эту бесконечную область пространства, так и не приблизившись к цели. Пространство состояний задачи о восьми ферзях, определенное так, как это сделано в настоящем разделе, на первый взгляд содержит ловушку именно такого рода. Но оказывается, что оно все-таки конечно, поскольку Y-координаты выбираются из ограниченного множества, и поэтому на доску можно поставить безопасным образом не более восьми ферзей. [33]
Даже если бы исчерпывающий поиск был запрещен, его следовало начать с обдумывания операций, основанных на грубых методах. Существуют два способа систематического исследования состояния задачи без использования эвристик. При поиске в глубину рассматриваются все последствия начального перемещения одной фишки до того, как будет предпринята попытка альтернативного начального хода. Этот принцип выдерживается на каждом уровне исследований. [34]
Однако есть еще одна управляющая таблица - PIB, без которой нам йе обойтись. В ней хранится информация о состоянии задачи. Каждая строка Габлицы PIB содержит 16 байтов, среди которых нас будет интересовать только 13 - й байт с управляющими признаками. Единица в первом разряде этого байта появляется в результате действия макрокоманды OPEN и разрешает задаче иметь собственную программу обработки прерываний для телекоммуникационных устройств. Так как мы не хотим пользоваться, стандартными модулями ВТАМ, то сформировать указанную единицу в таблице PIB должны сами. [35]
Задачи, выполняемые под управлением ХМ-монитора, делятся на привилегированные и виртуальные. Тип задачи определяется 10 - м разрядом в слове состояния задачи ( табл. 4.1): если этот разряд содержит 0, то задача является привилегированной; если же этот разряд равен 1, то задача виртуальная. По умолчанию 10 - й разряд в слове состояния задачи содержит 0, и она рассматривается ХМ-монитором как привилегированная. Так, все системные обрабатывающие и обслуживающие программы выполняются под управлением ХМ-монитора как привилегированные задачи. [36]
Они создаются и корректируются самой системой и содержат информацию о состоянии задачи пользователя и системы. [37]
![]() |
Начальное состояние задачи. [38] |
Если пользователь принимает предложенный план действия, то система должна модифицировать состояние задачи для отображения с существ л яемого плана действия. [39]
![]() |
Иерархия определения и использования операторов. [40] |
Некоторые операторы определяет программа планирования; пользователь определяет большинство операторов в описании состояния задачи и в описании действий. Как мы уже объяснили в подразд. [41]
Структура этой области отличается от стандартной. В первые 8 байтов области операционная система занесет значение PSW, соответствующее состоянию задачи в момент прерывания, а в последующих 64 байтах будет расположено содержание регистров 0 - 15 общего назначения. [42]
Одно из требований к системе решения задач состоит в том, чтобы пользователь получил возможно большую свободу в представлении задачи. Единственным ограничением является то, что пользователь должен делать различие между неизменными свойствами состояния задачи и свойствами, которые могут меняться в результате выполнения плана действий. [43]
Эффекты действия могут быть определены описанием состояния задачи после того, как действие осуществлено, однако действие может осуществляться в разнообразных ситуациях, поэтому сложно дать его полное описание. Тем не менее; так как любое действие воздействует только на небольшую часть состояния задачи, мы можем преодолеть эту трудность описанием только тех свойств состояния задачи, которые изменяются этим действием, предполагая, что все другие аспекты состояния неизменяемы. Например, действие закрывания двери изменяет состояние задачи только в том случае, если ранее открытая дверь теперь закрыта. Изменения бывают двух типов. [44]
Система управления задачами ( супервизор) распределяет ресурсы ЭВМ, а также управляет процедурами ввода-вывода. Эта же система обрабатывает прерывания в случае принудительного переключения ЭВМ на другую процедуру и восстанавливает прерванное состояние задачи при продолжении счета по прежней программе. Супервизор формирует очередь операций ввода-вывода и обслуживает эту очередь в соответствии с заданной шкалой приоритета. [45]