Формальный язык это русский язык
Формальный язык
В математической логике и информатике формальный язык — это множество конечных слов (строк, цепочек) над конечным алфавитом. Понятие языка чаще всего используется в теории автоматов, теории вычислимости и теории алгоритмов. Научная теория, которая имеет дело с этим объектом, называется теорией формальных языков.
В теории моделей язык соответствует не языку в информатике, а скорее алфавиту. Язык состоит из множеств символов, функций и отношений вместе с их арностью, а также множество переменных. Каждое из этих множеств может быть бесконечным. Из языка вместе с универсальными логическими символами составляются логические высказывания.
Определение
Формальный язык может быть определён по-разному, например:
Если алфавит задан как <a, b>, а язык L включает в себя все слова над ним, то слово ababba принадлежит L. Пустое слово (то есть строка нулевой длины) допускается и часто обозначается как e, ε или Λ.
Некоторые примеры формальных языков:
Операции
Некоторые операции могут быть использованы для того, чтобы порождать новые языки из данных. Предположим, что и
являются языками, определёнными над некоторым общим алфавитом.
Список литературы
Смотреть что такое «Формальный язык» в других словарях:
формальный язык — — [http://www.iks media.ru/glossary/index.html?glossid=2400324] Тематики электросвязь, основные понятия EN formal language … Справочник технического переводчика
Формальный язык — то же, что Формализованный язык. Иногда под термином «Ф. я.» понимают также формальную систему (См. Формальная система) … Большая советская энциклопедия
ФОРМАЛЬНЫЙ ЯЗЫК — в математической лингвистике произвольное множество цепочек (т. е. слов )в нек ром (конечном или бесконечном) алфавите V (иногда называемом также словарем), т. е. выражений вида где число k, обычно обозначаемое есть длина цепочки Рассматривается… … Математическая энциклопедия
ФОРМАЛЬНЫЙ ЯЗЫК, ПРЕДСТАВИМЫЙ МАШИНОЙ — формальный язык, распознаваемый машиной, множество всех тех слов, при работе над к рыми машина попадает в одно из выделенных состояний. Всякое рекурсивно перечислимое множество слов есть формальный язык (ф. я.), представимый нек рой Тьюринга… … Математическая энциклопедия
Язык программирования — искусственный (формальный) язык, предназначенный для записи алгоритмов. Язык программирования задается своим описанием и реализуется в виде специальной программы: компилятора или интерпретатора. По английски: Programming language Синонимы:… … Финансовый словарь
ЯЗЫК ПРОГРАММИРОВАНИЯ — это совокупность набора символов (алфавита) системы, правил образования (синтаксис) и истолкования конструкции из символов (семантика) для задания алгоритмов с использованием символов естественного языка. В самом общем виде формальный язык… … Большая политехническая энциклопедия
язык концептуальной схемы — Формальный язык для описания концептуальной схемы, ее составных частей и действий над ними. [ГОСТ 34.320 96] Тематики базы данных EN conceptual schema language … Справочник технического переводчика
ЯЗЫК ПРОГРАММИРОВАНИЯ — формальный язык для описания данных (информации) и алгоритма (программы) их обработки на ЭВМ. Основу Я. п. составляют алгоритмические языки. Первыми Я. п. были внутренние машинные языки, представляющие собой системы команд конкретной ЭВМ,… … Большой энциклопедический политехнический словарь
формальный синтаксис — 3.4.1 формальный синтаксис: Спецификация точно сформулированных предложений формального языка с применением формальной грамматики. Примечание 1 Формальный язык это машинно ориентированный язык с интерпретированием. Примечание 2 Формальная… … Словарь-справочник терминов нормативно-технической документации
Язык (значения) — Язык: В Викисловаре есть статья «язык» Язык знаковая система для обмена информацией. Естественный язык сформи … Википедия
Формальные языки и грамматики
Мотивация
Время от времени на Хабре публикуются посты и переводные статьи, посвященные тем или иным аспектам теории формальных языков. Среди таких публикаций (не хочется указывать конкретные работы, чтобы не обижать их авторов), особенно среди тех, которые посвящены описанию различных программных инструментов обработки языков, часто встречаются неточности и путаница. Автор склонен считать, что одной из основных причин, приведших к такому прискорбному положению вещей, является недостаточный уровень понимания идей, лежащих в основании теории формальных языков.
Этот текст задуман как популярное введение в теорию формальных языков и грамматик. Эта теория считается (и, надо сказать, справедливо) довольно сложной и запутанной. На лекциях студенты обычно скучают и экзамены тем более не вызывают энтузиазма. Поэтому и в науке не так много исследователей в этой тематике. Достаточно сказать, что за все время, с зарождения теории формальных грамматик в середине 50-х годов прошлого века и до наших дней, по этому научному направлению было выпущено всего две докторских диссертации. Одна из них была написана в конце 60-х годов Алексеем Владимировичем Гладким, вторая уже на пороге нового тысячелетия — Мати Пентусом.
Далее в наиболее доступной форме описаны два основных понятия теории формальных языков: формальный язык и формальная грамматика. Если тест будет интересен аудитории, то автор дает торжественное обещание разродиться еще парой подобных опусов.
Формальные языки
Коротко говоря, формальный язык — это математическая модель реального языка. Под реальным языком здесь понимается некий способ коммуникации (общения) субъектов друг с другом. Для общения субъекты используют конечный набор знаков (символов), которые проговариваются (выписываются) в строгом временном порядке, т.е. образуют линейные последовательности. Такие последовательности обычно называют словами или предложениями. Таким образом, здесь рассматривается только т.н. коммуникативная функция языка, которая изучается с использованием математических методов. Другие функции языка здесь не изучаются и, потому, не рассматриваются.
В качестве известного примера такой математической абстракции можно привести модель, известную под неблагозвучным для русского уха названием «мешок слов». В этой модели исследуются тексты естественного языка (т.е. одного из тех языков, которые люди используют в процессе повседневного общения между собой). Основной объект модели мешка слов — это слово, снабженное единственным атрибутом, частотой встречаемости этого слова в исходном тексте. В модели не учитывается, как слова располагаются рядом друг с другом, только сколько раз каждое слово встречается в тексте. Мешок слов используется в машинном обучении на основе текстов в качестве одного из основных объектов изучения.
Но в теории формальных языков представляется важным изучить законы расположения слов рядом друг с другом, т.е. синтаксические свойства текстов. Для этого модель мешка слов выглядит бедной. Поэтому формальный язык задается как множество последовательностей, составленных из элементов конечного алфавита. Определим это более строго.
Алфавит представляет собой конечное непустое множество элементов. Эти элементы будем называть символам. Для обозначения алфавита обычно будем использовать латинское V, а для обозначения символов алфавита — начальные строчные буквы латинского алфавита. Например, выражение V = обозначает алфавит из двух символов a и b.
Цепочка представляет собой конечную последовательность символов. Например, abc — цепочка из трех символов. Часто при обозначении цепочек в символах используют индексы. Сами цепочки обозначают строчными символами конца греческого алфавита. Например, omega = a1. an — цепочка из n символов. Цепочка может быть пустой, т.е. не содержать ни одного символа. Такие цепочки будем обозначать греческой буквой эпсилон.
Наконец, формальный язык L над алфавитом V — это произвольное множеств цепочек, составленных из символов алфавита V. Произвольность здесь означает тот факт, что язык может быть пустым, т.е. не иметь ни одной цепочки, так и бесконечным, т.е. составленным из бесконечного числа цепочек. Последний факт часто вызывает недоумение: разве имеются реальные языки, которые содержат бесконечное число цепочек? Вообще говоря, в природе все конечно. Но мы здесь используем бесконечность как возможность образования цепочек неограниченной длины. Например, язык, который состоит из возможных имен переменных языка программирования C++, является бесконечным. Ведь имена переменных в C++ не ограничены по длине, поэтому потенциально таких имен может быть бесконечно много. В реальности, конечно, длинные имена переменных не имеют для нас особого смысла т.к. к концу чтения такого имени уже забываешь его начало. Но в качестве потенциальной возможности задавать неограниченные по длине переменные, это свойство выглядит полезным.
Итак, формальные языки — это просто множества цепочек, составленных из символов некоторого конечного алфавита. Но возникает вопрос: как можно задать формальный язык? Если язык конечен, то можно просто выписать все его цепочки одну за другой (конечно, можно задуматься, имеет ли смысл выписывать цепочки языка, имеющего хотя бы десять тысяч элементов и, вообще, есть ли смысл в таком выписывании?). Что делать, если язык бесконечен, как его задавать? В этот момент на сцену выходят грамматики.
Формальные грамматики
Способ задания языка называет грамматикой этого языка. Таким образом, грамматикой мы называем любой способ задания языка. Например, грамматика L = (здесь n — натуральное число) задает язык L, состоящий из цепочек вида ab, aabb, aaabbb и т.д. Язык L представляет собой бесконечное множество цепочек, но тем не менее, его грамматика (описание) состоит всего из 10 символов, т.е. конечна.
Назначение грамматики — задание языка. Это задание обязательно должно быть конечным, иначе человек не будет в состоянии эту грамматику понять. Но каким образом, конечное задание описывает бесконечные совокупности? Это возможно только в том случае, если строение всех цепочек языка основано на единых принципов, которых конечное число. В примере выше в качестве такого принципа выступает следующий: «каждая цепочка языка начинается с символов a, за которыми идет столько же символов b». Если язык представляет собой бесконечную совокупность случайным образом набранных цепочек, строение которых не подчиняется единым принципам, то очевидно для такого языка нельзя придумать грамматику. И здесь еще вопрос, можно или нет считать такую совокупность языком. В целях математической строгости и единообразия подхода обычно такие совокупности языком считают.
Итак, грамматика языка описывает законы внутреннего строения его цепочек. Такие законы обычно называют синтаксическими закономерностями. таким образом, можно перефразировать определение грамматики, как конечного способа описания синтаксических закономерностей языка. Для практики интересны не просто грамматики, но грамматики, которые могут быть заданы в рамках единого подхода (формализма или парадигмы). Иначе говоря, на основе единого языка (метаязыка) описания грамматик всех формальных языков. Тогда можно придумать алгоритм для компьютера, который будет брать на вход описание грамматики, сделанное на этом метаязыке, и что-то делать с цепочками языка.
Такие парадигмы описания грамматик называют синтаксическими теориями. Формальная грамматика — это математическая модель грамматики, описанная в рамках какой-то синтаксической теории. Таких теорий придумано довольно много. Самый известный метаязык для задания грамматик — это, конечно, порождающие грамматики Хомского. Но имеются и другие формализмы. Один из таких них — окрестностные грамматики, будет описан чуть ниже.
Окрестностные грамматики
В середине 60-х годов советский математик Юлий Анатольевич Шрейдер предложил простой способ описания синтаксиса языков на основе т.н. окрестностных грамматик. Для каждого символа языка задается конечное число его «окрестностей» — цепочек, содержащих данный символ (центр окрестности) где-то внутри. Набор таких окрестностей для каждого символа алфавита языка называется окрестностной грамматикой. Цепочка считается принадлежащей языку, задаваемому окрестностной грамматикой, если каждый символ этой цепочки входит в нее вместе с некоторой своей окрестностью.
Не всякий язык может быть описан окрестностной грамматикой. Рассмотрим, например, язык B, цепочки которого начинаются либо с символа «0», либо с символа «1». В последнем случае далее в цепочке могут идти символы «a» и «b». Если же цепочка начинается с нуля, то далее могут идти только символы «a». Нетрудно доказать, что для этого языка нельзя придумать никакой окрестностной грамматики. Легитимность вхождения символа «b» в цепочку обусловлена ее первым символом. Для любой окрестностной грамматики, в которой задается связь между символами «b» и «1» можно будет подобрать достаточно длинную цепочку, чтобы всякая окрестность символа «b» не доставала до начала цепочки. Тогда в начало можно будет подставить символ «0» и цепочка будет принадлежать языку A, что не отвечает нашим интуитивным представлениям о синтаксическом строении цепочек этого языка.
С другой стороны, легко можно построить конечный автомат, который распознает этот язык. Значит, класс языков, которые описываются окрестностными грамматиками, уже класса автоматных языков. Языки, задаваемые окрестностными грамматиками, будем называть шрейдеровскими. Таким образом, в иерархии языков можно выделить класс шрейдеровских языков, который является подклассом автоматных языков.
Можно сказать, что шрейдеровские языки задают одно простое синтаксическое отношение — «быть рядом» или отношение непосредственного предшествования. Отношение дальнего предшествования (которое, очевидно, присутствует в языке B) окрестностной грамматикой задано быть не может. Но, если визуализировать синтаксические отношения в цепочках языка, то для диаграмм отношений, в которые превращаются такие цепочки, можно придумать окрестностную грамматику.
Формальный язык это русский язык
Естественные и формальные языки.
Информация становится понятной, если она выражена языком, на котором говорят те, кому предназначена информация.
В процессе развития человеческого общества люди выработали большое число языков. Примеры языков:
Язык –– это знаковая система, используемая для целей коммуникации и познания. Основой большинства языков является алфавит – набор символов, из которых можно составлять слова и фразы данного языка.
Все языки можно разделить на естественные и искусственные.
Естественными называются “обычные”, “разговорные” языки, которые складываются стихийно и в течение долгого времени. История каждого такого языка неотделима от истории народа, владеющего им. Естественный язык, предназначенный, прежде всего, для повседневного общения, имеет целый ряд своеобразных черт:
Основными функциями естественного языка являются:
Искусственные языки создаются людьми для специальных целей либо для определенных групп людей: язык математики, морской семафор, язык программирования. Характерной особенностью искусственных языков является однозначная определенность их словаря, правил образования выражений и правил придания им значений.
Любой язык –– и естественный и искусственный –– обладает набором определенных правил. Они могут быть явно и строго сформулированными (формализованными), а могут допускать различные варианты их использования.
Формализованный(формальный) язык –– язык, характеризующийся точными правилами построения выражений и их понимания. Он строится в соответствии с четкими правилами, обеспечивая непротиворечивое, точное и компактное отображение свойств и отношений изучаемой предметной области (моделируемых объектов).
В отличие от естественных языков формальным языкам присущи четко сформулированные правила семантической интерпретации и синтаксического преобразования используемых знаков, а также то, что смысл и значение знаков не изменяется в зависимости от каких-либо прагматических обстоятельств (например, от контекста).
Большинство формальных языков (созданных конструкций) строится по следующей схеме. сначала выбирается алфавит, или совокупность исходных символов, из которых будут строиться все выражения языка; затем описывается синтаксис языка, то есть правила построения осмысленных выражений. Буквами в алфавите формального языка могут быть и буквы алфавитов естественных языков, и скобки, и специальные знаки и т.п. Из букв, по определенным правилам можно составлять слова и выражения. Осмысленные выражения получаются в формальном языке, только если соблюдены определенные в языке правила образования. Для каждого формального языка совокупность этих правил должна быть строго определена и модификация любого из них приводит чаще всего к появлению новой разновидности (диалекта) этого языка.
Формальные языки широко применяются в науке и технике. В процессе научного исследования и практической деятельности формальные языки обычно используются в тесной взаимосвязи с естественным языком, поскольку последний обладает гораздо большими выразительными возможностями. В то же время формальный язык является средством более точного представления знаний, чем естественный язык, а следовательно, средством более точного и объективного обмена информацией между людьми.
Формальные языки часто конструируются на базе языка математики. Веком бурного развития различных формальных языков можно считать XX век.
С точки зрения информатики, среди формальных языков наиболее значительную роль играют формальный язык логики (язык алгебры логики) и языки программирования.
Возникновение языков программирования приходится на начало 50-х годов XX века.
Языков программирования и их диалектов (разновидностей) насчитывается несколько тысяч. Классифицировать их можно по-разному. Некоторые авторы разбивают все многообразие языков программирования на процедурные и декларативные. В процедурных языках преобразование данных задается с помощью описания последовательности действий над ними. В декларативных языках преобразование данных задается посредством описания отношений между самими данными. Согласно другой классификации, языки программирования можно разделить на процедурные, функциональные, логические, объектно-ориентированные. Однако любая классификация несколько условна, поскольку, как правило, большинство языков программирования включает в себя возможности языков разных типов.Особое место среди языков программирования занимают языки, обеспечивающие работу систем управления базами данных (СУБД). Часто в них выделяют две подсистемы: язык описания данных и язык манипулирования
Всем хочется говорить на иностранном языке правильно. Безусловно, правильная речь должна быть грамматически верна!
Сразу скажу, что я люблю грамматику. Для меня большое удовольствие читать всякие справочники и пособия.
Долгое время я полагал, что для того, чтобы понимать и говорить свободно, мы должны много слушать и читать, но чтобы говорить правильно, точно, мы должны изучать грамматику. Оказалось, это не совсем так.
Что такое грамматика и что из неё можно усвоить?
Ответим сначала на вопрос: «Что же такое грамматика?».
Лингвисты и преподаватели, конечно, не изобретают грамматику. Грамматика – это просто описание того, что ученые знают о конкретном языке.
Давайте нарисуем большой круг, представляющий собой все закономерности, какие есть в языке. Но любой язык настолько богат, что даже в самом изученном – английском – до сих пор выявлены не все правила.
Внутри нарисуем ещё один круг – все правила, выведенные учеными-лингвистами.
В своих прикладных описаниях грамматики ученые представляют часть из этих правил. По ним собственно и составляют курсы преподаватели языка.
Теория формальных языков
Соответственно, получаем еще меньший круг.
Идем далее. Один из лучших учебников – Рэймонд Мёрфи «English Grammar in Use» – это 400 страниц! Конечно, не все из этого дается ученикам и не все они усвоят.
Получаем вот такую картину.
Итак, даже лучшие ученики, планомерно изучая грамматику, усваивают только небольшую часть правил языка.
Можно ли применять выученные правила?
Как говорит ведущий американский лингвист Стивен Крашен, человек может «учить» язык и может «осваивать» его. Первое – это сознательный процесс. Второе – бессознательный.
Так вот, сознательное применение «выученных» правил очень сильно ограничено. Когда мы общаемся, слушаем, читаем мы можем использовать только то, что мы освоили бессознательно. На сознательное применение правил просто нет времени! Практически их можно использовать только при подготовке письменных текстов, да и то с оговорками.
Как же говорить правильно?
Подумайте, много ли правил русского языка из тех, что зубрили в школе, вы можете вспомнить? Тем не менее, на родном языке все мы свободно общаемся и пишем, в основном без ошибок. Как же нам это удается?
Дело в том, что мы тысячи раз встречали правильные грамматические конструкции, а неправильные почти никогда. Поэтому фраза «Я иду домой» нам кажется правильной, а фраза «Моя идти дом» – нет. То, что мы встречали много раз, усваивается, и именно поэтому мы говорим правильно.
Процесс освоения иностранного языка – аналогичен тому, как мы учим свой родной язык. Можно научиться говорить правильно, только наработав достаточное количество материала. Т. е. просто много слушать и читать. После этого активизировать речь будет не так уж сложно.
Рекомендации
Когда вы знакомитесь с языком, возьмите самую тонкую книжку грамматики. Я, например, когда учу новый язык, всегда так делаю. Просто прочитайте ее. Не делайте специально никаких упражнений.
Много слушайте и читайте. Действительно много. Время от времени возвращайтесь к грамматике и просматривайте то, что вам непонятно.
Именно так, много раз встречая правильные конструкции, вы их постепенно освоите и начнете сами употреблять правильно.
Успехов в освоении языка!
Ваш преподаватель английского
Владимир Шейнблат
Естественные и формальные языки.
ФОРМА И ЯЗЫК ПРЕДСТАВЛЕНИЯ ИНФОРМАЦИИ
Форма представления одной и той же информации может быть различной
Таким образом, информацию можно представить в различной форме:
Основу любого языка составляет алфавит — набор однозначно определенных знаков (символов), из которых формируется сообщение. Языки делятся на естественные (разговорные) и формальные. Алфавит естественных языков зависит от национальных традиций.
Формальный язык.
Формальные языки встречаются в специальных областях человеческой деятельности (математике, физике, химии и т. д.).
Естественные и формальные языки.
В процессе развития человеческого общества люди выработали большое число языков. Примеры языков:
Язык –– это знаковая система, используемая для целей коммуникации и познания. Основой большинства языков является алфавит – набор символов, из которых можно составлять слова и фразы данного языка.
Все языки можно разделить на естественные и искусственные.
Естественными называются “обычные”, “разговорные” языки, которые складываются стихийно и в течение долгого времени. Естественный язык, предназначенный, прежде всего, для повседневного общения, имеет целый ряд своеобразных черт:
Основными функциями естественного языка являются:
Искусственные языки создаются людьми для специальных целей либо для определенных групп людей.
Характерной особенностью искусственных языков является однозначная определенность их словаря, правил образования выражений и правил придания им значений.
Любой язык –– и естественный и искусственный –– обладает набором определенных правил. Они могут быть явно и строго сформулированными (формализованными), а могут допускать различные варианты их использования.
Формализованный (формальный) язык –– язык, характеризующийся точными правилами построения выражений и их понимания. Он строится в соответствии с четкими правилами, обеспечивая непротиворечивое, точное и компактное отображение свойств и отношений изучаемой предметной области (моделируемых объектов).
В отличие от естественных языков формальным языкам присущи четко сформулированные правила семантической интерпретации и синтаксического преобразования используемых знаков, а также то, что смысл и значение знаков не изменяется в зависимости от каких-либо прагматических обстоятельств (например, от контекста).
Большинство формальных языков (созданных конструкций) строится по следующей схеме. сначала выбирается алфавит, или совокупность исходных символов, из которых будут строиться все выражения языка; затем описывается синтаксис языка, то есть правила построения осмысленных выражений. Буквами в алфавите формального языка могут быть и буквы алфавитов естественных языков, и скобки, и специальные знаки и т.п. Из букв, по определенным правилам можно составлять слова и выражения. Осмысленные выражения получаются в формальном языке, только если соблюдены определенные в языке правила образования. Для каждого формального языка совокупность этих правил должна быть строго определена и модификация любого из них приводит чаще всего к появлению новой разновидности (диалекта) этого языка.
Формальные языки широко применяются в науке и технике. С точки зрения информатики, среди формальных языков наиболее значительную роль играют формальный язык логики (язык алгебры логики) и языки программирования.
Возникновение языков программирования приходится на начало 50-х годов XX века.
Формальные языки: примеры. Знаки формального языка
21 век — время, когда владение информацией является важнейшим конкурентным преимуществом в любой сфере. Однако она не принесет никакой пользы, если не выражена языком, понятным тем, кому предназначена или нет переводчика, способного донести ее смысл до адресата.
На данный момент на земле проживает около 2000 народов. Их отличительным признаком, прежде всего, является язык.
Наряду с разговорными (естественными) человечество создало множество искусственных языков. Каждый из них предназначен для решения конкретных задач.
К числу таких знаковых систем относятся формальные языки, примеры которых представлены ниже.
Определения
Прежде всего, сформулируем, что такое язык. Под этим словом принято понимать знаковую систему, которая используется для налаживания коммуникаций между людьми и познания.
Основа большинства как искусственных, так и естественных языков — алфавит.
Он представляет собой набор символов, используемых для составления слов и фраз.
Характеристики естественных языков
Как уже было сказано, все языки условно разделяют на искусственные и естественные. Между ними есть множество различий.
К естественным относятся разговорные языки. К числу их характеристик, наряду с прочими относятся:
Все эти характеристики являются главными отличиями естественных знаковых систем от формальных языков. Примеры неоднозначностей слов и высказываний известны всем. Так слово «эфир» в зависимости от контекста может означать, как вещество, так и радио- или телевещание.
При этом основными функциями разговорных языков являются:
Видео по теме
Характеристики искусственных языков
Искусственные языки создаются людьми для специальных целей или для конкретных групп людей.
Одной из основных характеристик искусственных языков является однозначная определенность их словаря, а также правил придания им значений и образования выражений.
Формальные языки и грамматики
Язык, вне зависимости от того, является ли он естественным и искусственным, может существовать лишь при наличии набора конкретных правил. При этом должно обеспечиваться непротиворечивое, компактное и точное отображение отношений и свойств исследуемой предметной области. Если они строго сформулированы, то говорят, что это формальный язык. Примерами таких знаковых систем являются языки программирования, хотя, строго говоря, они, скорее, занимают некое промежуточное положение (см. далее).
Схема построения формальных знаковых система следующая:
Сфера применения
Формальные языки (примеры: языки логики, программирования и пр.) используются в процессе научных исследований. Они лучше естественных позволяют представлять знания и являются средством более объективного и точного обмена информацией.
К формальным языкам относятся все известные системы математических и химических символов, азбука Морзе, нотная грамота и пр.
Кроме того, широко используются формальные языки программирования. Их бурное развитие началось с середины 20 века, в связи с появлением компьютерной техники.
Язык формальной логики
В основе любого языка программирования лежит математический. Он, в свою очередь, опирается на знаковую систему формальной логики.
Как наука, логика была создана Аристотелем. Он же разработал правила преобразования высказываний, которые сохраняют их истинностное значение вне зависимости от содержания входящих в эти высказывания понятий.
Формальная логика борется с “недостатками” естественных языков, связанных с неоднозначностью некоторых высказываний и пр. Для этой цели операции с мыслями заменяют действиями со знаками формального языка. Это исключает какую-либо неопределенность и позволяет точно установить истинность высказывания.
Особенности языков программирования
Как уже было сказано, их с некоторыми оговорками можно отнести к классу формальных.
С последними их объединяют многие синтаксические правила, а с естественными некоторые ключевые слова и конструкции.
Для создания языка программирования требуется определения множества допустимых символов и правильных программ языка и смысла каждой правильной программы. Если с первой задачей можно справиться средствами формализации, в случае последней эти подходы не работают.
Множество допустимых символов языков программирования — это знаки, которые можно набрать с клавиатуры. Они представляют собой первую часть таблицы кодировки ASCII.
Грамматики
Языки программирования, как и любые другие, имеют грамматику. Под этим термином понимают описание способа составления предложений. Грамматики описываются различными способами. В случае языков программирования они представляют собой правила, которые задаются упорядоченными парами цепочек символов двух типов: определяющих синтаксические конструкции и семантические ограничения. Задавая грамматики, сначала формально излагают правила построения синтаксических конструкций, а затем — задают семантические на одном из естественных языков.
Запись правил в графическом виде осуществляется посредством специальных диаграмм. Изначально такой подход был применен при создании языка Pascal. Однако затем он стал широко применяться и в других.
Классификация языков программирования
На данный момент их, вместе с “диалектами” насчитывается несколько тысяч. Их классифицируют, как процедурные и декларативные. В языках первого типа преобразование данных задают посредством описания последовательности действий, производимых над ними, второго — отношений. Существуют и другие классификации. Например, языки программирования разделяют на функциональные, процедурные, объектно-ориентированные и логические. Если подходить к вопросу строго, то никакая классификация не может быть объективной. Ведь значительная часть языков программирования обладает возможностями формальных систем сразу нескольких типов. Со временем грани, скорее всего, будут стираться еще больше.
Теперь вы сможете ответить на вопрос: “Какие формальные языки вам известны?”. Ученые продолжают совершенствовать их, с целью сделать возможными решение различных практических и теоретических задач, которые на данный момент считаются неразрешимыми.
Что такое формальный язык и чем он отличается от естественного? Как он формировался? Что к формальным языкам можно отнести? И что используется для его обозначения?Характеристика формальных языков
Образование
Формальные и естественные языки: примеры
Что такое язык? Этот вопрос можно задать разным людям и получить совершенно неожиданные ответы. Но вряд ли кто-то сразу скажет про языки естественные и формальные. Определение и примеры подобных систем редко приходят …
Духовное развитие
Причастие: примеры слов в русском языке
Русский язык богат большим количеством различных частей речи, которые помогают построить грамотный и логичный текст. Но нельзя представить нашу родную речь без причастий, форм глагола, которые содержат в себе и его пр…
Закон
Пример реферирования статьи на английском языке
Те, кому доводилось проходить устную проверку знания иностранного языка, четко осознают, как важно уметь анализировать предложенный текст. Это логично, так как с помощью такого инструмента экзаменатор может сделать вы…
Закон
Материальный и формальный состав преступления. Формальный состав преступления: примеры
Преступление – это предусмотренное УК РФ общественно опасное деяние, совершенное субъектом. За такое правонарушение закон предусматривает уголовную ответственность. Кодекс определяет, за какие именно деяния нака…
Искусство и развлечения
Каламбур: пример. Каламбур в русском языке. Значение слова «каламбур»
Русский язык многогранен. Это значит, что подобно самоцветному камню под лучами солнца, некоторые слова в нем можно заставить «заиграть» новыми, неожиданными оттенками значений. Одним из литературных приемов, позволяю…
Компьютеры
Пример программ на Паскале. Программирование на языке Паскаль
Казалось бы, программа на языке Паскаль – дело легкое и типичное для любого программиста, однако нельзя сказать, что сам язык слишком слаб для современного мира. Ведь не зря он считается базовым и изучается в шк…
Новости и общество
«Язык без костей» — фразеологизм. Значение и примеры употребления
Когда о человеке говорят «Да у него язык без костей», это означает, что он любит поговорить, и речи его пусты и бессодержательны. Но на самом деле так бывает не всегда, иногда некто не только любит, но и у…
Новости и общество
Пример почтового адреса, правильно написанного.
Формальный язык
Как правильно писать почтовый адрес на русском или английском языке?
Сегодня мало кто пишет обычные письма, выбирая как альтернативу письмо электронное. Казалось бы, быстрее, удобнее, проще и чаще всего дешевле. Однако есть люди, которые все же предпочитают общаться друг с другом стары…
Образование
Сколько падежей в английском языке: особенности, правила и примеры
Вопрос о том, сколько падежей в английском языке используется в письменной и устной речи, возникает чаще у тех, кто серьезно занялся изучением этого предмета. Сейчас стало необходимостью владеть иностранным языком. А …
ФОРМАЛИЗОВАННЫЙ ЯЗЫК – искусственная знаковая система, предназначенная для представления некоторой теории. Формализованный язык отличается от естественных (национальных) языков человеческого общения и мышления, от искусственных языков типа Эсперанто, от «технических» языков науки, сочетающих средства определенной части естественного языка с соответствующей научной символикой (язык химии, язык обычной математики и др.), от алгоритмического языка типа обобщенного программирования и т.п. прежде всего тем, что его задача – служить средством фиксации (формализации) определенного логического содержания, позволяющего вводить отношение логического следования и понятие доказуемости (либо их аналоги). Исторически первым формализованным языком была силлогистика Аристотеля, реализованная с помощью стандартизованного фрагмента естественного (греческого) языка. Общую идею формализованного языка сформулировал Лейбниц (characteristica universalis), предусматривавший его расширение до «исчисления умозаключений» – calculus ratiocinator. В Новое время различные варианты формализованных языков разрабатывались на основе аналогии между логикой и алгеброй. Вехой здесь явились труды Моргана, Буля и их последователей, в особенности Шрёдера и Порецкого. Современные формализованные языки – в их наиболее распространенных формах – восходят к труду Фреге «Begriffsschrift» – «Запись в понятиях» (1879), от которого идет главная линия развития языка логики высказываний и (объемлющей ее) логики (многоместных) предикатов, а также применение этих логических языковых средств к задачам обоснования математики.
Характерная структура таких формализованных языков: задание алфавита исходных знаков, индуктивное определение (правильно построенной) формулы языка, т.н. задание правил образования, задание правил вывода, т.н. правил преобразования, которые сохраняют выделенную логическую характеристику формул (истинность, доказуемость и др.). Добавление правил преобразования превращает формализованный язык в логическое исчисление. Существует много видов формализованных языков: это прежде всего языки дедуктивно-аксиоматических построений, систем натурального («естественного») вывода и секвенциальных построений, аналитических таблиц, систем «логики спора» и многих других.
Формализованные языки различаются по своей логической силе, начиная с «классических» языков (в которых в полной мере действуют аристотелевские законы тождества, противоречия и исключенного третьего, а также принцип логической двузначности) и кончая многочисленными языками неклассических логик, позволяющих ослаблять те или иные принципы, вводить многозначность оценок формул либо их модальности. Разработаны языки, в которых логические средства в том или ином смысле минимизируются. Таковы языки минимальной и положительной логик или язык логики высказываний, использующий единственную логическую операцию, напр. штрих Шеффера (см. Логические связки).
Формализованные языки обычно характеризуют в терминах синтактики и семантики. Но самым существенным является та логическая характеристика его формул, которая сохраняется правилами вывода (истинность, доказуемость, подтверждаемость, вероятность и пр.).
Формальные языки в курсе информатики
Для любого формализованного языка фундаментальными являются проблемы полноты выражаемой в нем логики, ее разрешимости и непротиворечивости; напр., язык классической логики высказываний полон, разрешим и непротиворечив, а классической логики предикатов (многоместных) хотя и полон, но неразрешим; язык же расширенного исчисления предикатов – с кванторами по предикатам и неограниченным применением принципа абстракции – противоречив (такой была логико-арифметическая система Фреге, в которой Рассел обнаружил антиномию, названную его именем).
Формализованный язык может быть «чистой формой», т.е.
не нести никакой внелогической информации; если же он ее несет, то становится прикладным формализованным языком, специфика которого – наличие постоянных предикатов и термов (дескрипций) – напр. арифметических, – отражающих свойства прикладной области. Для формализации теорий высокого уровня абстракции формализованный язык может по-разному видоизменяться, расширяться либо «надстраиваться»; пример: формализация классического математического анализа как арифметики второго порядка (т.е. с кванторами по предикатным переменным). В ряде случаев формализованный язык содержит логические структуры многих – даже бесконечно многих – порядков (такова, напр., «башня языков» А.А.Маркова, служащая формализации конструктивной математики, или интерпретация модальностей в виде иерархии «возможных миров»). Семантическая база формализованного языка логики может быть теоретико-множественной, алгебраической, вероятностной, теоретико-игровой и др. Возможны и такие ее «ослабления», которые лишь родственны вероятностной семантике – так возникает, напр., формализованный язык «расплывчатой логики» (в смысле Заде). Тогда язык приобретает специфическую прагматику, принимающую во внимание фактор носителя языка (дающего оценку «функции принадлежности» предмета объему данного понятия). Здесь проявляется крепнущая ныне тенденция учета в формализованных языках «человеческого фактора» – в том или ином его виде, что явно проявляется в некоторых формализованных языках логики квантовой механики. В другом направлении идет разработка формализованных языков, семантика которых предполагает отказ от экзистенциальных допущений либо те или иные онтологические предпосылки – о допустимости правил с бесконечным числом посылок, «многосортности» предметных областей, даже противоречивых, и т.д.
Непременной чертой формализованного языка является «возможностное» истолкование правил вывода; напр., на определенном шаге мы вольны использовать либо не использовать, скажем, правило modus ponens. Этой черты лишены алгоритмические языки, носящие «предписывающий» характер. Но по мере развития компьютерной логики и разработки программ «описывающего» типа это различие начинает сглаживаться.
В этом же направлении действует и разработка формализованных языков, ориентированных на решения задач эвристики.
1. Черч А. Введение в математическую логику, т. 1. М., 1960;
2. Клини С.К. Введение в метаматематику. М., 1957;
3. Карри Х. Основания математической логики. М., 1969;
4. Фрейденталь Х. Язык логики. М., 1969;
5. Смирнова Е.Д. Формализованные языки и проблемы логической семантики. М., 1982.