Особенности программной реализации логических задач на языке Prolog

УДК 519.7

  • Ольга Николаевна Половикова Алтайский государственный университет (Барнаул, Россия) Email: ponOlgap@gmail.com
  • Владислав Владиславович Ширяев Алтайский государственный университет (Барнаул, Россия) Email: asmuddi628@gmail.com
  • Николай Михайлович Оскорбин Алтайский государственный университет (Барнаул, Россия) Email: osk46@mail.ru
  • Лариса Ленгардовна Смолякова Алтайский государственный университет (Барнаул, Россия) Email: knaus.larisa@gmail.com
Ключевые слова: Prolog, база знаний, предикаты, логические задачи, дерево решений, процедура генерации состояний

Аннотация

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

Скачивания

Данные скачивания пока недоступны.

Metrics

Загрузка метрик ...

Биографии авторов

Ольга Николаевна Половикова, Алтайский государственный университет (Барнаул, Россия)

кандидат физико-математических наук, доцент, доцент кафедры информатики

Владислав Владиславович Ширяев, Алтайский государственный университет (Барнаул, Россия)

магистр Института математики и информационных технологий

Николай Михайлович Оскорбин, Алтайский государственный университет (Барнаул, Россия)

доктор технических наук, профессор, профессор кафедры теоретической кибернетики и прикладной математики

Лариса Ленгардовна Смолякова , Алтайский государственный университет (Барнаул, Россия)

старший преподаватель кафедры информатики

Литература

Лорьер Ж.Л. Системы искусственного интеллекта. URL: http://lib.alnam.ru/book_sii.php (дата обращения: 19.06.2020).

Balai E., Gelfond M., Zhang Y. P-log: refinement and a new coherency condition // Annals of Mathematics and Artificial Intelligence. 2019. Vol. 86. DOI: 10.1007/s10472-019-09620-2.

Elkhatib O., Pontelli E., Son T.C. Integrating an Answer Set Solver into Prolog: ASP-PROLOG // Lecture Notes in Computer Science. Berlin, Heidelberg, 2005. DOI: 10.1007/11546207_35.

Половикова О.Н. Формализация процесса построения решения с использованием списков для класса логических задач в программах на языке Пролог // Известия Алтайского гос. ун-та. 2011. № 1/1 (69).

Nilsson U., Maluszynski. J. Logic, Programming and Prolog (2ed) Previously. URL: http://www.cs.ubbcluj.ro/~csatol/log_funk/prolog/NilsonMaluszynski_Prolog.pdf (дата обращения: 19.06.2020).

Bramer M. Logic Programming with Prolog. URL: http://athena.ecs.csus.edu/~logicp/Logic_Prog_Prolog.pdf. (дата обращения: 19.06.2020).

Карпов В.Э. Фреймы. Пролог // Электронная библиотека. URL: http://rema44.ru/resurs/study/ai/present/L05-02-frame.pdf. (дата обращения: 19.06.2020).

Математическая логика и логическое программирование // Математический форум MathHelpPlanet. URL: http://mathhelpplanet.com/static.php?p=matematicheskaya-logika-i-logicheskoye-programmirovaniye. (дата обращения: 19.06.2020).

Решение логических задач на Prolog // Блог программиста: программирование и алгоритмы (версия от 28.05 2018). URL: https://pro-prof.com/archives/1299. (дата обращения: 19.06.2020).

Santos Costa V. On Just in Time Indexing of Dynamic Predicates in Prolog // Lecture Notes in Computer Science. Berlin, Heidelberg, 2009. DOI:10.1007/978-3-642-04686-5

Повторение и рекурсия. Откат // Проект: project:prolog:povtorenie_i_rekursija. URL: http://verim.org/project/prolog/povtorenie_i_rekursija. (дата обращения: 19.06.2020).

ЕГЭ по информатике (2018) // Сайт К.Ю. Полякова. URL: http://kpolyakov.spb.ru/school/ege.htm. (дата обращения: 19.06.2020).

Опубликован
2021-03-17
Как цитировать
Половикова О. Н., Ширяев В. В., Оскорбин Н. М., Смолякова Л. Л. Особенности программной реализации логических задач на языке Prolog // Известия Алтайского государственного университета, 2021, № 1(117). С. 116-120 DOI: 10.14258/izvasu(2021)1-20. URL: http://izvestiya.asu.ru/article/view/%282021%291-20.

Наиболее читаемые статьи этого автора (авторов)