История программирования: зарождение концепций.

19.06.12

Разработка - Математика и алгоритмы

Когда пред Наполеоном рассуждали о проектах гражданских инженеров, тогда он непременно спрашивал: «А что думает о том Прони?»

 

Барон Гаспар-Клер-Франсуа-Мари-Риш  де Прони родился в Шамеле, в департаменте Роны, 22 июля 1755 г. Не вдаваясь в подробности биографии (в частности, де Прони изобрел спидометр) укажу, что в конце 18 века он стал Главным вычислителем Франции, и именно ему Наполеон поручил срочно подготовить таблицы логарифмов.

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

Итак, появилась

Концепция №1: Разделение решения сложной/большой вычислительной задачи на алгоритмизацию, программирование и сами вычисления.

Автоматизацией третьего этапа решил заняться Чарльз Беббидж в 1819 году. К этому времени кроме сумматора Паскаля (начало разработки - 1642) уже существовали предшественники перфокарт - ткацкие карты Жаккарда,  появившиеся в 1805 году. Правда, вначале задача произвольных вычислений не ставилась - речь шла о вычислении элементов специфических (преимущественно, астрономических) таблиц методом конечных разностей (отсюда название - разностная машина). Лишь в 1834 году, потерпев ряд неудач при усовершенствовании разностной машины, Беббидж приходит к идее программируемой вычислительной машины, которую он назвал аналитической (Analytical Engine).

В аналитической машине Бэббидж предусмотрел следующие части: склад (store), фабрика или мельница (mill), управляющий элемент (control) и устройства ввода/вывода информации. В (почти) современных терминах - ЗУ (запоминающее устройство), АЛУ (арифметико - логическое устройство), УУ (устройство управления, не путать с управленческим учетом!) и периферийные устройства.

Концепция №2: Архитектура вычислительной машины.

(Теоретически,) машина Беббиджа не только выполняла линейные вычисления, в ней были заложены условный и безусловный переходы и циклы. На вход должны были поступать два потока карт, которые Бэббидж назвал операционными картами (operation card) и картами переменных (variable card): первые управляли процессом обработки данных, записанных на вторых. На тех и на других информация записывалась путем пробивки отверстий. Из операционных карт можно было составить библиотеку функций. Помимо этого, Analytical Engine, по замыслу Бэббиджа, должна была содержать устройство печати и устройство вывода результатов на перфокарты для последующего использования.

Считается, что от машины Беббиджа до теперешней ЭВМ остался всего один шаг:

Концепция №3: Хранение программ в памяти,

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

В 1842 году вышло первое подробное описание изобретения Беббиджа. Статья была опубликована на французском, и Ада Лавлейс взялась перевести её на английский. Ее комментарии к этому переводу дали повод называть Аду первой программисткой - и это правильно. В программе, предназначенной для вычисления чисел Бернулли, ей были даже использованы рекуррентные вложенные циклы. Но главное, в своих комментариях леди Лавлейс высказала великолепную догадку о том, что вычислительные операции могут выполняться не только с числами, но и с другими объектами, (включая стихи и музыку), в том числе, могут модифицироваться и команды машины.

Итак, в очередной раз мы видим подтверждение принципа Арнольда: если какой-нибудь предмет имеет персональное наименование (Америка, например), то это никогда не бывает имя первооткрывателя. Это всегда имя какого-то другого человека. Америка не называется Колумбией, хотя открыл ее Колумб. А «архитектуру фон Неймана» открыли Беббидж и Лавлейс.

Говоря об истоках, нельзя не упомянуть еще одно имя - Алан Матисон Тьюринг. Здесь упомянутый принцип Арнольда дал сбой: машину Тьюринга придумал именно он. В 1936 году Алан опубликовал свою знаменитую работу «О вычислимых числах, с приложением к проблеме разрешимости», и именно на ней построена (к ней сводится) теория алгоритмов. Основной постулат (ничего бОльшего я и не буду приводить, это же не теоретический сайт) -

Концепция №4: Машина Тьюринга может все.

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

 

И в завершение - реалии сегодняшнего дня.

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

Как замечают разработчики - группа ученых и инженеров из Университета Висконсин-Мэдисон - концепт нового «нанокомьпютера» имеет много общего с конструкцией самой первой вычислительной машины, построенной английским математиком Чарльзом Бэббиджем. К числу предтеч проекта можно отнести и арифмометр с вращающейся ручкой, который еще недавно широко использовался в качестве альтернативы обыкновенным счетам.

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

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



 

 

См. также

Метод Дугласа-Пойкера для эффективного хранения метрик

Математика и алгоритмы Платформа 1C v8.2 Конфигурации 1cv8 Россия Абонемент ($m)

На написание данной работы меня вдохновила работа @glassman «Переход на ClickHouse для анализа метрик». Автор анализирует большой объем данных, много миллионов строк, и убедительно доказывает, что ClickHouse справляется лучше PostgreSQL. Я же покажу как можно сократить объем данных в 49.9 раз при этом: 1. Сохранить значения локальных экстремумов 2. Отклонения от реальных значений имеют наперед заданную допустимую погрешность.

1 стартмани

30.01.2024    1715    stopa85    12    

33

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

Математика и алгоритмы Бесплатно (free)

Разработка алгоритма, построенного на модели симплекс-метода, для нахождения оптимального раскроя.

19.10.2023    4318    user1959478    50    

34

Регулярные выражения на 1С

Математика и алгоритмы Инструментарий разработчика Платформа 1С v8.3 Мобильная платформа Россия Абонемент ($m)

Что ж... лучше поздно, чем никогда. Подсистема 1С для работы с регулярными выражениями: разбор выражения, проверка на соответствие шаблону, поиск вхождений в тексте.

1 стартмани

09.06.2023    7349    4    SpaceOfMyHead    17    

56

Модель распределения суммы по базе

Математика и алгоритмы Платформа 1С v8.3 Россия Абонемент ($m)

Обычно под распределением понимают определение сумм пропорционально коэффициентам. Предлагаю включить сюда также распределение по порядку (FIFO, LIFO) и повысить уровень размерности до 2-х. 1-ое означает, что распределение может быть не только пропорциональным, но и по порядку, а 2-ое - это вариант реализации матричного распределения: по строкам и столбцам. Возможно вас заинтересует также необычное решение этой задачи через создание DSL на базе реализации текучего интерфейса

1 стартмани

21.03.2022    7820    7    kalyaka    11    

44

Изменения формата файлов конфигурации (CF) в 8.3.16

Математика и алгоритмы Платформа 1С v8.3 Бесплатно (free)

Дополнение по формату файлов конфигурации (*.cf) в версии 8.3.16.

16.12.2021    4415    fishca    13    

36

Интересная задача на Yandex cup 2021

Математика и алгоритмы Бесплатно (free)

Мое решение задачи на Yandex cup 2021 (frontend). Лабиринт. JavaScript.

12.10.2021    8794    John_d    73    

46

Механизм анализа данных. Кластеризация.

Математика и алгоритмы Анализ учета Платформа 1С v8.3 Анализ и прогнозирование Бесплатно (free)

Подробный разбор, с примером использования, встроенного механизма кластеризации 1С.

31.08.2021    7720    dusha0020    8    

70
Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. Арчибальд 2706 21.01.11 17:12 Сейчас в теме
Черт подери. Никак шрифт не выравнивается... :o
2. Alraune 1500 21.01.11 17:19 Сейчас в теме
Я думала, ты специально про "реалии сегодняшнего дня" такими маленькими буквами написал
3. Арчибальд 2706 21.01.11 17:25 Сейчас в теме
(2) Это да, специально маленькими, поскольку в общем-то к делу не относится. Я с остальным текстом второй час мучаюсь :(
4. Ish_2 1104 21.01.11 18:18 Сейчас в теме
Ты заготовки на-гора выдаешь ? Надо же как плодовит...
А в целом - конечно, приветствую !
5. Арчибальд 2706 21.01.11 18:21 Сейчас в теме
(4) Только я тебя позвать собрался - ты уже здесь ;)
6. cool.vlad4 2 21.01.11 18:38 Сейчас в теме
Такими темпами книгу можно наваять ;)
7. пользователь 21.01.11 18:38
Сообщение было скрыто модератором.
...
8. Ish_2 1104 21.01.11 18:54 Сейчас в теме
Теперь подробности после второго чтения. Строго на мой вкус.
Бегло-популярный обзор всё-таки не впечатляет.
Сделан явно впопыхах.
Как то уж совсем - "для народа". Мельканье имен.
Ты бы остановился на машине Бебиджа. И разобрал её чуть более подробно.
Три источника и три составные части.
Тьюринг здесь явно лишний. Заслуживает отдельной темы.
Портреты отвлекают.
Изображение архитектур лучше поместить прямо в тему.
9. Арчибальд 2706 24.01.11 07:42 Сейчас в теме
(8)
Как то уж совсем - "для народа". Мельканье имен.
Цель - популяризация людей. И персонификация идей. Околокомпьютерная (в т.ч. одноэсная) тусовка должна, на мой взгляд, понимать, откуда что взялось.
Касательно машины Беббиджа: на сайте юных конструкторов было бы уместным разобрать технические подробности. А здесь - именно три источника и три составные части.
10. UncleVader 129 20.06.12 10:56 Сейчас в теме
А можно подробнее про связь Тьюринга с логотипом Apple?
12. Арчибальд 2706 20.06.12 11:16 Сейчас в теме
(10) UncleVader, вообще-то это легенда. Вот ссылка http://www.peoples.ru/science/mathematics/turing/
13. UncleVader 129 20.06.12 11:58 Сейчас в теме
(12) Спасибо, познавательно, и на мысли всякие наводит...
11. пользователь 20.06.12 11:07
Сообщение было скрыто модератором.
...
Оставьте свое сообщение