36963

Робота з базою знань «План-карта шляхів»

Лабораторная работа

Информатика, кибернетика и программирование

COM командою lod ‘edit Сформувати файл програми для роботи з базою знань defun можливо стан карта mpcn 'lmbd правило if eql стан cr правило list правило nil карта defun вглибину поточнийплан ppend можливо cdr cr поточнийплан план1...

Украинкский

2013-09-23

40 KB

1 чел.

Лабораторна робота №1

Робота з базою знань «План-карта шляхів»

План виконання роботи:

  1.  Завантажити оболонку muLisp (для цього запустити на виконання файл MULISP.EXE, яка розташована за адресою <Disk>:\Lisp_Prog\MULISP)
  2.  Завантажити редактор EDIT.COM (командою (loadedit))
  3.  Сформувати файл програми для роботи з базою знань

(defun можливо (стан карта )

   (mapcan '(lambda (правило)

                               (if (eql стан (car правило))

                                     (list правило) nil )

                 )

               карта)

)

 

(defun в-глибину (поточний-план)

   (append

          (можливо (cadr (car поточний-план)) план-1)

                           (cdr поточний-план))

   )

основна функція пошуку:

(defun пошук (кінець поточний-план маршрут метод)

(cond

    ((null поточний-план) (print (reverse маршрут)) nil)

; поточний план пустий

    ((eql кiнець (cadr (car поточний-план)))

;якщо  кінцевий пункт знайшовся в поточному-планi, тоді закінчити.

               (print  (reverse (cons кiнець маршрут))))

   ((member (cadr (car поточний-план)) маршрут)

;якщо наслідок вже є в маршруті, тоді рекурсивний пошук в cdr-плані.

              (пошук кiнець (cdr поточний-план) маршрут метод) )

;якщо всi попереднi умови не виконуються, тоді перетворимо поточний-;план заданим "методом", доповнимо "маршрут" i рекурсивно здійснюємо ;подальший пошук.

   ( t (пошук кiнець (funcall метод поточний-план)

          (cons (cadr (car поточний-план)) маршрут)

           метод ) ) )

)

(defun як-проїхати (початок кiнець карта метод)

    (пошук кiнець

                (можливо початок карта)

                (list початок)

              метод

   )

)

  1.  Заповнити базу знань через командну строку

$(setq plan1 '((Москва Київ) (Київ Москва) (Львiв Київ) (Київ Львiв) (Київ Харкiв) (Харкiв Київ) (Донецьк Харкiв) (Харкiв Донецьк) (Київ Луганськ) (Луганськ Ніжин) (Ніжин Київ)))

  1.  Викликати функцію пошуку шляху

(як-проїхати початок кінець карта метод)

Виклик функції

$(як-проїхати 'Львiв 'Ніжин план-1 в-глибину)

(Львiв Київ Москва Харкiв Донецьк Луганськ Ніжин)

вiдсiкти непотрiбнi пункти за допомогою наступної функції:

(defun вiдсiкти-лишнє (маршрут карта)

  (cond

       ((equal маршрут (відсікти маршрут карта ))

                 маршрут)

       (t (вiдсiкти-лишнє (вiдсiкти маршрут карта)))))

(defun вiдсiкти (маршрут карта рiшення)

    (cond

           ((null карта) nil)

           ((null маршрут) nil)

         ((null (cadr маршрут))

                  (reverse (cons (car маршрут) рiшення)))

          ((member (list (car маршрут) (cadr маршрут)) карта equal)                      

                         (вiдсiкти (cdr маршрут) карта

                          (cons (car маршрут) рiшення)))

       (t (вiдсiкти (cdr маршрут) карта рiшення))))

Застосуємо розроблену функцію:

$(вiдсiкти-лишнє (як-проїхати 'Львiв 'Ніжин план-1 в-глибину) план-1 )

(Львiв Київ Луганськ Ніжин)


 

А также другие работы, которые могут Вас заинтересовать

5704. Поняття, предмет, метод, система і функції конституційного права 103.5 KB
  Поняття, предмет, метод, система і функції конституційного права Для нормального життя люди постійно повинні їсти, пити, мати одяг, взуття, задовольняти свої духовні потреби. Тільки на цій основі вони можуть брати участь у виробництві. При цьому слі...
5705. Поняття професійної етики та її категорії 56.5 KB
  Поняття професійної етики та її категорії План Поняття про етику як науку. Основні категорії етики. Мораль як суспільне явище. Поняття про етикет та професійну етику. Етичний бізнес - це чесність, порядність, повага до п...
5706. Редагування текстів в MS Word 40.5 KB
  Редагування текстів Автозаміна Автозаміна - це автоматичне виправлення помилок і неправильних слів. Крім того, автозаміна дає змогу за допомогою кількох символів вставити великий текстовий фрагмент. Для настроювання механізму автозаміни потрібн...
5707. Інтернет як джерело банківської, фінансової і підприємницької інформації 131 KB
  Інтернет як джерело банківської, фінансової і підприємницької інформації Банківська і підприємницька інформація як підсистеми економічної інформації 1. Загальна характеристика дисципліни, її місце в системі підготовки бакалаврів зі спеціал...
5708. Педагогіка вищої школи як наука 74 KB
  Педагогіка вищої школи як наука План Предмет, категорії та основні завдання педагогіки вищої школи. Місце педагогіки вищої школи в системі педагогічних наук та її зв’язок з іншими науками. Сучасні методологічні аспекти педагог...
5709. Программирование на языках среднего уровня С/С++ 689 KB
  Предисловие Настоящий конспект лекций посвящен программированию на языках среднего уровня С/С++, в нем рассмотрен объектно-ориентированный подход программирования. Условно конспект лекций можно разделить на две части: первая часть посвящена основным...
5710. Теория государства и права. Теории происхождения и становления государства 209 KB
  Тема 1. Учение о государстве 1.1. Теории происхождения и становления государства. 2. Классовая теория, связывает происхождение государства с возникновением производительной экономики, получения избыточного продукта. Согласно её формуле, ...
5711. Основи охорони праці. Основні принципи державної політики в галузі охорони праці в навчальних закладах 42.5 KB
  Предмет, структура, мета курсу Основи охорони праці Основні принципи державної політики в галузі охорони праці. Організація охорони праці у навчальних закладах. Охорона праці, згідно закону України Про охорону п...
5712. Основні поняття і категорії статистики 60.5 KB
  Основні поняття і категорії статистики Зміст поняття статистика. Слово статистика (від lat. status – стан речей) означає кількісний облік масових явищ і процесів (наприклад, соціально-економічних, соціально-демографічних тощо). В сучасних соціа...