Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Потрепаться";
Текущий архив: 2004.01.05;
Скачать: [xml.tar.bz2];

Вниз

Задачка   Найти похожие ветки 

 
k-man   (2003-12-13 18:54) [0]

Определить кто из подозреваемых участвовал в преступлении если известно:
1) Если Иванов не участвовал или Петров участвовал, то Сидоров участвовал
2) Если Иванов не участвовал, то Сидоров не участвовал

Интересен ход Ваших мыслей при решении. А то мое решение аргументировано слишком вязкой логикой.


 
Ihor Osov'yak   (2003-12-13 18:59) [1]

Условие сформулировано некорректно и не полностью.


 
Anatoly Podgoretsky   (2003-12-13 19:02) [2]

Условие 1 противоречит условию 2


 
Anatoly Podgoretsky   (2003-12-13 19:03) [3]

Условие 2 более короткое правило, Если Иванов не участвовал, то Сидоров не участвовал, то какое нам дело до сидорова


 
Anatoly Podgoretsky   (2003-12-13 19:04) [4]

Такое может быть, если условия проверятся по порядку, то при получении положительного результата дальнейшии условия не рассматриваются, например так работают файрволы. Расмотрение же обеих условий приводит к противоречию.


 
Ihor Osov'yak   (2003-12-13 19:10) [5]

> например так работают файрволы

Хм. У меня в свое время стоял персонал тини фаервол версии2, так он рассматривал до первого условия, котороя подходит по правилам отбора.. Независимо от того, пущать или не пущать результат был..
Сейчас стоит триал Керио Персонал фаервол, но я его повадок до конца еще не изучил.. Все надеюсь, что отыщу что-то приличное фришное.. Правда, триальности осталось только 14 дней, и платить 40 уе жаба давит..


 
nikkie   (2003-12-13 19:15) [6]

все корректно. если Иванов не участвовал, то из условия 1 следует, что Сидоров участвовал, а из условия 2 следует, что Сидоров не участвовал. значит Иванов участвовал. про остальных можно сказать только, что если Петров участвовал, то Сидоров участвовал. действительно условие не полное.


 
Ihor Osov'yak   (2003-12-13 19:25) [7]

2 [6] nikkie © (13.12.03 19:15)

Условия противоречивые. Условие 1 и условие 2 не могут быть истинными одновременно. А задача подразумевает, что они истинны одновременно.
Также в условии не сказано, что число подозреваемых равно 3 :-).
И относительно рассуждений в [6] в части условия 2.
Согласно него, если исвестно, что Сидоров учавствовал, то мы никаких выводов делать об Иванове делать не можем.


 
OlegGashev   (2003-12-13 19:31) [8]

> Ihor Osov"yak

Не всегда в задаче есть все условия, например в такой:


Математик R сказал математикам P и S: «Я задумал два натуральных числа. Каждое из них больше единицы, а сумма их меньше ста. Математику P я сейчас сообщу – по секрету от S – произведение этих чисел, а математику S я сообщу – по секрету от P – их сумму». Он выполнил обещанное и предложил отгадать задуманные числа. Между P и S произошёл следующий диалог (высказывания P мы обозначаем буквой


 
Ihor Osov'yak   (2003-12-13 19:44) [9]

> Не всегда в задаче есть все условия

Никто претензий по поводу отсутствия "всех" условий не видвигал.
Были высказывания о том, что во первых, условие противоречивые (такие задачи могут быть, но нужно указывать о том, что часть из изходных предпосылок неккоректна)

Второе. Условие не полное, так как не сказано, что все герои - подозреваямые. Вот, Иванов, - он все время в условии "не учавствовал". Есть ли он подозреваемым? Я не могу сделать об этом вывода.. Блин, логика у меня программерская, а не математика..


 
nikkie   (2003-12-13 19:52) [10]

то ли я совсем разучился свои мысли, то ли у форумчан наблюдается эпидемия склероза на тему логики.

вспоминаем первый курс
A B A->B
Л Л И
Л И И
И Л Л
И И И

если утверждается, что оба утверждения A->B и A->~B истинны, то отсюда следует, что A ложно. никакого противоречия в этих условиях нет.


 
OlegGashev   (2003-12-13 19:58) [11]

1) !A or B=C
2) !A=!C

2)=>1)

!C or B=C =>
C=1, B=1
=>A=1

A=B=C=1 => все участвовали.

PS: Не уверен, что правильно... :-)


 
Ihor Osov'yak   (2003-12-13 20:01) [12]

2 [10] nikkie © (13.12.03 19:52)
Что то не понима мнемоники, образование у меня не математическое...

A->B Это значит, что из факта А следует факт B?
A->~B а это - что из факта а следует отрицание факта B?

Да, тогда можно утверждать, что утверждение, что факт А имео место есть ложным, то есть факта А не было.
Такой подход можно использовать при рассмотрении гитотез и отбрасывания ложных.
Но в таком стиле формулировать условие задачи, без указания того, что это гитотезы - некореектно..

Зы - а что такое эта табличка 3 на 4 - сорри, не понял.. Наверно, не по тем букварикам учился, или не так учился..


 
nikkie   (2003-12-13 20:08) [13]

>OlegGashev [11]
после некоторых усилий я этот текст, конечно, расшифровал...
ключ - строку "2)=>1)" следует понимать как "подставим 2) в 1)", а вовсе не как "из 2) следует 1)", как учат в школе...

ошибка в использовании знака равенства для записи условия "если ..., то ...".


 
k-man   (2003-12-13 20:15) [14]

Сегодня была олимпиада по информатике - это была первая задача.
Я честно говоря долго думал(минут 20) на листке написал что учавствовал Иванов. Вот мои измышления(только я принял за данность что из подозреваемых участвовал только один человек): Из 1 и 2 делаем вывод что Если Сидоров участвовал то Петров тоже участвовал. Из условия это невозможно, оэтому участвовал Иванов.


 
Ihor Osov'yak   (2003-12-13 20:15) [15]

2 [11] OlegGashev © (13.12.03 19:58)

Ну не равенства это.
Более правильно написать

var A,B,C_variant1, C_variant2: boolean;

в цыкле генерируем все возможные варианты начальных значений, их всего 16..
И делаем проверки

if (not A) or B
then
if C_variant1 <> true
then
begin
continue; // неверно
end;
if not A
then
if C_variant2 <> false
then begin
continue; // неверно
end;

if C_variant1 <> C_variant2 begin
continue; // неверно
end;

// дошли сюда - значит есть решение

сейчас програмку нарисуем..


 
nikkie   (2003-12-13 20:20) [16]

>A->B Это значит, что из факта А следует факт B?
>A->~B а это - что из факта а следует отрицание факта B?

да. точнее
1. если A истинно, то B истинно
2. если A истинно, то не-B истинно
слово "факт" добавляет тумана. лучше говорить "утверждение".

значок ~ вообще-то не тот, просто меня заломало искать правильный в Character Map-е. правильный значок для отрицания такой: ¬

>Зы - а что такое эта табличка 3 на 4 - сорри, не понял.. Наверно, не по тем букварикам учился, или не так учился..
это определание того, что такое A->B. неужели никогда не встречались таблички, определяющие логические and и or?

A B A and B
Л Л Л
Л И Л
И Л Л
И И И

A B A or B
Л Л Л
Л И И
И Л И
И И И


 
k-man   (2003-12-13 20:23) [17]

Ребят, ну так кто участвовал то..


 
k-man   (2003-12-13 20:25) [18]

А пятая задача была построить чертеж в пайнте
Казалось бы - программирование здесь не при чем. Так оно и есть..


 
nikkie   (2003-12-13 20:26) [19]

>k-man
условия про единственность преступника не было? значит решение неверное.
если не окажется, что у составителей проблемы с логикой...


 
k-man   (2003-12-13 20:28) [20]


> условия про единственность преступника не было? значит решение
> неверное.
> если не окажется, что у составителей проблемы с логикой...

То есть данные неполны?


 
nikkie   (2003-12-13 20:28) [21]

>Ребят, ну так кто участвовал то..
см. [6]

>А пятая задача была построить чертеж в пайнте
ну тады все возможно. что за олимпиада-то и кто задачи придумывал?


 
k-man   (2003-12-13 20:32) [22]


> ну тады все возможно. что за олимпиада-то и кто задачи придумывал?

Олимпиада по-моему городская.
Кто прислал
Черт ее знает.. говорят сверху
Был еще курьез во втором задании надо было перевести числа в с\с с основанием семь. Под числами которые наджо было перевести стоял индекс p
Кто-то спросил - "Что это значит" они сами не поняли пшшли уточнять через час пришли и сказали что наверху тоже не знают и с\с берите на Ваше усмотрение


 
Ihor Osov'yak   (2003-12-13 20:34) [23]

Результат:

1 criminal : Ivanov
13 criminal : Ivanov Sidorov
15 criminal : Ivanov Petrov Sidorov

program logTask;

{$APPTYPE CONSOLE}

uses
SysUtils;

var
cond: integer; {
d0 - Иванов,
d1 - Петров
d2 - Сидоров вар1
d3 - Сидоров вар2 }

function GetIvanov: boolean;
begin
result := (cond and 1) > 0;
end;

function GetPetrov: boolean;
begin
result := (cond and 2) > 0;
end;

function GetSid1: boolean;
begin
result := (cond and 4) > 0;
end;

function GetSid2: boolean;
begin
result := (cond and 8) > 0;
end;

var
isSolution: boolean;

begin

isSolution := false;

for cond := 0 to 15 do
begin
if GetSid1 <> GetSid2 then
continue;
if (not GetIvanov) or GetPetrov then
if not GetSid1 then
continue;

if not GetIvanov then
if GetSid2 then
continue;
isSolution := true;
Write(cond, " criminal : " );
if GetIvanov then Write( " Ivanov ");
if GetPetrov then Write( " Petrov ");
if GetSid1 then write( " Sidorov ");
Writeln;
end;
if not isSolution then writeln("Aга, а нету..");
ReadLn;
end.


 
Ihor Osov'yak   (2003-12-13 20:37) [24]

Получается, что есть три варианта, не противоречащих исходным условиям - если я чего то не напутал.. То есть, условие все же неполное.. Но Иванов - при всех роскладах - рыжый..

То есть [6] nikkie © (13.12.03 19:15) все же прав со своей формальной логикой.. Вот что значит образование, блин.. Когда люди по школам ходили, я в сваей дерефушке на колхозном поле свеклу тянул :-(..


 
nikkie   (2003-12-13 20:39) [25]

>Ihor Osov"yak
вот-вот. ответ правильный :))

>Под числами которые наджо было перевести стоял индекс p
так обозначают числа, записанные в системе счисления по основанию p.


 
Ihor Osov'yak   (2003-12-13 20:43) [26]

2 [25] nikkie © (13.12.03 20:39)

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


 
nikkie   (2003-12-13 20:44) [27]

>Ihor Osov"yak [24]
не переживай. зато я в железках не шарю и схемы паять не умею :(

>k-man
при таких задачах результат олимпиады будет зависеть от расположения звезд, независимо от того, правильно ты их решил или нет. так что не расстраивайся, если не окажешься победителем.


 
k-man   (2003-12-13 20:56) [28]


> при таких задачах результат олимпиады будет зависеть от
> расположения звезд, независимо от того, правильно ты их
> решил или нет. так что не расстраивайся, если не окажешься
> победителем.

спасибо за поддержку, но я в любом случае не расстраиваюсь, т.к. там народ объективнее умнее меня был, меня такое положение дел только подстегивает чаще книжку открывать и делфи грузить.


 
k-man   (2003-12-13 20:57) [29]


> не переживай. зато я в железках не шарю и схемы паять не
> умею :(

а почему такой смайлик.. Ведь каждому свое


 
SergP   (2003-12-13 21:31) [30]


> Попробуйте теперь и вы отгадать задуманные числа.


4 и 13


> 1) Если Иванов не участвовал или Петров участвовал, то Сидоров
> участвовал
> 2) Если Иванов не участвовал, то Сидоров не участвовал


ИМХО:
Значит Иванов неучаствовать не может. Иначе 1 противоречит 2
Получается 3 варианта ответов:
1) Участвовал Иванов;
2) Участвовали Иванов и Сидоров;
3) Участвовали все.

В данном случае "или" в первом условии я понимаю как OR,
Если понимать как XOR, то вариантов становится 4 ,добавляется:
4) Участвовал Петров;


> OlegGashev © (13.12.03 19:58) [11]
> 1) !A or B=C
> 2) !A=!C
>
> 2)=>1)
>
> !C or B=C =>
> C=1, B=1
> =>A=1
>
> A=B=C=1 => все участвовали.
>
> PS: Не уверен, что правильно... :-)


Если воспринимать условие так как оно есть, то это:
!A or B=C
из условия не следует,
Так как это правильно будет только в случае если (!A or B)=true
если же (!A or B)=false то это не значит что и С=false

аналогично и со вторым "равенством"...


 
OlegGashev   (2003-12-13 21:47) [31]

>> Попробуйте теперь и вы отгадать задуманные числа.

> 4 и 13

Правильно.
Решение просто потрясающее. Гипотеза Гольдбаха-Эйлера.

------------------------------------------------------
http://linkrepository.com - Free Bookmark Manager


 
mfender   (2003-12-13 21:55) [32]

Как Старый Больной Прокурор, могу сказать, что виноваты все трое однозначно! Без хода мыслей.


 
SergP   (2003-12-13 22:47) [33]


> OlegGashev © (13.12.03 21:47) [31]
> >> Попробуйте теперь и вы отгадать задуманные числа.
>
> > 4 и 13
>
> Правильно.
> Решение просто потрясающее. Гипотеза Гольдбаха-Эйлера.


Ну незнаю я никаких гипотез. Просто когда-то решал эту задачу. На решение ушло часа 2 наверное....


 
Ihor Osov'yak   (2003-12-13 22:49) [34]

2 [31] OlegGashev © (13.12.03 21:47)

подробное разьяснение -

http://www.mmonline.ru/problem.php3?solution=150

На досуге нужно будет поразмыслить.. Сейчас соображаловка уже не работает..
Указатели еще соображает, а вот с арифсетикой и логикой уже плоховато..


 
SergP   (2003-12-14 16:24) [35]


> Гипотеза Гольдбаха-Эйлера.


А вообще я не понимаю зачем при решении задачи использовать эту гипотезу. Во первых - гипотеза это не теорема, т.е. у нее нет доказательства, и поэтому нельзя быть увереным в ее 100% правильности.
Во-вторых: хотя она и верна для того диапазона чисел, которые используются в задаче, в задаче нам нужно не отбросить четные числа, а отбросить все числа которые могут быть представлены суммой двух простых чисел. И хотя четные числа входят в это множество, туда также входят и некоторые нечетные числа...



Страницы: 1 вся ветка

Форум: "Потрепаться";
Текущий архив: 2004.01.05;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.54 MB
Время: 0.011 c
3-11812
Nikolai_S
2003-12-08 15:55
2004.01.05
ADO - возможно ли создание в TADOQuery виртуальных полей?


9-11758
irenf
2003-06-10 16:58
2004.01.05
Смотри на курсор


3-11820
McSimm2
2003-12-08 14:35
2004.01.05
Непонятно сумма считается ....


6-12010
kevinkf
2003-11-05 16:01
2004.01.05
Снифер - учет трафика


14-12094
stud
2003-12-11 10:49
2004.01.05
станки с чпу





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский