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


 

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

58504. Урок - игра: суд над сигаретой 49.5 KB
  Слушается дело о вреде курения табака сигареты. Сегодня моей задачей является разоблачение сигареты и курения как вредной привычки приносящей вред организму человеку юного растущего. Моя цель сорвать с сигареты покров романтики и мужественности показать её злостную сущность.
58505. КНЯЖА РУСЬ - УКРАЇНА 647.5 KB
  Дайте відповідь на питання яке ставили учням у часи Київської Русі. Скільки слідів залишить віл в останній борозні під час оранки Відповідь: жодного сліду тому що плуг сліди приоре.
58506. УРОК В РАМКАХ КЛАССНО-УРОЧНОЙ СИСТЕМЫ ОБУЧЕНИЯ 71 KB
  Определение понятия урок;экскурс в историю классноурочной системы обучения. Вот некоторые из них: 1 Урок это такая форма организации педагогического процесса при которой педагог в течение точно установленного времени руководит коллективной познавательной и иной деятельностью постоянной группы учащихся классов с учетом особенностей каждого из них используя виды средства методы работы создающие благоприятные условия для того чтобы все ученики овладевали основами изучаемого предмета непосредственно в процессе обучения а также для...
58507. Одномерные массивы 119.5 KB
  Цель: закрепить знания по теме “Одномерные массивы”, проверить умение решать базовые задачи, совершенствовать умение учащихся оценивать свой учебный труд. Развивать логическое мышление. Воспитывать культуру предмета.
58509. Новогодняя открытка 47.5 KB
  После смерти Петра I новогодние елки ставить перестали. Лишь владельцы трактиров украшали ими свои дома причем эти елки стояли на трактирах круглый год отсюда пошло их название елки-палки. Новогодние празднества и традиция ставить елки возродились при Екатерине II.
58510. Понятие информации. Виды информации. Свойства информации 62.5 KB
  Цель урока: Познакомить учащихся с понятием информации и носителями информации. Учащиеся должны понимать, что существуют различные подходы к определению информации в различных областях человеческой деятельности...
58511. Поняття алгоритму. Базові структури алгоритмів 163 KB
  Виконання алгоритму повинно приводити до очікуваного результату за скінченну кількість кроків. Виконання алгоритму завжди повинно призводити до певного результату. Виконавець відповідно до алгоритму повинен одержати результат не вникаючи в його суть.