ДонНТУ ФВТИ Магистры Автобиография Автореферат Библиотека Ссылки Инд. задание

ПРОГРАММИРОВАНИЕ ИЛИ ЛОГИЧЕСКОЕ МОДЕЛИРОВАНИЕ?

Попов Сергей Викторович

Московский инженерно-физический институт (МИФИ), г.Москва

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

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

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

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

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

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

Достоинства такого подхода состоят в следующем.

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

Во-вторых, так как сигнатура исчисления близка к естественным понятиям, проблема объяснения найденного решения не возникает. Последняя при автоматическом поиске решения далеко не проста, так как объяснить решение иногда столь же трудно, как его получить.

В итоге построение интеллектуальных обучающих систем становится вполне реально, что и показали соответствующие эксперименты при разработке обучающей системы по планиметрии [1]. Результаты работы программы подтвердили, что ее базисные принципы достаточно верны, программа вполне работоспособна и в состоянии доказывать теоремы на уровне сильного ученика выпускных классов.

Литература

  1. Костин В.С., Матунова Т.А., Попов С.В. Обучающая система по планиметрии. Информатика и образование. №10. М.: 2000.
ДонНТУ ФВТИ Магистры Автобиография Автореферат Библиотека Ссылки Инд. задание