Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.08.13;
Скачать: CL | DM;

Вниз

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

 
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;
Скачать: CL | DM;

Наверх




Память: 0.6 MB
Время: 0.061 c
15-1152715997
TUser
2006-07-12 18:53
2006.08.13
Кондиционеры


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


2-1153920603
Crazy monkey
2006-07-26 17:30
2006.08.13
Вопрос по Access


3-1149592041
ceval
2006-06-06 15:07
2006.08.13
Подскажите как сделать вывод базы данных в виде дерева


2-1153692356
Soubi
2006-07-24 02:05
2006.08.13
добавление компонента