Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
!1-25.doc
Скачиваний:
11
Добавлен:
28.10.2018
Размер:
2.62 Mб
Скачать

21.2 Алгоритм упорядочения перебора при сведении задач к подзадачам

Алгоритм упорядоченного перебора в деревьях И-ИЛИ:

1) Помещаем начальную вершину в список OPEN и вычисляем значение

2) Получаем дерево 0 используя значения

3) Выбираем вершину дерева 0 из OPEN, помещаем её в CLOSED и обозначаем через n.

4) Если n заключительная вершина, то помечаем её, как разрешимую и продолжаем. Иначе переходим к п.9.

5) Применяем к 0 процедуру разметки разрешимых вершин.

6) Если начальная вершина помечена, как разрешимая, то выход с деревом 0.

7) Изъять из OPEN все вершины, имеющие предшествующие разрешимые вершины.

8) Перейти к п.2.

9) Построить все порождённые вершины для n. Если порожденных нет, то пометить вершину, как неразрешимую. Иначе перейти к п.14.

10) Применить к 0 процедуру разметки на неразрешимость.

11) Если начальная вершина неразрешима, то решений нет.

12) Изъять из OPEN все вершины, которые имеют предшествующие неразрешимые вершины.

13) Перейти к п.2.

14) Поместить все порождённые вершины в OPEN и установить указатели на n. Вычислить значения для порождённых вершин и пересчитать для всех предшествующих вершин.

15) Перейти к п.2.

Выбор вершины в 0 для очередного раскрытия:

Если 0 на самом деле есть частью дерева с минимальной стоимостью, то безразлично, какую вершину в списке OPEN раскрывать первой, т.к. все они должны быть раскрыты.

Если 0 не является деревом с минимальной стоимостью, то в первую очередь следует раскрывать ту вершину, которая быстрее обнаружит ошибку. Обычно это вершина с наибольшим .

Для деревьев типа И-ИЛИ нет утверждений, аналогичных пространству состояний. Вместе с тем интуитивно понятно, что чем лучше функция аппроксимирует h (истинную величину), тем потенциальное дерево 0 будет ближе к дереву минимальной стоимости.

Существует несколько модификаций упорядоченного перебора. Можно раскрывать несколько вершин перед тем, как строить дерево  0 (как в предыдущем примере). Обычно процесс вычислений в этом случаи ускоряется, но есть опасность раскрытия лишних вершин. Можно применить процесс поэтапного перебора, отбрасывая наиболее дорогие потенциальные деревья. Но здесь существует опасность отбросить оптимальное дерево решений

21.3 Разрешение имен узлов при помощи dns.

Имена узлов Имя упрощает обращение к узлу, поскольку его легче запомнить, чем IP-адрес. Имена узлов используются практически везде, где есть TCP/IP. Имя узла - это псевдоним, назначенный администратором компьютеру для идентификации узла, поддерживающего TCP/IP. Имя узла TCP/IP облегчает взаимодействие с ним. Имя узла всегда соответствует IP-адресу.

Разрешене имени узла - это процесс определения соответствующего ему IP-адреса. Только после этого IP-адрес может быть разрешен в адрес сетевого адаптера. Методы, используемые протоколом Microsoft TCP/IP, перечислены ниже.

Стандартные методы разрешения:

  1. Имя локального узла - имя запрашиваемого узла в первую очередь сравнивается с именем локального узла

  2. Файл HOSTS - Локальный текстовый файл, в котором указаны IP-адреса и соответствующие им имена узлов.

  3. Сервер DNS - Сервер, на котором хранится база данных, содержащая соответствия имен узлов IP-адресам

Методы Microsoft:

1.Сервер имен NetBIOS, NBNS - Сервер, реализованный согласно спецификациям RFC 1001 и 1002 и обеспеч-й разрешение

NetBIOS-имен компьютеров. Сервер WINS — это реализация NBNS от фирмы Microsoft

2. Лок-е широковещание - Для определения IP-адреса соотв-го NetBIOS-имени используется широковещание в лок-й сети

3. Ф-л LMHOSTS – Лок-й текст-й ф-л, в кот. указано соотв-е IP-адресов и NetBIOS-имен компьютеров, нах-ся в уд-х сетях

DNS - распределенная база данных, использующая иерархическое (hierarchical) пространство имен. В работе DNS участвуют три основных компонента: клиенты DNS, или программы разрешения имен (resolvers) , серверы имен и пространство имен домена. Доменная система имен - это система управления иерархической распределенной базой данных, использующая технологию клиент - сервер. DNS работает на прикладном уровне (application layer) и использует UDP и TCP/IP как нижележащие протоколы. Задача базы данных DNS - транслировать имена компьютеров в IP-адреса. Компьютер обращается к DNS, используя имя другого компа или домена, а сервер имен выдает соответствующие этому имени IP-адрес.

DNS-клиенты пересылают сообщения между приложениями и серверами имен. Сообщение содержит запрос, например IP-адрес Web-узла. Часто DNS-клиент встроен в приложение или работает на компьютере как библиотечная подпрограмма.

Серверы имен принимают сообщения от DNS-клиентов и преобразуют имена компьютеров (или доменов) в IP-адреса. Если сервер имен не в состоянии сам сделать это, то он может перенаправить запрос к серверу имен, который сможет разрешить его. Серверы имен сгруппированы по разным уровням -доменам (domains). Пространство имен домена - Это иерархически упорядоченная структура имен, напоминающая перевернутое дерево Домены определяют разные уровни в иерархии. На самом верху находится корневой домен .

Домены верхнего уровня : com - коммерческие организации ; edu - образовательные учреждения и университеты ; org - некомерческие организации ; net - сети (крупные сети, входящие в Internet); gov - невоенные правительственные учреждения ; mil - военные правительственные учреждения ; num – телеф-ые номера ; xx - двухбуквенные обозн-я стран .

В домены второго уровня входят узлы и другие домены, называемые поддоменами (subdomains).

Имена узлов обычно справа доп-тся именем домена. Такая запись наз-ся полностью определенным доменным именем .

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

Роли DNS-серверов. DNS- серверы могут выполнять разные задачи. Они могут хранить и поддерживать свои базы данных различными способами. Далее описаны разные способы хранения данных своей зоны.

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

Резервный сервер имен. Резервный сервер имен получает информацию о своей зоне от других серверов которые ответственны за данную зону. Такой способ получения информации через сеть, называют зонной передачей.

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

Кэширующий DNS-сервер .Все DNS-серверы кэшируют запросы, на кот. они отвечают. Кэширующие - это DNS-серверы, которые только перенаправляют запросы, кэшируют ответы и возвращают результаты.

Разрешение имен. Сущ-т три типа запросов, кот. клиент может направить к DNS-серверу:

1.Рекурсивные запросы. DNS-сервер обязательно отвечает на рекурсивный запрос, посылая либо запрошенную инфу, либо сообщение об ошибке. Последнее означает, что запрошенные данные отсутствуют или указанного имени домена не существует. При этом DNS-сервер не может перенаправить клиента к другому DNS-серверу.

2.Итеративные запросы. На итерат-й запрос DNS-сервер выдает наил-ий ответ из имеющ-ся у него. В нем может сод-ся разрешенное имя или ссылка на другой DNS-сервер.

3.Обратные запросы При обратном запросе клиент пытается у DNS-сервера узнать имя узла, соответствующего известному IP-адресу.