Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Помогите plz решить задачку по прологу 
:(
    Опции темы
Dissid
Дата 17.2.2010, 19:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 7
Регистрация: 22.12.2007

Репутация: нет
Всего: нет



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

Пример: На склад поступило 1000 подшипников.Из них 200 изготовлены на 1-ом заводе,460 - на 2-ом и 340 - на 3-ем.Вероятность того что подшипник окажеться нестандартным,для 1-го завода равна 0,03,для 2-го -0,02,для 3-го - 0,01.Взятый наудачу подшибник оказался нестандартным.Какова вероятность того,что он изготовлен 1-ым заводом?
Решение:
Код
Код
ph(H,P):- H=1, P=0.2; H=2, P=0.46; H=3, P=0.34.
Pah (H,P) :- H=1, P=0.03; H=2, P=0.02; H=3, P=0.01.
pha (H,P) :- ph(H,PP), pah(H,PPP),   ph(H1,P1), ph(H2,P2), ph(H3,P3), pah (H1,P11),pah(H2,P22), pah(H3,P33), P is (PP * PPP) /  (P1 * P11 + P2 * P22 + P3 * P33).
?-pha (3,P),write (P)
----Это Пример

А вот сама задача:

У Оксаны есть веснушки,а у Вячеслава нет.Какова вероятность,что у их ребёнка тоже будут веснушки,если с вероятностью 75% у Оксаны гетерозиготная пара признаков? 

PM MAIL   Вверх
Dissid
Дата 22.2.2010, 19:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 7
Регистрация: 22.12.2007

Репутация: нет
Всего: нет



неужели никто не знает!Помогите за деньги!
PM MAIL   Вверх
Грымзик
Дата 22.2.2010, 21:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 50
Регистрация: 7.10.2009

Репутация: 6
Всего: 6



Код

p_woman(Woman,P):- Woman=xy, P=0.75; Woman=xx, P=0.25.
p_gen(Woman,Gen,P):-
    Woman=xx,Gen=y,P=0;
    Woman=xx,Gen=x,P=1;
    Woman=xy,Gen=x,P=0.5;
    Woman=xy,Gen=y,P=0.5.
p(P):-
    p_woman(xx,PW1),p_woman(xy,PW2),
    p_gen(xx,x,PXXX),
    p_gen(xy,x,PXYX),
    p_gen(xx,y,PXXY),
    p_gen(xy,y,PXYY),
    P is (PW1*PXXX+PW2*PXYX)/(PW1*PXXX+PW1*PXXY+PW2*PXYX+PW2*PXYY).

?-p(P), write(P).

PM MAIL   Вверх
Dissid
Дата 23.2.2010, 16:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 7
Регистрация: 22.12.2007

Репутация: нет
Всего: нет



Cпасибо большое,но он ошибку выдаёт!

Error! 10: No sense at line 14, after clause 2.
Look in the help for this error.
1 error, 0 warnings.
 
Как её исправить?
PM MAIL   Вверх
Грымзик
Дата 23.2.2010, 17:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 50
Регистрация: 7.10.2009

Репутация: 6
Всего: 6



А Вы какой пролог используете? У меня на SWI все работает.

Это сообщение отредактировал(а) Грымзик - 23.2.2010, 17:06
PM MAIL   Вверх
Dissid
Дата 23.2.2010, 19:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 7
Регистрация: 22.12.2007

Репутация: нет
Всего: нет



Strawberry Prolog!
PM MAIL   Вверх
Грымзик
Дата 23.2.2010, 20:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 50
Регистрация: 7.10.2009

Репутация: 6
Всего: 6



Ой, поражаюсь просто, почему нельзя было сразу это указать? И это первая Ваша программа чтоли?
Думаю что нет. Тогда пора бы уже знать, что в клубничном прологе запрос в самом начале кода пишется.
Код
?-p(P), write(P).

p_woman(Woman,P):- Woman=xy, P=0.75; Woman=xx, P=0.25.
p_gen(Woman,Gen,P):-
    Woman=xx,Gen=y,P=0;
    Woman=xx,Gen=x,P=1;
    Woman=xy,Gen=x,P=0.5;
    Woman=xy,Gen=y,P=0.5.
p(P):-
    p_woman(xx,PW1),p_woman(xy,PW2),
    p_gen(xx,x,PXXX),
    p_gen(xy,x,PXYX),
    p_gen(xx,y,PXXY),
    p_gen(xy,y,PXYY),
    P is (PW1*PXXX+PW2*PXYX)/(PW1*PXXX+PW1*PXXY+PW2*PXYX+PW2*PXYY).

PM MAIL   Вверх
Dissid
Дата 24.2.2010, 12:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 7
Регистрация: 22.12.2007

Репутация: нет
Всего: нет



Да это действительно прога не первая,просто я в этом ничего не понимаю!Но всё равно выдаёт ошибку! Он выделяет текст 
Код

p(P):-
    p_woman(xx,PW1),p_woman(xy,PW2),
    p_gen(xx,x,PXXX),
    p_gen(xy,x,PXYX),
    p_gen(xx,y,PXXY),
    p_gen(xy,y,PXYY),
       P is (PW1*PXXX+PW2*PXYX)/(PW1*PXXX+PW1*PXXY+PW2*PXYX+PW2*PXYY).



и пишет ошибку: 
 Error! 10: No sense at line 15, after clause 3.
Look in the help for this error.
1 error, 0 warnings.

PM MAIL   Вверх
Грымзик
Дата 24.2.2010, 18:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 50
Регистрация: 7.10.2009

Репутация: 6
Всего: 6



Тут ничем помочь не могу, у меня в клубничном все нормально работает.
PM MAIL   Вверх
Dissid
Дата 24.3.2010, 14:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 7
Регистрация: 22.12.2007

Репутация: нет
Всего: нет



Мне сделали подругому вот код
Код

pr(H,P):- H=1, P=0.25*0.5; H=2, P=0.75*0.5.
pre(H,P):- H=1, P=0.5; H=2, P=1.
rez(H,P):- pr(H,PP), pre(H,PPP), pr(1,Pa), pre(1,Paa), pr(2,Pb), pre(2,Pbb), 
P is (PP * PPP) / (Pa * Paa + Pb * Pbb).
?-rez(2,P),write(P),nl.


И сделали замечания:
1) pr(H,P):- H=1, P=0.25*0.5; H=2, P=0.75*0.5. - почему умножаете на 0.5???

2) неправильно определено процентное соотношение в строке:
pre(H,P):- H=1, P=0.5; H=2, P=1.
Для первой гипотезы д.б. 100%, для второй - 50%, у вас наоборот.


Никто  не знает как исправить?
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума Prolog
Void
  • Пожалуйста, создавайте темы с содержательными названиями.
  • Уважаемые учащиеся, здесь всегда рады помочь Вам, но не делать за Вас вашу работу. У вас гораздо больше шансов получить помощь, если Вы приложите усилия и поделитесь с нами проблемами и результатами. В противном случае добро пожаловать в раздел Центр Помощи.
  • Получив ответ на интересующий Вас вопрос, не забудьте пометить его как решённый.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Void.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Prolog | Следующая тема »


 




[ Время генерации скрипта: 0.1221 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.