~~~~~~~~~~~~~~~~~~~~ Arc.Ask3.Ru ~~~~~~~~~~~~~~~~~~~~~ 
Номер скриншота №:
✰ C779B507286E399C867F3A85E10FC07A__1717031040 ✰
Заголовок документа оригинал.:
✰ Note G - Wikipedia ✰
Заголовок документа перевод.:
✰ Примечание G — Википедия ✰
Снимок документа находящегося по адресу (URL):
✰ https://en.wikipedia.org/wiki/Note_G ✰
Адрес хранения снимка оригинал (URL):
✰ https://arc.ask3.ru/arc/aa/c7/7a/c779b507286e399c867f3a85e10fc07a.html ✰
Адрес хранения снимка перевод (URL):
✰ https://arc.ask3.ru/arc/aa/c7/7a/c779b507286e399c867f3a85e10fc07a__translat.html ✰
Дата и время сохранения документа:
✰ 21.06.2024 18:16:20 (GMT+3, MSK) ✰
Дата и время изменения документа (по данным источника):
✰ 30 May 2024, at 04:04 (UTC). ✰ 

~~~~~~~~~~~~~~~~~~~~~~ Ask3.Ru ~~~~~~~~~~~~~~~~~~~~~~ 
Сервисы Ask3.ru: 
 Архив документов (Снимки документов, в формате HTML, PDF, PNG - подписанные ЭЦП, доказывающие существование документа в момент подписи. Перевод сохраненных документов на русский язык.)https://arc.ask3.ruОтветы на вопросы (Сервис ответов на вопросы, в основном, научной направленности)https://ask3.ru/answer2questionТоварный сопоставитель (Сервис сравнения и выбора товаров) ✰✰
✰ https://ask3.ru/product2collationПартнерыhttps://comrades.ask3.ru


Совет. Чтобы искать на странице, нажмите Ctrl+F или ⌘-F (для MacOS) и введите запрос в поле поиска.
Arc.Ask3.ru: далее начало оригинального документа

Примечание G — Википедия Jump to content

Примечание G

Из Википедии, бесплатной энциклопедии
Примечание G, первоначально опубликованное в книге «Очерк аналитической машины, изобретенной Чарльзом Бэббиджем».

Примечание G [а] — компьютерный алгоритм , написанный Адой Лавлейс и предназначенный для вычисления чисел Бернулли с использованием гипотетической аналитической машины . Примечание G принято считать первым алгоритмом, специально предназначенным для компьютера. [1] [2] [3] [4] Лавлейс считается первым программистом . и в результате [5] [6] [7] [8] Алгоритм был последней заметкой в ​​серии, обозначенной от A до G, которую она использовала в качестве наглядного пособия для сопровождения своего английского перевода Луиджи Менабреа 1842 года французской транскрипции лекции Чарльза Бэббиджа об аналитической машине в Туринском университете «Понятия на машине». analytique de Charles Babbage» («Элементы аналитической машины Чарльза Бэббиджа»). [7] [9] Note G Лавлейса никогда не тестировался, поскольку двигатель так и не был построен. Ее заметки вместе с переводом были опубликованы в 1843 году. [6] [7]

В современную эпоху , благодаря более доступному компьютерному оборудованию и ресурсам программирования, алгоритм Лавлейса был протестирован после «перевода» на современные языки программирования. Эти тесты независимо пришли к выводу, что в сценарии произошла ошибка из-за незначительной опечатки, что сделало алгоритм в его исходном состоянии непригодным для использования. [10] [11]

Происхождение [ править ]

Ада Лавлейс
Ада Лавлейс

В 1840 году Чарльз Бэббидж был приглашен провести в Турине семинар по своей аналитической машине. [12] единственное публичное объяснение, которое он когда-либо давал по поводу двигателя. [13] Во время лекции Бэббиджа математик Луиджи Менабреа написал описание двигателя на французском языке. [12] Друг Бэббиджа, Чарльз Уитстон , предложил Лавлейс, чтобы внести свой вклад, перевести отчет Менабреа. [12] [14] Бэббидж предложил ей дополнить отчет приложениями, которые она составила в конце своего перевода в виде серии из семи «примечаний», помеченных как AG. Ее перевод был опубликован в августе 1843 года. [12] в «Научных мемуарах Тейлора » [14] [15] где имя Лавлейс было подписано «AAL». [12] [б] В этих заметках Лавлейс описал возможности аналитической машины Бэббиджа, если бы ее можно было использовать для вычислений, изложив более амбициозный план создания машины, чем даже сам Бэббидж. [3] [15] [16]

Примечания Лавлейса к статье были в три раза длиннее самой статьи. [17] В первых заметках она выходит за рамки числовых амбиций, которые Бэббидж имел в отношении машины, и предполагает, что машина может использовать преимущества вычислений, чтобы справиться с сферами музыки, графики и т. д. [18] и язык. [8] [19] [20]

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

- Ада Лавлейс, Заметки к мемуарам «Очерк аналитической машины, изобретенной Чарльзом Бэббиджем», написанные переводчиком Адой Августой, графиней Лавлейс, Примечание А.

Она объясняет читателям, почему аналитическая машина была отделена от более ранней разностной машины Бэббиджа . [21] и сравнивает свою функцию с жаккардовой машиной , [22] использовались двоичные перфокарты в том смысле, что для обозначения машинного языка . В примечании C этому моменту способствует тот факт, что одновременные и повторяющиеся действия, гарантируя, что любая карта или набор карточек могут быть использованы несколько раз для решения одной задачи. машина может выполнять [20] по сути, предвосхищая современные методы управления потоками и циклами. [17] [23] Эти идеи были доведены до апогея в последней ноте G, где Лавлейс стремилась продемонстрировать пример вычислений .

Примечание G использовало только четыре арифметических операции : сложение, вычитание, умножение и деление, реализация видения Бэббиджа:

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

- Чарльз Бэббидж, «Очерк аналитической машины, изобретенной Чарльзом Бэббиджем»

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

Функция [ править ]

Лавлейс использовала рекурсивное уравнение для расчета чисел Бернулли: [12] при этом она использовала предыдущие значения в уравнении для создания следующего. ее метод заключался в следующем: [24]

где биномиальный коэффициент ,

.

Числа Бернулли можно рассчитать разными способами , но Лавлейс сознательно выбрала сложный метод, чтобы продемонстрировать мощность двигателя. В примечании G она заявляет: «Мы завершим эти примечания, детально проследив шаги, с помощью которых машина могла вычислить числа Бернулли, поскольку это (в той форме, в которой мы выведем их) довольно сложный пример полномочия». [20] Конкретный алгоритм, использованный Лавлейсом в примечании G, генерирует восьмое число Бернулли (обозначенное как , как она начала с .) [24]

Обозначения [ править ]

В таблице алгоритма каждая команда упорядочена. Каждая команда обозначает одну операцию , выполняемую над двумя терминами. Во втором столбце указывается только используемый оператор. Переменные обозначаются как " ", [с] где верхний индекс перед ним представляет количество различных значений, которым была присвоена переменная, а нижний индекс после него представляет порядковый номер переменной, то есть, какая это переменная. (Например, относится ко второму присвоению переменной номера 4. Любые переменные, до сих пор не определенные, имеют верхний индекс 0.) Переменные нумеруются, начиная с . Третий столбец сообщает компьютеру, какая именно команда выполняется (например, в строке 1 выполняется команда « " - первая итерация переменной 2 умножается на первую итерацию переменной 3.) и включает только одну операцию между двумя терминами в строке. В столбце 4 - "Переменные, получающие результаты" указывается, где находится результат операции в столбце 3. Таким образом, у любых переменных в этом столбце их верхний индекс каждый раз увеличивается на единицу (например, в строке 1 — результат. присваивается переменным , , и .)

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

изменилось, но нет.

В столбце 6 «Отчет о результатах» результат, присвоенный переменной в столбце 4, отображается в его точном значении, основанном на значениях двух ранее присвоенных терминов. (например, в строке 1 - - изначально было установлено, что это , и было установлено в качестве переменной . Поэтому, , в математической записи .) Этот столбец якобы не вычисляется движком и, по-видимому, больше предназначен для ясности и способности читателя следовать шагам программы. (Например, в строке 5 есть дробь, разделенная на два, что обозначается как умножение на половину, вероятно, для согласованности и типографской сложности вложенной дроби.) В ней также используется отдельная запись переменных вне программы. , и переменные, которые последовательно умножаются, чтобы найти окончательное значение, , таким образом: [10]

Помимо этого, в каждом последующем столбце показаны значения данной переменной с течением времени. Каждый раз, когда переменная либо изменяется, либо ее значение становится значимым из-за ее присутствия в качестве одного из терминов в текущей команде, ее значение указывается или пересчитывается в соответствующем столбце. В противном случае оно помечается многоточием, чтобы обозначить его нерелевантность. Это, по-видимому, имитирует потребность компьютера в только соответствующей информации, тем самым отслеживая значение переменной при анализе программы . [10]

Метод [ править ]

Программа стремилась вычислить то, что в современной традиции известно как восьмое число Бернулли, обозначаемое как , как Лавлейс начинает отсчет с . [24]

Ошибка [ править ]

В операции 4 предположительно происходит разделение" ", который будет сохранен в переменной . Однако в «Отчете о результатах» сказано, что разделение должно быть:

На самом деле разделение происходит наоборот; это вторая итерация , как видно из операции 2. Аналогично, это вторая итерация , как видно из операции 3. Таким образом, операция 4 не должна , скорее . Эта ошибка означает, что если бы движок когда-либо запускал этот алгоритм в этом состоянии, он не смог бы правильно сгенерировать числа Бернулли и нашел бы свое конечное целевое значение ( восьмое число Бернулли, ) быть .

Современные реализации [ править ]

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

V[1] = 1
V[2] = 2
V[3] = n (n = 4 in Lovelace's program.)

V[4] = V[4] - V[1]
V[5] = V[5] + V[1]
V[11] = V[5] / V[4]
V[11] = V[11] / V[2]
V[13] = V[13] - V[11]
V[10] = V[3] - V[1]
V[7] = V[2] + V[7]
V[11] = V[6] / V[7]
V[12] = V[21] * V[11]
V[13] = V[12] + V[13]
V[10] = V[10] - V[1]
V[6] = V[6] - V[1]
V[7]= V[1] + V[7]
//Finish Later
 

Реализация в псевдокоде подчеркивает тот факт, что компьютерные языки определяют переменные в стеке , что устраняет необходимость отслеживания и указания текущей итерации переменной. Кроме того, программа Лавлейс позволяла определять переменные только путем выполнения сложения , вычитания , умножения или деления двух членов, которые ранее были определенными переменными. Современный синтаксис позволит выполнять каждое вычисление более кратко. Это ограничение проявляется в нескольких местах, например в команде 6 ( ). Здесь Лавлейс определяет до сих пор неопределенную переменную ( ) сам по себе, предполагая тем самым, что все неопределенные переменные автоматически равны 0, тогда как большинство современных языков программирования вернут ошибку или перечислят переменную как null . Она имела в виду следующее: « ", но ограничилась использованием только переменных в качестве терминов. Аналогично, в команде 8 ( ), строгая запись двучленной арифметики становится громоздкой, так как для определения как 2, Лавлейс присваивает значение (0) себе плюс (2). Именно из-за этих ограничительных обозначений определяется так.

Примечания [ править ]

  1. ^ Полностью озаглавлена ​​«Диаграмма вычислений с помощью машины чисел Бернулли», но синекдохально известна под «Примечанием G».
  2. В мемуарах ее инициалы были напечатаны с ошибкой как «ВСЕ». [14]
  3. ^ Эти переменные технически относятся к столбцам дисков, по предложению Бэббиджа, что именно так их и следует обозначать. [20]

Ссылки [ править ]

  1. ^ Демминг, Анна. «Ада Лавлейс» . Новый учёный . Проверено 1 июня 2022 г.
  2. ^ Крыса, Иоасия. Ада Лавлейс - Никогда не было ноты G.
  3. ^ Перейти обратно: а б «Ада Лавлейс, первый технический провидец» . Житель Нью-Йорка . 15 октября 2013 г. Проверено 2 июня 2022 г.
  4. ^ Герц 2009 , с. 59.
  5. ^ «Празднование Ады Лавлейс:« первого в мире программиста » - Короткометражка Sharp Science - New Scientist» . 27 марта 2009 г. Архивировано из оригинала 27 марта 2009 г. Проверено 1 июня 2022 г.
  6. ^ Перейти обратно: а б «Ада Лавлейс | Двигатель Бэббиджа | Музей истории компьютеров» . www.computerhistory.org . Проверено 1 июня 2022 г.
  7. ^ Перейти обратно: а б с «Ада Лавлейс | Биография, компьютер и факты» . Британская энциклопедия . Проверено 1 июня 2022 г.
  8. ^ Перейти обратно: а б «Ада Лавлейс: первый программист» . Ментальная нить . 13 октября 2015 г. Проверено 2 июня 2022 г.
  9. ^ Штейн 1984 , с. 44.
  10. ^ Перейти обратно: а б с «Что на самом деле делала программа Ады Лавлейс?» . сайт twobithistory.org . Проверено 1 июня 2022 г.
  11. ^ «Ада Лавлейс и история ноты G» . Нью-Йоркская медиалаборатория . Проверено 1 июня 2022 г.
  12. ^ Перейти обратно: а б с д Это ж «Как заметки Ады Лавлейс об аналитической машине создали первую компьютерную программу» . Журнал BBC Science Focus . Проверено 1 июня 2022 г.
  13. ^ «Чарльз Бэббидж оставил компьютерную программу в Турине в 1840 году. Вот она» . Проводной . ISSN   1059-1028 . Проверено 1 июня 2022 г.
  14. ^ Перейти обратно: а б с «Математическое сокровище: заметки Ады Лавлейс об аналитической машине | Математическая ассоциация Америки» . www.maa.org . Проверено 2 июня 2022 г.
  15. ^ Перейти обратно: а б Лавлейс и Бэббидж и создание «Записок» 1843 года
  16. ^ Штейн 1984 , с. 46.
  17. ^ Перейти обратно: а б «Ада Лавлейс» . Биография . 2 апреля 2014 года . Проверено 2 июня 2022 г.
  18. ^ Тул, Бетти Александра (23 сентября 2004 г.). «Байрон, (Огаста) Ада [имя в браке (Аугуста) Ада Кинг, графиня Лавлейс] (1815–1852), математик и пионер компьютеров» . Оксфордский национальный биографический словарь . Том. 1 (онлайн-ред.). Издательство Оксфордского университета. doi : 10.1093/ref:odnb/37253 . ISBN  978-0-19-861412-8 . (Требуется подписка или членство в публичной библиотеке Великобритании .)
  19. ^ «Ада Лавлейс — биография, факты и фотографии» . Проверено 2 июня 2022 г.
  20. ^ Перейти обратно: а б с д «Очерк аналитической машины» . www.fourmilab.ch . Проверено 2 июня 2022 г.
  21. ^ Вулли 1999 .
  22. ^ «Празднование Ады Лавлейс» . МТИ Пресс. 11 октября 2016 г. Проверено 2 июня 2022 г.
  23. ^ «Ада Лавлейс» . История . 26 февраля 2021 г. Проверено 2 июня 2022 г.
  24. ^ Перейти обратно: а б с «Записка G Ады Лавлейс | Проект Лавлейс» . Projectlovelace.net . Проверено 1 июня 2022 г.

Источники [ править ]

Arc.Ask3.Ru: конец оригинального документа.
Arc.Ask3.Ru
Номер скриншота №: C779B507286E399C867F3A85E10FC07A__1717031040
URL1:https://en.wikipedia.org/wiki/Note_G
Заголовок, (Title) документа по адресу, URL1:
Note G - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть, любые претензии не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, денежную единицу можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)