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в Київ Луганськ Ніжин)


 

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

56251. Сценарий урока английского языка по теме "Holidays" ("Праздники") 61 KB
  Ведущая идея занятия: Актуализировать, дополнить и совершенствовать произносительные, лексические и грамматические знания по разговорной теме “Holidays”; совершенствовать лексико-грамматичсекие навыки диалогической речи.
56254. Домики, которые построила природа 29.5 KB
  Формировать УУД: универсальные учебные действия УУД Личностные УУД: радость общения красотой окружающего мира формирование навыков работы материалами умение использовать цвет для достижения своего замысла; повышение культуры речевого общения развитие способностей к творческому самовыражению.
56255. Виховний захід Студенти - це такий народ 49.5 KB
  Життя продовжується а студентське життя прекрасне Облич подій знайомих коло перед очима постає Ти прожив із нами коледж іще одне життя своє. Відомий французький письменник Віктор Гюго говорив: Життяквітка кохання мед із неї А американський письменник Теодор Драйзер писав: У коханні головне несподівано зявитися і вчасно зникнути Ви хлопці такі не романтичні не можете мислити як поети. А я думаю що любов до себе рідного от той казковий роман який триває все життя. Це життя.
56256. Внедрение здоровьесберегающих технологий в семье 116 KB
  Здоровье детей катастрофически падает и мы вправе поставить вопрос: Что для нас важнее их физическое состояние или обучение Ещё А. А что происходит в нашей школе сегодня В последние годы наблюдается значительное ухудшение здоровья населения Украины...
56257. ИНФОРМАЦИОННЫЕ И АНАЛИТИЧЕСКИЕ ЖАНРЫ РАДИОЖУРНАЛИСТИКИ 1 MB
  В передачах же, ставящих своей целью эмоциональную подачу материала, стоящих где-то на грани между радиоинформацией и радиоисследованием, необходимо говорить о публицистическом методе. Этот метод, как известно, охватывает основные элементы радиожурналистики...
56258. We Study English 51 KB
  Познайомити з дитячою культурою народу, мову якого вивчаємо. Формувати вміння спілкуватися іноземною мовою підготовлено та непідготовлено. Розвивати інтерес до вивчення англійської мови. Виховувати культурних та ввічливих дітей які знають правила поведінки та вміють застосовувати їх на практиці.