Смекни!
smekni.com

Проектирование устройства преобразования и воспроизведения музыкальных звуков (стр. 2 из 3)


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

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

Алгоритм работы БКО:

1.БКО анализирует вектор значений гипотезы, сопоставляя каждой переменной свой коэффициент согласно таблице 4.

Таблица 4. Коэффициенты значений предметных переменных

Значения
Поддержка расширенных вычислений 0,975 1,025
Производительность, MIPS 0,9 1,1 1,2 1,1
Объем памяти программ (ROM) 0,9 1,1 1,075 1,05
Объем памяти данных (RAM) 0,9 1,05 1,1 1,075
Оптимизированный набор инструкций 0,95 1,05
Поддержка JTAG 0,975 1,025
Разрядность АЦП 0,8 0,9 1,2 1,1
Встроенное FFT ускорение 0,95 1,05

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

2.БКО умножает полученные коэффициенты друг на друга. В случае если результат больше единицы (K > 1), то гипотеза признается положительной, иначе – отрицательной.

Исходный код БКО приведен в Приложении Б. Поскольку для разработки БКО использовался пример, разработанный предыдущими курсами, в Приложении Б приведен только код метода AppreciateHipothesis(), осуществляющего проверку и оценку списка гипотез в соответствии с заданным алгоритмом.

Формирование начальной базы знаний

Для формирования начальной базы удачных и неудачных фактов были выбраны DSP фирм Microchip, AnalogDevices и TexasInstruments. Удачные факты приведены в таблице 5, неудачные приведены в таблице 6.

Таблица 5. Примеры удачных фактов из начальной таблицы знаний

Имя факта Вес Вектор значений
1 2 3 4 5 6 7 8
Microchip PIC ds33FJ256GP710A 0 Нет <50 16K-32K 16K-32K Нет Есть 12 Есть
Analog Devices ADSP-2187N 0 Есть 50-100 16K-32K 16K-32K Есть Есть 0 Есть
Texas Instruments 320UC5402-100 0 Есть 100-200 16K-32K 16K-32K Есть Есть 0 Есть

Таблица 6. Примеры неудачных фактов из начальной таблицы знаний

Имя факта Вес Вектор значений
1 2 3 4 5 6 7 8
Microchip PIC ds33FJ06GS102 0 Нет <50 <8K <4K Нет Нет 0 Нет
Analog Devices ADSP-2184N 0 Есть 50-100 <8K <4K Нет Нет 0 Нет
Texas Instruments 320UC54A1-532 0 Есть >200 <8K >32K Есть Есть 0 Нет

Решение открытой задачи

Критерии остановки:

1.Слабая динамика изменения коэффициентов функции выбора

2.Близкое к нулю количество противоречивых гипотез

Начальный вид функции выбора представлен в таблице 7.

Таблица 7. Начальный вид функции выбора

Параметр 1 2 3 4
1 Поддержка расширенных вычислений 0 0
2 Производительность, MIPS 0 0 0 -3
3 Объем памяти программ (ROM) -9 0 9 0
4 Объем памяти данных (RAM) -6 0 9 -3
5 Оптимизированный набор инструкций -3 3
6 Поддержка JTAG -6 6
7 Разрядность АЦП -3 0 3 0
8 Встроенное FFT ускорение -9 9

Протокол обучения решателя представлен в таблице 8.

Таблица 8. Протокол обучения решателя

Уровень знаний Общее число фактов Число гипотез Число подтвержденных гипотез Число опровергнутых гипотез
+ -
1 6 9 46 8 47
2 61 31 31 31 31
3 123 61 31 50 42
4 215 31 31 42 20
5 277 31 61 44 48
6 369 32 60 63 29
7 461 61 91 97 55
8 613 32 86 82 36
9 731 31 31 39 23
10 793 61 31 54 38
11 885 31 31 40 22
12 947 31 53 51 33
13 1031 84 31 82 33
14 1146 61 31 67 25
15 1238 31 16 24 23
16 1285 31 20 28 23
17 1336 31 13 33 11
18 1380 26 7 22 11
19 1413 24 15 27 12
Уровень знаний Общее число фактов Число гипотез Число подтвержденных гипотез Число опровергнутых гипотез
+ -
20 1452 27 12 31 8
21 1491 17 9 22 4
22 1517 10 8 13 5
23 1535 11 11 15 7
24 1557 12 4 11 5
25 1573 18 1 14 5
26 1592 7 3 8 2
27 1602 9 4 10 3
28 1615 8 4 10 2
29 1627

К 29-ой итерации количество генерируемых гипотез упало и выровнялось, а количество опровергнутых гипотез среди них стало минимальным. Таким образом, можно отметить факт окончания обучения решателя. Конечный вид функции выбора представлен в таблице 9. График зависимости числа генерируемых гипотез и числа противоречий от уровня знаний Решателя представлен на рисунке 2.

Таблица 9. Конечный вид функции выбора

Параметр 1 2 3 4
1 Поддержка расширенных вычислений -10653 581
2 Производительность, MIPS -112640 29200 42690 30421
3 Объем памяти программ (ROM) -85037 21601 34143 21601
4 Объем памяти данных (RAM) -73648 16875 16875 16875
5 Оптимизированный набор инструкций -34779 34401
6 Поддержка JTAG -18946 18512
7 Разрядность АЦП -138105 -68925 120625 86405
8 Встроенное FFT ускорение -28302 20390

Анализ результатов решения задачи

Анализ весовых коэффициентов параметров

Результат ранжирования параметров, с учетом полученных весовых коэффициентов Cij, по формуле

wi = |maxjij) - minj(Cij)|

Таблица 10. Проранжированные параметры

Параметр wi Ранг
1 Поддержка расширенных вычислений 11234 8
2 Производительность, MIPS 155330 2
3 Объем памяти программ (ROM) 119180 3
4 Объем памяти данных (RAM) 90523 4
5 Оптимизированный набор инструкций 69180 5
6 Поддержка JTAG 37458 7
7 Разрядность АЦП 258730 1
8 Встроенное FFT ускорение 48692 6

Ранжирование показывает, что Решатель правильно определил важность параметров в их влиянии на ВПК. Так от разрядности АЦП будет зависеть достоверность распознавания, производительность системы оказывает прямое влияние на быстродействие и косвенно влияет на достоверность распознавания, ведь недостаток вычислительной мощности процессора не позволит реализовать более сложные программные алгоритмы, сохранив при этом приемлемое время отклика всего устройства. Объем памяти данных и объем памяти программ так же должны быть достаточными для реализации программного алгоритма, иначе придется использовать внешнюю память, что уменьшит быстродействие системы, но увеличит её ресурсоёмкость. Далее по списку расположены параметры, влияющие на удобство разработки системы. Эти параметры важны для разработчика, но не оказывают прямого влияния на ВПК.