Cтраница 2
Как математическая модель сети Петри занимают промежуточное положение между конечными автоматами и машинами Тьюринга. При этом по выразительной мощности они значительно богаче автоматов и приближаются к машинам Тьюринга. [16]
Пустота пересечения множеств Х4 и Х2 исключает циклические интерпретации, а введение в рассмотрение функции k аргументов призвано обеспечить более полную интерпретацию. Вид отображения f из Ф определяет выразительную мощность и практическую полезность этого вида онтологии. [17]
Поддерживается также чистый Дейталог. С вычислительной точки зрения оператор замыкания системы ALGRES-PREFIX имеет достаточную выразительную мощность для поддержки рекурсивных запросов Дейталога. Рассматривается включение множеств и отрицаний. [18]
Во второй части главы рассматривается обобщение регулярных сетей - иерархические сети, предназначенные для адекватного моделирования иерархических динамических систем. Будет показано, что иерархические сети обладают такой же выразительной мощностью, что и ингибиторные сети или сети с приоритетами. [19]
Простейшими ( базовыми) операциями реляционной алгебры являются: выборка ( селекция), проекция, декартово произведение, объединение и разность. Набор реляционных операторов является реляционно полным в том смысле, что его выразительная мощность эквивалентна мощности реляционного исчисления. [20]
Нам самим не придется этим заниматься; упомянем только, что существует целый класс компьютерных программ с точно такой же выразительной мощностью, как Флуп, в том смысле, что любое вычисление, программируемое на одном языке, может быть запрограммировано на всех остальных языках. Интересно то, что почти любая попытка создать достойный внимания компьютерный язык приводит к созданию языка этого класса, то есть языка с выразительной мощностью Флупа. Приходится попотеть, чтобы создать достаточно интересный компьютерный язык слабее этих языков. Блуп, разумеется, пример более слабого языка, но это - скорее исключение, чем правило. Дело в том, что существует некий естественный путь создания алгоритмических языков, так что разные люди, работая назависимо друг от друга, обычно создают эквивалентные языки, отличающиеся скорее стилем, чем степенью мощности. [21]
В частности, показано, как можно использовать встроенные предикаты, включать отрицание в Дейталог и добавлять сложные объекты, состоящие из множеств и вложенных термов. Эти добавления увеличивают выразительную мощность Дейталога и делают его более пригодным для практического использования в качестве языка запросов для больших баз данных или для формулирования правил в экспертной системе баз данных. Ожидается, что интенсивные исследования по Дейталогу и его возможные расширения приведут в следующем десятилетии к разработке и распространению новых программных продуктов. Ряд интересных исследовательских прототипов уже разработан, и некоторые из них описаны в гл. [22]
Во-первых, разработчики любого языка программирования имеют определенные не выраженные явно представления о программах и программировании, оказывающие существенное влияние на разрабатываемый язык программирования и возможность его использования в качестве инструмента. Во-вторых, языки программирования являются в первую очередь средством, обеспечивающим возможность осуществлять запись алгоритмов. По этой причине единообразие и выразительная мощность языков программирования оказывают на программиста очень большое влияние, особенно на этапе кодирования. В-третьих, сколько-нибудь существенные программные комплексы состоят из некоторого числа компонентов, а выбор языка программирования в значительной степени определяет как способ декомпозиции, так и особенности взаимодействия отдельных компонентов друг с другом. Это оказывает влияние на программистские проекты, к работе над которыми привлечены коллективы программистов. [23]
В первом случае это информация о статических приоритетах тех переходов, которые могут сработать по стандартным условиям, во втором - о множестве всех переходов, которые готовы сработать при данной разметке. Именно в силу привлечения данных о глобальной ситуации в системе и возрастает выразительная мощность сетей. [24]
Нам самим не придется этим заниматься; упомянем только, что существует целый класс компьютерных программ с точно такой же выразительной мощностью, как Флуп, в том смысле, что любое вычисление, программируемое на одном языке, может быть запрограммировано на всех остальных языках. Интересно то, что почти любая попытка создать достойный внимания компьютерный язык приводит к созданию языка этого класса, то есть языка с выразительной мощностью Флупа. Приходится попотеть, чтобы создать достаточно интересный компьютерный язык слабее этих языков. Блуп, разумеется, пример более слабого языка, но это - скорее исключение, чем правило. Дело в том, что существует некий естественный путь создания алгоритмических языков, так что разные люди, работая назависимо друг от друга, обычно создают эквивалентные языки, отличающиеся скорее стилем, чем степенью мощности. [25]
Для того, чтобы умело управлять производственным процессом необходимо четко описать все сущности и их взаимосвязи. Для этого вначале описываются элементарные сущности ( по мере развития языка будут появляться различные библиотеки, описывающие различные предметные области), такие как булевы и арифметические операции, элементарные понятия языка на котором будет общаться пользователь с системой. Так, например, можно написать на языке Esse свой собственный язык для задания и управления какой-либо своей системой объектов, который будет наиболее удобен для манипулирования ею. Благодаря тому, что выразительная мощность языка равна выразительной мощности естественных языков, что определено его контекстной моделью, его можно использовать в более широком круге задач, нежели стандартные контекстно-свободные языки. Так на нем можно реализовать словари языка C, Prolog, Lisp и языка управления поездами и переключаясь между словарями писать текст программы сразу на нескольких языках. [26]
Для того, чтобы умело управлять производственным процессом необходимо четко описать все сущности и их взаимосвязи. Для этого вначале описываются элементарные сущности ( по мере развития языка будут появляться различные библиотеки, описывающие различные предметные области), такие как булевы и арифметические операции, элементарные понятия языка на котором будет общаться пользователь с системой. Так, например, можно написать на языке Esse свой собственный язык для задания и управления какой-либо своей системой объектов, который будет наиболее удобен для манипулирования ею. Благодаря тому, что выразительная мощность языка равна выразительной мощности естественных языков, что определено его контекстной моделью, его можно использовать в более широком круге задач, нежели стандартные контекстно-свободные языки. Так на нем можно реализовать словари языка C, Prolog, Lisp и языка управления поездами и переключаясь между словарями писать текст программы сразу на нескольких языках. [27]
Фактически язык изменился только в одном отношении: формальные параметры процедур и функций, в свою очередь выступающих в роли формальных параметров, должны быть описаны полностью. Это изменение было рекомендовано самим Виртом. Естественный консерватизм стандартизации разочарует тех, кто ожидал, что язык будет расширен. Однако, консерватизм в данном случае оправдан. Паскаль является скорее произведением одного человека, чем комитета. В языке найден удачный компромисс между простотой и выразительной мощностью, эффективностью и переносимостью, лаконичностью и многословием; его успех свидетельствует об умении, с которым были достигнуты противоречивые цели, преследуемые при разработке языка. [28]
Я полагаю, что приведенные выше соображения могут быть развиты в теорию выразительной силы языков, согласно которой язык А оказался бы более выразительным, чем язык В, йри следующих грубо сформулированных условиях. Во-первых, формируем все возможные функции любых типов на А, применяя все существующие функции к объектам и друг к другу всеми возможными способами до тех пор, пока нельзя будет сформировать никакую новую функцию какого-либо типа. Множество объектов является типом. Множество непрерывных функций [ T - U ] из типа Т в тип U является типом. Делаем то же самое для языка В. Затем сравниваем любой тип из А с соответствующим типом из В. Если некоторый тип функции из А не имеет эквивалента в языке Вп, то языки А и В несравнимы по выразительной мощности. [29]