ЛР-7:
"Идентификация и классификация
натуральных чисел по их свойствам"

 

Краткая теория

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

Задание

1. Формализовать задачу.

1.1. Сконструировать классификационные шкалы и градации.

1.2. Сконструировать описательные шкалы и градации.

1.3. Сгенерировать обучающую выборку.

2. Осуществить синтез и верификацию (измерение адекватности) семантической информационной модели.

3. Провести системно-когнитивный анализ модели:

3.1. Решить задачи идентификации и прогнозирования.

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

3.3. Провести кластерно-конструктивный анализ классов и факторов (результаты отобразить в форме семантических сетей классов и факторов).

3.4. Осуществить содержательное сравнение классов и факторов (результаты отобразить в форме когнитивных диаграмм классов и факторов).

3.5. Построить нелокальные нейроны и интерпретируемые нейронные сети.

3.6. Построить классические когнитивные модели (отобразить в форме когнитивных карт).

3.7. Построить интегральные когнитивные модели (отобразить в форме интегральных когнитивных карт).

 

Пример решения

1. Формализовать задачу.

Для этой цели используем 5-ю функцию 5-го режима 1-й подсистемы системы "Эйдос" (реальный исходный текст программы приводится ниже).

 

***************************************************************

*** Формирование модели для исследования свойств чисел ********

*** Луценко Е.В., 02/26/04 11:34am ****************************

***************************************************************

 

FUNCTION Div_chis()

 

scr_start=SAVESCREEN(0,0,24,79)

 

SHOWTIME(0,58,.T.,"rb/n")

 

Titul(.T.)

 

Mess = "=== ГЕНЕРАЦИЯ ИСХОДНЫХ ДАННЫХ ДЛЯ МОДЕЛИ ИССЛЕДОВАНИЯ СВОЙСТВ ЧИСЕЛ ==="

@5,40-LEN(Mess)/2 SAY Mess COLOR "rg+/rb"

*    0123456789012345678901234567890123456789012345678901234567890123456789012345678

*    0         10        20        30        40        50        60        70

@10,24 SAY                  "Задайте максимальное число: #####" COLOR "w+/rb"

N_Obj = 99

@10,52 GET N_Obj PICTURE "#####" COLOR "rg+/r"

SET CURSOR ON;READ;SET CURSOR OFF

IF LASTKEY()=27

   RESTSCREEN(0,0,24,79,scr23)

   RETURN

ENDIF

 

*** Формирование справочника первичных признаков

 

A_Pr  := {}

FOR j=1 TO N_Obj

    AADD(A_Pr, "Делится на "+ALLTRIM(STR(j,4)))

NEXT

FOR j=1 TO N_Obj

    AADD(A_Pr, "Не делится на "+ALLTRIM(STR(j,4)))

NEXT

FOR j=1 TO N_Obj

    AADD(A_Pr, "Делителей: "+ALLTRIM(STR(j,4)))

NEXT

 

USE Priz_per EXCLUSIVE NEW

ZAP

FOR j=1 TO LEN(A_Pr)

    APPEND BLANK

    REPLACE Kod  WITH j

    REPLACE Name WITH A_Pr[j]

NEXT

GenNtxPrp(.F.)

CLOSE ALL

 

*** Формирование справочника классов распознавания

USE Object EXCLUSIVE NEW

ZAP

FOR j=1 TO N_Obj

    APPEND BLANK

    REPLACE Kod  WITH j

    REPLACE Name WITH ALLTRIM(STR(j,3))

NEXT

GenNtxObj(.F.)

CLOSE ALL

 

*** Формирование обучающей выборки

USE ObInfZag EXCLUSIVE NEW;ZAP

USE ObInfKpr EXCLUSIVE NEW;ZAP

FOR s=1 TO N_Obj

    SELECT ObInfZag

    APPEND BLANK

    REPLACE Kod_ist  WITH s

    REPLACE Name_ist WITH ALLTRIM(STR(s,4))

    REPLACE Obj_1    WITH s

    SELECT ObInfKpr

    APPEND BLANK

    REPLACE Kod_ist  WITH s

    p=0                   && Позиция для записи в БД

    N_Del=0               && Кол-во делителей

    *** Проверка делимости

    FOR j=1 TO N_Obj

        IF s-j*int(s/j) = 0

           Kod = j

           ++N_Del

           IF p+1 <= 11

              FIELDPUT(++p+1, Kod)

           ELSE

              APPEND BLANK

              REPLACE Kod_ist  WITH s

              p=0

              FIELDPUT(++p+1, Kod)

           ENDIF

        ENDIF

    NEXT

    ************ Занесение количества делителей

    IF p+1 <= 11

       FIELDPUT(++p+1, N_Del+2*N_Obj)

    ELSE

       APPEND BLANK

       REPLACE Kod_ist  WITH s

       p=0

       FIELDPUT(++p+1, N_Del+2*N_Obj)

    ENDIF

    *** Проверка не делимости

    FOR j=1 TO N_Obj

        IF s-j*int(s/j) <> 0

           Kod = j+N_Obj

           IF p+1 <= 11

              FIELDPUT(++p+1, Kod)

           ELSE

              APPEND BLANK

              REPLACE Kod_ist  WITH s

              p=0

              FIELDPUT(++p+1, Kod)

           ENDIF

        ENDIF

    NEXT

NEXT

GenNtxOin(.F.)

 

@24,0 SAY REPLICATE("-",80) COLOR "rb/n"

Mess = " ПРОЦЕСС ГЕНЕРАЦИИ ШКАЛ И ОБУЧАЮЩЕЙ ВЫБОРКИ ЗАВЕРШЕН УСПЕШНО !!! "

@24,40-LEN(Mess)/2 SAY Mess COLOR "rg+/rb"

INKEY(0)

 

RESTSCREEN(0,0,24,79,scr_start)

SHOWTIME()

 

RETURN

 

1.1. Сконструировать классификационные шкалы и градации.

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

 

1.2. Сконструировать описательные шкалы и градации.

В качестве описательных шкал и градаций используем простейшие свойства натуральных чисел, такие как: делители, неделители, количество делителей (таблица 83). Могут быть использованы и более сложные свойства, изучаемые в теории чисел, но суть задачи от этого не изменится.

 

Таблица 83 – ОПИСАТЕЛЬНЫЕ ШКАЛЫ И ГРАДАЦИИ

Код

Наименование

признака

Код

Наименование

признака

Код

Наименование

признака

1

Делится на 1

31

Не делится на 1

61

Делителей: 1

2

Делится на 2

32

Не делится на 2

62

Делителей: 2

3

Делится на 3

33

Не делится на 3

63

Делителей: 3

4

Делится на 4

34

Не делится на 4

64

Делителей: 4

5

Делится на 5

35

Не делится на 5

65

Делителей: 5

6

Делится на 6

36

Не делится на 6

66

Делителей: 6

7

Делится на 7

37

Не делится на 7

67

Делителей: 7

8

Делится на 8

38

Не делится на 8

68

Делителей: 8

9

Делится на 9

39

Не делится на 9

69

Делителей: 9

10

Делится на 10

40

Не делится на 10

70

Делителей: 10

11

Делится на 11

41

Не делится на 11

71

Делителей: 11

12

Делится на 12

42

Не делится на 12

72

Делителей: 12

13

Делится на 13

43

Не делится на 13

73

Делителей: 13

14

Делится на 14

44

Не делится на 14

74

Делителей: 14

15

Делится на 15

45

Не делится на 15

75

Делителей: 15

16

Делится на 16

46

Не делится на 16

76

Делителей: 16

17

Делится на 17

47

Не делится на 17

77

Делителей: 17

18

Делится на 18

48

Не делится на 18

78

Делителей: 18

19

Делится на 19

49

Не делится на 19

79

Делителей: 19

20

Делится на 20

50

Не делится на 20

80

Делителей: 20

21

Делится на 21

51

Не делится на 21

81

Делителей: 21

22

Делится на 22

52

Не делится на 22

82

Делителей: 22

23

Делится на 23

53

Не делится на 23

83

Делителей: 23

24

Делится на 24

54

Не делится на 24

84

Делителей: 24

25

Делится на 25

55

Не делится на 25

85

Делителей: 25

26

Делится на 26

56

Не делится на 26

86

Делителей: 26

27

Делится на 27

57

Не делится на 27

87

Делителей: 27

28

Делится на 28

58

Не делится на 28

88

Делителей: 28

29

Делится на 29

59

Не делится на 29

89

Делителей: 29

30

Делится на 30

60

Не делится на 30

90

Делителей: 30

 

1.3. Сгенерируем обучающую выборку.

Обучающая выборка генерируется автоматически вместе с шкалами и градациями и здесь не приводится из-за ее большого объема.

 

2. Осуществить синтез и верификацию (измерение адекватности) семантической информационной модели.

Синтез модели осуществляется в 5-й функции 3-го режима 2-й подсистемы системы "Эйдос", а верификация (после копирования обучающей выборки в распознаваемую и распознавания со 2-м интегральным критерием сходства) – во 2-м режиме 6-й подсистемы. При этом получен результат, представленный на рисунке 171, который говорит о высокой степени адекватности модели и корректности выводов, полученных путем ее исследования.

Рисунок 171. Экранная форма режима измерения адекватности СИМ

 

3. Провести системно-когнитивный анализ модели:
3.1. Решить задачи идентификации и прогнозирования.

Идентификация проводится во 2-м режиме 4-й подсистемы системы "Эйдос". Результаты идентификации выводятся в форме карточек в 1-й и 2-й функциях 3-го режима 4-й подсистемы системы "Эйдос" (примеры карточек на рисунке 172).

 

Рисунок 172. Пример карточки идентификации объекта с классами

 

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

Информационные портреты классов генерируются и отображаются в 1-й функции 1-го режима 5-й подсистемы системы "Эйдос" (рисунок 173).

 

Рисунок 173. Пример информационного портрета класса
в форме круговой диаграммы

 

 

Двухмерные и трехмерные профили классов и признаков генерируются и отображаются в 4-м режиме 6-й подсистемы системы "Эйдос" (рисунок 174).

Информационные портреты признаков (факторов) генерируются и отображаются в 1-й функции 2-го режима 5-й подсистемы системы "Эйдос" (рисунок 175). Размеры секторов в круговой диаграмме соответствуют относительному вкладу признаков в общее количество информации, содержащейся в информационном портрете.

 

Рисунок 174. Пример профиля класса

 

Рисунок 175. Экранная форма информационного портрета фактора
в форме таблицы

 

Из рисунка 148 видно, что система способна выявить простые числа по признаку: "Число делителей 2".

3.3. Провести кластерно-конструктивный анализ классов и факторов (результаты отобразить в форме семантических сетей классов и факторов).

Этот анализ проводится в во 2-й функции 1-го и 2-го режимов 5-й подсистемы системы "Эйдос" (рисунок 176).

Рисунок 176. Примеры семантических сети классов и признаков

Семантические сети отражают сходство классов по характеризующим их признакам и сходство признаков по тем классам, о принадлежности к которым они несут информацию.

3.4. Осуществить содержательное сравнение классов и факторов (результаты отобразить в форме когнитивных диаграмм классов и факторов).

Структуру любой линии в семантических сетях классов или признаков можно детально увидеть в когнитивных диаграммах классов и признаков (рисунок 177).

 

Рисунок 177. Примеры когнитивных диаграмм классов и признаков

3.5. Построить нелокальные нейроны и интерпретируемые нейронные сети.

Нелокальные нейроны отражают систему детерминации состояний факторами т отображаются в 5-м режиме 6-й подсистемы системы "Эйдос", а нейронные сети представляют собой совокупность нейронов и отображаются в 6-м режиме той же подсистемы (рисунок 178).

 

Рисунок 178. Примеры нелокального нейрона
и Паретто-подмножества нейронной сети

 

3.6. Построить классические когнитивные модели (отобразить в форме когнитивных карт).

Классическая когнитивная модель отражает структуру детерминации состояния с указанием сходств и различий между факторами и отображается в 7-м режиме 6-й подсистемы системы "Эйдос"  (рисунок 179).

 

Рисунок 179. Пример классической когнитивной карты

 

3.7. Построить интегральные когнитивные модели (отобразить в форме интегральных когнитивных карт).

Интегральная когнитивная модель отражает структуру детерминации нескольких состояний с указанием сходств и различий между состояниями по их системам детерминации, между факторами, по влиянию, которое они оказывают на поведение объекта управления, отображаются в 7-м режиме 6-й подсистемы системы "Эйдос" (рисунок 180).

 

Рисунок 180. Пример интегральной когнитивной карты

 

Контрольные вопросы

1. Какие свойства натуральных чисел мы рассматривали в качестве их признаков?

2. Какие образом выполняется когнитивная структуризация предметной области?

3. В чем состоит формализацию предметной области и как ее осуществить в системе "Эйдос" при изучении свойств натуральных чисел?

4. Какие средства формирования обучающей выборки используются в системе "Эйдос" при изучении свойств натуральных чисел?

Литература по лабораторной работе

1. Луценко Е.В. Теоретические основы и технология адаптивного семантического анализа в поддержке принятия решений (на примере универсальной автоматизированной системы распознавания образов "ЭЙДОС-5.1"). - Краснодар: КЮИ МВД РФ, 1996. - 280с.

2. Луценко Е. В.       Автоматизированный системно-когнитивный анализ в управлении активными объектами (системная теория информации и ее применение в исследовании экономических, социально-психологических, технологических и организационно-технических систем): Монография (научное издание). – Краснодар:  КубГАУ. 2002. – 605 с.