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

Вниз

Помогите с информатикой   Найти похожие ветки 

 
DillerXX ©   (2006-07-19 13:11) [0]

Упрощается ли: a*b*c + (не a)(не c) ?


 
StriderMan ©   (2006-07-19 13:13) [1]


> (не a)(не c)

а между скобками что? умножить?


 
DillerXX ©   (2006-07-19 13:13) [2]

Да


 
default ©   (2006-07-19 13:16) [3]

это что за чудо-юдо?
распиши знаки


 
DillerXX ©   (2006-07-19 13:23) [4]

Какие знаки? Это же булевая функция. Я же не могу горизонтальную черту нарисовать над буквой... нарисую тогда снизу
a*b*c + ac
* логическое умножение И
+ логическое сложение ИЛИ
а и с не объеденены, тоесть отрицается каждая из перевенных по очереди, а потом они умножаются.
Блин, неужели все эту лабуду забыли а? :( Остался же наверное хоть кно-нибудь


 
DesWind ©   (2006-07-19 13:25) [5]

Ну развечто можно а и с сложить потом проинвертировать


 
DesWind ©   (2006-07-19 13:26) [6]

т.е не(а+с)


 
DrPass ©   (2006-07-19 13:27) [7]

1. Выносишь за скобки "а" и "с". Получаешь ac(*b* + (не )(не ))
Что можно записать как ac(b*^2 + (не )^2)
2. Потом выносишь ^2 за скобки. Получаешь ac^2(b* + (не ))
3. Долго и внимательно проверяешь, не допустил ли где ошибки в вычислениях


 
DillerXX ©   (2006-07-19 13:27) [8]

Можно. Но я спрашиваю, функцию упростить как-то ещё можно?


 
Virgo_Style ©   (2006-07-19 13:27) [9]

(a AND b AND c) OR (NOT a AND NOT c) ? Насколько помню, нет


 
DillerXX ©   (2006-07-19 13:28) [10]


> DrPass

Очень смешно.


> (a AND b AND c) OR (NOT a AND NOT c) ? Насколько помню,
> нет

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


 
DesWind ©   (2006-07-19 13:29) [11]

Ну вот и упрощение на одну операцию


 
StriderMan ©   (2006-07-19 13:37) [12]

Вспомнил звездный пример с 1 курса :
sinX = a
X = a/sin


 
Труп Васи Доброго ©   (2006-07-19 13:44) [13]

Тут правило Моргана надо юзать:
¬(х1•х2) = ¬х1+¬х2;     ¬(х1+х2) = (¬х1•¬х2).


 
DillerXX ©   (2006-07-19 13:45) [14]

Не, можно ещё

(a + b)/(b + c) = a / c
OR
(a + b)/b = a


 
Труп Васи Доброго ©   (2006-07-19 13:45) [15]

Ещё одно правило пригодится: Дистрибутивность дизъюнкции относительно конъюнкции:
х1+(х2•х3) = (х1+х2)•(х1+х3).


 
DillerXX ©   (2006-07-19 13:47) [16]


> ¬(х1•х2) = ¬х1+¬х2;     ¬(х1+х2) = (¬х1•¬х2).

Хотел эту закорючку нарисовать, потом подумал что не все знают, и в таблице символов искахть её было лень :)
Правило то хорошое, только не понятно как тут упростить даже с ним?


 
Труп Васи Доброго ©   (2006-07-19 14:08) [17]

DillerXX ©   (19.07.06 13:47) [16]
Правило то хорошое, только не понятно как тут упростить даже с ним?

Примерно так, если я не ошибся, а я могу, потому как злой и пьяный. (настойка перца стручкового из аптеки за 11р. рулит)
a*b*c + Na*Nc
(Na*Nc+a)+ (Na*Nc+b)+( Na*Nc+c)
((Na+a)+(Nc+a))+((Na+b)+(Nc+b))+((Na+c)+(Nc+c))
(1+(Nc+a))+ ((Na+b)+(Nc+b))+( (Na+c)+1)
1+Nc+a+ Na+b+Nc+b+Na+c+1
1+1+1+b+Nc+b+Na+1
1+b+Nc+Na=1


 
default ©   (2006-07-19 14:12) [18]

таблица истинности
abc f
000 1
001 0
010 1
011 0
100 0
101 0
110 0
111 0

видим, что истина возможна только в двух случаях, причём в обоих этих случаях нули по сторонам(и только в этих случаях!) значит пишем:
not (a or c)


 
DillerXX ©   (2006-07-19 14:13) [19]

Жесть, из этого следует что при любой подстановке переменных фнукця возвратит 1. Ну подставляем а=0 b=1 c=1 и что видим? Дырку от бублика..


 
Игорь Шевченко ©   (2006-07-19 14:15) [20]


> Можно. Но я спрашиваю, функцию упростить как-то ещё можно?


Переводи в ДНФ и минимизируй стандартными методами


 
Труп Васи Доброго ©   (2006-07-19 14:16) [21]

DillerXX ©   (19.07.06 14:13) [19]
Дырку от бублика..

Я не понял, ты спрашиваешь или нас проверяешь? Если нашёл ошибку, ты так и напиши: "Вася - ты не прав, тут будет так..."


 
default ©   (2006-07-19 14:20) [22]

ещё раз: a*b*c + (не a)(не c) = не (a + c)
итого получили две операции взамен шести исходных


 
Курдль ©   (2006-07-19 14:29) [23]


> DillerXX ©   (19.07.06 13:11)  
> Упрощается ли: a*b*c + (не a)(не c) ?


Диаграмма вейча показала, что не упрощается.


 
DillerXX ©   (2006-07-19 14:30) [24]


> default

Извините, но
111 0
А это как?


> Я не понял, ты спрашиваешь или нас проверяешь? Если нашёл
> ошибку, ты так и напиши: "Вася - ты не прав, тут будет так.
> .."

Вась, ты не прав... Я так понял ты преобразовал всю функцию до 1, но ведь это не верно. Или я не правильно понял


 
DillerXX ©   (2006-07-19 14:33) [25]


> Диаграмма вейча показала, что не упрощается

Можно поподробнее об этом?
Керк ещё про карту карно обмолвился, я тоже первый раз услышал... Правда он видимо сам забыл что это такое за ненадобностью, так что может кто из присутствующих скажет?


 
Jeer ©   (2006-07-19 14:38) [26]

"Нужно ли образование молодежи" - вопрос риторический.


 
StriderMan ©   (2006-07-19 14:44) [27]


> Керк ещё про карту карно обмолвился...

можно еще карты ТАРО попробовать...


 
Курдль ©   (2006-07-19 14:46) [28]

Вообще-то диаграмма Вейча составляется для упрощения логических выражений по их таблице истинности. Не буду утверждать, что в твоем случае это самый простой подход. Но он позволяет однозначно определить, "упрощается ли?".
Итак. Для решения надо составить таблицу истинности выражения.
Просто составляешь все комбинации а, в и с, а в отдельном столбце - результат.
Для трехмерного (как в твоем случае) выражения создается таблица


   a    !a

!b 0    1  !c

b  0    1  !c

b  1    0  c

!b 0    0  c


Рядом стоящие единицы можно объединять по 2, 4, 8 и т.д.
В твоем случае - по 2. Это значит, что для двух единиц в верхнем правом углу сокращается по "b". Получается (!а * !с). А для оставшейся единицы, извините, - весь набор (а * в * с). Мы получили исходное выражение - значит лучше не упростишь.


 
DillerXX ©   (2006-07-19 14:49) [29]

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


 
KygECHuK ©   (2006-07-19 14:50) [30]

ТАРО вообще реальная вещь - очень п омогает в сздании логических цепочек :)


 
SergP ©   (2006-07-19 14:51) [31]

Можно упростить с шести операций до пяти..

a*b*c + (not a)*(not c) = (not (a xor c))*((not a) + b)


 
DillerXX ©   (2006-07-19 14:56) [32]

Ну, когда решаешь на бумаге ксор наоборот раскладывать надо...
Кстати A XOR B = (A AND NOT B) OR (NOT A AND B) Верно?


 
SergP ©   (2006-07-19 14:57) [33]


> [31] SergP ©   (19.07.06 14:51)


Фигню написал...


 
default ©   (2006-07-19 15:03) [34]

DillerXX ©   (19.07.06 14:30) [24]
я уже понял:)
SergP ©   (19.07.06 14:51) [31]
я похожую штуку писал, но как ни крути - 6 операций


 
SergP ©   (2006-07-19 15:04) [35]

> [32] DillerXX ©   (19.07.06 14:56)
> Ну, когда решаешь на бумаге ксор наоборот раскладывать надо...
>
> Кстати A XOR B = (A AND NOT B) OR (NOT A AND B) Верно?


Кстати а так можно?

(a=c)*((not a) + b)

или такой операции как = при решении на бумаге не существует и тоже нужно раскладывать?


 
Игорь Шевченко ©   (2006-07-19 15:06) [36]

DillerXX ©   (19.07.06 14:49) [29]


> А что там с двумя остальными картами?


А еще есть метод МакКласки (McCluskey).

А еще есть такое замечательное средство, как Яндекс, который знает все, и с удовольствием тебе ответит.


 
SergP ©   (2006-07-19 15:08) [37]

> я похожую штуку писал, но как ни крути - 6 операций


Ну не 6, а 5, и про это уже в самом начале топика кто-то сказал...

a*b*c + (не a)(не c) = a*b*c + (не (a + c))


 
evvcom ©   (2006-07-19 15:32) [38]

> [18] default ©   (19.07.06 14:12)

111 0 - не верно! Верно =1.

> [25] DillerXX ©   (19.07.06 14:33)
> Керк ещё про карту карно обмолвился

Я тоже сразу карту Карно построил. В результате получил исходную функцию.

> может кто из присутствующих скажет?

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


 
default ©   (2006-07-19 15:43) [39]

not ( (a xor c) or ( (not b) and c) )
5 операций
SergP ©   (19.07.06 15:08) [37]
где пять операций? там вроде везде шесть


 
default ©   (2006-07-19 15:47) [40]

evvcom ©   (19.07.06 15:32) [38]
я видел
ошибся, и получилось всё так просто и прекрасно:)

Курдль ©   (19.07.06 14:46) [28]
говорите не урощается? так ведь на 1 операцию мы упростили


 
default ©   (2006-07-19 15:48) [41]

SergP ©   (19.07.06 15:08) [37]
нашёл:)


 
Marser ©   (2006-07-19 16:00) [42]

> [27] StriderMan ©   (19.07.06 14:44)
>
> > Керк ещё про карту карно обмолвился...
>
> можно еще карты ТАРО попробовать...

Иногда лучше жевать...
Почитал бы хоть умную книжку, прежде чем...


 
Marser ©   (2006-07-19 16:05) [43]

> [23] Курдль ©   (19.07.06 14:29)
>
> > DillerXX ©   (19.07.06 13:11)  
> > Упрощается ли: a*b*c + (не a)(не c) ?
>
>
> Диаграмма вейча показала, что не упрощается.

+1.
Она же показала, что это выражение уже упрощено.


 
default ©   (2006-07-19 16:26) [44]

Marser ©   (19.07.06 16:05) [43]
тогда проверь not ( (a xor c) or ( (not b) and c) ) и пойми, что это есть упрощение исходного выражения на 1 операцию
в крайнем случае, если xor юзать нельзя, смотри DesWind
a*b*c + (не (a + c)), тоже упрощение на 1 операцию


 
Marser ©   (2006-07-19 16:32) [45]

> [44] default ©   (19.07.06 16:26)
> Marser ©   (19.07.06 16:05) [43]
> тогда проверь not ( (a xor c) or ( (not b) and c) ) и пойми,
> что это есть упрощение исходного выражения на 1 операцию
> в крайнем случае, если xor юзать нельзя, смотри DesWind
>
> a*b*c + (не (a + c)), тоже упрощение на 1 операцию

Это уже тождественные упрощения, я попробовал только с диаграммой.


 
default ©   (2006-07-19 16:35) [46]

Marser ©   (19.07.06 16:32) [45]
что значит тождественные упрощения? разве не требовалось сократить число операций для вычисления функции?


 
default ©   (2006-07-19 16:45) [47]

DillerXX ©   (19.07.06 14:56) [32]
xor можно так разложить:
a xor b = (a or b) and ( (not a) or (not b) )


 
Marser ©   (2006-07-19 17:09) [48]

> [46] default ©   (19.07.06 16:35)
> Marser ©   (19.07.06 16:32) [45]
> что значит тождественные упрощения? разве не требовалось
> сократить число операций для вычисления функции?

Что такое ДНФ, знаешь?


 
default ©   (2006-07-19 18:33) [49]

Marser ©   (19.07.06 17:09) [48]
форма представления булевой ф-ции
ты мне ответь на простой вопрос: разве автор сабжа под упрощением понимал не это "сократить число операций для вычисления функции" ?


 
Marser ©   (2006-07-19 18:45) [50]

Доскональная (мы учили "досконала", может, вы иначе называете) нормальная функция, бывает конъюнктичвная и дизъюнктивная. Я дал понять, что видно по диаграммам и что преобразований по тождествам я даже не пытался выполнять. What"s wrong?


 
Virgo_Style ©   (2006-07-19 18:47) [51]

default ©   (19.07.06 18:33) [49]
разве автор сабжа под упрощением понимал не это "сократить число операций для вычисления функции"


тогда уж трехмерный массив, один раз заполняем - всю жизнь наслаждаемся %-)


 
default ©   (2006-07-19 19:31) [52]

Marser ©   (19.07.06 18:45) [50]
оставим этот разговор
видно в понятиях разошлись
Virgo_Style ©   (19.07.06 18:47) [51]
сразу виден программистский подход:)



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

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

Наверх





Память: 0.58 MB
Время: 0.05 c
2-1153713090
Vovan33
2006-07-24 07:51
2006.08.13
Internet Explorer


15-1153261002
Каг дила?
2006-07-19 02:16
2006.08.13
Погомгите с длл


1-1151647415
salexn
2006-06-30 10:03
2006.08.13
TImage vs TPaintBox


2-1153818888
Crazy monkey
2006-07-25 13:14
2006.08.13
Картинку из TreeView в image


15-1153375938
Лысов
2006-07-20 10:12
2006.08.13
Вызов методов из dll





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский