В чем заключается процесс формализации языка в информатике
Метод формализации
Формализация – представление какой-либо содержательной области (рассуждений, доказательств, процедур классификации информации и т.п.) в виде формальной системы.
Формальная система – это знаковая модель, задающая множество объектов путем описания исходных объектов и правил построения новых.
Язык является той знаковой системой, которая позволяет осуществлять информационный обмен в любой социальной системе. Наряду с естественными языками в информатике разработаны и формальные языки: системы счисления, алгебры высказываний, языки программирования.
С помощью формальных языков строятся формальнологические модели.
В общей теории права существует направление, которое называют «формализация правовых норм». Формализация правовой нормы – это выявление ее логической структуры, логических правил вывода суждений.
Так, О. А. Гаврилов предложил, используя логические операции, провести моделирование логической структуры правовой нормы. Цель моделирования – выявить логические (включая латентные) связи правовой нормы. Логическая структура правовой нормы может быть представлена в следующем виде [1] :
где р – гипотеза нормы; d – диспозиция; s – санкция.
Формализация позволяет систематизировать, уточнить и методологически прояснить правовую теорию, выявить характер взаимосвязей между различными ее правовыми предписаниями, выявить и сформулировать существующие нерешенные проблемы.
Формализация предполагает усиление роли формальной логики как основания правовой науки. Формализация языка права позволяет промоделировать и проанализировать некоторые правовые нормы с помощью такого нового класса автоматизированных систем правовой информации, как экспертные системы.
Метод алгоритмизации и программирования
Само слово «алгоритм» появилось как результат латинской транскрипции имени великого ученого IX в. Аль Хорезми, который сформулировал общие правила (алгоритмы) выполнения арифметических операций над десятичными числами.
Алгоритм – это определенная последовательность действий, выполнение которой приводит к достижению поставленной цели.
Существенными требованиями, которые следует обеспечить при разработке алгоритмов, являются:
– дискретность. Процесс решения задачи описывается некоторым набором действий. Выполнение того или иного действия представляет собой один шаг на пути от исходных данных к исходным результатам. Объектами действия на каждом шаге являются конечные величины.
Таким образом, свойство дискретности алгоритмов проявляется в том, что сама процедура решения задачи распадается на последовательность шагов (дискретизация во времени), а на каждом шаге обрабатывается порция информации конечного объема (дискретизация по величине);
Каждому алгоритму ставится в соответствие множество величин, допустимых для него в качестве исходных данных. Точно так же выполнение алгоритма завершается получением результатов, относящихся к множеству допустимых для решаемой задачи выходных значений.
Программирование – это реализация заданного алгоритма на формальном языке программирования. Программирование позволяет переложить проведение и анализ информационных процессов на современную вычислительную технику.
Формализация – процесс построения информационных моделей с помощью формальных языков
Модель – некоторое упрощенное подобие реального объекта, который отражает существенные особенности (свойства) изучаемого реального объекта, явления или процесса
Моделирование – метод познания, состоящий в создании и исследовании моделей. Т.е. исследование объектов путем построения и изучения моделей
Формализация – процесс построения информационных моделей с помощью формальных языков
Компьютерное моделирование включает в себя прогресс реализмом информационной модели на компьютере и исследование с помощью этой модели объекта моделирования— проведение вычислительного эксперимента.
Формализация
К предметной области информатики относятся средства и методы компьютерного моделирования. Компьютерная модель может быть создана только на основе хорошо формализованной информационной модели. Что же такое формализация?
Формализация информации о некотором объекте — это ее отражение в определенной форме.Можно еще сказать так: формализация — это сведение содержания к форме.—————
ПО АИС – это совокупность программ и программных средств, реализующих решение задач АИС, обеспечивающих рациональное функционирование комплекса технических средств (КТС) и информационной базы, а также осуществляющих рациональное взаимодействие человека и КТС.
В состав ПО входят:
— специальные (прикладные) программы;
— инструктивно-методические материалы по применению средств ПО;
— персонал, занимающийся его разработкой и сопровождением
Правовое обеспечение — совокупность правовых норм, регламентирующих создание, юридический статус и эксплуатацию информационных систем. Регламентируется порядок получения, преобразования и использования информации.
Главной целью правового обеспечения является укрепление законности.В состав правового обеспечения входят: законы, указы, постановления государственных органов власти, приказы, инструкции и другие нормативные документы министерств, ведомств, организаций, местных органов власти.
На стадии разработки информационной системы — нормативные акт, связанные с договорными отношениями разработчика и заказчика информационной системы, правовое регулирование различных отклонений процесса разработки информационной системы, обеспечение процесса разработки различными видами ресурсов
Эргономическое обеспечение—Это совокупность реализованных решений в АИС по согласованию психологических, психофизиологических, антропометрических, физиологических характеристик и возможностей пользователей АИС с техническими характеристиками комплекса средств автоматизации АИС и параметрами рабочей среды на рабочих местах персонала АИС.Охрана здоровья трудящихся, обеспечение безопасности условий труда, ликвидация профессиональных заболеваний и производственного травматизма составляют одну из главных забот человеческого общества
Методическое обеспечение—– это совокупность документов, описывающих технологию функционирования АИС, метод выбора и применения пользователями технологических приемов для получения конкретных результатов при функционировании АИС.
Организационное обеспечение—Это совокупность документов, устанавливающих организационную структуру, права и обязанности пользователей и эксплуатационного персонала АИС в условиях функционирования, проверки и обеспечения работоспособности АИС.
Организационное обеспечение реализует следующие функции:
• анализ существующей системы управления предприятием (организацией), где используется ИС, выявление задач, подлежащих автоматизации;
• подготовку задач к автоматизации, включая разработку технических заданий и технико-экономических обоснований эффективности;
• разработку управленческих решений по изменению структуры организации и методологий решения задач, направленных на повышение эффективности системы управления.
Организационное обеспечение включает в себя:
• методические материалы, регламентирующие процесс создания и функционирования ИС;
• совокупность средств для эффективного проектирования и функционирования ИС————
Информационно-поисковая система – это прикладная компьютерная среда для обработки, хранения, сортировки, фильтрации и поиска больших массивов структурированной информации.
Документальные ИС включают информационно-поисковые системы (ИПС), информационно-логические и информационно-семантические системы. В документографических ИПС все хранимые документы индексируются специальным образом, т. е. каждому документу присваивается индивидуальный код, составляющий поисковый образ. Поиск идет не по самим документам, а по их поисковым образам. Именно так ищут книги в больших библиотеках. Сначала отыскивают карточку в каталоге, а затем по номеру, указанному на ней, отыскивается и сама книга.
Фактографические. В фактографичеких ИПС хранятся не документы, а факты, относящиеся к какой-либо предметной области. Поиск осуществляется по образцу факта.
Фактографические ИС делятся на две категории:
1) системы обработки данных (СОД),
2) автоматизированные информационные системы (АИС) и автоматизированные системы управления (АСУ).————————————————————————-
Качество программного обеспечения – способность программного продукта подтвердить свою спецификацию при условии, что спецификация ориентирована на характеристики, которые желает получить пользователь.
Качество разработанной АИС во многом зависит от того, как осуществлялись выявление и формулировка целей автоматизации:
1. Был ли обеспечен доступ разработчиков АИС к высшему руководству организации заказчика, и были ли в результате получены все необходимые сведения и данные о целях и реальных проблемах организации. Решение этих задач является итерационным процессом, требующим нетривиальных усилий, специальных знаний и применения специальной техники по выработке согласованного видения решаемой задачи у участников проекта АИС.
2. Имелись ли у разработчика АИС специалисты, компетенции и технологии выявления и формулировки задач заказчика.
3. Провёл ли разработчик в ходе системно-аналитического обследования организации необходимые опросы с целью выявления и анализа требований заказчика;
Ключевая проблема успешного проекта АИС состоит в том, как заказчик понимает этот проект: как затратный или как инвестиционный. Эмпирически установлено, что около 4–5% руководителей ставят перед проектом внедрения АИС по-настоящему инвестиционные задачи. Необходимым условием успешности проекта АИС должно стать его нацеленность на конечные, а не промежуточные цели и результаты.————-
Автоматизи́рованное рабо́чее ме́сто (АРМ) — программно-технический комплекс, предназначенный для автоматизации деятельности определенного вида. При разработке АРМ для управления технологическим оборудованием как правило используют SCADA-системы.
АРМ объединяет программно-аппаратные средства, обеспечивающие взаимодействие человека с компьютером, предоставляет возможность ввода информации (черезклавиатуру, компьютерную мышь, сканер и пр.) и её вывод на экран монитора, принтер, графопостроитель, звуковую карту — динамики или иные устройства вывода. Как правило, АРМ является частью АСУ
АРМ специалиста обеспечивает:
простоту, удобство и дружеское отношение к пользователю;
простоту адаптации к конкретным функциям пользователя;
компактность размещения и невысокие требования к условиям эксплуатации;
высокую надежность и живучесть;
сравнительно простую организацию технического обслуживания——————————————————————
На предпроектной стадии проводится изучение и анализ объекта проектирования. В частности анализируется информационная база, все входные документы, их объем, периодичность, алгоритмы, выходные документы и все информационные связи задач. Эти данные обрабатываются, и строится информационная модель объектов в виде таблиц и графиков.
К методам изучения и анализа состояния экономического объекта и его системы управления относятся:
· устный и письменный опрос;
· наблюдение, измерение, оценка;
· анализ производственных, управленческих и информационных процессов.
В результате обследования вырабатываются рекомендации по изменению организационной структуры, рассматриваются новые должностные инструкции, целесообразность тех или иных документов, определяется состав баз данных, предложения по изменению технологии обработки, определяется конфигурация вычислительной сети, количество машин, состав экономических задач, очередность их компьютеризации, вырабатываются предложения по реализации экономических задач средствами пакетов прикладных программ.———————————
Техническое обеспечение представляет собой комплекс технических средств (КТС) и включает: электронно-вычислительные машины (ЭВМ); периферийное оборудование; сетевое оборудование; средства передачи и защиты данных; каналы связи.
Архитектура КТС определяется структурой Государственной налоговой службы края, района, объемами обрабатываемой и хранимой информации, информационными потоками в системе, содержанием функциональных задач и должна обеспечивать:
1) возможность ввода, хранения и обработки достаточных для решения задач объемов данных в заданные сроки;
2) формирование и ведение распределенных баз данных;
3) программную и техническую совместимость работы ЭВМ в локальной сети и по каналам связи;
4) передачу требуемых объемов информации между уровнями системы;
5) защиту конфиденциальной информации;
6) возможность поэтапного ввода КТС, его перспективного расширения и развития.———————
Документооборот – это движение документов в организации с момента их создания или получения до завершения исполнения или отправки. 1 Следует отметить, что в этом определении упор делается на словах «движение документов», то есть их пути из одного подразделения или от одного сотрудника к другому. При этом порядок движения документа (их путь) предопределен принятым управленческим процессом в данной организации. Например, если руководитель организации требует, чтобы все полученные документы сначала докладывались ему и только он будет назначать исполнителя, путь движения документа будет многоступенчатым сверху вниз. Если же в организации четко проведено разделение функций между структурными подразделениями и сотрудниками, большая часть документов пойдет сразу же в отдел к исполнителям, то есть путь будет другой, значительно короче. Точно также от принятого в учреждении порядка распределения обязанностей и делегирования полномочий сотрудникам зависит движение документа при согласовании и подписании. Таким образом, документооборот зависит от системы управления, он вторичен по отношению к ней, но в то же время именно документооборот, отражая систему управления, позволяет ее наглядно увидеть.
1. ДЕЛО2. ЕВФРАТ-Документооборот3. WorkFlow 5. БОСС-Референт
Система поддерживает полный жизненный цикл документа в организации от создания проекта документа до списания в дело и передачи в архив. Для каждого документа в системе «ДЕЛО» формируется регистрационно-контрольная карточка (РК), в которую заносятся сведения о документе. Регистрироваться могут как поступившие извне, так и созданные внутри организации документы: письма, приказы, распоряжения, договоры, акты и прочее
Формализация речи. Некоторые соображения
В чем основная сложность формализации естественного языка? В том, что нам привычней формализовывать его с помощью языка же, что приводит к дурной бесконечности. Язык – сам по себе средство формализации, которым человечество давно и небезуспешно пользуется.
Берем первое попавшееся определение:
Полет – самостоятельное перемещение объекта в газообразной среде или вакууме.
В нем шесть терминов, которые в свою очередь требуют определения:
Из этого можно сделать вывод, что останавливаться в процессе выдачи дефиниций необходимо на терминах, обозначающих физические объекты. Принцип таков: о чем видим, о том сообщаем.
Логическая ловушка подстерегает и тут: для понимания того, о чем пытаемся сообщить, необходимо дать термину определение.
Допустим, кто-то, указывая пальцем, изумленно восклицает:
– Заяц!
«Заяц» требует либо предметного знания, либо дефиниции – мы оказываемся все в том же незавидном положении. Но незавидное положение исчезнет, если взять что-нибудь элементарное – к примеру, крикнуть:
– Нечто белое!
Что такое «белое»? Не предмет, конечно, но его характеристика – цвет. Термин, не требующий дефиниции: белый он и есть белый. Количество цветов, доступных для человеческого глаза, ограничено – соответственно, ограничено и количество терминов, не требующих дефиниции.
Считается, что человек обладает пятью органами чувств (иногда называют больше, но это не принципиально):
Спрашивается, какие элементы окружающей действительности могут быть охарактеризованы в качестве простой совокупности пяти ощущений? Элементарные же объекты! Идея состоит в том, чтобы сложный объект – того же «зайца» – разложить на элементарные составные части, каждую из которых охарактеризовать ощущениями. Сложив составные части обратно, получим «зайца» в сборе: объект, имеющий формальное и, главное, завершенное вербальное определение.
Давайте посмотрим, как это возможно.
Вот наблюдается физический объект. Обратите внимание, что наблюдать (точнее, ощущать, потому что воспринимать объект можно не только зрительно, но и с помощью других органов чувств) доступно исключительно конкретный, то есть индивидуализированный объект. Когда я вижу зайца, это очень конкретный заяц – вот именно этот, – а не вообще какой-то из зайцев.
Как правило, индивидуализация объекта происходит посредством его именования, но, как в случае с зайцем, далеко не всегда (только в том случае, если в этом есть необходимость). Таким образом, в зависимости от ситуации термин «заяц» может означать:
Заяц(i).
Текстовый аналог: заяц – личное имя;
Заяц(s).
Текстовый аналог: заяц – название класса;
Если бы заяц имел уникальное имя, стало бы очевидней:
Степашка(i).
«Степашка» не может быть названием класса, зато требует указания на принадлежность к тому или иному классу. Мало ли кого так обозвали?! Приходится обозначать принадлежность к классу. Используем для этого символ «∈»:
Степашка(i) ∈ заяц(s).
Теперь определено, что Степашка – один из зайцев, но не определено, что такое зайцы. Как было сказано ранее, «зайца» необходимо разложить на составные части, каждой из которых дать характеристики, соответствующие воспринимаемым человеком ощущениям.
Это весьма сложно, в основном в связи с трехмерностью составных частей объекта, поэтому может быть выполнено лишь условно. Но в принципе может.
Предположим, что заяц состоит из головы, туловища, лап и хвоста, и что перечисленные объекты являются элементарными (на самом деле нет, конечно). Тогда, используя символ «⊂» для обозначения вхождения составной части в материальное целое, получим:
голова(s) && туловище(s) && 4*лапа(s) && хвост(s) ⊂ заяц(s).
Текстовый аналог: голова, и туловища, и 4 лапы, и хвост составляют зайца.
Так как объекты предполагаются элементарными, для них можно указать характеристики по каждому из ощущений. Ввиду комбинированного воздействия ощущений на человека, могут потребоваться определения в пространстве и времени.
Получаем приблизительный набор характеристик:
• цвет,
• форма,
• запах,
• вкус,
• поверхность (результат осязания),
• звучание,
• местоположение (пространственная координата),
• перемещение (как разница между двумя местоположениями),
• момент времени,
• продолжительность (как разница между двумя моментами времени),
• скорость (как частное между перемещением и продолжительностью).
Набор, как я сказал, приблизительный: безусловными являются только характеристики, соответствующие ощущениям, остальное обсуждаемо. Например, ясно, что время как таковое человек не воспринимает: его можно определить по символам на гаджете или по положению солнца на небе, но не непосредственно ощущением. Точно так же местоположение устанавливается не абсолютно, а относительно других объектов.
Теперь попробую охарактеризовать «голову»:
То есть голова, если условно рассматривать ее в качестве элементарного объекта – это нечто круглое и твердое. Условно, конечно, исключительно условно. Язык как средство формализации тоже ведь дает приблизительные результаты: как, к примеру, вербально описать пятно сложной геометрической формы? Никак: точно не опишешь. Поэтому в условном примере голова примерно круглая и примерно твердая – и точка на этом.
Если согласны, так и запишем, в фигурных скобках:
голова(s) <форма: круглая; поверхность: твердая>.
То есть указанный объект обладает указанными характеристиками.
Разумеется-разумеется, головы могут быть не только круглыми, но и иными: например, у Вовочки из бородатого анекдота советского периода голова квадратная. Ничто не мешает ввести в нашу систему обозначений логические операнды, в частности операнд «или»:
голова(s) <форма: круглая II квадратная; поверхность: твердая>.
Но у зайца-то голова круглая, а не квадратная, как у Вовочки! Ну и черт с ними обоими, введем импликацию:
голова(s) <форма: круглая>if голова(s) ⊂ заяц(s).
Вместо зайца можно было указать конкретного зайца Степашку, задавая тем самым его индивидуальные характеристики:
голова(s) <форма: круглая>if голова(s) ⊂ Степашка(i).
Термины, использованные в характеристиках («круглый», «квадратный», «твердый» и т.п.) – неопределяемые: мы их непосредственно ощущаем, посему никакого вербального определения не требуется.
Обозначу данный тип слов символом «a» – от «attribute», вот так:
круглый(a).
Обращаю внимание, что индивидуальные объекты и классы являются существительными (это же сущности!), тогда как характеристики являются прилагательными (на то они и характеристики!). С точки зрения соответствия типов частям речи все совершенно законно.
Прилагательное «круглый» – неопределяемая характеристика, но, допустим, прилагательное «заячий», не соответствуя ни одному из имеющихся у человека ощущений, под attribute никак не подходит.
Очевидно, что определять «заячий» следует через «зайца», что мной уже проделано (посредством разложения «зайца» на составные части). То есть сначала появился термин «заяц», а затем уже от него образовалось прилагательное «заячий», обозначающее: относящееся к зайцу, похожее на зайца.
Получаем новый тип, обозначаемый символом «d» – от «dependence». Указания типа, конечно, недостаточно – необходима ссылка на родительский термин. Вводим новое обозначение, используя символ «=>» для обозначения зависимости:
заячий(d) => заяц(s).
Теперь термин «заячий» определен – через родительское существительное «заяц».
Мы определили зависимое прилагательное через родительское существительное. Случается и наоборот: когда от родительского прилагательного образуется зависимое существительное. Например, «квадратный» – прилагательное, обозначающее форму объекта. В свете вышесказанного становится ясным, что «квадрат» произошел от «квадратного», но не «квадратный» от «квадрата».
квадрат(d) => квадратный(a).
Таким образом, в каждой группе однокоренных терминов имеется родительский термин, от которого ведут происхождение все остальные.
Теперь-то мне удалось вывести все термины из первоначальных неопределяемых? По-прежнему нет – остается значительная терминологическая группа, пока не охваченная: те понятия, которые могут быть выведены посредством формул.
Возьмем глагол – к примеру, «передвигать»: с глаголами мы пока не сталкивались. Что такое «передвигать»? Использую не академическое определение, а то, которое, с моей точки зрения, отражает суть дела:
«Передвигать» – это когда предмет меняет свое местоположение под воздействием другого предмета.
Спешу дать необходимые пояснения.
Формула состоит из трех частей, обозначающих субъекта, действие и объект:
Нужные элементы замещаются конкретными терминами, указываются характеристики, определяемый элемент помечается решеткой, при необходимости используются логические операнды.
Давайте немного поупражняемся, например с наречиями, которыми также могут быть выражены формульные понятия.
Возьмем наречие «бережно» – с моей точки зрение, родительское в группе однокоренных слов («бережность», «бережный», «бережно», «беречь»). Слово обозначает характеристику, но не предмета, а действия. Дам такое условно-примитивное определение:
«Бережно» – это когда кто-то передвигает какую-либо вещь медленно.
Вещи определены, «медленно» – зависимое от «медленный», которое является характеристикой предметов по скорости.
медленно(d) => медленный(a).
И термин «передвигать» уже обработан. Тем самым имеется все необходимое для определения термина «бережно»:
X(i)1 передвигать(f) <#бережно(f)>X(i)3 <скорость: медленный(a)>.
Здесь «бережно» определено через «передвигать» и «медленно» и, как всякое наречие, относится к действию.
По таким правилам возможно определять новые формульные понятия по ранее полученным, и так далее, в том числе с использованием импликаций, а возможно, и других логических методов. Чем сложнее абстрактное понятие, тем сложнее и глубже по структуре получится формула. Мы сможем получить формальное определение любого термина, а уж насколько оно окажется корректным, зависит от нас.
Естественно, предложенный язык можно расширять – возможностей хоть отбавляй. Например, напрашивается обозначение синонимов:
Не говорится о других частях речи: тех, которые используются для эмоциональной окраски предложения (междометия) или разных технических надобностей (союзы).
Да мало ли что еще! Важно, однако, направление мысли, тогда как синтаксис подобного языка – вопрос сугубо вторичный и прикладной.
Имеем следующие типы слов:
Я столкнулся с данной проблемой, ваяя чат-бота. Тестировщики, которых удалось привлечь – всего-то несколько человек! – вели себя, с моей точки зрения, одинаково безумно: задавали вопросы, желая получить на них ответы. Наивные! Они будто не ведали, что прежде, чем задавать вопросы, следует ввести информацию в базу. Но даже при успешном преодолении этого препятствия оказалось весьма проблематично, ввиду инвариантности человеческой речи, предвидеть форму вопроса.
Ничего не стоит ввести в базу текст:
«Птицы летают».
Тогда ответ на вопрос может быть получен. Сложно дождаться ответа на более замысловатый вопрос, по сути являющийся вариацией первого:
«Машут ли какаду при полете крыльями?».
Для этого нужно знать многие взаимосвязи между словами, а именно:
Вот я и задался вопросом: как формализовать речь, с тем чтобы на основе неопределяемых терминов дать дефиниции остальным, чтобы стало возможным составить полноценный Словарь лексических связей. В случае успеха чат-бот сможет ответить на вопрос, машут ли какаду в полете крыльями.
Указать путь – единственное, что посильно мне на текущем жизненном этапе. При этом не уверен, что высказанные здесь соображения абсолютно оригинальны: попытки формализовать речь при разработке ИИ имели место, и уж точно неоднократные. Однако, фишка моего предложения — не просто в заполнении базы фразами на естественном или искусственном языке (содержательное заполнение базы к обсуждаемой теме не относится), а в определении любых последующих терминов из ограниченного числа неопределяемых понятий. О попытках реализации данной идеи мне ничего не известно.
[ joke ]
Не подскажете, нобелевскую премию выдают чеком, безналичным перечислением или налом?
[ / joke ]