Cтраница 3
Суперпозиционные перфокарты хранятся в картотеках, где они расстанавливаются в углубленном алфавитном порядке дескрипторов, обозначающих эти перфокарты. Иногда суперпозиционные перфокарты снабжаются краевой перфорацией, которая позволяет быстро находить перфокарты с нужными дескрипторами и в неупорядоченном массиве. [31]
Номер ленты, которая должна выполнять функции выходной на 1 - м этапе слияния, равен i. Однако физически выполнять функции выходной ленты может только М - я лента, так как на ней размещен неупорядоченный массив и после окончания формирования начальных участков освобождается именно она. Поэтому t - я и М - я ленты должны поменяться своими номерами. [32]
Если массив не умещается на одной ленте, то выделим для его размещения несколько лент, рассматривая одну ленту как продолжение другой. Блок-схема процедуры внешнего упорядочения с равномерным распределением наличных магнитных лент между входными и выходными изображена на рис. 7.3. Блок-схема составлена для случая, когда неупорядоченный массив весь размещается на одной ( УИ-й) ленте, ленты являются односторонними. [33]
Частными случаями будут преобразование неупорядоченного массива для двух связанных процедур, преобразование одного частично упорядоченного массива в одной процедуре ( случай, рассматривавшийся в примере), преобразование неупорядоченного массива в одной процедуре. [34]
![]() |
Фактическое представление примера базы правил в памяти ЭВМ. [35] |
Теперь, когда вы знаете, как выглядит база правил в форме источника, я могу описать работу системы на этапе ее запуска. Для понимания принципа работы программы системы необходимо знать, как расположены знания в ее основной памяти. Память, взятая из неупорядоченного массива языка Паскаль, состоит из двух типов записей, прямоугольников и стрелок. На рис. 8.5 показан пример с зонтиком, так как он физически расположен в машине. Все типы записей имеют фиксированную длину, и, как вы помните, все текстовые строки в источнике хранятся в отдельном файле на диске и загружаются в основную память лишь тогда, когда их выводят на дисплей. [36]
В практике реализации задач обработки информации часто ограничиваются работой только с упорядоченными массивами, приводя их к этому состоянию с помощью различных сортировок. Такой подход допустим, но часто неэффективен, так как нарушает возможность поэлементной обработки и вызывает большие затраты времени на выполнение сортировки. Поэтому мы рассмотрим схемы, позволяющие обрабатывать частично упорядоченные и неупорядоченные массивы без предварительной сортировки. [37]
Приведенные цифры, казалось бы, позволяют сделать вывод о безусловной предпочтительности применения в ИПС на перфокартах машинной сортировки инвертированной схемы организации ЗУакт и реализации таких ИПС с помощью стандартных картоподборочных машин. Однако этот вывод нуждается в одной весьма серьезной оговорке. Дело в том, что такой вывод справедлив лишь тогда, когда ИПС типа D3D производит отбор перфокарт в неупорядоченном массиве, то есть путем последовательного перебора всех 100 тыс. перфокарт. Если же этот массив будет упорядочен по каждому дескриптору, входящему в поисковые образы документов, то он также возрастет до 1 2 млн. перфокарт и будет разбит на те же 3 тыс. групп, содержащих в среднем по 400 перфокарт в группе. [38]
Сила языков искусственного интеллекта заключена и в их гибкости, что делает их чрезвычайно удобными при экспериментальном программировании, и в том, что они существенно сокращают объем работ, необходимых при создании большой сложной программы. Мы, однако, намеревались создать систему, которая работала бы возможно эффективнее на небольшом микропроцессоре, так что мы с определенным сожалением решили остановиться на алгоритмическом языке. Было решено использовать систему UCSD PASCAL: PASCAL потому, что мы науждались в языке, обеспечивающем рекурсивные вычисления и имеющем неплохую систему для работы с неупорядоченным массивом, a USCD PASCAL потому, что этот язык имеется у весьма широкого спектра вычислительных машин, а по коммерческим соображениям мы хотели бы достигнуть максимально возможной машинной независимости системы. [39]
В нашей редакции им становится средний элемент. Заметим, однако, что почти с тем же успехом можно выбирать первый или последний. В этих случаях хуже всего будет, если массив окажется первоначально уже упорядочен, ведь Quicksort определенно не любит такую тривиальную работу и предпочитает иметь дело с неупорядоченными массивами. Выбирая средний элемент, мы как бы затушевываем эту странную особенность Quicksort, поскольку в этом случае первоначально упорядоченный массив будет уже оптимальным вариантом. Таким образом, фактически средняя производительность при выборе среднего элемента чуточку улучшается. [40]
Для организации процедуры в рассматриваемом случае большое значение приобретает методика формирования выборки и методика определения среднего элемента выборки. В исходном неупорядоченном массиве выделяются два подмассива - подмассив из k элементов, расположенных на начальных позициях, и подмассив из k - 1 элементов, расположенных на конечных позициях исходного массива. [41]
Необходимость буферизации может появиться в тех случаях, когда граф структурной схемы программы оказывается сетевым. Любое разветвление графа вверх, связанное с наличием нескольких выходных массивов, обрабатываемых в разных модулях, должно проверяться. Если темп обработки в этих ветвях оказывается различным, то массив, обрабатываемый с меньшим темпом, требует буферизации. Вторым источником буферизации является различие получающейся и требуемой упорядоченности промежуточного массива. Для согласования упорядоченности могут быть приняты следующие меры: изменение упорядоченности массивов, входных для задачи ( сортировка); применение схем работы с частично упорядоченными и неупорядоченными массивами; создание промежуточного массива на носителе и его сортировка. В последнем случае необходимо перестроить структурную схему задачи, выведя формирование промежуточного носителя в управляющий модуль. После окончательного построения структуры программы уточняются размеры буферов, наличие контроля упорядоченности, вид реакции на аварийные ситуации. [42]