Loading...
banner Два Николая

 

В судьбах двух Николаев из династии Романовых, ставших императорами и помеченных порядковыми римскими номерами I и II, много общего. Но одно дело выразиться так в надежде не интуицию и эрудицию читателя, другое — показать в виде строгих логических утверждений. Для этой задачи хорошо подходит язык программирования `Prolog`. Начнем с имен:
император("Павел I"). император("Александр I"). император("Николай I"). император("Александр II"). император("Александр III"). император("Николай II"). премьер("А.Ф. Керенский"). персональные_данные("Павел I", "Павел", "Петрович", "Романов", 1754, 1801). персональные_данные("Александр I", "Александр", "Павлович", "Романов", 1777, 1825). персональные_данные("Николай I", "Николай", "Павлович", "Романов", 1796, 1855). персональные_данные("Александр II", "Александр", "Николаевич", "Романов", 1818, 1881). персональные_данные("Александр III", "Александр", "Александрович", "Романов", 1845, 1894). персональные_данные("Николай II", "Николай", "Александрович", "Романов", 1868, 1918). персональные_данные("А.Ф. Керенский", "Александр", "Фёдорович", "Керенский", 1881, 1970). принцесса("Дагмара", "Датская"). принцесса("София Мария Доротея Августа Луиза", "Вюртембергская"). принцесса("Фридерика Луиза Шарлотта Вильгельмина", "Прусская"). принцесса("Виктория Алиса Елена Луиза Беатриса", "Гессен-Дармштадтская"). в_православии("София Мария Доротея Августа Луиза", "Мария Фёдоровна"). в_православии("Фридерика Луиза Шарлотта Вильгельмина", "Александра Фёдоровна"). в_православии("Дагмара", "Мария Фёдоровна"). в_православии("Виктория Алиса Елена Луиза Беатриса", "Александра Фёдоровна"). родители_чьи_кто("Николай I", "Павел I", "София Мария Доротея Августа Луиза"). родители_чьи_кто("Николай II", "Александр III", "Дагмара"). супруга_чья_кто("Николай I", "Фридерика Луиза Шарлотта Вильгельмина"). супруга_чья_кто("Николай II", "Виктория Алиса Елена Луиза Беатриса"). европейское_происхождение(Кто):- принцесса(Кто, Откуда), (Откуда = "Датская"; Откуда = "Вюртембергская"; Откуда = "Прусская"; Откуда = "Гессен-Дармштадтская"). николай_из_дома_романовых(Кто, Обозначение, ПерсональныеДанные):- император(Кто), император(Отец), персональные_данные(Отец, _, _, Фамилия, _, _), персональные_данные(Кто, Имя, Отчество, _, РодилсяВ, УмерВ), родители_чьи_кто(Кто, Отец, _), Имя = "Николай", Фамилия = "Романов", format(atom(Обозначение), '(известен как ~w)', [Кто]), format(atom(ПерсональныеДанные), 'Полное имя этого императора — ~w ~w ~w (~d – ~d).', [Имя, Отчество, Фамилия, РодилсяВ, УмерВ]). у_кого_мать_мария_федоровна(Чья, Мать):- николай_из_дома_романовых(Чья, _, _), родители_чьи_кто(Чья, _, Мать), европейское_происхождение(Мать), в_православии(Мать, Имя), Имя = "Мария Фёдоровна". у_кого_супруга_александра_федоровна(Чья, Супруга):- николай_из_дома_романовых(Чья, _, _), европейское_происхождение(Супруга), супруга_чья_кто(Чья, Супруга), в_православии(Супруга, Имя), Имя = "Александра Фёдоровна". рассказ_о_николае_его_маме_и_жене(A):- николай_из_дома_романовых(Император, Обозначение, ПерсональныеДанные), у_кого_мать_мария_федоровна(Император, Мать), у_кого_супруга_александра_федоровна(Император, Супруга), принцесса(Мать, ОткудаМать), принцесса(Супруга, ОткудаСупруга), format(atom(A1), 'У российского императора из династии Романовых по имени Николай ~w была супруга из европейских принцесс, получившая в православии имя Александра Фёдоровна. Его мать тоже привезли в Россию из Европы и назвали православным именем — Мария Фёдоровна. ~w', [Обозначение, ПерсональныеДанные]), format(atom(A2), 'Его мать — ~w ~w.', [Мать, ОткудаМать]), format(atom(A3), 'Его супруга — ~w ~w.', [Супруга, ОткудаСупруга]), format(atom(A), '~w ~w ~w', [A1, A2, A3]). % Немного магии для работы со списками: найти_все_об_именах(B, L):- рассказ_о_николае_его_маме_и_жене(A), not(member(A, B)), write(A), nl, nl, найти_все_об_именах([A|B], L),!. найти_все_об_именах(B, L):- L = B,!.
найти_все_об_именах([], _).
_У российского императора из династии Романовых по имени Николай (известен как Николай I) была супруга из европейских принцесс, получившая в православии имя Александра Фёдоровна. Его мать тоже привезли в Россию из Европы и назвали православным именем — Мария Фёдоровна. Полное имя этого императора — Николай Павлович Романов (1796 – 1855). Его мать — София Мария Доротея Августа Луиза Вюртембергская. Его супруга — Фридерика Луиза Шарлотта Вильгельмина Прусская._ _У российского императора из династии Романовых по имени Николай (известен как Николай II) была супруга из европейских принцесс, получившая в православии имя Александра Фёдоровна. Его мать тоже привезли в Россию из Европы и назвали православным именем — Мария Фёдоровна. Полное имя этого императора — Николай Александрович Романов (1868 – 1918). Его мать — Дагмара Датская. Его супруга — Виктория Алиса Елена Луиза Беатриса Гессен-Дармштадтская._
Немало сходного можно найти и в обстоятельствах правлений двух Николаев:
предшественник_чей_кто("Николай I", "Александр I"). предшественник_чей_кто("Николай II", "Александр III"). преемник_чей_кто("Николай I", "Александр II"). преемник_чей_кто("Николай II", "А.Ф. Керенский"). заложил_основы_стабильного_развития("Александр I", "устранил внешнюю угрозу, разбив Наполеона I, создал устойчивый государственный аппарат."). заложил_основы_стабильного_развития("Александр III", "устранил внешнюю угрозу, не допуская участия России в войнах, активизировал борьбу с терроризмом, привлек иностранный капитал."). вынужден_начать_крупные_реформы("Александр II", "отмена крепостного права и др."). вынужден_начать_крупные_реформы("А.Ф. Керенский", "создание новых органов власти после революции и др."). не_был_подготовлен("Николай I", "престол должен был занять его брат Константин"). не_был_подготовлен("Николай II", "не ожидал, что смерть отца наступит так рано"). безпорядки_с_жертвами("Николай I", "восстание декабристов"). безпорядки_с_жертвами("Николай II", "давка на Ходынском поле"). усмирение_народного_возмущения("Николай I", "подавление холерного бунта 22 июня 1831 г. в Санкт-Петербурге"). усмирение_народного_возмущения("Николай II", "расстрел манифестации 9 января 1905 г. в Санкт-Петербурге"). год_восшествия_на_престол("Николай I", 1825). год_восшествия_на_престол("Николай II", 1896). война_на_море("Николай I", "Крымская война"). война_на_море("Николай II", "Русско-Японская война"). техническая_отсталость("Крымская война"). техническая_отсталость("Русско-Японская война"). родительный_падеж("Николай I", "Николая I"). родительный_падеж("Николай II", "Николая II"). слишком_молод(Кто):- персональные_данные(Кто, _, _, _, РодилсяВ, _), год_восшествия_на_престол(Кто, ГодВосшествияНаПрестол), ГодВосшествияНаПрестол - РодилсяВ < 30. рассказ_о_предшественнике(A, Кто):- николай_из_дома_романовых(Кто, _, _), предшественник_чей_кто(Кто, Предшественник), (император(Предшественник); премьер(Предшественник)), персональные_данные(Предшественник, Имя, _, _, РодилсяВ, УмерВ), заложил_основы_стабильного_развития(Предшественник, ЧтоСделал), УмерВ - РодилсяВ < 50, format(atom(A), 'Его предшественника звали ~w (известен как ~w). \c ~w отошел от дел не дожив до 50, хотя при жизни создал основу для стабильного развития \c государства: ~w', [Имя, Предшественник, Предшественник, ЧтоСделал]). рассказ_о_преемнике(A, Кто):- николай_из_дома_романовых(Кто, _, _), преемник_чей_кто(Кто, Преемник), (император(Преемник); премьер(Преемник)), персональные_данные(Преемник, Имя, _, _, _, _), вынужден_начать_крупные_реформы(Преемник, ЧтоСделал), format(atom(A), 'Преемника Николая звали ~w (известен как ~w). \c Силы державы во времена правления рассматриваемого императора были подорваны, \c поэтому ~w вынужден был приступить к радикальным преобразованиям \c государства: ~w', [Имя, Преемник, Преемник, ЧтоСделал]). обстоятельства_правления(A):- николай_из_дома_романовых(Кто, _, _), слишком_молод(Кто), не_был_подготовлен(Кто, НеПодготовлен), безпорядки_с_жертвами(Кто, Беспорядки), усмирение_народного_возмущения(Кто, Усмирение), война_на_море(Кто, Война), техническая_отсталость(Война), родительный_падеж(Кто, РП), рассказ_о_предшественнике(A2, Кто), format(atom(A1), 'Вот некоторые особенности царствования ~w:', [РП]),nl, format(atom(A3), 'Сам ~w взошел на престол, когда ему не было и 30 лет.', [Кто]), format(atom(A4), 'К правлению был подготовлен недостаточно, потому что ~w.', [НеПодготовлен]), format(atom(A5), 'В начале царствования произошли массовые беспорядки с множеством жертв: ~w.', [Беспорядки]), format(atom(A6), 'Непопулярность императора усилило грубое подавление народных недовольств, например ~w.', [Усмирение]), format(atom(A7), 'Одной из неудачных страниц этого периода стала развязанная в стремлении установить преобладание на море ~w. Она была проиграна в связи с технической отсталостью державы.', [Война]), рассказ_о_преемнике(A8, Кто), format(atom(A), '~w ~w ~w ~w ~w ~w ~w ~w', [A1, A2, A3, A4, A5, A6, A7, A8]). % Немного магии для работы со списками: найти_все_об_обстоятельствах(B, L):- обстоятельства_правления(A), not(member(A, B)), write(A), nl, nl, найти_все_об_обстоятельствах([A|B], L),!. найти_все_об_обстоятельствах(B, L):- L = B,!.
найти_все_об_обстоятельствах([], _).
Вот некоторые особенности царствования Николая I: * Его предшественника звали Александр (известен как Александр I). Александр I отошел от дел не дожив до 50, хотя при жизни создал основу для стабильного развития государства: устранил внешнюю угрозу, разбив Наполеона I, создал устойчивый государственный аппарат. * Сам Николай I взошел на престол, когда ему не было и 30 лет. К правлению был подготовлен недостаточно, потому что престол должен был занять его брат Константин. * В начале царствования произошли массовые беспорядки с множеством жертв: восстание декабристов. * Непопулярность императора усилило грубое подавление народных недовольств, например подавление холерного бунта 22 июня 1831 г. в Санкт-Петербурге. * Одной из неудачных страниц этого периода стала развязанная в стремлении установить преобладание на море Крымская война. Она была проиграна в связи с технической отсталостью державы. * Преемника Николая звали Александр (известен как Александр II). Силы державы во времена правления рассматриваемого императора были подорваны, поэтому Александр II вынужден был приступить к радикальным преобразованиям государства: отмена крепостного права и др. Вот некоторые особенности царствования Николая II: * Его предшественника звали Александр (известен как Александр III). Александр III отошел от дел не дожив до 50, хотя при жизни создал основу для стабильного развития государства: устранил внешнюю угрозу, не допуская участия России в войнах, активизировал борьбу с терроризмом, привлек иностранный капитал. * Сам Николай II взошел на престол, когда ему не было и 30 лет. К правлению был подготовлен недостаточно, потому что не ожидал, что смерть отца наступит так рано. * В начале царствования произошли массовые беспорядки с множеством жертв: давка на Ходынском поле. * Непопулярность императора усилило грубое подавление народных недовольств, например расстрел манифестации 9 января 1905 г. в Санкт-Петербурге. * Одной из неудачных страниц этого периода стала развязанная в стремлении установить преобладание на море Русско-Японская война. Она была проиграна в связи с технической отсталостью державы. * Преемника Николая звали Александр (известен как А.Ф. Керенский). Силы державы во времена правления рассматриваемого императора были подорваны, поэтому А.Ф. Керенский вынужден был приступить к радикальным преобразованиям государства: создание новых органов власти после революции и др.

Показать/скрыть код на языке Prolog

Можно добавить и другие сходства. Например, оба монарха называли себя «Мы», но, конечно, в этих двух правлениях различий больше. Николай I правил 30 лет, а Николай  II всего 20, первый вел губительную для себя войну на Черном море, второй — на Тихом океане, восстание декабристов, конечно же, мало похоже на ходынскую давку (случились в разное время года и в разных городах), даже телосложением императоры сильно отличались. В общем, эту программу на языке Prolog можно было бы считать не более чем логической забавой, если бы на морская война.

Крымская война подозрительна тем, что слабо затронула владения России на Тихом океане. Да, там тоже англичанами был предприняты вялые нападения на порты, но они, как утверждает официальная наука, были решительно подавлены героическими российскими войсками. А ведь и Англия, и США давно «облизывались» на эти земли, где хозяйничала Русско-Американская компания. Да, она была сильно коррумпирована и работала едва ли на половину мощности, но потенциалом обладала гигантским. И вот поди ж ты, позарились на Крым (да и его не захватили в конечном итоге), а богатейшие дальневосточные владения, фактически беззащитные, оставили в покое. Да и события 1904-1905 гг. выглядят слишком абсурдными. Николай II, продержавшийся у власти целых 20 лет и проведший страну через серьезные невзгоды, не выглядит настолько идиотом, чтобы отправлять в Цусиму на расстрел фактически весь наличный флот.

Если бы союзники объединили две эти войны — Крымскую и Русско-Японскую (за Японией, конечно же, стояли западные силы) — России бы не поздоровилось, но эти два конфликта разнесены во времени, и это выглядит подозрительно, если допускать мысль о том, что история сфальсифицирована, причем довольно поздно (как минимум, во второй половине XIX в., ближе к его концу).