Автор работы: Пользователь скрыл имя, 22 Сентября 2013 в 15:13, курсовая работа
При создании экспертных систем возникает ряд затруднений. Это, прежде всего, связано стем, что заказчик не всегда может точно сформулировать свои требования к разрабатываемой системе. Также возможно возникновение трудностей чисто психологического порядка: при создании базы знаний системы эксперт может препятствовать передаче своих знаний, опасаясь, что впоследствии его заменят «машиной». Но эти страхи не обоснованы, так как экспертные системы не способны обучаться, они не обладают здравым смыслом, интуицией. Но в настоящее время ведутся разработки экспертных систем, реализующих идею самообучения. Также экспертные системы неприменимы в больших предметных областях и в тех областях, где отсутствуют эксперты.
Задание 3
Реферат 4
Введение 5
1 Постановка задачи 6
2 Описание предметной области 7
2.1 Acer 7
2.2 ASUS 7
2.3 Samsung 8
2.4 GigaByte 8
2.5 INTEL 9
3 Выбор среды разработки 9
3.1 Краткая информация о языке CLIPS 9
3.2 Система обозначений 10
3.3 Резюме языка CLIPS 12
4 Разработка экспертной системы 13
5 Работа с экспертной системой 15
Вывод 22
Список используемых источников 23
(defrule R8
(mobile ?mobile)
(firma ?firma)
(test (and (= ?mobile 0)(= ?firma 5)) )
=>
(printout t crlf crlf "Вы выбрали раздел стационарных ПК на основе мат.плат фирмы INTEL " crlf)
(assert (type "Стационарные ПК INTEL"))
(assert (typecnst 6)))
(defrule R9
(znach ?znach)
(cash ?cash)
(test (and (= ?znach 1)(and (>= ?cash 6000)(<= ?cash 21000))) )
=>
(printout t crlf crlf "Дешевый офисный ПК" crlf)
(assert (money "Низкая ценовая категория"))
(assert (moneycnst 1)))
(defrule R10
(znach ?znach)
(cash ?cash)
(test (and (> ?znach 1)(and (> ?cash 21000)(<= ?cash 30000))) )
=>
(printout t crlf crlf "Хороший ПК" crlf)
(assert (money "Средняя ценовая категория"))
(assert (moneycnst 2)))
(defrule R11
(znach ?znach)
(cash ?cash)
(test (and (= ?znach 2)(and (>= ?cash 30000)(<= ?cash 60000))) )
=>
(printout t crlf crlf "Хороший мультимедийный ПК" crlf)
(assert (money "Высокая ценовая категория"))
(assert (moneycnst 3)))
(defrule R12
(typecnst ?typecnst)
(moneycnst ?moneycnst)
(test (and (= ?moneycnst 1)(= ?typecnst 1)) )
=>
(printout t crlf crlf "Вы выбрали мобильный ПК Acer низкой ценовой категории." crlf)
(printout t crlf crlf "Варианты ПК: Acer eMachines
E525-902G16Mi <LX.N740C.003> CM900(2.2)/2048/160/DVD-RW/
(assert (config "Мобильный ПК Acer дешевый")))
(defrule R13
(typecnst ?typecnst)
(moneycnst ?moneycnst)
(test (and (= ?moneycnst 1)(= ?typecnst 2)) )
=>
(printout t crlf crlf "Вы выбрали мобильный ПК ASUS низкой ценовой категории." crlf)
(printout t crlf crlf "Варианты ПК: ASUS Eee
PC 1005P <90OA1L-D42223-987E50AQ> Black Atom N450(1.66)/2048/160/WiFi/cam/
(assert (config "Мобильный ПК ASUS дешевый")))
(defrule R14
(typecnst ?typecnst)
(moneycnst ?moneycnst)
(test (and (= ?moneycnst 1)(= ?typecnst 3)) )
=>
(printout t crlf crlf "Вы выбрали мобильный ПК Samsung низкой ценовой категории." crlf)
(printout t crlf crlf "Варианты ПК: Samsung
N150 <NP-N150-JA01> Atom N450(1.66)/1024/250/WiFi/BT/
(assert (config "Мобильный ПК Samsung дешевый")))
(defrule R15
(typecnst ?typecnst)
(moneycnst ?moneycnst)
(test (and (= ?moneycnst 1)(= ?typecnst 4)) )
=>
(printout t crlf crlf "Вы выбрали стационарный ПК ASUS низкой ценовой категории." crlf)
(printout t crlf crlf "Варианты ПК: Компьютер Asus Eee Box B1006 (90PE24C2112101A39CHZ) Black. Тип процессора: Intel Atom. Модель процессора: N270. Оперативная память: 2048 Мб. Объём жесткого диска: 160 Гб. Беспроводная связь WiFi. Операционная система Microsoft Windows Vista Home Basic ." crlf)
(assert (config "Стационарный ПК ASUS дешевый")))
(defrule R16
(typecnst ?typecnst)
(moneycnst ?moneycnst)
(test (and (= ?moneycnst 1)(= ?typecnst 5)) )
=>
(printout t crlf crlf "Вы выбрали стационарные ПК Gigabyte низкой ценовой категории." crlf)
(printout t crlf crlf "Варианты ПК: Gigabyte G-MAX <SA4LB v2.0> (Socket478 <i845GL>, SVGA, LAN)." crlf)
(assert (config "Стационарный ПК GigaByte дешевый")))
(defrule R17
(typecnst ?typecnst)
(moneycnst ?moneycnst)
(test (and (= ?moneycnst 1)(= ?typecnst 6)) )
=>
(printout t crlf crlf "Вы выбрали стационарные ПК INTEL низкой ценовой категории." crlf)
(printout t crlf crlf "Варианты ПК: Intel® Core™ i5 750 2,66 GHz, LGA1155/8MB-1333MHz,1Tb SATAII,4096Mb DDRIII,DVD-RW,Video PCI-E Radeon HD 5870 1024 mb DDR5,Card reader,БП 550W,Lan 10/100/1000." crlf)
(assert (config "Стационарный ПК INTEL дешевый")))
(defrule R18
(typecnst ?typecnst)
(moneycnst ?moneycnst)
(test (and (= ?moneycnst 2)(= ?typecnst 1)) )
=>
(printout t crlf crlf "Вы выбрали мобильный ПК Acer средней ценовой категории." crlf)
(printout t crlf crlf "Варианты ПК: Acer Extensa
5635Z-442G16Mi <LX.EDV0C.045>T4400(2.2)/2048/
(assert (config "Мобильный ПК Acer не дешевый")))
(defrule R19
(typecnst ?typecnst)
(moneycnst ?moneycnst)
(test (and (= ?moneycnst 2)(= ?typecnst 2)) )
=>
(printout t crlf crlf "Вы выбрали мобильный ПК ASUS средней ценовой категории." crlf)
(printout t crlf crlf "Варианты ПК: ASUS K70AF
<90NZKA2-10W124-5RD13AY> Turion X2 M520(2.3)/3072/320(5400)/DVD-
(assert (config "Мобильный ПК ASUS не дешевый")))
(defrule R20
(typecnst ?typecnst)
(moneycnst ?moneycnst)
(test (and (= ?moneycnst 2)(= ?typecnst 3)) )
=>
(printout t crlf crlf "Вы выбрали мобильный ПК Samsung средней ценовой категории." crlf)
(printout t crlf crlf "Варианты ПК: Samsung
R430 <NP-R430-JB01> i3 330M(2.13)/3072/320/DVD-RW/
(assert (config "Мобильный ПК Samsung не дешевый")))
(defrule R21
(typecnst ?typecnst)
(moneycnst ?moneycnst)
(test (and (= ?moneycnst 2)(= ?typecnst 4)) )
=>
(printout t crlf crlf "Вы выбрали стационарный ПК ASUS средней ценовой категории." crlf)
(printout t crlf crlf "Варианты ПК: ASUS Eee
TOP ET2001B <90PE3B-A11222-57049C0Q> Black Atom N270(1.6)/1024/160/DVD-RW/
(assert (config "Стационарный ПК ASUS не дешевый")))
(defrule R22
(typecnst ?typecnst)
(moneycnst ?moneycnst)
(test (and (= ?moneycnst 2)(= ?typecnst 5)) )
=>
(printout t crlf crlf "Вы выбрали стационарный ПК GigaByte средней ценовой категории." crlf)
(printout t crlf crlf "Варианты ПК: TA 3 (1.0) GIGABYTE™small form factor. VIA C3 800MHz. Gigabyte VIA CLE266 / 8235 chipset. 40W Power supply. Support DOM (Disk On Module), ATA Disk Module (optional). Front USB 2.0 port, Earphone. MIC IN. Dimension: 64(D) x 213 (W) x 234(H) mm." crlf)
(assert (config "Стационарный ПК GigaByte не дешевый")))
(defrule R23
(typecnst ?typecnst)
(moneycnst ?moneycnst)
(test (and (= ?moneycnst 2)(= ?typecnst 6)) )
=>
(printout t crlf crlf "Вы выбрали стационарный ПК INTEL средней ценовой категории." crlf)
(printout t crlf crlf "Варианты ПК: Intel Core 2 Quad Q9400 2,66 GHz, LGA775/6MB-1333MHz,500 Gb,2048Mb DDRII,DVD-RW,Video PCI-E ATI Radeon HD5770 1024 mb,Card reader,Lan 10/100/1000" crlf)
(assert (config "Стационарный ПК INTEL не дешевый")))
(defrule R24
(typecnst ?typecnst)
(moneycnst ?moneycnst)
(test (and (= ?moneycnst 3)(= ?typecnst 1)) )
=>
(printout t crlf crlf "Вы выбрали мобильный ПК Acer высокой ценовой категории." crlf)
(printout t crlf crlf "Варианты ПК: Acer Aspire
5942G-724G64Bi <LX.PMN02.032> i7 720QM(1.6)/4096/640/Blu-Ray/
(assert (config "Мобильный ПК Acer дорогой")))
(defrule R25
(typecnst ?typecnst)
(money ?money)
(test (and (= ?moneycnst 3)(= ?typecnst 2)) )
=>
(printout t crlf crlf "Вы выбрали мобильный ПК ASUS высокой ценовой категории." crlf)
(printout t crlf crlf "Варианты ПК: ASUS G60VX
<90NV3A-7F9282-1VDC306Y> P8700(2.53)/4096/500(5400)/
(assert (config "Мобильный ПК ASUS дорогой")))
(defrule R26
(typecnst ?typecnst)
(moneycnst ?moneycnst)
(test (and (= ?moneycnst 3)(= ?typecnst 3)) )
=>
(printout t crlf crlf "Вы выбрали мобильный ПК Samsung высокой ценовой категории." crlf)
(printout t crlf crlf "Варианты ПК: Samsung
R580 <NP-R580-JS08> i7 620M(2.66)/4096/320/DVD-RW/
(assert (config "Мобильный ПК Samsung дорогой")))
(defrule R27
(typecnst ?typecnst)
(moneycnst ?moneycnst)
(test (and (= ?moneycnst 3)(= ?typecnst 4)) )
=>
(printout t crlf crlf "Вы выбрали стационарный ПК ASUS высокой ценовой категории." crlf)
(printout t crlf crlf "Варианты ПК: ASUS Z8PE-D18 (RTL) Dual LGA1366 <i5520> PCI-E, SVGA+2xGbLAN SATA RAID E-ATX 18DDR-III" crlf)
(assert (config "Стационарный ПК ASUS дорогой")))
(defrule R28
(typecnst ?typecnst)
(moneycnst ?moneycnst)
(test (and (= ?moneycnst 3)(= ?typecnst 5)) )
=>
(printout t crlf crlf "Вы выбрали стационарный ПК GigaByte высокой ценовой категории." crlf)
(printout t crlf crlf "Варианты ПК: STA/C GIGABYTE™ ultra slim size Thin Client solution. VIA C7 1.0G/1.5Ghz FANLESS processor with VIA CN700 chipset. Low power consumption. Quiet Fan Less Design. Easy installation design with flexible specification. Best Cost & Performance." crlf)
(assert (config "Стационарный ПК GigaByte дорогой")))
(defrule R29
(typecnst ?typecnst)
(moneycnst ?moneycnst)
(test (and (= ?moneycnst 3)(= ?typecnst 6)) )
=>
(printout t crlf crlf "Вы выбрали стационарный ПК INTEL высокой ценовой категории." crlf)
(printout t crlf crlf "Варианты ПК: Intel® Core™ i7 920 2,66 GHz, LGA1366/8MB-1066MHz BX80601920,1Tb,4096Mb DDRIII,DVD-RW,Video PCI-E Radeon HD 5870 1024mb,Card reader,550W,Lan 10/100/1000,Wi-fi" crlf)
(assert (config "Стационарный ПК INTEL дорогой")))
После создания базы знаний, компилируем ее в приложении clipswin.exe, для этого запускаем данное приложение, «File - > Load Constracts…», выбираем файл Config.clp, и нажимаем «Открыть». Компилятор выведет сообщения о том что он открыл базу знаний и проверяет на наличие ошибок код. Для запуска ЭС нужно нажать «Execution - > Reset», затем «Execution - > Run».
Введя необходимые входные параметры система выдаст пример комплектации ПК.
В процессе выполнения курсовой работы была написана экспертная система, использование которой поможет с выбором комплектации персонального компьютера рядовому пользователю.
ЭС - это набор программ, выполняющий функции эксперта при решении задач из некоторой предметной области. ЭС выдают советы, проводят анализ, дают консультации, ставят диагноз. Практическое применение ЭС на предприятиях способствует эффективности работы и повышению квалификации специалистов.
Успешному выполнению данной работы способствовало грамотное решение по выбору среды разработки, а именно языку программирования, и аналогичной программе, по написанию экспертных систем – CLIPS. Так как система, претендующая называться экспертной, должна обладать знаниями. Эти знания, естественно, должны быть ориентированы на конкретную предметную область, и из этих знаний должно непосредственно вытекать решение проблемы. Именно поэтому знания в экспертных системах предполагают определенную организацию и интеграцию (отдельные факты, сведения должны каким–либо образом соотноситься друг с другом и образовывать между собой определенные связи). То есть знания должны быть соответствующе представлены. Это и объясняет успешность в написании экспертных систем.
ЭС использует не только данных, но и знаний, а также специального механизма вывода решений и новых знаний на основе имеющихся. Знания в ЭС представляются в такой форме, которая может быть легко обработана на ЭВМ. В ЭС известен алгоритм обработки знаний, а не алгоритм решения задачи. Поэтому применение алгоритма обработки знаний может привести к получению такого результата при решении конкретной задачи, который не был предусмотрен. Более того, алгоритм обработки знаний заранее неизвестен и строится по ходу решения задачи на основании эвристических правил. Решение задачи в ЭС сопровождается понятными пользователю объяснениями, качество получаемых решений обычно не хуже, а иногда и лучше достигаемого специалистами.
1. Джаррано Д., Райли Г. «Экспертные системы: принципы разработки и программирование. 4-е изд.» — М.: "Вильямс", 2007. — 1152 с.;
2. Джексон П. Введение в экспертные системы.: Пер. с англ.: Уч. пос. 624 с.: ил. — Изд. дом «Вильямс», 2001.;
3. Трофимов В. База данных+CLIPS=База знаний// C. 56–61 — N 10. — 2003. — Компьютеры+программы.;
4. Частиков А. П., Гаврилова Т. А., Белов Д. Л. «Разработка экспертных систем. Среда CLIPS.» — СПб. : БХВ-Петербург, 2003. — 608с.: ил. ISBN 5-94157-248-4.
Презентация курсового проекта.
Информация о работе Разработка экспертной системы по определению оптимальной конфигурации ПК