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



           

Планирование поездки - часть 4


Вот некоторые примеры вопросов к планировщику:

  • По каким дням недели существуют прямые рейсы из Лондона в Люблину?

            ?- рейс( лондон, любляна, День, _, _, _ ).

            День = пт;

            День = сб;

            no

                    (нет)

  • line();

    % ПЛАНИРОВЩИК ВОЗДУШНЫХ МАРШРУТОВ

    :- ор( 50, xfy, :).

    рейс( Пункт1, Пункт2, День, Np, ВрОтпр, ВрПриб) :-

        расписание( Пункт1, Пункт2, СписРейсов),

        принадлежит( ВрОтпр / ВрПриб / Nр / СписДней, СписРейсов),

        день_выл( День, СписДней).

    принадлежит( X, [X | L] ).

    принадлежит( X, [Y | L] ) :-

          принадлежит( X, L ).

    день_выл( День, СписДней) :-

          принадлежит( День, СписДней).

    день_выл( День, ежедневно) :-

          принадлежит( День, [пн, вт, ср, чт, пт, сб, вс] ).

    маршрут( P1, P2, День, [Р1-Р2 : Np : ВрОтпр] ) :-

                                                    % прямой рейс

          рейс( P1, P2, День, Np, ВрОтпр, _ ).

    маршрут( Р1, Р2, День, [Pl-P3 : Np1 : Oтпp1 | Маршрут]) :-

                                                    % маршрут с пересадками

          маршрут( Р3, P2, День, Маршрут ),

          рейс( Р1, Р3, День, Npl, Oтпp1, Приб1),



    Содержание  Назад  Вперед