Как переделать эту экспертную систему под swi-prolog?

Узнай цену своей работы

Формулировка задачи:

Помогите пожалста переделать эту ЭС под swi-prolog
Листинг программы
  1. domains
  2. s=symbol
  3. database
  4. xpositive(s, s)
  5. xnegative(s, s)
  6. predicates
  7. do_expert_job
  8. do_consulting
  9. ask(s,s)
  10. price_is(s)
  11. it_is(s)
  12. positive(s,s)
  13. negative(s,s)
  14. remember(s,s,s)
  15. clear_facts
  16. goal
  17. do_expert_job.
  18. clauses
  19. do_expert_job :-
  20. nl,write("* * * * * * * * * * * * * * * * * * * "),
  21. nl,write(" Expert system for the selection of mobile phone."),
  22. nl,write(" "),
  23. nl,write("Please, answer the question "),
  24. nl,write("'yes' or 'no'. "),
  25. nl ,write("* * * * * * * * * * * * * * * * * * * "),
  26. nl,nl,
  27. do_consulting,
  28. readchar(_),
  29. exit.
  30. do_consulting :-
  31. price_is(X),!,nl,
  32. write("The price of your chosen phone - ",X,"."),nl,
  33. clear_facts.
  34. do_consulting :-
  35. nl,write("You are not satisfied for any of the directory!"), clear_facts.
  36. ask(X,Y) :-
  37. write(" Question : ",X," it ",Y," ?"),
  38. readln(Reply),
  39. remember(X,Y,Reply).
  40. positive(X,Y) :-
  41. xpositive(X,Y),!.
  42. positive(X,Y) :-
  43. not(negative(X,Y)),!,ask(X,Y).
  44. negative(X,Y) :-
  45. xnegative(X,Y),!.
  46. remember(X,Y,yes) :-
  47. asserta(xpositive(X,Y)).
  48. remember(X,Y,no) :-
  49. asserta(xnegative(X,Y)),!,fail.
  50. clear_facts :-
  51. retract(xpositive(_,_)),
  52. fail.
  53. clear_facts :-
  54. retract(xnegative(_,_)),
  55. fail.
  56. price_is("do 1000grn") :-it_is("Samsung"),
  57. positive(has,"Memory - do 1Gb"),
  58. positive(has,"Camera - 1.3Mpix"),!.
  59. price_is("1000-1500grn") :-it_is("Samsung"),
  60. positive(has,"Memory - 1-2Gb"),
  61. positive(has,"Camera - 1.3-2Mpix"),!.
  62. price_is("1500-2000") :-it_is("Samsung"),
  63. positive(has,"Memory - 2-4Gb"),
  64. positive(has,"Camera - vid 2Mpix"),!.
  65. price_is("vid 2500grn") :-it_is("Samsung"),
  66. positive(has,"Memory - 4-8Gb"),
  67. positive(has,"Camera - vid 2Mpix"),!.
  68. price_is("do 1000grn") :-it_is("Nokia"),
  69. positive(has,"Memory - 1-2Gb"),
  70. positive(has,"Camera - 1.3Mpix"),!.
  71. price_is("1000-1500grn") :-it_is("Nokia"),
  72. positive(has,"Memory - 2-4Gb"),
  73. positive(has,"Camera - 1.3Mpix"),!.
  74. price_is("1500-2500") :-it_is("Nokia"),
  75. positive(has,"Memory - 4-8Gb"),
  76. positive(has,"Camera - 1.3-2Mpix"),!.
  77. price_is("vid 2500grn") :-it_is("Nokia"),
  78. positive(has,"Memory - 4-8Gb"),
  79. positive(has,"Camera - vid 2Mpix"),!.
  80. price_is("do 1000grn") :-it_is("LG"),
  81. positive(has,"Memory - do 1Gb"),
  82. positive(has,"Camera - do 1.3Mpix"),!.
  83. price_is("1000-1500grn") :-it_is("LG"),
  84. positive(has,"Memory - 2-4Gb"),
  85. positive(has,"Camera - 1.3-2Mpix"),!.
  86. price_is("1500-2500") :-it_is("LG"),
  87. positive(has,"Memory - 4-8Gb"),
  88. positive(has,"Camera - 1.3-2Mpix"),!.
  89. price_is("vid 2500grn") :-it_is("LG"),
  90. positive(has,"Memory - 4-8Gb"),
  91. positive(has,"Camera - vid 2Mpix"),!.
  92. price_is("do 1000grn") :-it_is("SonyEricsson"),
  93. positive(has,"Memory - do 1Gb"),
  94. positive(has,"Camera - 1.3Mpix"),!.
  95. price_is("1000-1500grn") :-it_is("SonyEricsson"),
  96. positive(has,"Memory - 1-2Gb"),
  97. positive(has,"Camera - 1.3-2Mpix"),!.
  98. price_is("1500-2500") :-it_is("SonyEricsson"),
  99. positive(has,"Memory - 4-8Gb"),
  100. positive(has,"Camera - 1.3-2Mpix"),!.
  101. price_is("vid 2500grn") :-it_is("SonyEricsson"),
  102. positive(has,"Memory - 4-8Gb"),
  103. positive(has,"Camera - vid 2Mpix"),!.
  104. it_is("Samsung") :-
  105. positive(is,"Samsung"),!.
  106. it_is("LG") :-
  107. positive(is,"LG"),!.
  108. it_is("Nokia") :-
  109. positive(is,"Nokia"),!.
  110. it_is("SonyEricsson") :-
  111. positive(is,"SonyEricsson"),!.

Решение задачи: «Как переделать эту экспертную систему под swi-prolog?»

textual
Листинг программы
  1. 15 ?- run.
  2. Животное имеет характеристику:  has hair? y.
  3.  
  4. Животное имеет характеристику:  does give_milk? y.
  5.  
  6. Животное имеет характеристику:  has hair? y.
  7.  
  8. Животное имеет характеристику:  does give_milk? y.
  9. Животное имеет характеристику:  has hair? y.
  10.  
  11. Животное имеет характеристику:  does give_milk? y.
  12.  
  13. Животное имеет характеристику:  has hair? y.
  14.  
  15. Животное имеет характеристику:  does give_milk? y.
  16.  
  17. Животное имеет характеристику:  has hair? y.
  18.  
  19. Животное имеет характеристику:  does give_milk? y.
  20.  
  21. Животное имеет характеристику:  has hair? y.
  22.  
  23. Животное имеет характеристику:  does give_milk? y.
  24.  
  25. Животное имеет характеристику:  has feathers? y.
  26.  
  27. Животное имеет характеристику:  does fly? y.
  28.  
  29. Животное имеет характеристику:  has feathers?

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

11   голосов , оценка 4.455 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут