Алгоритм

Поделись знанием:
Перейти к: навигация, поиск

Алгори́тм — набор инструкций, описывающих порядок действий исполнителя для достижения некоторого результата. В старой трактовке вместо слова «порядок» использовалось слово «последовательность», но по мере развития параллельности в работе компьютеров слово «последовательность» стали заменять более общим словом «порядок». Независимые инструкции могут выполняться в произвольном порядке, параллельно, если это позволяют используемые исполнители.

Ранее в русском языке писали «алгорифм», сейчас такое написание используется редко, но, тем не менее, имеет место исключение (нормальный алгорифм Маркова).

Часто в качестве исполнителя выступает компьютер, но понятие алгоритма необязательно относится к компьютерным программам, так, например, чётко описанный рецепт приготовления блюда также является алгоритмом, в таком случае исполнителем является человек (а может быть и некоторый механизм, ткацкий станок, и пр.).

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

Понятие алгоритма относится к первоначальным, основным, базисным понятиям математики. Вычислительные процессы алгоритмического характера (арифметические действия над целыми числами, нахождение наибольшего общего делителя двух чисел и т. д.) известны человечеству с глубокой древности. Однако в явном виде понятие алгоритма сформировалось лишь в начале XX века.

Частичная формализация понятия алгоритма началась с попыток решения проблемы разрешения (нем. Entscheidungsproblem), которую сформулировал Давид Гильберт в 1928 году. Следующие этапы формализации были необходимы для определения эффективных вычислений[1] или «эффективного метода»[2]; среди таких формализаций — рекурсивные функции Геделя — Эрбрана — Клини 1930, 1934 и 1935 гг., λ-исчисление Алонзо Чёрча 1936 г., «Формулировка 1» Эмиля Поста 1936 года и машина Тьюринга. В методологии алгоритм является базисным понятием и получает качественно новое понятие как оптимальности по мере приближения к прогнозируемому абсолюту. В современном мире алгоритм в формализованном выражении составляет основу образования на примерах, по подобию.





История термина

Современное формальное определение вычислительного алгоритма было дано в 30—50-е годы XX века в работах Тьюринга, Поста, Чёрча (тезис Чёрча — Тьюринга), Н. Винера, А. А. Маркова.

Само слово «алгоритм» происходит от имени хорезмского учёного Абу Абдуллах Мухаммеда ибн Муса аль-Хорезми (алгоритм — аль-Хорезми). Около 825 года он написал сочинение, в котором впервые дал описание придуманной в Индии позиционной десятичной системы счисления. К сожалению, персидский оригинал книги не сохранился. Аль-Хорезми сформулировал правила вычислений в новой системе и, вероятно, впервые использовал цифру 0 для обозначения пропущенной позиции в записи числа (её индийское название арабы перевели как as-sifr или просто sifr, отсюда такие слова, как «цифра» и «шифр»). Приблизительно в это же время индийские цифры начали применять и другие арабские учёные. В первой половине XII века книга аль-Хорезми в латинском переводе проникла в Европу. Переводчик, имя которого до нас не дошло, дал ей название Algoritmi de numero Indorum («Алгоритмы о счёте индийском»). По-арабски же книга именовалась Китаб аль-джебр валь-мукабала («Книга о сложении и вычитании»). Из оригинального названия книги происходит слово «алгебра» (аль-джебр — восполнение).

Таким образом, мы видим, что латинизированное имя среднеазиатского учёного было вынесено в заглавие книги, и сегодня считается, что слово «алгоритм» попало в европейские языки именно благодаря этому сочинению. Однако вопрос о его смысле длительное время вызывал ожесточённые споры. На протяжении многих веков происхождению слова давались самые разные объяснения.

Например, существует версияК:Википедия:Статьи без источников (тип: не указан)[источник не указан 2906 дней] происхождения слова algorism из греческих algiros (больной) и arithmos (число). Из такого объяснения не очень ясно, почему числа именно «больные». Энциклопедический словарь Брокгауза и Ефрона предлагает такую трактовку: алгорифм (кстати, до революции использовалось написание алгориѳм, через фиту) производится «от арабского слова Аль-Горетм, то есть корень».

Упомянутый выше перевод сочинения аль-Хорезми стал первой ласточкой, и в течение нескольких следующих столетий появилось множество других трудов, посвящённых всё тому же вопросу — обучению искусству счёта с помощью цифр. И все они в названии имели слово algoritmi или algorismi.

Про аль-Хорезми позднейшие авторы ничего не знали, но поскольку первый перевод книги начинается словами: «Dixit algorizmi: …» («Аль-Хорезми говорил: …»), всё ещё связывали это слово с именем конкретного человека. Очень распространённой была версия о греческом происхождении книги. В англо-норманнской рукописи XIII века, написанной в стихах, читаем:

Алгоризм был придуман в Греции.

Это часть арифметики. Придуман он был мастером по имени Алгоризм, который дал ему своё имя. И поскольку его звали Алгоризм,

Он назвал свою книгу «Алгоризм».

Около 1250 года английский астроном и математик Иоанн Сакробоско написал труд по арифметике Algorismus vulgaris, на столетия ставший основным учебником по вычислениям в десятичной позиционной системе счисления во многих европейских университетах. Во введении Сакробоско назвал автором науки о счёте мудреца по имени Алгус (Algus). А в популярной средневековой поэме «Роман о Розе» (1275—1280) Жана де Мена «греческий философ Алгус» ставится в один ряд с Платоном, Аристотелем, Евклидом и Птолемеем! Встречался также вариант написания имени Аргус (Argus). И хотя, согласно древнегреческой мифологии, корабль «Арго» был построен Ясоном, именно этому Арго приписывалось строительство корабля.

«Мастер Алгус» (или Аргус) стал в средневековой литературе олицетворением счётного искусства. И в уже упоминавшейся «Романе о розе», и в известной итальянской поэме «Цветок», написанной Дуранте, имеются фрагменты, в которых говорится, что даже «mestre Argus» не сумеет подсчитать, сколько раз ссорятся и мирятся влюблённые. Английский поэт Джефри Чосер в поэме «Книга герцогини» (1369 г.) пишет, что даже «славный счётчик Аргус» (noble countour Argu) не сможет счесть чудовищ, явившихся в кошмарных видениях герою.

Впрочем, греческая версия была не единственной. Мифический АлГор (Algor) именовался то королём Кастилии (Rex quodam Castelliae), то индийским королём, то арабским мудрецом (philosophus Algus nomine Arabicus), то египетским божеством. Соответственно АлГорРитм — это ритм (порядок) бога Гора (АлГора).

Однако со временем такие объяснения всё менее занимали математиков, и слово algorism (или algorismus), неизменно присутствовавшее в названиях математических сочинений, обрело значение способа выполнения арифметических действий посредством арабских цифр, то есть на бумаге, без использования абака. Именно в таком значении оно вошло во многие европейские языки. Например, с пометкой «устар.» оно присутствует в представительном словаре английского языка Webster’s New World Dictionary, изданном в 1957 г.

Алгоритм — это искусство счёта с помощью цифр, но поначалу слово «цифра» относилось только к нулю. Знаменитый французский трувер Готье де Куанси (Gautier de Coincy, 1177—1236) в одном из стихотворений использовал слова algorismus-cipher (которые означали цифру 0) как метафору для характеристики абсолютно никчёмного человека. Очевидно, понимание такого образа требовало соответствующей подготовки слушателей, а это означает, что новая система счисления уже была им достаточно хорошо известна.

Многие века абак был фактически единственным средством для практичных вычислений, им пользовались и купцы, и менялы, и учёные. Достоинства вычислений на счётной доске разъяснял в своих сочинениях такой выдающийся мыслитель, как Герберт Аврилакский (938—1003), ставший в 999 г. папой римским под именем Сильвестра II. Новое с огромным трудом пробивало себе дорогу, и в историю математики вошло упорное противостояние лагерей алгорисмиков и абацистов (иногда называемых гербекистами), которые пропагандировали использование для вычислений абака вместо арабских цифр. Интересно, что известный французский математик Николя Шюке (Nicolas Chuquet, 1445—1488) в реестр налогоплательщиков города Лиона был вписан как алгорисмик (algoriste). Но прошло не одно столетие, прежде чем новый способ счёта окончательно утвердился, столько времени потребовалось, чтобы выработать общепризнанные обозначения, усовершенствовать и приспособить к записи на бумаге методы вычислений. В Западной Европе учителей арифметики вплоть до XVII века продолжали называть «магистрами абака», как, например, математика Никколо Тарталью (1500—1557).

Итак, сочинения по искусству счёта назывались Алгоритмами. Из многих сотен можно выделить и такие необычные, как написанный в стихах трактат Carmen de Algorismo (латинское carmen и означает стихи) Александра де Вилла Деи (Alexander de Villa Dei, ум. 1240) или учебник венского астронома и математика Георга Пурбаха (Georg Peurbach, 1423—1461) Opus algorismi jocundissimi («Веселейшее сочинение по алгоритму»).

Постепенно значение слова расширялось. Учёные начинали применять его не только к сугубо вычислительным, но и к другим математическим процедурам. Например, около 1360 г. французский философ Николай Орем (Nicolaus Oresme, 1323/25-1382) написал математический трактат Algorismus proportionum («Вычисление пропорций»), в котором впервые использовал степени с дробными показателями и фактически вплотную подошёл к идее логарифмов. Когда же на смену абаку пришёл так называемый счёт на линиях, многочисленные руководства по нему стали называть Algorithmus linealis, то есть правила счёта на линиях.

Можно обратить внимание на то, что первоначальная форма algorismi спустя какое-то время потеряла последнюю букву, и слово приобрело более удобное для европейского произношения вид algorism. Позднее и оно, в свою очередь, подверглось искажению, скорее всего, связанному со словом arithmetic.

В 1684 году Готфрид Лейбниц в сочинении Nova Methodvs pro maximis et minimis, itemque tangentibus… впервые использовал слово «алгоритм» (Algorithmo) в ещё более широком смысле: как систематический способ решения проблем дифференциального исчисления.

В XVIII веке в одном из германских математических словарей, Vollstandiges mathematisches Lexicon (изданном в Лейпциге в 1747 г.), термин algorithmus всё ещё объясняется как понятие о четырёх арифметических операциях. Но такое значение не было единственным, ведь терминология математической науки в те времена ещё только формировалась. В частности, выражение algorithmus infinitesimalis применялось к способам выполнения действий с бесконечно малыми величинами. Пользовался словом алгоритм и Леонард Эйлер, одна из работ которого так и называется — «Использование нового алгоритма для решения проблемы Пелля» (De usu novi algorithmi in problemate Pelliano solvendo). Мы видим, что понимание Эйлером алгоритма как синонима способа решения задачи уже очень близко к современному.

Однако потребовалось ещё почти два столетия, чтобы все старинные значения слова вышли из употребления. Этот процесс можно проследить на примере проникновения слова «алгоритм» в русский язык.

Историки датируют 1691 годом один из списков древнерусского учебника арифметики, известного как «Счётная мудрость». Это сочинение известно во многих вариантах (самые ранние из них почти на сто лет старше) и восходит к ещё более древним рукописям XVI в. По ним можно проследить, как знание арабских цифр и правил действий с ними постепенно распространялось на Руси. Полное название этого учебника — «Сия книга, глаголемая по еллински и по гречески арифметика, а по немецки алгоризма, а по русски цифирная счётная мудрость».

Таким образом, слово «алгоритм» понималось первыми русскими математиками так же, как и в Западной Европе. Однако его не было ни в знаменитом словаре В. И. Даля, ни спустя сто лет в «Толковом словаре русского языка» под редакцией Д. Н. Ушакова (1935 г.). Зато слово «алгорифм» можно найти и в популярном дореволюционном Энциклопедическом словаре братьев Гранат, и в первом издании Большой советской энциклопедии (БСЭ), изданном в 1926 г. И там, и там оно трактуется одинаково: как правило, по которому выполняется то или иное из четырёх арифметических действий в десятичной системе счисления. Однако к началу XX в. для математиков слово «алгоритм» уже означало любой арифметический или алгебраический процесс, выполняемый по строго определённым правилам, и это объяснение также даётся в следующих изданиях БСЭ.

Алгоритмы становились предметом всё более пристального внимания учёных, и постепенно это понятие заняло одно из центральных мест в современной математике. Что же касается людей, от математики далёких, то к началу сороковых годов это слово они могли услышать разве что во время учёбы в школе, в сочетании «алгоритм Евклида». Несмотря на это, алгоритм всё ещё воспринимался как термин сугубо специальный, что подтверждается отсутствием соответствующих статей в менее объёмных изданиях. В частности, его нет даже в десятитомной Малой советской энциклопедии (1957 г.), не говоря уже об однотомных энциклопедических словарях. Но зато спустя десять лет, в третьем издании Большой советской энциклопедии (1969 г.) алгоритм уже характеризуется как одна из основных категорий математики, «не обладающих формальным определением в терминах более простых понятий, и абстрагируемых непосредственно из опыта». Как мы видим, отличие даже от трактовки первым изданием БСЭ разительное! За сорок лет алгоритм превратился в одно из ключевых понятий математики, и признанием этого стало включение слова уже не в энциклопедии, а в словари. Например, оно присутствует в академическом «Словаре русского языка» (1981 г.) именно как термин из области математики.

Одновременно с развитием понятия алгоритма постепенно происходила и его экспансия из чистой математики в другие сферы. И начало ей положило появление компьютеров, благодаря которому слово «алгоритм» вошло в 1985 г. во все школьные учебники информатики и обрело новую жизнь. Вообще можно сказать, что его сегодняшняя известность напрямую связана со степенью распространения компьютеров. Например, в третьем томе «Детской энциклопедии» (1959 г.) о вычислительных машинах говорится немало, но они ещё не стали чем-то привычным и воспринимаются скорее как некий атрибут светлого, но достаточно далёкого будущего. Соответственно и алгоритмы ни разу не упоминаются на её страницах. Но уже в начале 70-х гг. прошлого столетия, когда компьютеры перестали быть экзотической диковинкой, слово «алгоритм» стремительно входит в обиход. Это чутко фиксируют энциклопедические издания. В «Энциклопедии кибернетики» (1974 г.) в статье «Алгоритм» он уже связывается с реализацией на вычислительных машинах, а в «Советской военной энциклопедии» (1976 г.) даже появляется отдельная статья «Алгоритм решения задачи на ЭВМ». За последние полтора-два десятилетия компьютер стал неотъемлемым атрибутом нашей жизни, компьютерная лексика становится всё более привычной. Слово «алгоритм» в наши дни известно, вероятно, каждому. Оно уверенно шагнуло даже в разговорную речь, и сегодня мы нередко встречаем в газетах и слышим в выступлениях политиков выражения вроде «алгоритм поведения», «алгоритм успеха» или даже «алгоритм предательства». Академик Н. Н. Моисеев назвал свою книгу «Алгоритмы развития», а известный врач Н. М. Амосов — «Алгоритм здоровья» и «Алгоритмы разума». А это означает, что слово живёт, обогащаясь всё новыми значениями и смысловыми оттенками.

Определения алгоритма

Формальное определение

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

Первые попытки уточнения понятия алгоритма и его исследования осуществляли в первой половине XX века Алан Тьюринг, Эмиль Пост, Жак Эрбран, Курт Гедель, А. А. Марков, Алонзо Чёрч. Было разработано несколько определений понятия алгоритма, но впоследствии было выяснено, что все они определяют одно и то же понятие (см. Тезис Чёрча — Тьюринга)[3]

Машина Тьюринга

Основная идея, лежащая в основе машины Тьюринга, очень проста. Машина Тьюринга — это абстрактная машина (автомат), работающая с лентой отдельных ячеек, в которых записаны символы. Машина также имеет головку для записи и чтения символов из ячеек, которая может двигаться вдоль ленты. На каждом шаге машина считывает символ из ячейки, на которую указывает головка, и, на основе считанного символа и внутреннего состояния, делает следующий шаг. При этом машина может изменить своё состояние, записать другой символ в ячейку или передвинуть головку на одну ячейку вправо или влево.[4]

На основе исследования этих машин был выдвинут тезис Тьюринга (основная гипотеза алгоритмов):

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

Этот тезис является аксиомой, постулатом, и не может быть доказан математическими методами, поскольку алгоритм не является точным математическим понятием.

Рекурсивные функции

С каждым алгоритмом можно сопоставить функцию, которую он вычисляет. Однако возникает вопрос, можно ли произвольной функции сопоставить машину Тьюринга, а если нет, то для каких функций существует алгоритм? Исследования этих вопросов привели к созданию в 1930-х годах теории рекурсивных функций[5].

Класс вычислимых функций был записан в образ, напоминающий построение некоторой аксиоматической теории на базе системы аксиом. Сначала были выбраны простейшие функции, вычисление которых очевидно. Затем были сформулированы правила (операторы) построения новых функций на основе уже существующих. Необходимый класс функций состоит из всех функций, которые можно получить из простейших применением операторов.

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

Числовая функция тогда и только тогда алгоритмически исчисляется, когда она частично рекурсивна.

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

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

Нормальный алгоритм Маркова

Нормальный алгоритм Маркова — это система последовательных применений подстановок, которые реализуют определенные процедуры получения новых слов из базовых, построенных из символов некоторого алфавита. Как и машина Тьюринга, нормальные алгоритмы не выполняют самих вычислений: они лишь выполняют преобразование слов путём замены букв по заданным правилам[6].

Нормально вычислимой называют функцию, которую можно реализовать нормальным алгоритмом. То есть алгоритмом, который каждое слово из множества допустимых данных функции превращает в её исходные значения[7]..

Создатель теории нормальных алгоритмов А. А. Марков выдвинул гипотезу, которая получила название принцип нормализации Маркова:

Для нахождения значений функции, заданной в некотором алфавите, тогда и только тогда существует некоторый алгоритм, когда функция нормально исчисляемая.

Подобно тезисам Тьюринга и Черча, принцип нормализации Маркова не может быть доказан математическими средствами.

Стохастические алгоритмы

Однако приведенное выше формальное определение алгоритма в некоторых случаях может быть слишком строгим. Иногда возникает потребность в использовании случайных величин[8]. Алгоритм, работа которого определяется не только исходными данными, но и значениями, полученными из генератора случайных чисел, называют стохастическим (или рандомизированным, от англ. randomized algorithm)[9]. Стохастические алгоритмы часто бывают эффективнее детерминированных, а в отдельных случаях — единственным способом решить задачу[8].

На практике вместо генератора случайных чисел используют генератор псевдослучайных чисел.

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

Некоторые исследователи допускают возможность того, что стохастический алгоритм даст с некоторой заранее известной вероятностью неправильный результат. Тогда стохастические алгоритмы можно разделить на два типа[10]:

Другие формализации

Для некоторых задач названные выше формализации могут затруднять поиск решений и осуществление исследований. Для преодоления препятствий были разработаны как модификации «классических» схем, так и созданы новые модели алгоритма. В частности, можно назвать:

и другие.

Формальные свойства алгоритмов

Различные определения алгоритма в явной или неявной форме содержат следующий ряд общих требований:

  • Дискретность — алгоритм должен представлять процесс решения задачи как последовательное выполнение некоторых простых шагов. При этом для выполнения каждого шага алгоритма требуется конечный отрезок времени, то есть преобразование исходных данных в результат осуществляется во времени дискретно.
  • Детерминированность (определённость). В каждый момент времени следующий шаг работы однозначно определяется состоянием системы. Таким образом, алгоритм выдаёт один и тот же результат (ответ) для одних и тех же исходных данных. В современной трактовке у разных реализаций одного и того же алгоритма должен быть изоморфный граф. С другой стороны, существуют вероятностные алгоритмы, в которых следующий шаг работы зависит от текущего состояния системы и генерируемого случайного числа. Однако при включении метода генерации случайных чисел в список «исходных данных» вероятностный алгоритм становится подвидом обычного.
  • Понятность — алгоритм должен включать только те команды, которые доступны исполнителю и входят в его систему команд.
  • Завершаемость (конечность) — в более узком понимании алгоритма как математической функции, при корректно заданных исходных данных алгоритм должен завершать работу и выдавать результат за конечное число шагов.К:Википедия:Статьи без источников (тип: не указан)[источник не указан 4874 дня] С другой стороны, вероятностный алгоритм может и никогда не выдать результат, но вероятность этого равна 0.
  • Массовость (универсальность). Алгоритм должен быть применим к разным наборам исходных данных.
  • Результативность — завершение алгоритма определёнными результатами.
  • Алгоритм содержит ошибки, если приводит к получению неправильных результатов либо не даёт результатов вовсе.
  • Алгоритм не содержит ошибок, если он даёт правильные результаты для любых допустимых исходных данных.

Виды алгоритмов

Виды алгоритмов как логико-математических средств отражают указанные компоненты человеческой деятельности и тенденции, а сами алгоритмы в зависимости от цели, начальных условий задачи, путей её решения. Следует подчеркнуть принципиальную разницу между алгоритмами вычислительного характера, преобразующими некоторые входные данные в выходные (именно их формализацией являются упомянутые выше машины Тьюринга, Поста, РАМ, нормальные алгорифмы Маркова и рекурсивные функции), и интерактивными алгоритмами (уже у Тьюринга встречается C-машина, от англ. choice — выбор, ожидающая внешнего воздействия, в отличие от классической A-машины, где все исходные данные заданы до начала вычисления и выходные данные недоступны до окончания вычисления). Последние предназначены для взаимодействия с некоторым объектом управления и призваны обеспечить корректную выдачу управляющих воздействий в зависимости от складывающейся ситуации, отражаемой поступающими от объекта управления сигналами[11][12]. В некоторых случаях алгоритм управления вообще не предусматривает окончания работы (например, поддерживает бесконечный цикл ожидания событий, на которые выдается соответствующая реакция), несмотря на это, являясь полностью правильным.

Можно также выделить алгоритмы:

Механические алгоритмы, или иначе детерминированные, жесткие (например, алгоритм работы машины, двигателя и т. п.) — задают определенные действия, обозначая их в единственной и достоверной последовательности, обеспечивая тем самым однозначный требуемый или искомый результат, если выполняются те условия процесса, задачи, для которых разработан алгоритм.

Гибкие алгоритмы, например, стохастические, то есть вероятностные и эвристические.

Вероятностный (стохастический) алгоритм дает программу решения задачи несколькими путями или способами, приводящими к вероятному достижению результата.

Эвристический алгоритм (от греческого слова «эврика») — алгоритм, использующий различные разумные соображения без строгих обоснований[13].

Линейный алгоритм — набор команд (указаний), выполняемых последовательно во времени друг за другом.

Разветвляющийся алгоритм — алгоритм, содержащий хотя бы одно условие, в результате проверки которого может осуществляться разделение на несколько альтернативных ветвей алгоритма.

Циклический алгоритм — алгоритм, предусматривающий многократное повторение одного и того же действия (одних и тех же операций) над новыми исходными данными. К циклическим алгоритмам сводится большинство методов вычислений, перебора вариантов. Цикл программы — последовательность команд (серия, тело цикла), которая может выполняться многократно (для новых исходных данных) до удовлетворения некоторого условия.

Вспомогательный (подчиненный) алгоритм (процедура) — алгоритм, ранее разработанный и целиком используемый при алгоритмизации конкретной задачи. В некоторых случаях при наличии одинаковых последовательностей указаний (команд) для различных данных с целью сокращения записи также выделяют вспомогательный алгоритм. На всех этапах подготовки к алгоритмизации задачи широко используется структурное представление алгоритма.

Структурная блок-схема, граф-схема алгоритма — графическое изображение алгоритма в виде схемы связанных между собой с помощью стрелок (линий перехода) блоков — графических символов, каждый из которых соответствует одному шагу алгоритма. Внутри блока дается описание соответствующего действия. Графическое изображение алгоритма широко используется перед программированием задачи вследствие его наглядности, так как зрительное восприятие обычно облегчает процесс написания программы, её корректировки при возможных ошибках, осмысливание процесса обработки информации.

Можно встретить даже такое утверждение: «Внешне алгоритм представляет собой схему — набор прямоугольников и других символов, внутри которых записывается, что вычисляется, что вводится в машину и что выдается на печать и другие средства отображения информации».

Нумерация алгоритмов

Нумерация алгоритмов играет важную роль в их исследовании и анализе[14]. Поскольку любой алгоритм можно задать в виде конечного слова (представить в виде конечной последовательности символов некоторого алфавита), а множество всех конечных слов в конечном алфавите счётное, то множество всех алгоритмов также счётное. Это означает существование взаимно однозначного отображения между множеством натуральных чисел и множеством алгоритмов, то есть возможность присвоить каждому алгоритму номер.

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

Существование нумерации позволяет работать с алгоритмами так же, как с числами. Особенно полезна нумерация в исследовании алгоритмов, работающих с другими алгоритмами.

Алгоритмически неразрешимые задачи

Формализация понятия алгоритма позволила исследовать существование задач, для которых не существует алгоритмов поиска решений. Впоследствии была доказана невозможность алгоритмического вычисления решений ряда задач, что делает невозможным их решение на любом вычислительном устройстве. Функцию <math>f</math> называют вычислимой (англ. computable), если существует машина Тьюринга, которая вычисляет значение <math>f</math> для всех элементов множества определения функции. Если такой машины не существует, функцию <math>f</math> называют невычислимой. Функция будет считаться невычислимой, даже если существуют машины Тьюринга, способные вычислить значение для подмножества из всего множества входных данных[15].

Случай, когда результатом вычисления функции <math>f</math> является логическое выражение «истина» или «ложь» (или множество {0, 1}), называют задачей, которая может быть решаемой или нерешаемой, в зависимости от вычислимости функции <math>f</math>[15].

Важно точно указывать допустимое множество входных данных, поскольку задача может быть решаемой для одного множества и нерешаемой для другого.

Одной из первых задач, для которой была доказана нерешаемость, является проблема остановки. Формулируется она следующим образом:

Имея описание программы для машины Тьюринга, требуется определить, завершит ли работу программа за конечное время или будет работать бесконечно, получив некоторые входные данные.[16]

Доказательство неразрешимости проблемы остановки важно тем, что к ней можно свести другие задачи. Например, простую проблему остановки можно свести к задаче остановки на пустой строке (когда нужно определить для заданной машины Тьюринга, остановится ли она, будучи запущенной на пустой строке), доказав тем самым неразрешимость последней.[15].

Анализ алгоритмов

Вместе с распространением информационных технологий увеличился риск программных сбоев. Одним из способов избежания ошибок в алгоритмах и их реализациях служат доказательства корректности систем математическими средствами.

Использование математического аппарата для анализа алгоритмов и их реализаций называют формальными методами. Формальные методы предусматривают применение формальных спецификаций и, обычно, набора инструментов для синтаксического анализа и доказательства свойств спецификаций. Абстрагирование от деталей реализации позволяет установить свойства системы независимо от её реализации. Кроме того, точность и однозначность математических утверждений позволяет избежать многозначности и неточности естественных языков[17].

По гипотезе Ричарда Мейса, «избежание ошибок лучше устранения ошибок»[18]. По гипотезе Хоара, «доказательство программ решает проблему корректности, документации и совместимости»[19]. Доказательство корректности программ позволяет выявлять их свойства по отношению ко всему диапазону входных данных. Для этого понятие корректности было разделено на два типа:

  • Частичная корректность — программа дает правильный результат для тех случаев, когда она завершается.
  • Полная корректность — программа завершает работу и выдает правильный результат для всех элементов из диапазона входных данных.

Во время доказательства корректности сравнивают текст программы со спецификацией желаемого соотношения входных-выходных данных. Для доказательств типа Хоара эта спецификация имеет вид утверждений, которые называют предусловиями и постусловиями. В совокупности с самой программой их ещё называют тройкой Хоара. Эти утверждения записывают

P{Q}R

где P — это предусловие, что должно выполняться перед запуском программы Q, а R — постусловие, правильное после завершения работы программы.

Формальные методы были успешно применены для широкого круга задач, в частности: разработке электронных схем, искусственного интеллекта, автоматических систем на железной дороге, верификации микропроцессоров, спецификации стандартов и спецификации и верификации программ[20].

Время работы

Распространенным критерием оценки алгоритмов является время работы и порядок роста продолжительности работы в зависимости от объёма входных данных.[21]

Для каждой конкретной задачи составляют некоторое число, которое называют её размером. Например, размером задачи вычисления произведения матриц может быть наибольший размер матриц-множителей, для задач на графах размером может быть количество ребер графа.

Время, которое тратит алгоритм как функция от размера задачи <math>n</math>, называют временной сложностью этого алгоритма T(n). Асимптотику поведения этой функции при увеличении размера задачи называют асимптотичной временной сложностью, а для её обозначения используют нотацию «O» большое. Например, если алгоритм обрабатывает входные данные размером <math>n</math> за время cn², где c — некоторая константа, то говорят, что временная сложность такого алгоритма O(n²).

Асимптотическая сложность важна тем, что является характеристикой алгоритма, а не его конкретной реализации: «оптимизацией» операций, без замены алгоритма, можно изменить только мультипликативный коэффициент c, но не асимптотику. Как правило, именно асимптотическая сложность является главным фактором, который определяет размер задач, которые алгоритм способен обработать.

Часто во время разработки алгоритма пытаются уменьшить асимптотическую временную сложность для наихудших случаев. На практике же бывают случаи, когда достаточным является алгоритм, который «обычно» работает быстро.

Грубо говоря, анализ средней асимптотической временной сложности можно разделить на два типа: аналитический и статистический. Аналитический метод дает более точные результаты, но сложен в использовании на практике. Зато статистический метод позволяет быстрее осуществлять анализ сложных задач[22].

В следующей таблице приведены распространенные асимптотические сложности с комментариями[23].


Сложность Комментарий Примеры
O(1) Устойчивое время работы не зависит от размера задачи Ожидаемое время поиска в хеш-таблице
O(log log n) Очень медленный рост необходимого времени Ожидаемое время работы интерполирующего поиска n элементов
O(log n) Логарифмический рост — удвоение размера задачи увеличивает время работы на постоянную величину Вычисление xn; Двоичный поиск в массиве из n элементов
O(n) Линейный рост — удвоение размера задачи удвоит и необходимое время Сложение/вычитание чисел из n цифр; Линейный поиск в массиве из n элементов
O(n log n) Линеаритмичный рост — удвоение размера задачи увеличит необходимое время чуть более, чем вдвое Сортировка слиянием или кучей n элементов; нижняя граница сортировки сопоставлением n элементов
O(n²) Квадратичный рост — удвоение размера задачи увеличивает необходимое время в четыре раза Элементарные алгоритмы сортировки
O(n³) Кубичный рост — удвоение размера задачи увеличивает необходимое время в восемь раз Обычное умножение матриц
O(cn) Экспоненциальный рост — увеличение размера задачи на 1 приводит к c-кратному увеличению необходимого времени; удвоение размера задачи увеличивает необходимое время в квадрат Некоторые задачи коммивояжёра, алгоритмы поиска полным перебором

Наличие исходных данных и некоторого результата

Алгоритм — это точно определённая инструкция, последовательно применяя которую к исходным данным, можно получить решение задачи. Для каждого алгоритма есть некоторое множество объектов, допустимых в качестве исходных данных. Например, в алгоритме деления вещественных чисел делимое может быть любым, а делитель не может быть равен нулю.

Алгоритм служит, как правило, для решения не одной конкретной задачи, а некоторого класса задач. Так, алгоритм сложения применим к любой паре натуральных чисел. В этом выражается его свойство массовости, то есть возможности применять многократно один и тот же алгоритм для любой задачи одного класса.

Для разработки алгоритмов и программ используется алгоритмизация — процесс систематического составления алгоритмов для решения поставленных прикладных задач. Алгоритмизация считается обязательным этапом в процессе разработки программ и решении задач на ЭВМ. Именно для прикладных алгоритмов и программ принципиально важны детерминированность, результативность и массовость, а также правильность результатов решения поставленных задач.

Алгоритм — это понятное и точное предписание исполнительно совершить последовательность действий, направленных на достижение цели.

Представление алгоритмов

Формы записи алгоритма:

Обычно сначала (на уровне идеи) алгоритм описывается словами, но по мере приближения к реализации он обретает всё более формальные очертания и формулировку на языке, понятном исполнителю (например, машинный код).

Эффективность алгоритмов

Хотя в определении алгоритма требуется лишь конечность числа шагов, требуемых для достижения результата, на практике выполнение даже хотя бы миллиарда шагов является слишком медленным. Также обычно есть другие ограничения (на размер программы, на допустимые действия). В связи с этим вводят такие понятия, как сложность алгоритма (временна́я, по размеру программы, вычислительная и др.).

Для каждой задачи может существовать множество алгоритмов, приводящих к цели. Увеличение эффективности алгоритмов составляет одну из задач современной информатики. В 50-х гг. XX века появилась даже отдельная её область — быстрые алгоритмы. В частности, в известной всем с детства задаче об умножении десятичных чисел обнаружился ряд алгоритмов, позволяющих существенно (в асимптотическом смысле) ускорить нахождение произведения. См. быстрое умножение

Ярким примером является алгоритм Чудновского для вычисления числа <math> \pi </math>.

Пример

В качестве примера можно привести алгоритм Евклида.

Алгоритм Евклида — эффективный метод вычисления наибольшего общего делителя (НОД). Назван в честь греческого математика Евклида; один из древнейших алгоритмов, который используют до сих пор[24].

Описан в «Началах» Евклида (примерно 300 до н. э.), а именно в книгах VII и X. В седьмой книге описан алгоритм для целых чисел, а в десятой — для длин отрезков.

Существует несколько вариантов алгоритма, ниже записанный в псевдокоде рекурсивный вариант:

функция нод(a, b)
    если b = 0
       возврат a
    иначе
       возврат нод(b, a mod b)

НОД чисел 1599 и 650:

Шаг 1 1599 = 650*2 + 299
Шаг 2 650 = 299*2 + 52
Шаг 3 299 = 52*5 + 39
Шаг 4 52 = 39*1 + 13
Шаг 5 39 = 13*3 + 0


См. также

Напишите отзыв о статье "Алгоритм"

Примечания

  1. Kleene 1943 in Davis 1965: 274
  2. Rosser 1939 in Davis 1965: 225
  3. (Игошин, с. 317)
  4. [scienceblogs.com/goodmath/2007/02/basics_the_turing_machine_with_1.php Basics: The Turing Machine (with an interpreter!)]. Good Math, Bad Math (9 февраля 2007). [www.webcitation.org/659x9ts9V Архивировано из первоисточника 2 февраля 2012].
  5. (Игошин, раздел 33)
  6. Энциклопедия кибернетики, т. 2, c. 90—91.
  7. (Игошин, раздел 34)
  8. 1 2 «Probabilistic algorithms should not be mistaken with methods (which I refuse to call algorithms), which produce a result which has a high probability of being correct. It is essential that an algorithm produces correct results (discounting human or computer errors), even if this happens after a very long time». Henri Cohen. A Course in Computational Algebraic Number Theory. — Springer-Verlag, 1996. — P. 2. — ISBN 3-540-55640-0.
  9. Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rives't, Clifford Stein. . — ISBN 0-262-03293-7.
  10. (Раздел 12, с. 12—22 в Atallah, 2010)
  11. Dina Goldin, Peter Wegner. The origins of the Turing Thesis Myth, CS-04-14, October 2004
  12. [c2.com/cgi/wiki?InteractiveComputationIsMorePowerfulThanNonInteractive Interactive Computation Is More Powerful Than Non Interactive], c2.com
  13. М. Гэри, Д. Джонсон, Вычислительные машины и труднорешаемые задачи, М.: Мир, 1982, C. 155.
  14. (Игошин, раздел 36)
  15. 1 2 3 Peter Linz. An Introduction to Formal Languages and Automata. — Jones and Bartlett Publishers, 2000. — ISBN 0-7637-1422-4.
  16. "computability and complexity", Encyclopedia of computer Science and Technology, Facts On File, 2009, ISBN 978-0-8160-6382-6 
  17. (O’Regan, раздел 4.5)
  18. (раздел 5.3.6 в Enders, 2003)
  19. (раздел 5.3.7 в Enders, 2003)
  20. (O’Regan, с. 119)
  21. А. Ахо, Дж. Хопкрофт, Дж. Ульман. Построение и анализ вычислительных алгоритмов = The Design and Analysis of Computer Algorithms. — «Мир», 1979.
  22. (раздел 11 в Atallah, 2010)
  23. (раздел 1 в Atallah, 2010)
  24. Knuth D. The Art of Computer Programming, Volume 2: Seminumerical Algorithms. — 3rd. — Addison–Wesley, 1997. — ISBN 0201896842.

Литература

  • Томас Х. Кормен, Чарльз И. Лейзерсон, Рональд Л. Ривест, Клиффорд Штайн. Алгоритмы: построение и анализ, 3-е издание = Introduction to Algorithms, Third Edition. — М.: «Вильямс», 2013. — 1328 с. — ISBN 978-5-8459-1794-2.
  • Дональд Кнут. Искусство программирования, том 1. Основные алгоритмы = The Art of Computer Programming, vol. 1. Fundamental Algorithms. — 3-е изд.. — М.: «Вильямс», 2006. — С. 720. — ISBN 0-201-89683-4.
  • Томас Х. Кормен. Алгоритмы: вводный курс = Algorithms Unlocked. — М.: «Вильямс», 2014. — 208 с. — ISBN 978-5-8459-1868-0.
  • Игошин В. И. Математическая логика и теория алгоритмов. — 2-е изд., стер.. — М.: ИЦ «Академия», 2008. — 448 с. — ISBN 5-7695-1363-2.

Ссылки

Отрывок, характеризующий Алгоритм

В воздухе, на солнце, было тепло, и тепло это с крепительной свежестью утреннего заморозка, еще чувствовавшегося в воздухе, было особенно приятно.
На всем, и на дальних и на ближних предметах, лежал тот волшебно хрустальный блеск, который бывает только в эту пору осени. Вдалеке виднелись Воробьевы горы, с деревнею, церковью и большим белым домом. И оголенные деревья, и песок, и камни, и крыши домов, и зеленый шпиль церкви, и углы дальнего белого дома – все это неестественно отчетливо, тончайшими линиями вырезалось в прозрачном воздухе. Вблизи виднелись знакомые развалины полуобгорелого барского дома, занимаемого французами, с темно зелеными еще кустами сирени, росшими по ограде. И даже этот разваленный и загаженный дом, отталкивающий своим безобразием в пасмурную погоду, теперь, в ярком, неподвижном блеске, казался чем то успокоительно прекрасным.
Французский капрал, по домашнему расстегнутый, в колпаке, с коротенькой трубкой в зубах, вышел из за угла балагана и, дружески подмигнув, подошел к Пьеру.
– Quel soleil, hein, monsieur Kiril? (так звали Пьера все французы). On dirait le printemps. [Каково солнце, а, господин Кирил? Точно весна.] – И капрал прислонился к двери и предложил Пьеру трубку, несмотря на то, что всегда он ее предлагал и всегда Пьер отказывался.
– Si l'on marchait par un temps comme celui la… [В такую бы погоду в поход идти…] – начал он.
Пьер расспросил его, что слышно о выступлении, и капрал рассказал, что почти все войска выступают и что нынче должен быть приказ и о пленных. В балагане, в котором был Пьер, один из солдат, Соколов, был при смерти болен, и Пьер сказал капралу, что надо распорядиться этим солдатом. Капрал сказал, что Пьер может быть спокоен, что на это есть подвижной и постоянный госпитали, и что о больных будет распоряжение, и что вообще все, что только может случиться, все предвидено начальством.
– Et puis, monsieur Kiril, vous n'avez qu'a dire un mot au capitaine, vous savez. Oh, c'est un… qui n'oublie jamais rien. Dites au capitaine quand il fera sa tournee, il fera tout pour vous… [И потом, господин Кирил, вам стоит сказать слово капитану, вы знаете… Это такой… ничего не забывает. Скажите капитану, когда он будет делать обход; он все для вас сделает…]
Капитан, про которого говорил капрал, почасту и подолгу беседовал с Пьером и оказывал ему всякого рода снисхождения.
– Vois tu, St. Thomas, qu'il me disait l'autre jour: Kiril c'est un homme qui a de l'instruction, qui parle francais; c'est un seigneur russe, qui a eu des malheurs, mais c'est un homme. Et il s'y entend le… S'il demande quelque chose, qu'il me dise, il n'y a pas de refus. Quand on a fait ses etudes, voyez vous, on aime l'instruction et les gens comme il faut. C'est pour vous, que je dis cela, monsieur Kiril. Dans l'affaire de l'autre jour si ce n'etait grace a vous, ca aurait fini mal. [Вот, клянусь святым Фомою, он мне говорил однажды: Кирил – это человек образованный, говорит по французски; это русский барин, с которым случилось несчастие, но он человек. Он знает толк… Если ему что нужно, отказа нет. Когда учился кой чему, то любишь просвещение и людей благовоспитанных. Это я про вас говорю, господин Кирил. Намедни, если бы не вы, то худо бы кончилось.]
И, поболтав еще несколько времени, капрал ушел. (Дело, случившееся намедни, о котором упоминал капрал, была драка между пленными и французами, в которой Пьеру удалось усмирить своих товарищей.) Несколько человек пленных слушали разговор Пьера с капралом и тотчас же стали спрашивать, что он сказал. В то время как Пьер рассказывал своим товарищам то, что капрал сказал о выступлении, к двери балагана подошел худощавый, желтый и оборванный французский солдат. Быстрым и робким движением приподняв пальцы ко лбу в знак поклона, он обратился к Пьеру и спросил его, в этом ли балагане солдат Platoche, которому он отдал шить рубаху.
С неделю тому назад французы получили сапожный товар и полотно и роздали шить сапоги и рубахи пленным солдатам.
– Готово, готово, соколик! – сказал Каратаев, выходя с аккуратно сложенной рубахой.
Каратаев, по случаю тепла и для удобства работы, был в одних портках и в черной, как земля, продранной рубашке. Волоса его, как это делают мастеровые, были обвязаны мочалочкой, и круглое лицо его казалось еще круглее и миловиднее.
– Уговорец – делу родной братец. Как сказал к пятнице, так и сделал, – говорил Платон, улыбаясь и развертывая сшитую им рубашку.
Француз беспокойно оглянулся и, как будто преодолев сомнение, быстро скинул мундир и надел рубаху. Под мундиром на французе не было рубахи, а на голое, желтое, худое тело был надет длинный, засаленный, шелковый с цветочками жилет. Француз, видимо, боялся, чтобы пленные, смотревшие на него, не засмеялись, и поспешно сунул голову в рубашку. Никто из пленных не сказал ни слова.
– Вишь, в самый раз, – приговаривал Платон, обдергивая рубаху. Француз, просунув голову и руки, не поднимая глаз, оглядывал на себе рубашку и рассматривал шов.
– Что ж, соколик, ведь это не швальня, и струмента настоящего нет; а сказано: без снасти и вша не убьешь, – говорил Платон, кругло улыбаясь и, видимо, сам радуясь на свою работу.
– C'est bien, c'est bien, merci, mais vous devez avoir de la toile de reste? [Хорошо, хорошо, спасибо, а полотно где, что осталось?] – сказал француз.
– Она еще ладнее будет, как ты на тело то наденешь, – говорил Каратаев, продолжая радоваться на свое произведение. – Вот и хорошо и приятно будет.
– Merci, merci, mon vieux, le reste?.. – повторил француз, улыбаясь, и, достав ассигнацию, дал Каратаеву, – mais le reste… [Спасибо, спасибо, любезный, а остаток то где?.. Остаток то давай.]
Пьер видел, что Платон не хотел понимать того, что говорил француз, и, не вмешиваясь, смотрел на них. Каратаев поблагодарил за деньги и продолжал любоваться своею работой. Француз настаивал на остатках и попросил Пьера перевести то, что он говорил.
– На что же ему остатки то? – сказал Каратаев. – Нам подверточки то важные бы вышли. Ну, да бог с ним. – И Каратаев с вдруг изменившимся, грустным лицом достал из за пазухи сверточек обрезков и, не глядя на него, подал французу. – Эхма! – проговорил Каратаев и пошел назад. Француз поглядел на полотно, задумался, взглянул вопросительно на Пьера, и как будто взгляд Пьера что то сказал ему.
– Platoche, dites donc, Platoche, – вдруг покраснев, крикнул француз пискливым голосом. – Gardez pour vous, [Платош, а Платош. Возьми себе.] – сказал он, подавая обрезки, повернулся и ушел.
– Вот поди ты, – сказал Каратаев, покачивая головой. – Говорят, нехристи, а тоже душа есть. То то старички говаривали: потная рука торовата, сухая неподатлива. Сам голый, а вот отдал же. – Каратаев, задумчиво улыбаясь и глядя на обрезки, помолчал несколько времени. – А подверточки, дружок, важнеющие выдут, – сказал он и вернулся в балаган.


Прошло четыре недели с тех пор, как Пьер был в плену. Несмотря на то, что французы предлагали перевести его из солдатского балагана в офицерский, он остался в том балагане, в который поступил с первого дня.
В разоренной и сожженной Москве Пьер испытал почти крайние пределы лишений, которые может переносить человек; но, благодаря своему сильному сложению и здоровью, которого он не сознавал до сих пор, и в особенности благодаря тому, что эти лишения подходили так незаметно, что нельзя было сказать, когда они начались, он переносил не только легко, но и радостно свое положение. И именно в это то самое время он получил то спокойствие и довольство собой, к которым он тщетно стремился прежде. Он долго в своей жизни искал с разных сторон этого успокоения, согласия с самим собою, того, что так поразило его в солдатах в Бородинском сражении, – он искал этого в филантропии, в масонстве, в рассеянии светской жизни, в вине, в геройском подвиге самопожертвования, в романтической любви к Наташе; он искал этого путем мысли, и все эти искания и попытки все обманули его. И он, сам не думая о том, получил это успокоение и это согласие с самим собою только через ужас смерти, через лишения и через то, что он понял в Каратаеве. Те страшные минуты, которые он пережил во время казни, как будто смыли навсегда из его воображения и воспоминания тревожные мысли и чувства, прежде казавшиеся ему важными. Ему не приходило и мысли ни о России, ни о войне, ни о политике, ни о Наполеоне. Ему очевидно было, что все это не касалось его, что он не призван был и потому не мог судить обо всем этом. «России да лету – союзу нету», – повторял он слова Каратаева, и эти слова странно успокоивали его. Ему казалось теперь непонятным и даже смешным его намерение убить Наполеона и его вычисления о кабалистическом числе и звере Апокалипсиса. Озлобление его против жены и тревога о том, чтобы не было посрамлено его имя, теперь казались ему не только ничтожны, но забавны. Что ему было за дело до того, что эта женщина вела там где то ту жизнь, которая ей нравилась? Кому, в особенности ему, какое дело было до того, что узнают или не узнают, что имя их пленного было граф Безухов?
Теперь он часто вспоминал свой разговор с князем Андреем и вполне соглашался с ним, только несколько иначе понимая мысль князя Андрея. Князь Андрей думал и говорил, что счастье бывает только отрицательное, но он говорил это с оттенком горечи и иронии. Как будто, говоря это, он высказывал другую мысль – о том, что все вложенные в нас стремленья к счастью положительному вложены только для того, чтобы, не удовлетворяя, мучить нас. Но Пьер без всякой задней мысли признавал справедливость этого. Отсутствие страданий, удовлетворение потребностей и вследствие того свобода выбора занятий, то есть образа жизни, представлялись теперь Пьеру несомненным и высшим счастьем человека. Здесь, теперь только, в первый раз Пьер вполне оценил наслажденье еды, когда хотелось есть, питья, когда хотелось пить, сна, когда хотелось спать, тепла, когда было холодно, разговора с человеком, когда хотелось говорить и послушать человеческий голос. Удовлетворение потребностей – хорошая пища, чистота, свобода – теперь, когда он был лишен всего этого, казались Пьеру совершенным счастием, а выбор занятия, то есть жизнь, теперь, когда выбор этот был так ограничен, казались ему таким легким делом, что он забывал то, что избыток удобств жизни уничтожает все счастие удовлетворения потребностей, а большая свобода выбора занятий, та свобода, которую ему в его жизни давали образование, богатство, положение в свете, что эта то свобода и делает выбор занятий неразрешимо трудным и уничтожает самую потребность и возможность занятия.
Все мечтания Пьера теперь стремились к тому времени, когда он будет свободен. А между тем впоследствии и во всю свою жизнь Пьер с восторгом думал и говорил об этом месяце плена, о тех невозвратимых, сильных и радостных ощущениях и, главное, о том полном душевном спокойствии, о совершенной внутренней свободе, которые он испытывал только в это время.
Когда он в первый день, встав рано утром, вышел на заре из балагана и увидал сначала темные купола, кресты Ново Девичьего монастыря, увидал морозную росу на пыльной траве, увидал холмы Воробьевых гор и извивающийся над рекою и скрывающийся в лиловой дали лесистый берег, когда ощутил прикосновение свежего воздуха и услыхал звуки летевших из Москвы через поле галок и когда потом вдруг брызнуло светом с востока и торжественно выплыл край солнца из за тучи, и купола, и кресты, и роса, и даль, и река, все заиграло в радостном свете, – Пьер почувствовал новое, не испытанное им чувство радости и крепости жизни.
И чувство это не только не покидало его во все время плена, но, напротив, возрастало в нем по мере того, как увеличивались трудности его положения.
Чувство это готовности на все, нравственной подобранности еще более поддерживалось в Пьере тем высоким мнением, которое, вскоре по его вступлении в балаган, установилось о нем между его товарищами. Пьер с своим знанием языков, с тем уважением, которое ему оказывали французы, с своей простотой, отдававший все, что у него просили (он получал офицерские три рубля в неделю), с своей силой, которую он показал солдатам, вдавливая гвозди в стену балагана, с кротостью, которую он выказывал в обращении с товарищами, с своей непонятной для них способностью сидеть неподвижно и, ничего не делая, думать, представлялся солдатам несколько таинственным и высшим существом. Те самые свойства его, которые в том свете, в котором он жил прежде, были для него если не вредны, то стеснительны – его сила, пренебрежение к удобствам жизни, рассеянность, простота, – здесь, между этими людьми, давали ему положение почти героя. И Пьер чувствовал, что этот взгляд обязывал его.


В ночь с 6 го на 7 е октября началось движение выступавших французов: ломались кухни, балаганы, укладывались повозки и двигались войска и обозы.
В семь часов утра конвой французов, в походной форме, в киверах, с ружьями, ранцами и огромными мешками, стоял перед балаганами, и французский оживленный говор, пересыпаемый ругательствами, перекатывался по всей линии.
В балагане все были готовы, одеты, подпоясаны, обуты и ждали только приказания выходить. Больной солдат Соколов, бледный, худой, с синими кругами вокруг глаз, один, не обутый и не одетый, сидел на своем месте и выкатившимися от худобы глазами вопросительно смотрел на не обращавших на него внимания товарищей и негромко и равномерно стонал. Видимо, не столько страдания – он был болен кровавым поносом, – сколько страх и горе оставаться одному заставляли его стонать.
Пьер, обутый в башмаки, сшитые для него Каратаевым из цибика, который принес француз для подшивки себе подошв, подпоясанный веревкою, подошел к больному и присел перед ним на корточки.
– Что ж, Соколов, они ведь не совсем уходят! У них тут гошпиталь. Может, тебе еще лучше нашего будет, – сказал Пьер.
– О господи! О смерть моя! О господи! – громче застонал солдат.
– Да я сейчас еще спрошу их, – сказал Пьер и, поднявшись, пошел к двери балагана. В то время как Пьер подходил к двери, снаружи подходил с двумя солдатами тот капрал, который вчера угощал Пьера трубкой. И капрал и солдаты были в походной форме, в ранцах и киверах с застегнутыми чешуями, изменявшими их знакомые лица.
Капрал шел к двери с тем, чтобы, по приказанию начальства, затворить ее. Перед выпуском надо было пересчитать пленных.
– Caporal, que fera t on du malade?.. [Капрал, что с больным делать?..] – начал Пьер; но в ту минуту, как он говорил это, он усумнился, тот ли это знакомый его капрал или другой, неизвестный человек: так непохож был на себя капрал в эту минуту. Кроме того, в ту минуту, как Пьер говорил это, с двух сторон вдруг послышался треск барабанов. Капрал нахмурился на слова Пьера и, проговорив бессмысленное ругательство, захлопнул дверь. В балагане стало полутемно; с двух сторон резко трещали барабаны, заглушая стоны больного.
«Вот оно!.. Опять оно!» – сказал себе Пьер, и невольный холод пробежал по его спине. В измененном лице капрала, в звуке его голоса, в возбуждающем и заглушающем треске барабанов Пьер узнал ту таинственную, безучастную силу, которая заставляла людей против своей воли умерщвлять себе подобных, ту силу, действие которой он видел во время казни. Бояться, стараться избегать этой силы, обращаться с просьбами или увещаниями к людям, которые служили орудиями ее, было бесполезно. Это знал теперь Пьер. Надо было ждать и терпеть. Пьер не подошел больше к больному и не оглянулся на него. Он, молча, нахмурившись, стоял у двери балагана.
Когда двери балагана отворились и пленные, как стадо баранов, давя друг друга, затеснились в выходе, Пьер пробился вперед их и подошел к тому самому капитану, который, по уверению капрала, готов был все сделать для Пьера. Капитан тоже был в походной форме, и из холодного лица его смотрело тоже «оно», которое Пьер узнал в словах капрала и в треске барабанов.
– Filez, filez, [Проходите, проходите.] – приговаривал капитан, строго хмурясь и глядя на толпившихся мимо него пленных. Пьер знал, что его попытка будет напрасна, но подошел к нему.
– Eh bien, qu'est ce qu'il y a? [Ну, что еще?] – холодно оглянувшись, как бы не узнав, сказал офицер. Пьер сказал про больного.
– Il pourra marcher, que diable! – сказал капитан. – Filez, filez, [Он пойдет, черт возьми! Проходите, проходите] – продолжал он приговаривать, не глядя на Пьера.
– Mais non, il est a l'agonie… [Да нет же, он умирает…] – начал было Пьер.
– Voulez vous bien?! [Пойди ты к…] – злобно нахмурившись, крикнул капитан.
Драм да да дам, дам, дам, трещали барабаны. И Пьер понял, что таинственная сила уже вполне овладела этими людьми и что теперь говорить еще что нибудь было бесполезно.
Пленных офицеров отделили от солдат и велели им идти впереди. Офицеров, в числе которых был Пьер, было человек тридцать, солдатов человек триста.
Пленные офицеры, выпущенные из других балаганов, были все чужие, были гораздо лучше одеты, чем Пьер, и смотрели на него, в его обуви, с недоверчивостью и отчужденностью. Недалеко от Пьера шел, видимо, пользующийся общим уважением своих товарищей пленных, толстый майор в казанском халате, подпоясанный полотенцем, с пухлым, желтым, сердитым лицом. Он одну руку с кисетом держал за пазухой, другою опирался на чубук. Майор, пыхтя и отдуваясь, ворчал и сердился на всех за то, что ему казалось, что его толкают и что все торопятся, когда торопиться некуда, все чему то удивляются, когда ни в чем ничего нет удивительного. Другой, маленький худой офицер, со всеми заговаривал, делая предположения о том, куда их ведут теперь и как далеко они успеют пройти нынешний день. Чиновник, в валеных сапогах и комиссариатской форме, забегал с разных сторон и высматривал сгоревшую Москву, громко сообщая свои наблюдения о том, что сгорело и какая была та или эта видневшаяся часть Москвы. Третий офицер, польского происхождения по акценту, спорил с комиссариатским чиновником, доказывая ему, что он ошибался в определении кварталов Москвы.
– О чем спорите? – сердито говорил майор. – Николы ли, Власа ли, все одно; видите, все сгорело, ну и конец… Что толкаетесь то, разве дороги мало, – обратился он сердито к шедшему сзади и вовсе не толкавшему его.
– Ай, ай, ай, что наделали! – слышались, однако, то с той, то с другой стороны голоса пленных, оглядывающих пожарища. – И Замоскворечье то, и Зубово, и в Кремле то, смотрите, половины нет… Да я вам говорил, что все Замоскворечье, вон так и есть.
– Ну, знаете, что сгорело, ну о чем же толковать! – говорил майор.
Проходя через Хамовники (один из немногих несгоревших кварталов Москвы) мимо церкви, вся толпа пленных вдруг пожалась к одной стороне, и послышались восклицания ужаса и омерзения.
– Ишь мерзавцы! То то нехристи! Да мертвый, мертвый и есть… Вымазали чем то.
Пьер тоже подвинулся к церкви, у которой было то, что вызывало восклицания, и смутно увидал что то, прислоненное к ограде церкви. Из слов товарищей, видевших лучше его, он узнал, что это что то был труп человека, поставленный стоймя у ограды и вымазанный в лице сажей…
– Marchez, sacre nom… Filez… trente mille diables… [Иди! иди! Черти! Дьяволы!] – послышались ругательства конвойных, и французские солдаты с новым озлоблением разогнали тесаками толпу пленных, смотревшую на мертвого человека.


По переулкам Хамовников пленные шли одни с своим конвоем и повозками и фурами, принадлежавшими конвойным и ехавшими сзади; но, выйдя к провиантским магазинам, они попали в середину огромного, тесно двигавшегося артиллерийского обоза, перемешанного с частными повозками.
У самого моста все остановились, дожидаясь того, чтобы продвинулись ехавшие впереди. С моста пленным открылись сзади и впереди бесконечные ряды других двигавшихся обозов. Направо, там, где загибалась Калужская дорога мимо Нескучного, пропадая вдали, тянулись бесконечные ряды войск и обозов. Это были вышедшие прежде всех войска корпуса Богарне; назади, по набережной и через Каменный мост, тянулись войска и обозы Нея.
Войска Даву, к которым принадлежали пленные, шли через Крымский брод и уже отчасти вступали в Калужскую улицу. Но обозы так растянулись, что последние обозы Богарне еще не вышли из Москвы в Калужскую улицу, а голова войск Нея уже выходила из Большой Ордынки.
Пройдя Крымский брод, пленные двигались по нескольку шагов и останавливались, и опять двигались, и со всех сторон экипажи и люди все больше и больше стеснялись. Пройдя более часа те несколько сот шагов, которые отделяют мост от Калужской улицы, и дойдя до площади, где сходятся Замоскворецкие улицы с Калужскою, пленные, сжатые в кучу, остановились и несколько часов простояли на этом перекрестке. Со всех сторон слышался неумолкаемый, как шум моря, грохот колес, и топот ног, и неумолкаемые сердитые крики и ругательства. Пьер стоял прижатый к стене обгорелого дома, слушая этот звук, сливавшийся в его воображении с звуками барабана.
Несколько пленных офицеров, чтобы лучше видеть, влезли на стену обгорелого дома, подле которого стоял Пьер.
– Народу то! Эка народу!.. И на пушках то навалили! Смотри: меха… – говорили они. – Вишь, стервецы, награбили… Вон у того то сзади, на телеге… Ведь это – с иконы, ей богу!.. Это немцы, должно быть. И наш мужик, ей богу!.. Ах, подлецы!.. Вишь, навьючился то, насилу идет! Вот те на, дрожки – и те захватили!.. Вишь, уселся на сундуках то. Батюшки!.. Подрались!..
– Так его по морде то, по морде! Этак до вечера не дождешься. Гляди, глядите… а это, верно, самого Наполеона. Видишь, лошади то какие! в вензелях с короной. Это дом складной. Уронил мешок, не видит. Опять подрались… Женщина с ребеночком, и недурна. Да, как же, так тебя и пропустят… Смотри, и конца нет. Девки русские, ей богу, девки! В колясках ведь как покойно уселись!
Опять волна общего любопытства, как и около церкви в Хамовниках, надвинула всех пленных к дороге, и Пьер благодаря своему росту через головы других увидал то, что так привлекло любопытство пленных. В трех колясках, замешавшихся между зарядными ящиками, ехали, тесно сидя друг на друге, разряженные, в ярких цветах, нарумяненные, что то кричащие пискливыми голосами женщины.
С той минуты как Пьер сознал появление таинственной силы, ничто не казалось ему странно или страшно: ни труп, вымазанный для забавы сажей, ни эти женщины, спешившие куда то, ни пожарища Москвы. Все, что видел теперь Пьер, не производило на него почти никакого впечатления – как будто душа его, готовясь к трудной борьбе, отказывалась принимать впечатления, которые могли ослабить ее.
Поезд женщин проехал. За ним тянулись опять телеги, солдаты, фуры, солдаты, палубы, кареты, солдаты, ящики, солдаты, изредка женщины.
Пьер не видал людей отдельно, а видел движение их.
Все эти люди, лошади как будто гнались какой то невидимою силою. Все они, в продолжение часа, во время которого их наблюдал Пьер, выплывали из разных улиц с одним и тем же желанием скорее пройти; все они одинаково, сталкиваясь с другими, начинали сердиться, драться; оскаливались белые зубы, хмурились брови, перебрасывались все одни и те же ругательства, и на всех лицах было одно и то же молодечески решительное и жестоко холодное выражение, которое поутру поразило Пьера при звуке барабана на лице капрала.
Уже перед вечером конвойный начальник собрал свою команду и с криком и спорами втеснился в обозы, и пленные, окруженные со всех сторон, вышли на Калужскую дорогу.
Шли очень скоро, не отдыхая, и остановились только, когда уже солнце стало садиться. Обозы надвинулись одни на других, и люди стали готовиться к ночлегу. Все казались сердиты и недовольны. Долго с разных сторон слышались ругательства, злобные крики и драки. Карета, ехавшая сзади конвойных, надвинулась на повозку конвойных и пробила ее дышлом. Несколько солдат с разных сторон сбежались к повозке; одни били по головам лошадей, запряженных в карете, сворачивая их, другие дрались между собой, и Пьер видел, что одного немца тяжело ранили тесаком в голову.
Казалось, все эти люди испытывали теперь, когда остановились посреди поля в холодных сумерках осеннего вечера, одно и то же чувство неприятного пробуждения от охватившей всех при выходе поспешности и стремительного куда то движения. Остановившись, все как будто поняли, что неизвестно еще, куда идут, и что на этом движении много будет тяжелого и трудного.
С пленными на этом привале конвойные обращались еще хуже, чем при выступлении. На этом привале в первый раз мясная пища пленных была выдана кониною.
От офицеров до последнего солдата было заметно в каждом как будто личное озлобление против каждого из пленных, так неожиданно заменившее прежде дружелюбные отношения.
Озлобление это еще более усилилось, когда при пересчитывании пленных оказалось, что во время суеты, выходя из Москвы, один русский солдат, притворявшийся больным от живота, – бежал. Пьер видел, как француз избил русского солдата за то, что тот отошел далеко от дороги, и слышал, как капитан, его приятель, выговаривал унтер офицеру за побег русского солдата и угрожал ему судом. На отговорку унтер офицера о том, что солдат был болен и не мог идти, офицер сказал, что велено пристреливать тех, кто будет отставать. Пьер чувствовал, что та роковая сила, которая смяла его во время казни и которая была незаметна во время плена, теперь опять овладела его существованием. Ему было страшно; но он чувствовал, как по мере усилий, которые делала роковая сила, чтобы раздавить его, в душе его вырастала и крепла независимая от нее сила жизни.
Пьер поужинал похлебкою из ржаной муки с лошадиным мясом и поговорил с товарищами.
Ни Пьер и никто из товарищей его не говорили ни о том, что они видели в Москве, ни о грубости обращения французов, ни о том распоряжении пристреливать, которое было объявлено им: все были, как бы в отпор ухудшающемуся положению, особенно оживлены и веселы. Говорили о личных воспоминаниях, о смешных сценах, виденных во время похода, и заминали разговоры о настоящем положении.
Солнце давно село. Яркие звезды зажглись кое где по небу; красное, подобное пожару, зарево встающего полного месяца разлилось по краю неба, и огромный красный шар удивительно колебался в сероватой мгле. Становилось светло. Вечер уже кончился, но ночь еще не начиналась. Пьер встал от своих новых товарищей и пошел между костров на другую сторону дороги, где, ему сказали, стояли пленные солдаты. Ему хотелось поговорить с ними. На дороге французский часовой остановил его и велел воротиться.
Пьер вернулся, но не к костру, к товарищам, а к отпряженной повозке, у которой никого не было. Он, поджав ноги и опустив голову, сел на холодную землю у колеса повозки и долго неподвижно сидел, думая. Прошло более часа. Никто не тревожил Пьера. Вдруг он захохотал своим толстым, добродушным смехом так громко, что с разных сторон с удивлением оглянулись люди на этот странный, очевидно, одинокий смех.
– Ха, ха, ха! – смеялся Пьер. И он проговорил вслух сам с собою: – Не пустил меня солдат. Поймали меня, заперли меня. В плену держат меня. Кого меня? Меня! Меня – мою бессмертную душу! Ха, ха, ха!.. Ха, ха, ха!.. – смеялся он с выступившими на глаза слезами.
Какой то человек встал и подошел посмотреть, о чем один смеется этот странный большой человек. Пьер перестал смеяться, встал, отошел подальше от любопытного и оглянулся вокруг себя.
Прежде громко шумевший треском костров и говором людей, огромный, нескончаемый бивак затихал; красные огни костров потухали и бледнели. Высоко в светлом небе стоял полный месяц. Леса и поля, невидные прежде вне расположения лагеря, открывались теперь вдали. И еще дальше этих лесов и полей виднелась светлая, колеблющаяся, зовущая в себя бесконечная даль. Пьер взглянул в небо, в глубь уходящих, играющих звезд. «И все это мое, и все это во мне, и все это я! – думал Пьер. – И все это они поймали и посадили в балаган, загороженный досками!» Он улыбнулся и пошел укладываться спать к своим товарищам.


В первых числах октября к Кутузову приезжал еще парламентер с письмом от Наполеона и предложением мира, обманчиво означенным из Москвы, тогда как Наполеон уже был недалеко впереди Кутузова, на старой Калужской дороге. Кутузов отвечал на это письмо так же, как на первое, присланное с Лористоном: он сказал, что о мире речи быть не может.
Вскоре после этого из партизанского отряда Дорохова, ходившего налево от Тарутина, получено донесение о том, что в Фоминском показались войска, что войска эти состоят из дивизии Брусье и что дивизия эта, отделенная от других войск, легко может быть истреблена. Солдаты и офицеры опять требовали деятельности. Штабные генералы, возбужденные воспоминанием о легкости победы под Тарутиным, настаивали у Кутузова об исполнении предложения Дорохова. Кутузов не считал нужным никакого наступления. Вышло среднее, то, что должно было совершиться; послан был в Фоминское небольшой отряд, который должен был атаковать Брусье.
По странной случайности это назначение – самое трудное и самое важное, как оказалось впоследствии, – получил Дохтуров; тот самый скромный, маленький Дохтуров, которого никто не описывал нам составляющим планы сражений, летающим перед полками, кидающим кресты на батареи, и т. п., которого считали и называли нерешительным и непроницательным, но тот самый Дохтуров, которого во время всех войн русских с французами, с Аустерлица и до тринадцатого года, мы находим начальствующим везде, где только положение трудно. В Аустерлице он остается последним у плотины Аугеста, собирая полки, спасая, что можно, когда все бежит и гибнет и ни одного генерала нет в ариергарде. Он, больной в лихорадке, идет в Смоленск с двадцатью тысячами защищать город против всей наполеоновской армии. В Смоленске, едва задремал он на Молоховских воротах, в пароксизме лихорадки, его будит канонада по Смоленску, и Смоленск держится целый день. В Бородинский день, когда убит Багратион и войска нашего левого фланга перебиты в пропорции 9 к 1 и вся сила французской артиллерии направлена туда, – посылается никто другой, а именно нерешительный и непроницательный Дохтуров, и Кутузов торопится поправить свою ошибку, когда он послал было туда другого. И маленький, тихенький Дохтуров едет туда, и Бородино – лучшая слава русского войска. И много героев описано нам в стихах и прозе, но о Дохтурове почти ни слова.
Опять Дохтурова посылают туда в Фоминское и оттуда в Малый Ярославец, в то место, где было последнее сражение с французами, и в то место, с которого, очевидно, уже начинается погибель французов, и опять много гениев и героев описывают нам в этот период кампании, но о Дохтурове ни слова, или очень мало, или сомнительно. Это то умолчание о Дохтурове очевиднее всего доказывает его достоинства.
Естественно, что для человека, не понимающего хода машины, при виде ее действия кажется, что важнейшая часть этой машины есть та щепка, которая случайно попала в нее и, мешая ее ходу, треплется в ней. Человек, не знающий устройства машины, не может понять того, что не эта портящая и мешающая делу щепка, а та маленькая передаточная шестерня, которая неслышно вертится, есть одна из существеннейших частей машины.
10 го октября, в тот самый день, как Дохтуров прошел половину дороги до Фоминского и остановился в деревне Аристове, приготавливаясь в точности исполнить отданное приказание, все французское войско, в своем судорожном движении дойдя до позиции Мюрата, как казалось, для того, чтобы дать сражение, вдруг без причины повернуло влево на новую Калужскую дорогу и стало входить в Фоминское, в котором прежде стоял один Брусье. У Дохтурова под командою в это время были, кроме Дорохова, два небольших отряда Фигнера и Сеславина.
Вечером 11 го октября Сеславин приехал в Аристово к начальству с пойманным пленным французским гвардейцем. Пленный говорил, что войска, вошедшие нынче в Фоминское, составляли авангард всей большой армии, что Наполеон был тут же, что армия вся уже пятый день вышла из Москвы. В тот же вечер дворовый человек, пришедший из Боровска, рассказал, как он видел вступление огромного войска в город. Казаки из отряда Дорохова доносили, что они видели французскую гвардию, шедшую по дороге к Боровску. Из всех этих известий стало очевидно, что там, где думали найти одну дивизию, теперь была вся армия французов, шедшая из Москвы по неожиданному направлению – по старой Калужской дороге. Дохтуров ничего не хотел предпринимать, так как ему не ясно было теперь, в чем состоит его обязанность. Ему велено было атаковать Фоминское. Но в Фоминском прежде был один Брусье, теперь была вся французская армия. Ермолов хотел поступить по своему усмотрению, но Дохтуров настаивал на том, что ему нужно иметь приказание от светлейшего. Решено было послать донесение в штаб.
Для этого избран толковый офицер, Болховитинов, который, кроме письменного донесения, должен был на словах рассказать все дело. В двенадцатом часу ночи Болховитинов, получив конверт и словесное приказание, поскакал, сопутствуемый казаком, с запасными лошадьми в главный штаб.


Ночь была темная, теплая, осенняя. Шел дождик уже четвертый день. Два раза переменив лошадей и в полтора часа проскакав тридцать верст по грязной вязкой дороге, Болховитинов во втором часу ночи был в Леташевке. Слезши у избы, на плетневом заборе которой была вывеска: «Главный штаб», и бросив лошадь, он вошел в темные сени.
– Дежурного генерала скорее! Очень важное! – проговорил он кому то, поднимавшемуся и сопевшему в темноте сеней.
– С вечера нездоровы очень были, третью ночь не спят, – заступнически прошептал денщицкий голос. – Уж вы капитана разбудите сначала.
– Очень важное, от генерала Дохтурова, – сказал Болховитинов, входя в ощупанную им растворенную дверь. Денщик прошел вперед его и стал будить кого то:
– Ваше благородие, ваше благородие – кульер.
– Что, что? от кого? – проговорил чей то сонный голос.
– От Дохтурова и от Алексея Петровича. Наполеон в Фоминском, – сказал Болховитинов, не видя в темноте того, кто спрашивал его, но по звуку голоса предполагая, что это был не Коновницын.
Разбуженный человек зевал и тянулся.
– Будить то мне его не хочется, – сказал он, ощупывая что то. – Больнёшенек! Может, так, слухи.
– Вот донесение, – сказал Болховитинов, – велено сейчас же передать дежурному генералу.
– Постойте, огня зажгу. Куда ты, проклятый, всегда засунешь? – обращаясь к денщику, сказал тянувшийся человек. Это был Щербинин, адъютант Коновницына. – Нашел, нашел, – прибавил он.
Денщик рубил огонь, Щербинин ощупывал подсвечник.
– Ах, мерзкие, – с отвращением сказал он.
При свете искр Болховитинов увидел молодое лицо Щербинина со свечой и в переднем углу еще спящего человека. Это был Коновницын.
Когда сначала синим и потом красным пламенем загорелись серники о трут, Щербинин зажег сальную свечку, с подсвечника которой побежали обгладывавшие ее прусаки, и осмотрел вестника. Болховитинов был весь в грязи и, рукавом обтираясь, размазывал себе лицо.
– Да кто доносит? – сказал Щербинин, взяв конверт.
– Известие верное, – сказал Болховитинов. – И пленные, и казаки, и лазутчики – все единогласно показывают одно и то же.
– Нечего делать, надо будить, – сказал Щербинин, вставая и подходя к человеку в ночном колпаке, укрытому шинелью. – Петр Петрович! – проговорил он. Коновницын не шевелился. – В главный штаб! – проговорил он, улыбнувшись, зная, что эти слова наверное разбудят его. И действительно, голова в ночном колпаке поднялась тотчас же. На красивом, твердом лице Коновницына, с лихорадочно воспаленными щеками, на мгновение оставалось еще выражение далеких от настоящего положения мечтаний сна, но потом вдруг он вздрогнул: лицо его приняло обычно спокойное и твердое выражение.
– Ну, что такое? От кого? – неторопливо, но тотчас же спросил он, мигая от света. Слушая донесение офицера, Коновницын распечатал и прочел. Едва прочтя, он опустил ноги в шерстяных чулках на земляной пол и стал обуваться. Потом снял колпак и, причесав виски, надел фуражку.
– Ты скоро доехал? Пойдем к светлейшему.
Коновницын тотчас понял, что привезенное известие имело большую важность и что нельзя медлить. Хорошо ли, дурно ли это было, он не думал и не спрашивал себя. Его это не интересовало. На все дело войны он смотрел не умом, не рассуждением, а чем то другим. В душе его было глубокое, невысказанное убеждение, что все будет хорошо; но что этому верить не надо, и тем более не надо говорить этого, а надо делать только свое дело. И это свое дело он делал, отдавая ему все свои силы.
Петр Петрович Коновницын, так же как и Дохтуров, только как бы из приличия внесенный в список так называемых героев 12 го года – Барклаев, Раевских, Ермоловых, Платовых, Милорадовичей, так же как и Дохтуров, пользовался репутацией человека весьма ограниченных способностей и сведений, и, так же как и Дохтуров, Коновницын никогда не делал проектов сражений, но всегда находился там, где было труднее всего; спал всегда с раскрытой дверью с тех пор, как был назначен дежурным генералом, приказывая каждому посланному будить себя, всегда во время сраженья был под огнем, так что Кутузов упрекал его за то и боялся посылать, и был так же, как и Дохтуров, одной из тех незаметных шестерен, которые, не треща и не шумя, составляют самую существенную часть машины.
Выходя из избы в сырую, темную ночь, Коновницын нахмурился частью от головной усилившейся боли, частью от неприятной мысли, пришедшей ему в голову о том, как теперь взволнуется все это гнездо штабных, влиятельных людей при этом известии, в особенности Бенигсен, после Тарутина бывший на ножах с Кутузовым; как будут предлагать, спорить, приказывать, отменять. И это предчувствие неприятно ему было, хотя он и знал, что без этого нельзя.
Действительно, Толь, к которому он зашел сообщить новое известие, тотчас же стал излагать свои соображения генералу, жившему с ним, и Коновницын, молча и устало слушавший, напомнил ему, что надо идти к светлейшему.


Кутузов, как и все старые люди, мало спал по ночам. Он днем часто неожиданно задремывал; но ночью он, не раздеваясь, лежа на своей постели, большею частию не спал и думал.
Так он лежал и теперь на своей кровати, облокотив тяжелую, большую изуродованную голову на пухлую руку, и думал, открытым одним глазом присматриваясь к темноте.
С тех пор как Бенигсен, переписывавшийся с государем и имевший более всех силы в штабе, избегал его, Кутузов был спокойнее в том отношении, что его с войсками не заставят опять участвовать в бесполезных наступательных действиях. Урок Тарутинского сражения и кануна его, болезненно памятный Кутузову, тоже должен был подействовать, думал он.
«Они должны понять, что мы только можем проиграть, действуя наступательно. Терпение и время, вот мои воины богатыри!» – думал Кутузов. Он знал, что не надо срывать яблоко, пока оно зелено. Оно само упадет, когда будет зрело, а сорвешь зелено, испортишь яблоко и дерево, и сам оскомину набьешь. Он, как опытный охотник, знал, что зверь ранен, ранен так, как только могла ранить вся русская сила, но смертельно или нет, это был еще не разъясненный вопрос. Теперь, по присылкам Лористона и Бертелеми и по донесениям партизанов, Кутузов почти знал, что он ранен смертельно. Но нужны были еще доказательства, надо было ждать.
«Им хочется бежать посмотреть, как они его убили. Подождите, увидите. Все маневры, все наступления! – думал он. – К чему? Все отличиться. Точно что то веселое есть в том, чтобы драться. Они точно дети, от которых не добьешься толку, как было дело, оттого что все хотят доказать, как они умеют драться. Да не в том теперь дело.
И какие искусные маневры предлагают мне все эти! Им кажется, что, когда они выдумали две три случайности (он вспомнил об общем плане из Петербурга), они выдумали их все. А им всем нет числа!»
Неразрешенный вопрос о том, смертельна или не смертельна ли была рана, нанесенная в Бородине, уже целый месяц висел над головой Кутузова. С одной стороны, французы заняли Москву. С другой стороны, несомненно всем существом своим Кутузов чувствовал, что тот страшный удар, в котором он вместе со всеми русскими людьми напряг все свои силы, должен был быть смертелен. Но во всяком случае нужны были доказательства, и он ждал их уже месяц, и чем дальше проходило время, тем нетерпеливее он становился. Лежа на своей постели в свои бессонные ночи, он делал то самое, что делала эта молодежь генералов, то самое, за что он упрекал их. Он придумывал все возможные случайности, в которых выразится эта верная, уже свершившаяся погибель Наполеона. Он придумывал эти случайности так же, как и молодежь, но только с той разницей, что он ничего не основывал на этих предположениях и что он видел их не две и три, а тысячи. Чем дальше он думал, тем больше их представлялось. Он придумывал всякого рода движения наполеоновской армии, всей или частей ее – к Петербургу, на него, в обход его, придумывал (чего он больше всего боялся) и ту случайность, что Наполеон станет бороться против него его же оружием, что он останется в Москве, выжидая его. Кутузов придумывал даже движение наполеоновской армии назад на Медынь и Юхнов, но одного, чего он не мог предвидеть, это того, что совершилось, того безумного, судорожного метания войска Наполеона в продолжение первых одиннадцати дней его выступления из Москвы, – метания, которое сделало возможным то, о чем все таки не смел еще тогда думать Кутузов: совершенное истребление французов. Донесения Дорохова о дивизии Брусье, известия от партизанов о бедствиях армии Наполеона, слухи о сборах к выступлению из Москвы – все подтверждало предположение, что французская армия разбита и сбирается бежать; но это были только предположения, казавшиеся важными для молодежи, но не для Кутузова. Он с своей шестидесятилетней опытностью знал, какой вес надо приписывать слухам, знал, как способны люди, желающие чего нибудь, группировать все известия так, что они как будто подтверждают желаемое, и знал, как в этом случае охотно упускают все противоречащее. И чем больше желал этого Кутузов, тем меньше он позволял себе этому верить. Вопрос этот занимал все его душевные силы. Все остальное было для него только привычным исполнением жизни. Таким привычным исполнением и подчинением жизни были его разговоры с штабными, письма к m me Stael, которые он писал из Тарутина, чтение романов, раздачи наград, переписка с Петербургом и т. п. Но погибель французов, предвиденная им одним, было его душевное, единственное желание.