П.А. Шрайнер, Т.В. Мжельская — Использование языка логического программирования Пролог для написания программы по обработке керамики

К оглавлению сборника «Керамика как исторический источник»

В настоящее время в археологии стали широко применяться программы статистической обработки данных. Встретившись с необходимостью применения такой программы для обработаки керамики памятника Завьялово-5, мы познакомились с программой для обработки керамического комплекса, разработанную к.и.н. И.Г. Глушковым и к.ф-м.н. Е.Р.Сиротой в 1991 году. К сожалению, для работы с данным комплексом эта программа оказалась неприменима в связи с заложенным авторами ограничением на количество обрабатываемой керамики в 300 единиц. В завьяловском же комплексе около 900 фрагментов. Кроме того, в этой программе как и в любой программе универсальной статистической обработай, на наш взгляд, неудобно организован ввод данных. Там, прежде чем его производить, приходиться составлять список признаков давая каждому свой номер, а затем уже используя эти номера вносить отдельный предмет методом перечисления номеров признаков.

В связи с вышеизложенными причинами нами и было принято решение самим написать программу по обработке керамики. Для ее написания был выбран язык логического программирования “Пролог”, если более точно, то его реализация фирмы Borland TurboProlog 2.0. Выбор этого языка был обусловлен тем, что в отличии от алгоритмических языков, «Пролог” предназначен для представления и использования знаний в некоторой предметной области. “Пролог” основан на традициях логического программирования и автоматического доказательства теорем. Он имеет встроенные средства для создания структуры данных произвольной сложности в процессе работы над задачей, что возможно с помощью использования списков и сложных объектов.

Программа состоит из следующих исполняемых файлов:
work.ехе — обеспечивает ввод данных,
саlc.ехе — обрабатывает введенную информацию.
А также включает две базы данных,которые во время работы загружаются в оперативную память:
ceramic.ddb — хранит веденную информацию о керамике,
info.ddb — хранит информацию о названиях форм сосудов, мотивов и методов нанесения орнаментов, используемую при введении фрагментов.

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

Каждый раз есть возможность либо выбрать из предлагаемых названий (если файл info.ddb не пуст), либо ввести новое название, либо, если какая-то информация неизвестна (например, если в наличии только часть сосуда и нет информации о какой-то орнаментальной зоне), то выбрать “неизвестно». Стоит отметить, что уже даже на этапе ввода программа обладает зачатками искусственного интеллекта. Например, если пользователь выберет мотив, который наносится единственным способом, то программа, обладая знаниями эксперта, не будет спрашивать о способе нанесения, а просто занесет этот единственный способ. Внесенный пользователем новый термин (название формы сосуда, мотива или способа нанесения орнамента) становится доступным уже при вводе следующего фрагмента в базу.

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

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

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

В этот день:

Нет событий

Метки

Свежие записи

Рубрики

Updated: 11.10.2014 — 09:38
Яндекс.Метрика