Общие условия выбора системы дренажа: Система дренажа выбирается в зависимости от характера защищаемого...
История создания датчика движения: Первый прибор для обнаружения движения был изобретен немецким физиком Генрихом Герцем...
Топ:
Техника безопасности при работе на пароконвектомате: К обслуживанию пароконвектомата допускаются лица, прошедшие технический минимум по эксплуатации оборудования...
Оценка эффективности инструментов коммуникационной политики: Внешние коммуникации - обмен информацией между организацией и её внешней средой...
Определение места расположения распределительного центра: Фирма реализует продукцию на рынках сбыта и имеет постоянных поставщиков в разных регионах. Увеличение объема продаж...
Интересное:
Уполаживание и террасирование склонов: Если глубина оврага более 5 м необходимо устройство берм. Варианты использования оврагов для градостроительных целей...
Как мы говорим и как мы слушаем: общение можно сравнить с огромным зонтиком, под которым скрыто все...
Влияние предпринимательской среды на эффективное функционирование предприятия: Предпринимательская среда – это совокупность внешних и внутренних факторов, оказывающих влияние на функционирование фирмы...
Дисциплины:
2017-12-09 | 308 |
5.00
из
|
Заказать работу |
Содержание книги
Поиск на нашем сайте
|
|
Мы уделили целую главу этой небольшой книги обсуждению ЭВМ потому, что хотели выяснить, какие требования предъявляет практика к теории алгоритмов. И обнаружили то, что и ожидали. Ни одна из традиционных теорий алгоритмов не может обслуживать такую область техники и науки как ЭВМ и программирование. Правда, знание традиционных теорий алгоритмов нам в определенной степени «открывает глаза», позволяет понимать, что программирование — это прикладная область теории алгоритмов.
Но с точки зрения традиционных теории алгоритмов программы для ЭВМ и алгоритмов на входных языках программирования являются только «алгоритмами в интуитивном смысле». Традиционные теории алгоритмов заставляют при решении проблем, возникающих в связи с программированием, погружаться в туман интуиции. Программисты начинают «принимать облик» художников, фантазеров, творцов программ, чуть ли не волшебников. Такое положение самих программистов не- устраивает.
Практика ставит задачу создания науки об алгоритмах, а не аппарата для обоснования математики и решения некоторых проблем математической логики. Мы с вами интересуемся не только практикой, но и теорией и логикой, уважаем логику, но хотим иметь свою теорию. Эта теория алгоритмов должна изучать алгоритмы как таковые. Она должна дать практически осуществимые методы построения алгоритмов. Конечно, убедиться, что та или иная задача не является алгоритмически неразрешимой проблемой, очень полезно. Но в большинстве случаев это сделать не очень трудно. Хотя бы потому, что наши массовые проблемы, как правило, содержат, может быть, и чрезвычайно большое, но конечное число одиночных проблем. Правда, и такие проблемы могут быть неразрешимыми (например, проблема оценки каталога всех каталогов библиотеки, состоящей из 1000 книг, см. § 4 гл. 3). Но все же иметь дело с конечной массовой проблемой куда легче, чем с бесконечной. Итак, не будем отказываться от традиционных теорий алгоритмов, но скажем: этого мало!
|
Мы требуем от теории алгоритмов, чтобы она была применима к самым различным видам алгоритмов и не отсылала в туман интуиции, чтобы эта теория учила способам оценки качества алгоритмов, способам эквивалентных преобразований алгоритмов, в результате которых, имея «плохой» или «неважный» алгоритм, можно получить алгоритм «лучший» или даже «наилучший».
Поскольку мы должны применять ЭВМ в самых различных областях науки и техники, то должны с помощью теории алгоритмов обнаруживать алгоритмы, действующие в этих областях, и уметь строить программы, реализующие их.
Мы хотим к различным алгоритмам применять математику так, как ее применяют в других областях науки и техники. Для этого прежде всего нужно иметь широкое формальное определение алгоритма. Его формальный характер позволит применять к нему математику, а его широта должна обеспечить возможность почти всегда иметь дело с алгоритмами, к которым применима наука.
Традиционные теории алгоритмов слишком суживают понятие алгоритма. Одно из простейших действий, постоянно совершаемое каждым из нас, с точки зрения традиционных теорий является неконструктивным, почти что невозможным — произвольный выбор.
Простейшая массовая проблема, посильная даже для любого ребенка (приведена ниже), оказывается неразрешимой проблемой. Если же применить к ней волшебное свойство человека совершать неконструктивные действия, то после этого уже не нужен никакой алгоритм. Она уже решена.
Вот эта «дьявольская» массовая проблема: найти общий метод определения количества символов, из которых образовано непустое буквенное «кольцо» (замкнутая цепочка букв) в алфавите, состоящем из одной буквы | (палочки).
|
Любой ребенок эту проблему решит мгновенно. Он скажет: нужно ткнуть в это буквенное кольцо пальцем и в том месте, куда попадет палец, его разорвать. После этого кольцо станет словом, являющимся записью искомого числа (мы уже встречались с этим способом записи чисел, когда строили машину Тьюринга для реализации функции λ (х)). Может быть ребенок не догадается, что после того, как он «ткнул пальцем», ответ уже получен, и станет считать число палочек. Но это уже не решение задачи, а перевод ее ответа из единичной системы счисления в десятичную.
Но здесь мы остановимся, читатель, и скажем: мы не пытаемся принизить традиционные теории алгоритмов, а доказываем необходимость содержательной теории алгоритмов (науки о разнообразных алгоритмах иг, в частности, о встречающихся в практике). Очевидно, построение такой теории требует расширения понятия языка и решения вопроса о том, что следует считать формальным языком.
С понятия формального языка, которое нам необходимо потому, что записи алгоритмов — это предложения таких языков, равно как и допустимые исходные данные и возможные результаты — предложения других формальных языков, мы и начнем.
Содержательная теория алгоритмов подготовлена усилиями многих программистов — практиков и теоретиков, но стала она возможной благодаря основополагающим работам математиков, создавших традиционные теории алгоритмов. Многие математики уже трудятся над проблемами содержательной теории алгоритмов. В добрый час!
|
|
Папиллярные узоры пальцев рук - маркер спортивных способностей: дерматоглифические признаки формируются на 3-5 месяце беременности, не изменяются в течение жизни...
Археология об основании Рима: Новые раскопки проясняют и такой острый дискуссионный вопрос, как дата самого возникновения Рима...
История создания датчика движения: Первый прибор для обнаружения движения был изобретен немецким физиком Генрихом Герцем...
Двойное оплодотворение у цветковых растений: Оплодотворение - это процесс слияния мужской и женской половых клеток с образованием зиготы...
© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!