Натуральные числа
имеют ряд свойств, такие, например, как: делители, неделители,
количество делителей и др. Существуют и более сложные свойства натуральных
чисел, изучаемые в теории чисел. По этим свойствам числа классифицируются как
простые, четные и т.д. Таким образом, исследование свойств чисел и является
типичной задачей обучения распознаванию образов, идентификации и автоматической
классификации. Эта задача довольно проста и наглядна, поэтому эта задача
представляет для нас интерес в качестве учебной.
1. Формализовать
задачу.
1.1. Сконструировать
классификационные шкалы и градации.
1.2. Сконструировать
описательные шкалы и градации.
1.3. Сгенерировать
обучающую выборку.
2. Осуществить синтез
и верификацию (измерение адекватности) семантической информационной модели.
3. Провести
системно-когнитивный анализ модели:
3.1. Решить задачи
идентификации и прогнозирования.
3.2. Сгенерировать
информационные портреты классов и факторов, т.е. решить обратную задачу
прогнозирования (результаты отобразить в графической форме двухмерных и
трехмерных профилей классов и факторов).
3.3. Провести
кластерно-конструктивный анализ классов и факторов (результаты отобразить в
форме семантических сетей классов и факторов).
3.4. Осуществить
содержательное сравнение классов и факторов (результаты отобразить в форме
когнитивных диаграмм классов и факторов).
3.5. Построить
нелокальные нейроны и интерпретируемые нейронные сети.
3.6. Построить
классические когнитивные модели (отобразить в форме когнитивных карт).
3.7. Построить
интегральные когнитивные модели (отобразить в форме интегральных когнитивных
карт).
Для этой цели
используем 5-ю функцию 5-го режима 1-й подсистемы системы "Эйдос"
(реальный исходный текст программы приводится ниже).
***************************************************************
*** Формирование модели для
исследования свойств чисел ********
*** Луценко Е.В., 11/06/05 09:11am
****************************
***************************************************************
FUNCTION
Div_chis()
scr23 = 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)
SHOWTIME()
RETURN
ENDIF
*** Формирование справочника
первичных признаков
A_Pr := {}
FOR
j=1 TO N_Obj
AADD(A_Pr,
"Делится на:"+ALLTRIM(STR(j,4))) && 1*N_Obj
NEXT
FOR
j=1 TO N_Obj
AADD(A_Pr, "Не дел.на : "+ALLTRIM(STR(j,4)))
&& 2*N_Obj
NEXT
FOR
j=1 TO N_Obj
AADD(A_Pr, "Делителей
: "+ALLTRIM(STR(j,4))) && N_Del+2*N_Obj
NEXT
FOR
j=1 TO N_Obj
AADD(A_Pr, "Степ.числа: "+ALLTRIM(STR(j,4)))
&& 4*N_Obj
NEXT
FOR
j=1 TO N_Obj
AADD(A_Pr, "Чис.в степ: "+ALLTRIM(STR(j,4)))
&& 5*N_Obj
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
@24,0 SAY REPLICATE("█",80) COLOR
"rb/n"
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
************ Занесение количества делителей
Kod = N_Del+2*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
*** Проверка не делимости
FOR j=1 TO N_Obj
IF s-j*INT(s/j) <> 0
Kod =
j+1*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
*** Проверка, является ли данное число s
*** целой степенью j некоторого натурального числа n
FOR j=1 TO N_Obj
FOR n=1 TO N_Obj
IF s=n^j
*** Степень числа n
Kod =
n+3*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
*** Число в степени j
Kod =
j+4*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
p=s/N_Obj*100;p=IF(p<=100,p,100)
@24,0 SAY STR(p,3)+"%"
COLOR "rg+/r+"
@24,4 SAY REPLICATE("█",p*0.76)
COLOR "rg+/g"
NEXT
GenNtxOin(.F.)
@24,0 SAY REPLICATE("█",80) COLOR
"rb/n"
Mess
= " ПРОЦЕСС ГЕНЕРАЦИИ ШКАЛ И ОБУЧАЮЩЕЙ ВЫБОРКИ ЗАВЕРШЕН УСПЕШНО !!! "
@24,40-LEN(Mess)/2
SAY Mess COLOR "rg+/rb"
nj=INKEY(0)
RESTSCREEN(0,0,24,79,scr23)
SHOWTIME()
RETURN(nj)
Выберем в качестве
классов натуральные числа от 1 до 30 (вместо 30 может быть взято другое число).
В результате получим 30 классов с кодами от 1 до 30, наименования которых совпадают
с их кодом. Приводить здесь эту элементарную таблицу не имеет смысла.
В качестве
описательных шкал и градаций используем простейшие свойства натуральных чисел,
такие как: делители, неделители, количество делителей
(таблица 44). Могут быть использованы и более сложные свойства, например: какой
степенью и степенью какого числа является данное число, а также другие свойства, изучаемые в теории
чисел, но суть задачи от этого не изменится.
Таблица 44 – ОПИСАТЕЛЬНЫЕ ШКАЛЫ И ГРАДАЦИИ (ФРАГМЕНТ)
Код |
Наименование признака |
Код |
Наименование признака |
Код |
Наименование признака |
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 |
--- |
--- |
--- |
--- |
--- |
--- |
28 |
Делится на 28 |
58 |
Не делится на 28 |
88 |
Делителей: 28 |
29 |
Делится на 29 |
59 |
Не делится на 29 |
89 |
Делителей: 29 |
30 |
Делится на 30 |
60 |
Не делится на 30 |
90 |
Делителей: 30 |
Обучающая выборка
генерируется автоматически вместе с шкалами и градациями и здесь не приводится
из-за ее большого объема.
Синтез модели
осуществляется в 5-й функции 3-го режима 2-й подсистемы системы
"Эйдос", а верификация (после копирования обучающей выборки в
распознаваемую и распознавания со 2-м интегральным критерием сходства) – во 2-м
режиме 6-й подсистемы. При этом получен результат, представленный на рисунке 79,
который говорит о высокой степени адекватности модели и корректности выводов,
полученных путем ее исследования.
|
Рисунок 79. Экранная форма режима измерения |
Идентификация
проводится во 2-м режиме 4-й подсистемы системы "Эйдос". Результаты
идентификации выводятся в форме карточек в 1-й и 2-й функциях 3-го режима 4-й
подсистемы системы "Эйдос" (примеры карточек на рисунке 80).
|
Рисунок 80. Пример карточки идентификации |
Информационные
портреты классов генерируются и отображаются в 1-й функции 1-го режима 5-й
подсистемы системы "Эйдос" (рисунок 81).
|
Рисунок 81. Пример информационного портрета класса |
Двухмерные и трехмерные профили классов и признаков
генерируются и отображаются в 4-м режиме 6-й подсистемы системы
"Эйдос" (рисунок 82).
Информационные портреты признаков (факторов) генерируются
и отображаются в 1-й функции 2-го режима 5-й подсистемы системы
"Эйдос" (рисунок 83). Размеры секторов в круговой диаграмме
соответствуют относительному вкладу признаков в общее количество информации,
содержащейся в информационном портрете.
|
Рисунок 82. Пример профиля класса |
|
Рисунок 83. Экранная форма информационного портрета фактора в форме таблицы |
Из рисунка 83 видно,
что система способна выявить простые числа по признаку: "Число делителей
2".
Этот анализ
проводится в во 2-й функции 1-го и 2-го режимов 5-й подсистемы системы
"Эйдос" (рисунок 84).
|
|
Рисунок 84. Примеры семантических сети классов и признаков |
Семантические сети отражают сходство классов по характеризующим
их признакам и сходство признаков по тем классам, о принадлежности к которым
они несут информацию.
Структуру любой линии в семантических сетях классов
или признаков можно детально увидеть в когнитивных диаграммах классов и
признаков (рисунок 85).
|
|
Рисунок 85. Примеры когнитивных диаграмм |
Нелокальные нейроны отражают систему детерминации состояний
факторами т отображаются в 5-м режиме 6-й подсистемы системы "Эйдос",
а нейронные сети представляют собой совокупность нейронов и отображаются в 6-м
режиме той же подсистемы (рисунок 86).
|
|
Рисунок 86. Примеры нелокального нейрона |
Классическая
когнитивная модель отражает структуру детерминации состояния с указанием
сходств и различий между факторами и отображается в 7-м режиме 6-й подсистемы
системы "Эйдос" (рисунок 87).
|
Рисунок 87. Пример классической когнитивной карты |
Интегральная
когнитивная модель отражает структуру детерминации нескольких состояний с
указанием сходств и различий между состояниями по их системам детерминации,
между факторами, по влиянию, которое они оказывают на поведение объекта
управления, отображаются в 7-м режиме 6-й подсистемы системы "Эйдос"
(рисунок 88).
|
Рисунок 88. Пример интегральной когнитивной карты |
1. Какие свойства натуральных чисел мы рассматривали в
качестве их признаков?
2. Какие образом выполняется когнитивная структуризация
предметной области?
3. В чем состоит формализацию предметной области и как
ее осуществить в системе "Эйдос" при изучении свойств натуральных
чисел?
4. Какие средства формирования обучающей выборки используются
в системе "Эйдос" при изучении свойств натуральных чисел?
1. Луценко Е.В. Автоматизированный системно-когнитивный анализ в
управлении активными объектами (системная теория информации и ее применение в
исследовании экономических, социально-психологических, технологических и
организационно-технических систем): Монография (научное издание). –
Краснодар: КубГАУ. 2002. – 605 с.