
- •1.Архитектура эвм - уровни абстракции представления, аппаратная и программная части, основные элементы, поколения эвм.
- •Архитектура эвм
- •Поколения эвм
- •1)По производительности и быстродействию; 2)По назначению; 3)По уровню специализации; 4)По типу используемого процессора; 5)По особенностям архитектуры; 6)По размерам.
- •Цикл исполнения команды.
- •Алгоритм работы процессора
- •Командный и микрокомандный уровень управления.
- •Основные модели поиска:
Основные модели поиска:
1) Булева МП
Базируется на теории множеств и математической логике.
Каждый запрос -логическое выражение, связываемое операторами AND, OR, NOT.
2) Векторно-пространственная модель поиска
Классическая алгебраическая модель. Документ описывается вектором в некотором евклидовом пространстве. Каждому терму сопоставляется вес, характеризующийся частотой, местоположением, тематикой и т.п.
Запрос - также вектор в евклидовом пространстве. Близость запроса документу - скалярное произведение.
3) Вероятностная модель поиска
Базируется на теоретических основах байесовой условной вероятности.
Основной подход- вероятностная оценка весов терминов в документах.
Функционирование модели базируется как на экспертных оценках пользователей, которые признают документ релевантным/нерелевантным, так и на априорных оценках вероятности того, что документ является релевантным исходя из состава входящих в него терминов.
Первоначально в вероятностной модели использовалось упрощение, предполагающее независимость вхождения в документ любой пары термов («наивный» байесовский подход).
В случае применения экспертных оценок процесс поиска - итерационный. На каждом шагу итерации, благодаря режиму обратной связи, определяется множество документов, отмеченных пользователем как удовлетворяющих его информационным потребностям.
Модель широко используется для решения вспомогательных задач: определения тональности сообщений, выявления спама и т.д.
+ к. 15 Внешняя сортировка
Внешняя сортировка — сортировка данных, расположенных на периферийных устройствах и не вмещающихся в оперативную память. Стоит отметить, что внутренняя сортировка значительно эффективней внешней, так как на обращение к оперативной памяти затрачивается намного меньше времени, чем к магнитным дискам, лентам…
Идея большинства методов заключается в расчленении данных на ряд последовательностей помещающихся в оперативную память. Далее применяется один из методов внутренней сортировки, после чего последовательности сливаются. Чем больше объём оперативной памяти, тем длинее будут последовательности и, следовательно, тем меньшим окажется их количество, что увеличит скорость сортировки.
Если же объём оперативной памяти мал, то можно разделить исходные данные на несколько последовательностей, после чего непосредственно использовать процедуру слияния.
Хотя диски называют памятью прямого доступа, время обращения к данным гораздо большего порядка, чем время чтения/записи в основной памяти, по причине:
а) задержки, связанной с ожиданием момента, когда нужный элемент цилиндра пройдет под головкой; б) перемещения головок, когда требуются данные не из текущего цилиндра.
Прогон - это прохождение файла в одном направлении со считыванием данных в память и, возможно, их возвратом в файл.
{По возможности большую часть работы выполняйте с данными, вызванными в память, не обращаясь к диску до конца обработки этой части.}
Применительно к внешней сортировке это означает упорядочение возможно больших частей файла внутренней сортировкой: мы заменяем "быстрыми" перемещениями в памяти перемещения данных на диске. Уменьшая число актов их чтения и перезаписи, мы одновременно исключаем многочисленные задержки "а", "б".
Увеличение физического размера считываемой (записываемой) порции данных сокращает задержку и число актов чтения (записи), а вместе с ними и число промежуточных движений блока головок, которые назовем ходами штанги или просто ходами.
Время внешней сортировки зависит от а) внутренней сортировки частей файла; б) многократного считывания и записи данных на диск; в) ходов головки между актами считывания/записи; г) действий в памяти при слиянии упорядоченных частей.
Сортировка методом поглощения.
Имея несколько частей файла и начав со слияния двух из них, будем сливать все следующие с большей (растущей) упорядоченной частью. Она как бы поглощает часть за частью.
|
Перед поглощением очередная часть файла считывается в зону "А" памяти, там упорядочивается и остается. Начало ранее упорядоченной части считывается в зону "В" и начинается слияние, прерываемое считыванием в зону "В", когда она опустошается. По мере заполнения зоны "С" записями акта слияния, содержимое ее переписывается в файл (на место поглощаемой части и далее в сторону конца файла). Если при слиянии взяты все записи поглощаемой части, поглощение завершается передачей в файл из зоны "С" остатка результата. Слияние также завершается, если исчерпана ранее упорядоченная часть. Поглощение ею очередной части произошло.
Ходов в данном методе будет мало и во время сортировки вы не услышите характерного поскрипывания механизма головок. Это дает экономию времени и при небольшом размере файла сортировка проходит быстро.
Челночное балансное слияние
На 1 этапе внутренней сортировки частей в файле создают М упорядоченных частей, по возможности большего размера R. К ним применяют прямое слияние. Создают резервное дисковое пространство файла и располагают его непосредственно до или после сливаемых частей и перемещается к следующим частям по завершении слияния. Его размер не меньше размера R части. Резерв и пространство ближайшей части будут заполнено результатом слияния двух первых частей, при этом пространство 2-й части освободится и станет резервом, необходимым для слияния следующей пары частей и т. д.
По мере слияния частей резерв перемещается от начала файла к концу, потом обратно и т. д., как челнок. Поскольку место результата не удалено от сливаемых частей, ходы невелики, пока сами части небольшие. В процессе сортировки "челнок" увеличивают, ибо растут части:
а) слияние частей размером R (промежуточная ситуация)
|
|
Стрелками показано перемещение данных при слиянии.
Заметим, что резерв можно увеличивать, когда он в конце файла; это происходит один раз за 2 прогона челнока.
Все было бы хорошо, однако, челнок величиной в половину файла может занимать его начало.
Хорошо бы ограничить рост размера "челнока", ибо этот рост увеличивает размер ходов.
Путем модификации конечных этапов слияния добьемся, чтобы этот рост остановился на размере D = 1/6 размера файла.
Для этого однако надо, чтобы программа так определила исходные размер и положение резерва (в начале или в конце файла), чтобы в момент, когда останутся всего 3 больших части, резерв, имеющий размер D, стоял в начале файла.
в) этап слияния (с подэтапами), когда в файле 6 частей.
|
г) этап слияния "по половинам "(естественное слияние), когда частей 3. Концевая часть файла на этом этапе не используется.
|
д) заключительный этап слияния; сначала берем для слияния первую половину конечной части и всю начальную часть:
|
По окончании слияния 1 выясняется, надо ли сместить остаток начальной части, чтобы освободить место для конца результата и продолжить слияние ("подслияние"). Подслияние не нужно, если в ходе слияния начальная часть исчерпана, надо лишь вытеснить резерв в конец файла, переписав окончание.
|
И при слиянии 1, и при под слиянии размер резерва не меньше минимально требуемого.