Научная статья на тему 'Компонентное моделирование формальной логики в Microsoft Excel'

Компонентное моделирование формальной логики в Microsoft Excel Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
158
80
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
МАТЕМАТИЧЕСКОЕ МОДЕЛИРОВАНИЕ / КОМПОНЕНТНАЯ ТЕХНОЛОГИЯ / ЭЛЕКТРОННАЯ ТАБЛИЦА / ЛОГИКА

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Аникин Валерий Иванович, Воловач Владимир Иванович, Сафронова Ксения Владимировна

Предложена новая компонентная технология математического моделирования в электронных таблицах. С использованием этой технологии в Microsoft Excel разработана библиотека компонентов формальной логики. Созданный авторами информационный ресурс может быть использован в качестве удобной инструментальной среды визуальной разработки лабораторного практикума по дисциплине «Логика» в вузах страны.

i Надоели баннеры? Вы всегда можете отключить рекламу.

Похожие темы научных работ по компьютерным и информационным наукам , автор научной работы — Аникин Валерий Иванович, Воловач Владимир Иванович, Сафронова Ксения Владимировна

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Текст научной работы на тему «Компонентное моделирование формальной логики в Microsoft Excel»

Аникин В.И.1, Воловач В.И.2, Сафронова К.В.3

1 Поволжский государственный университет сервиса, профессор, anikin vi@mail . ru

2 Поволжский государственный университет сервиса, зав. кафедрой «Информационный и

электронный сервис», доцент, iies kaf@ tolgas. ru

3 Поволжский государственный университет сервиса, магистрант, kvsafronova@yandex . ru

Компонентное моделирование формальной логики в

Microsoft Excel

КЛЮЧЕВЫЕ СЛОВА:

Математическое моделирование, компонентная технология, электронная таблица, логика.

АННОТАЦИЯ:

Предложена новая компонентная технология математического моделирования в электронных таблицах. С использованием этой технологии в Microsoft Excel разработана библиотека компонентов формальной логики. Созданный авторами информационный ресурс может быть использован в качестве удобной инструментальной среды визуальной разработки лабораторного практикума по дисциплине «Логика» в вузах страны.

Формальная логика как наука о законах мышления и правильного вывода умозаключений была развита в Древней Греции трудами Аристотеля и просуществовали почти в неизменном виде до середины XIX века, когда Дж. Буль и другие исследователи заложили основы математической логики [1]. Особенно мощное развитие математическая логика получила в XX веке в связи с прогрессом в вычислительной технике. Несмотря на огромные достижения математической логики, обучение формальной логике [2, 3] в вузах страны до сих пор ведется на основе формализма, выработанного в конце XIX - первой половине XX вв., и слабо поддержано передовыми информационными технологиями.

Целью данной статьи является разработка технологии компонентного табличного моделирования формальной логики без написания программного кода, пользуясь только встроенными средствами широко распространенной (и многими недооцененной) электронной таблицы Excel. Разработанный нами информационный ресурс может быть использован в качестве удобной инструментальной среды визуальной разработки лабораторного практикума по дисциплине «Логика». Концептуально работа базируется на оригинальной технике визуального решения задач символической логики с помощью диаграмм Льюиса Кэрролла [4].

Можно привести несколько убедительных аргументов в пользу

выбора Excel как эффективного инструмента визуального решения логических задач:

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

Большое разнообразие формулировок логических задач и нестандартность подходов к их решению, по-видимому, и является основной преградой на пути обеспечения эффективной информационной поддержки учебной дисциплины «Логика». Очевидно, что для визуального решения логических задач требуется специализированная, с элементами искусственного интеллекта, гибкая графическая среда выполнения численных и символических вычислений, каковой на сегодняшний день не существует. Далее будет показано, что по своим функциональным возможностям к ней весьма приближены электронные таблицы, в частности, Excel.

2. Excel включает множество инструментов и средств визуализации данных и самого процесса вычислений, к основным из которых относятся:

1.эффективное позиционирование элементов данных на рабочем листе Excel, в том числе с использованием технологии drag-and-drop («протащи и отпусти»);

2.обрамление и заливка ячеек с данными различными цветами;

3.условное форматирование ячеек согласно заданным критериям;

4.инструмент Зависимости, визуализирующий отношения взаимовлияния между парами элементов данных табличной модели;

5.автоматизация перебора входных данных и вариантов решения с помощью таблиц подстановки;

6.автоматический пересчет зависимых ячеек при изменении входных данных и пр.

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

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

S = Z wini i=1

где S - трудоемкость работ, Wi - весовой коэффициент элементов функциональных баллов, n - число элементов.

Эмпирические оценки относительной мощности разных средств разработки путем расчета числа строк кода, которые требуется написать для программирования одного функционального балла, следующие: Assembler - 320, C - 128, Pascal - 91, C++ и Java - 53, ЭТ - 6 [5]. Таким образом, оценка трудоемкости табличной реализации алгоритма на порядок меньше трудоемкости этой же работы даже в современных объектно-ориентированных средах программирования.

В монографии одного из авторов [6] было показано, что произвольную табличную модель можно интерпретировать как действующую граф-машину некоторого обрабатывающего алгоритма. Под граф-машиной алгоритма понимается ориентированный ациклический граф, в вершинах которого находятся исполнительные устройства (ИУ), кооперативно и координировано решающие поставленную задачу, а дуги графа определяют направленные связи, по которым информация передается от одного ИУ к другому [7]. Применительно к табличной реализации граф - машины алгоритма каждое ИУ - это ячейка Excel с формулой, а дуга графа - ссылочная связь между двумя зависимой и влияющей ячейками. Пространственную структуру граф-машины алгоритма (графа связей между ячейками табличной модели) удобно визуализировать с помощью встроенного инструмента Excel Зависимости.

Под шаблоном компонента табличной модели будем понимать совокупность ячеек с формулами, совместно выполняющих некую полезную функцию многократного использования. Для обеспечения возможности быстрого выделения и позиционирования компонентов на рабочем листе Excel c помощью технологии drag-and-drop, геометрическую структуру последних будем задавать в виде прямоугольных блоков ячеек. Другим требованием к структуре компонентов является то, что все зависимые ячейки должны размещаться ниже и/или правее соответствующих влияющих ячеек в структуре компонента. Это требование является обязательным для обеспечения правильной работы компонентов в итерационных табличных моделях [8].

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

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

Образуем из ячеек 6 и 7 шаблон компонента. Для этого заметим, что ячейка 6 создаваемого компонента принимает данные от двух внешних

ячеек 4 и 5, а ячейка 7 является выходной. Следовательно, компонент с именем Название (рис.1, в) должен иметь два входных порта IN1 и IN2 (вспомогательные ячейки 8 и 9, содержащие ссылки на влияющие ячейки 4 и 5), две рабочие ячейки (6 и 7), собственно и реализующие функциональность компонента, и один выходной порт OUT1 (ячейка 7). Отметим, что, как и требуется, в компоненте (рис.1, в) зависимая ячейка 6 располагается ниже и правее влияющих ячеек 8 и 9, а зависимая ячейка 7 -правее влияющей ячейки 6.

OUT1

6 7

Название

IN1

IN2

8

9 CD 7

OUT1

в)

Рис.1. Граф связей между ячейками табличной модели (а) и компонент, объединяющий

функциональность ячеек 6 и 7 (б, в).

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

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

На рисунках 2 и 3 представлена созданная нами в Excel библиотека компонентов формальной логики, включающая:

• компоненты простых суждений (Суждение ОУ -общеутвердительное, Суждение ОО - общеотрицательное, Суждение ЧУ - частноутвердительное, Суждение ЧО - частноотрицательное) вида: <квантор^<связка>Р, где S, P - субъект и предикат суждения соответственно;

• компоненты вывода новых суждений из одной или двух входных посылок (Категорический силлогизм, Превращение суждения, Обращение суждения, Противопоставление предикату, Логический квадрат, Отрицание суждения);

• компоненты интерпретации результатов вывода (Интерпретация

суждения, Круги Эйлера, Содержание терминов);

1 2 3 4 5

37 Bi Суждение ОУ

38 R3SC2 А ОУ Все

39 5+F- Б р есть

40 Все i есть ;

41

42 Bi Суждение 00

43 R43C2 Е сс Никакие

44 S+P+ S р не есть

45 Никакие 5 не есть Р

46

47 Bi Суждение ЧУ

48 R4SC2 ЧУ Некотс|;ые

49 S-P+ S р есть

50 Некоторые 5 есть Р

51

52 Bi Суждение 40

53 R53C2 с чс Некотс|:ые

54 S-P+ S р не есть

55 Некоторые 5 не есть Р

1É 17 19 20

38 Bi Интерпретация суждения

39 i

40 R40C17

41

42

43

44

45 Bi Категорический силлогизм

46

47 :

48

49

50 R50C17

51

52

53

54 Круги Эйлера

55 № 2

с и

10

11 12

13

14

15

Bi Превращение суждения

:

R40C7

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

Bi Логический квадрат

:

R40C12

Bi Обращение суждения

R46C7

Bi Отрицание суждения

R46C12

Bi Противопоставлен« предикату

R52C7

Содержание терминов

и Универсул

5

Р

м

?

Рис.2. Библиотека компонентов формальной логики

19 | 20 | 21 | 22 | 23 | 24 25 | 26 | 27 |" 2S | 29 | 30 | 31

Рис.3. Круги Эйлера для простых суждений и компонентов вывода умозаключений

• круги Эйлера, ставящие в соответствие суждениям их эквивалентные круговые диаграммы.

В общем случае процесс создания и анализа компонентной табличной модели включает следующие этапы:

1. Выбор из библиотеки компонентов, необходимых для решения искомой задачи формальной логики, и позиционирование блоков компонентов на рабочем листе Excel.

2. Установление информационных связей между блоками табличной модели.

3. Задание и настройка параметров блоков табличной модели.

4. Проведение экспериментов с компонентной табличной моделью.

5. Интерпретация полученные результатов моделирования.

На рис.4 приведен пример компонентной табличной модели решения категорического силлогизма:

Все не-В есть А

Ни одно В не суть С_

Все С суть А

построенная с использованием описанной библиотеки компонентов формальной логики._

1 2 3 4 5 а 7 3 9 10 и 12 13 14 15

309

310 Все~В есть А Ни одно В не суть С ВЗ Категорический силлогизм

311 Д322С7 Н315С7 Й322С7 Н31ЕС7

312 Все С суть А 1 - С ~А

313 - А Е АЕЕ

314 В! Суждение ОУ В1 Суждение 00 Модус Сатепе^

315 (Ш5С2 А ОУ Все И315С7 Е ее Ни одно И31ЕС12 Е СС

316 5+Р- А есть ¡НИ В с не есть 5+Р+ С

317 Все ~В есть А Ни одно В ЕС-1.С

313 *

313 В1 П р ее-рэ ще н и е сужден ия ■

320 В! П|3с-ц = 5псс-э = ленне прединэ-у И322С2 &+Р- Е+Р+ В Превращение суждения

321 1*31502 А + 1 ИЗ : И315С12 5+Р- 5+Р+ -

322 113 2 2 С 2 Е СО Я322С7 А ОУ 1 из 2

323 5+Р+ ~А о+Р- ~А И323С12 А ОУ

324 Ника кой ""Анве сть "В Все есть Е Е4-Р- С А

325 ВСЕ С су1ьА

Рис.4. Компонентная табличная модель решения категорического силлогизма

Правильность итогового логического вывода проиллюстрируем на частном примере:

Все бескрылые животные не могут летать

Ни одно крылатое животное не суть человек_

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

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

4.Противопоставление предикату общеутвердительного суждения Все бескрылые животные не могут летать приводит к суждению Никакое животное, которое может летать, не есть бескрылое животное.

5.Превращая это полученное суждение, приходим к суждению Все животные, которые могут летать, суть крылатые животные.

6.Далее решая категорический силлогизм с помощью модуса Camenes: Ни одно крылатое животное не суть человек

Все животные, которые могут летать, суть крылатые животные

получаем суждение Никакой человек не есть животное, которое может летать.

7.И, наконец, превращая это суждение, выводим окончательное

суждение:

Все люди не могут летать.

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

Сахар сладкий

Все дети любят сладости_

???

который у многих учащихся вызывает серьезные затруднения.

1 г i 5 6 i 8 а ш 11 12 13 14 15 16 13 19 20

27¿

275 Сахар (Р) сладкий (Ml) вз Категорический силлогизм Bi Со^БржаниБТБрминов

276 Все дети (S) любят сладости (М2) R230C2 R280C7 R2BOC2 R280C7 и ?

277 ? 1 err F Сахар

273 + А А ? М18М2 Оадки&в&щестБа Ё Сладости

279 Bi Суждение ОУ Bi Суждение ОУ ЕггУчетверение или равенство термина в 5 Дии

230 R2BDC2 А OY все R2BOC7 А ОУ все R2BDC12 7 1 Sic! Не е:5 uiapf^x-слэдосш

231 S+P- Р Mi есть 5+Р- 5 М2 есть ? J 1

232 &£6РК7ЬМ1 KsSectb М2

Рис.5. Невозможность логического вывода в случаеучетверения входных терминов

В этом поучительном примере компонент категорического силлогизма, проанализировав входные суждения, выдает сообщение об ошибке

«Err: Учетверение или равенство терминов», а компонент Содержание терминов уточняет, что данный силлогизм не имеет решения вследствие неопределенности его универсума.

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

Литература

2. Игошин В.И. Математическая логика: учеб. пособие / В.И. Игошин - М.: ИНФРА-М, 2012. - 399 с. +CD-R.

3. Гетманова А.Д. Логика для юристов. Со сборником задач: учебное пособие / А.Д. Гетманова. - М.: КНОРУС, 2012. - 344 с.

4. Абачиев С.К. Формальная логика с элементами теории познания: учебник / С.К. Абачиев. -Ростов н/Д: Феникс, 2012. - 635 с.

5. Кэрролл Л. История с узелками // Под ред. Я.А. Смородинского. - Пер. с англ. - М.: «Мир», 1973. -408 с.

6. Гецци К. Основы инженерии программного обеспечения / К. Гецци, М. Джазайери, Д. Мандриоли. - 2-е изд: пер. с англ. - СПб.: БХВ-Петербург, 2005. - 832 с.

7. Аникин В.И. Технологии имитационного табличного моделирования численных алгоритмов: Монография / В.И. Аникин, О.В. Аникина,

П.Ф. Зибров. - Тольятти: ТГУ, 2011. - 150 с.

Воеводин В.В. Параллельные вычисления / В.В. Воеводин, Вл.В. Воеводин. - СПб.: БХВ-Петербург, 2002. - 608 с.

Аникин В.И. Алгоритмическое табличное моделирование в Microsoft Excel: итерационные модели / В.И.Аникин, О. В. Аникина. - «Информатика и образование», 2009. - №9. - с. 88-95.

i Надоели баннеры? Вы всегда можете отключить рекламу.