Как правильно распорядиться заработанными средствами в зависимости от дохода, имеющейся собственности и социального статуса

Страницы работы

Содержание работы

ЭКСПЕРТНАЯ СИСТЕМА

Задание. Для предметной области (тема: “Как правильно распорядиться заработанными средствами в зависимости от дохода, имеющейся собственности и социального статуса”) сформировать базу знаний, соответствующую следующим требованиям:

§  включать не менее 12 правил, из которых не менее 7- сложные правила;

§  для описания правил использовать не менее 8 переменных;

§  для обратной цепочки рассуждений должны быть логически выведены не менее 4 переменных, прежде чем будет определена переменная вывода;

§  пару последовательных правил.

Отчет должен содержать:

1.  перечисление переменных, их описание и принимаемые ими возможные значения;

2.  правила, составляющие базу знаний.

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

Правило 1: Если зарплата не превышает прожиточный минимум, то нет возможности приобрести акции.

Правило 2: Если зарплата не превышает прожиточный минимум, то нет возможности накопить материальные ценности.

Правило 3: Если зарплата превышает прожиточный минимум на величину менее чем стоимость акций, то нет возможности приобрести акции.

Правило 4: Если зарплата превышает прожиточный минимум на величину большую, чем стоимость акций, то есть возможность приобрести акции.

Правило 5: Если зарплата (доход) превышает прожиточный минимум, но нет возможности приобрести акции, то есть возможность накопить ценности.

Правило 6: Если инфляция в пределах от 5% до 20% и есть возможность приобрести акции, то рекомендуется  приобрести акции компаний.

Правило 7:Если инфляция менее 5% и имеется возможность накопить ценности или купить акции, то рекомендуется положить деньги в банк.

Правило 8: Если общая сумма имеющихся средств больше стоимости акций и имеется возможность накопить материальные средства, то есть возможность продать часть имущества.

Правило 9: Если сумма имеющихся средств меньше стоимости акций или нет возможности накапливать материальные ценности, то и нет возможности продать часть имущества.

Правило 10: Если зарплата (доход) не превышает прожиточного минимума, то рекомендуется сменить место работы.

Правило 11: Если инфляция больше 20% и есть возможность продать имущество, то рекомендуется купить акции, продав имущество.

Правило 12: Если нет возможности продать имущество, но есть возможность накопить материальные ценности, то рекомендуется приобрести дополнительно материальные ценности.

Определим переменные, входящие в правила:

Zr

зарплата (доход);

Nd

необходимый прожиточный минимум (уровень);

StAk

стоимость акций компаний (минимальная или средняя);

VAk

возможность приобрести акции:VAk принимает значения истина или ложь;

Vcn

возможность накопить (приобрести) материальные ценности (Vcn принимает значения истина или ложь);

Inf

уровень инфляции;

SumO

общая сумма имеющихся средств;

VPImu

возможность продать часть имущества(VPImuпринимает значения истина или ложь)

Rec

рекомендация, как распорядиться полученным доходом, переменная принимает текстовые значения.


Программа на Прологе

DOMAINS

фио, дата, совет, объект_приобретения, возможность = string

зарплата, сумма, инфляция, стоимость, прож_мин = integer

FACTS

nondeterm фзарплата(фио,зарплата)

nondeterm финфляция(дата, инфляция)

nondeterm фобщая_сумма(фио, сумма)

nondeterm фстоимость_акций(дата, стоимость)

nondeterm фпрожиточный_минимум(дата, прож_мин)

nondeterm фдата(дата)

nondeterm фличность(фио)

PREDICATES

nondeterm рекомендация(фио, совет)

nondeterm возможность_приобрести(фио, объект_приобретения)

nondeterm продажа_имущества(фио, возможность)

nondeterm зарплата(фио,зарплата)

CLAUSES

фдата("2009.02.01").

фдата("2008.12.01").

%фзарплата("Коробова",1000).

фзарплата("Коротин",20000).

зарплата(Фио,Зарплата):- фзарплата(Фио,Зарплата),!.

зарплата(Фио,Зарплата):- nl, write("Уважаемый господин  ",

Фио, " введите размер Вашей зарплаты или дохода  "), readint(Зарплата), assertz(фзарплата(Фио,Зарплата)),nl.

финфляция("2009.02.01", 12).

финфляция("2008.12.01", 8).

фличность("Коробова").

фличность("Коротин").

фобщая_сумма("Коробова", 500000).

фобщая_сумма("Коротин", 50000000).

фстоимость_акций("2009.02.01", 10000).

фстоимость_акций("2008.12.01", 100000).

фпрожиточный_минимум("2009.02.01", 4300).

фпрожиточный_минимум("2008.12.01", 2500).

рекомендация(Фио, "Сменить место работы"):- фдата(Дата),

                                                                       зарплата(Фио,Зарплата),

                                                                       фпрожиточный_минимум(Дата, Прож_мин),

Зарплата < Прож_мин,!.

рекомендация(Фио, "Купить акции, продав имущество"):- фдата(Дата),

                                                                                    финфляция(Дата, Инфляция),

                                                                                    Инфляция > 20,

                                                                                    продажа_имущества(Фио, "Да"),!.

рекомендация(Фио, "Приобрести материальные ценности"):- продажа_имущества(Фио, "Нет"),

                                                                                   возможность_приобрести(Фио, "Ценности"),!.

рекомендация(Фио, "Приобрести акции компаний"):- фдата(Дата),

                                                                        финфляция(Дата, Инфляция),

                                                                        Инфляция >= 5,

                                                                        Инфляция <= 20,

                                                                        возможность_приобрести(Фио, "Акции"),!.

рекомендация(Фио, "Положить деньги в банк"):- фдата(Дата),

                                                                        финфляция(Дата, Инфляция),

                                                                        Инфляция < 5,

                                                                        возможность_приобрести(Фио, X),!.

продажа_имущества(Фио, "Да"):-  фдата(Дата), фобщая_сумма(Фио, Сумма),

                                               фстоимость_акций(Дата, Стоимость),

                                                Сумма  > Стоимость,

                                               возможность_приобрести(Фио, "Ценности"),!.

продажа_имущества(Фио, "Нет").         

возможность_приобрести(Фио, "Акции"):-        фдата(Дата),

                                                                       зарплата(Фио,Зарплата),

                                                                       фпрожиточный_минимум(Дата, Прож_мин),

                                                                       фстоимость_акций(Дата, Стоимость),                                                                                                Зарплата - Прож_мин > Стоимость.

возможность_приобрести(Фио, "Ценности"):- фдата(Дата),

                                                           зарплата(Фио,Зарплата),

фпрожиточный_минимум(Дата, Прож_мин),

                                                           Зарплата > Прож_мин.

 GOAL

 фличность(Фио), рекомендация(Фио, Совет).

Похожие материалы

Информация о работе