Программирование на языке Пролог для искусственного интеллекта

       

Планировщик воздушных маршрутов и база данных о рейсах самолетов



Рисунок 4. 5.  Планировщик воздушных маршрутов и база данных о рейсах самолетов.

  • Как мне добраться из Любляны в Эдинбург в четверг?

            ?- маршрут( любляна, эдинбург, чт, R).

            R = [любляна-цюрих : уu322 : 11:30, цюрих-лондон:
            sr806 : 16:10,
            лондон-эдинбург : bа4822 : 18:40 ]

  • Как мне посетить Милан, Любляну и Цюрих, вылетев из Лондона во вторник и вернувшись в него в пятницу, совершая в день не более одного перелета? Этот вопрос сложнее, чем предыдущие. Его можно сформулировать, использовав отношение перестановка, запрограммированное в гл. 3. Мы попросим найти такую перестановку городов Милан, Любляна и Цюрих, чтобы соответствующие перелеты можно было осуществить в несколько последовательных дней недели:

            ?- перестановка( [милан, любляна, цюрих],
                                            [Город1, Город2, Город3] ),

            рейс( лондон, Город1, вт, Np1, Oтпp1, Пpиб1),
            peйc( Город1, Город2, ср, Np2, Отпр2, Приб2),
            рейс( Город2, Город3, чт, Np3, Отпp3, Приб3),
            рейс( Город3, лондон, пт, Np4, Отпр4, Приб4).

            Город1 = милан
            Город2 = цюрих
            Город3 = любляна
           
            Npl = ba510
            Отпр1 = 8:30
            Приб1 = 11:20
           
            Np2 =sr621
            Отпр2 = 9:25
            Приб2 = 10:15
           
            Np3 = yu323
            Отпр3 = 13:30
            Приб3 = 14:40

            Np4 = yu200
            Отпр4 = 11:10
            Приб4 = 12:20



Содержание раздела