Научная статья на тему 'Семиотика и программирование'

Семиотика и программирование Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
722
119
i Надоели баннеры? Вы всегда можете отключить рекламу.
i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Текст научной работы на тему «Семиотика и программирование»

УДК 681

Е.В. Ляпунцова, В.А. Шилейко СЕМИОТИКА И ПРОГРАММИРОВАНИЕ

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

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

Дальнейшее развитие структурных подходов совершенно естественно привело к концепции объектно-ориентированного программирования. Другой процесс состоял в последовательном ограничении требований к грамматической строгости, естественно там, где это было возможно. Слова “там, где это возможно, указывает на необходимость учёта смыслового аспекта, а на языке семиотики - семантического измерения семиозиса.

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

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

1. Разработка теории структуры знаков, знаковых систем и знаковых процессов.

2. Исследование свойств измеримости всех компонентов знаков.

3. Исследование основных взаимозависимостей, существующих между измеримыми свойствами всех знаковых компонентов.

4. Изучение зависимостей между различными информационными и семиотическими процессами, такими как восприятие, запоминание, извлечение, понимание, коммуникации, классификация, распознавание, принятие решений и т. п.

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

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

Здесь уместно привести историческую параллель. Триумфом современной технологии, в частности атомной энергетики, космической техники и системам связи, мы обязаны физике. Основные научные открытия, обусловившие современное состояние физики, были совершены в период между XVI и XVIII столетиями: революция в языке и терминологии (Коперник), эмпирическая революция (Галилей) и теоретическая революция (Ньютон). Благодаря этим усилиям и были созданы основы физики как науки. Они и послужили отправной точкой для дальнейшего развития, кульминацию которого мы, по всей вероятности, переживаем в наши дни. Если считать подобную аналогию справедливой, то, рассуждая с тех же позиций, следует признать, что современное состояние теории информации соответствует уровню развития физики, который имел место в XIII веке. Мы хорошо отдаём себе в этом отчёт и поэтому предприняли исследование, в основе которого лежит теория знаков и знаковых структур. Иначе говоря, делается попытка создать новый язык, средствами которого можно описать саму сущность информации. В то же время работа не имеет чисто абстрактного характера. Мы всё время имеем в виду приложения в таких областях, как вычислительная техника, теория связи, лингвистика.

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

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

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

Знак, или десигнат (Пирс использовал слово гергезеМатеШ:), есть нечто, что подменяет для кого-то нечто другое в некотором определённом смысле. Та же самая тройка составляет знаменитый треугольник Фреге, показанный на рисунке. Здесь денотат есть некоторый предмет или некоторое явление как физическое, так и формальное. Интерпретатор - это искусственный или естественный объект, способный проявить определённую реакцию. В соответствии с подобными определениями наука семиотика разделяется на три ветви. Пирс назвал эти ветви “чистой грамматикой”, “чистой логикой” и “чистой риторикой”. В дальнейшем

Ч. Моррис ввел понятия о трёх измерениях семиотических процессов и дал им названия синтактики, семантики и прагматики. Применительно к треугольнику Фреге говорят о трёх измерениях семиозиса, под которым понимают процесс присвоения десигнатов некоторому множеству денотатов.

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

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

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

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

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

Рассмотрим теперь пересечение

1с=ОпС.

Множество 1с есть не что иное, как совокупность элементов, общих для множеств С и о, или иначе совокупность признаков из предметной области, которыми обладает денотат. Меру множества 1с назовём интенсивностью реакции.

Теперь у нас есть все основания определить интерпретатор, как алгоритм конструирования пересечения множеств С и О. Что или кто именно реализует этот алгоритм - в общем случае не имеет значения. Меру множества I теперь можно назвать интенсивностью реакции данного интерпретатора на данный денотат. Теперь остается только задать некоторый порог и ввести условие, что интерпретатор проявляет реакцию в рассмотренном выше смысле на данный денотат, если удовлетворяется условие

и йТс,

где /с - мера множества Гс.

Аналогичным образом десигнат может быть описан некоторым множеством признаков в и снова интенсивность реакции интерпретатора на десигнат может быть определена как мера множества

13 = Б п С,

представляющего собой пересечение множеств Б и С, т. е. набор общих для них элементов. Всё это даёт нам возможность сформулировать следующее определение. Десигнат, задаваемый множеством признаков 8, можно считать знаком, представляющим некоторый денотат, задаваемый множеством признаков Б в том и только в том случае, если одновременно удовлетворяются неравенства

4>ТС и 4>Т8, где - мера пересечения 1„ а Т„ - соответствующий порог.

Обратимся теперь непосредственно к семиотике. Одним из важнейших положений семиотики является подразделение знаков на три основные категории: знак доминанта, знак спецификатор и тдексалъный знак. Знак доминанта передаёт основное смысловое содержание, получаемое в процессе семиозиса. Знак спецификатор уточняет это содержание, а индексальный знак определяет окружение основных знаков. Чаще всего в качестве примера, уточняющего только что приведённые определения, привлекаются дорожные знаки. Например, у знака "прочие опасности" символ "!" выражает основное смысловое содержание - опасность. Обрамляющий этот символ треугольник уточняет то обстоятельство, что имеет место предупреждающий знак и, следовательно, играет роль знака спецификатора. Наконец роль индексальных знаков в этом случае может играть информационная табличка, определяющая область действия знака.

Вполне естественно, применительно к программам, знаку доминанте поставить в соответствие понятие объекта. Согласно Г. Бучу, "объект - осязаемая сущность, которая чётко проявляет своё поведение". Более конкретно объект представляет собой совокупность созданную с помощью инкапсуляции, и в тоже время объект представляет собой переменную, которой можно присваивать определённые значения и над которой можно выполнить набор операций. Роль знака-спецификатора играет тип данной переменной или, что тоже самое, класс, к кото-

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

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

Выводы

1. Формализация представлений семиотики, построенной на понятиях треугольника Фреге и процесса семиозиса, может быть осуществлена за счёт представления основных элементов процесса семиозиса в виде множеств и алгебры, определённой на этих множествах.

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

3. Измельчение разбиений может происходить с применением методик объектно-ориентированного программирования и анализа инкапсуляции. Такое разбиение может рассматриваться как модель программного продукта.

УДК 681.3.068

О. А. Мунтян МНОГОПЛАТФОРМЕННЫЙ ТРАНСЛЯТОР

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

Найти выход из данной ситуации поможет создание транслирующей подсистемы, способной обеспечить такие возможности работы, как анализ программы с восстановлением её исходного алгоритма, перевод восстановленного алгоритма на язык промежуточного представления (с последующим сохранением его в

i Надоели баннеры? Вы всегда можете отключить рекламу.