ailev.ru

6 июня 2012 · Запись

Информатика

Информатика -- это работа агентов (людей и компьютеров) с текстами и кодами. Текст -- понимается тут как "всё есть текст" ("text" is any object that can be "read," [человеком] whether this object is a work of literature, a street sign, an arrangement of buildings on a city block, or styles of clothing), неформален в части семантики и синтаксиса использованного в нём языка. Код -- формальное в части семантики и синтаксиса использованного языка представление какого-то содержания, независимо от сериализации в строку буковок или оставления в виде какого-нибудь графа, таблиц или триплов. Особо нужно обсуждать действия в информатике: "акты" (в том числе речевые акты) и "вычисления" (в том числе отработка инструкций компьютером). Информатика-в-малом -- это когда работу с текстами и кодами ведёт один агент (компьютер или человек). Информатика-в-большом -- когда в работе с текстами и кодами участвует много агентов. Дисциплины информатики: -- (философская) логика, объектом практик которой является поиск наиболее компактных описаний для связи текстов и кодов с реальным миром, а также выражения связи с реальным миром формальных и неформальных языков, на которых представлены тексты и коды. Можно считать, что философия языка -- это тоже сюда. -- когнитивная наука (cognitive science), объектом практик которой является поиск наиболее компактных описаний для понимания (перевод текстов и кодов во внутреннее представление в голове человека) и писательство (порождение текстов и кодов из внутреннего представления в голове человека). -- лингвистика, объектом практик которой является поиск наиболее компактных описаний кодирования текста и отекстовки кодов. -- компьютерная наука (computer science), объектом практик которой является поиск наиболее компактных описаний перекодирования. Сюда вполне можно отнести и биосемиотику (в варианте http://galicarnax.livejournal.com/39260.html). Все эти дисциплины обладают немеренным шовинизмом, то есть пытаются прихватить в свой состав практики смежных дисциплин, поэтому границы между ними весьма расплывчаты. Тем не менее, специалисты одной дисциплины практически не понимают специалистов другой дисциплины, ибо их предметы крайне разнятся, а тусовки не пересекаются. Вот типовые деятельности (агентов -- людей и компьютеров), которые требуют рассмотрения сразу несколькими поддисциплинами информатики: Перетекстовка (из текста в текст): -- перевод -- аннотирование (в смысле создание краткого описания) -- поиск (фильтрация) -- интерпретация-1 (герменевтическая) Кодирование (из текста в код): -- парсинг -- формализация -- аннотирование (в смысле разметка текста фрагментами кода) -- распознавание -- моделирование данных Отекстовка (из кода в текст): -- рендеринг -- отчёт -- синтез текста (например, "объяснений" в экспертных системах) Перекодирование (из кода в код): -- мэппинг -- преобразование (трансформация) -- компиляция/трансляция (включая суперкомпиляцию) -- шифрование и дешифровка -- интерпретация (компиляция с немедленным исполнением) -- оценка (как в функциональных языках) -- вывод (как в логических языках) Например, если мы рассматриваем какой-нибудь Haskell и коды на нём, то можно подумать, что там только рассмотрение computer science (перекодирование из одного формального представления в другое). Но если речь идёт о моделировании реального мира типами Haskell, то там будут задействованы положения философской логики, а когда выяснится, что большинству людей эти "идеальные коды на лучшем из языков" недоступны в понимании, то придётся привлечь аппарат когнитивной науки. Если нас интересует перекодирование текстов инженерных стандартов в формальное представление справочных данных, непосредственно доступных из CAD/CAM систем, то тут рулит лингвистика. Тем не менее, когнитивная наука позволит понять, почему все эти коды айтишников (онтологии, базы данных, фреймовые представления, типы языков программирования) неточно выражают выраженное в стандартах инженерное знание и почему результат "чисто лингвистической" работы вызывают у большинства инженеров-неайтишников непонимание, когда они рассматривают результирующие структуры данных. Философская же логика позволит как-то обсуждать наличие различных описаний одних и тех же объектов в реальности (например, описание функциональных объектов и физических объектов -- насоса-на-чертеже и насоса-с-серийным номером) и способы их совмещения (например, 4D extensionalism). Ну, а когда нужно просто из одного формализма отмэппить в другой (и когнитивная наука вместе с философской логикой говорят, что с содержанием всё ОК), то это задача для компьютерной науки.

Читать обсуждение →