Тест на знание АСМа при регистрации на форуме.

Тема в разделе "WASM.SITE", создана пользователем Killer, 26 ноя 2009.

Статус темы:
Закрыта.
  1. l_inc

    l_inc New Member

    Публикаций:
    0
    Регистрация:
    29 сен 2005
    Сообщения:
    2.566
    J0E
    Честно говоря, например, я не понимаю, что Вы в данном случае подразумеваете под упрощением выражения. А уж тем более не понимаю т.н. подсказку о мультиплексоре. Что это такое, и так видно, но несмотря на это в рамках булевой алгебры выражение не упрощаемо, что в свою очередь тоже очевидно. А если уж на то пошло, что выражение в синтаксисе си записано, то согласно этому синтаксису указанные операции являются побитовыми, а нифига не булевыми.
     
  2. Black_mirror

    Black_mirror Active Member

    Публикаций:
    0
    Регистрация:
    14 окт 2002
    Сообщения:
    1.035
    J0E
    У меня пока только такое получилось: (c->a)->(a&b)
     
  3. l_inc

    l_inc New Member

    Публикаций:
    0
    Регистрация:
    29 сен 2005
    Сообщения:
    2.566
    Black_mirror
    Если быть уж совсем точным, то операция наследования не принадлежит булевой алгебре (aka полная дистрибутивная комплементарная решётка). Там есть только операции "и", "или" и инверсии (aka "не").
     
  4. spa

    spa Active Member

    Публикаций:
    0
    Регистрация:
    9 мар 2005
    Сообщения:
    2.240
    Black_mirror
    а можно юзать "стрелку" хм новые интересные подробности

    количество или разных? просто стрелка Пирса она самодостаточна.
    Если количество то явно надо попробовать 3 и 2 операции, небольшой переборчик.
     
  5. t00x

    t00x New Member

    Публикаций:
    0
    Регистрация:
    15 фев 2007
    Сообщения:
    1.921
    l_inc
    x->y = ~x | y

    но можно, например, взять B= {"^", XOR, 1}, или ещё какой попредпочтительнее...
     
  6. J0E

    J0E New Member

    Публикаций:
    0
    Регистрация:
    28 июл 2008
    Сообщения:
    621
    Адрес:
    Panama
    Вижу 3х человек, кто способен решить задачу (l_inc - достаточно принять что операнды однобитовые и решетка из учебника это основа для движения дальше)
    и еще несколько, кто любит трепать языком. ;)

    решений может быть несколько, мой вариант: (b ^ c) & a ^c


    Надеюсь, доступно объяснил, что тесты для регистрации не нужны? :)
     
  7. spa

    spa Active Member

    Публикаций:
    0
    Регистрация:
    9 мар 2005
    Сообщения:
    2.240
    J0E
    Можно логику без перебора.
     
  8. l_inc

    l_inc New Member

    Публикаций:
    0
    Регистрация:
    29 сен 2005
    Сообщения:
    2.566
    t00x
    Мне известно, как раскывается наследование. :) Но оно не является операцией булевой алгебры. Т.к. J0E пишет, что выражение упрощение выражения a & b | ~a & c цитирую: "Проверяет фундаментальные знания, а именно булевой алгебры", то брать мы уже ничего не можем. У нас уже есть три операции, и никакие новые вводить нельзя. Т.е. все новые операции — это всего лишь сокращённая запись выражений, построенных на других операциях.
    J0E
    Ну вообще задание неверно тогда поставлено. Помимо прочих замечаний... Вы считаете, что если я вместо
    [​IMG] напишу [​IMG], то это я типа упростил выражение?
    Аналогично замена a & ~b | ~a & b на a ^ b - это ИМХО просто сокращённая запись выражения, но никакое не упрощение. А Ваше решение ИМХО с точки зрения булевой алгебры — это ещё и нехилое усложнение.
     
  9. J0E

    J0E New Member

    Публикаций:
    0
    Регистрация:
    28 июл 2008
    Сообщения:
    621
    Адрес:
    Panama
    Начнём выяснять пробелы в задании? ) Если б надо было проверить именно булеву алгебру, вопрос бы был другой, и я б его не задавал ) Это практический вопрос, иначе почему еще выбран вполне конкретный синтаксис, отличающийся от принятого в математике.

    Дано: выражение a & b | ~a & c и требование его упростить. Из последнего следует, что такое упрощение (допустим) возможно. Как можно уменьшить количество операций? Очевидно, заменив операции другими. Какие другие операции языка С могут дать инверсию входных данных? Исключающее ИЛИ. Выбор вполне осмысленный.
     
  10. spa

    spa Active Member

    Публикаций:
    0
    Регистрация:
    9 мар 2005
    Сообщения:
    2.240
    l_inc
    ответе мне лучше на вот какой вопрос, ведь эти задачи решаются только перебором? ( я про "сокращение" булевых выражений )
    Есть там конечно всякие свойства, но там ведь все равно не надо думать, надо перебирать. А весь мыслительный процесс сводить к сокращению перебора? я правильно понимаю? просто я немного изучал эту тему (как я уже говорил никто руками уже не чего не делает) и все делается либо эвристическими алгосами, либо где возможно перебором (сокращенным). Или может я просто что не догоняю? но в этой задаче я не вижу не чего "умного".
     
  11. spa

    spa Active Member

    Публикаций:
    0
    Регистрация:
    9 мар 2005
    Сообщения:
    2.240
    J0E
    эти лишь позволяет понять "если охота убрать ~ надо юзать ^" но не как не помогает решить задачу. Тут "очевидно", что "избавиться" легче лишь от ~ а дальше следует перебор. В уме или на листочке, не важно.
     
  12. spa

    spa Active Member

    Публикаций:
    0
    Регистрация:
    9 мар 2005
    Сообщения:
    2.240
    Хотя я чето тупанул, задачу решают на сокращение элементов, а не на "упрощение" выражений
     
  13. l_inc

    l_inc New Member

    Публикаций:
    0
    Регистрация:
    29 сен 2005
    Сообщения:
    2.566
    J0E
    Ну тогда с таким же успехом можно было написать MUX(a,b,c), где первые n входов - управляющие, а остальные 2^n - сигнальные, и радоваться, что выражение свелось к одной единственной тернарной операции.
    SPA
    Если речь идёт о сокращении чисто "булевых выражений", то есть те же пресловутые карты Карно. Есть метод Квайна-МакКласки, есть метод Тисона, которые вполне себе автоматизируются.
     
  14. l_inc

    l_inc New Member

    Публикаций:
    0
    Регистрация:
    29 сен 2005
    Сообщения:
    2.566
    J0E
    Прошу прощения. Упустил этот момент. По-моему сишный синтаксис был выбран исключительно из лёгкости его набора, а никак не потому, что его использование является частью задания.
     
  15. spa

    spa Active Member

    Публикаций:
    0
    Регистрация:
    9 мар 2005
    Сообщения:
    2.240
    собственно что я и предложил :derisive:

    l_inc
    мне почему-то кажется что все эти методы не точные? или я ошибаюсь?

    PS хотя честно говоря не важно
     
  16. J0E

    J0E New Member

    Публикаций:
    0
    Регистрация:
    28 июл 2008
    Сообщения:
    621
    Адрес:
    Panama
    Представляешь, какую ты сейчас пытаешься затронуть тему? NP-полные задачи, поиск оптимальных решений, поиск оптимальных путей поиска оптимальных решений ) Потерявши голову, по волосам не плачут, есть 2 типа людей: кто способен, и кто делает вид. Я думаю, что думать :) следует всегда, даже перед перебором, этим и отличается метод Тыка от матода проб и ошибок ;) Особенно упорно нужно подумать, перед тем как начать обсуждение "плохой форум, половина воды". Нужно подумать, а что же ты сделал? Может быть твои действия привели к этой воде? Запреты? Призывы "пишите умные посты". "А кто дал мне право решать за других?". "А действительно ли я не пересек границ собственной некомпетентности?"

    А утверждал, что не понял про мультиплексор ) Так же и с синтаксисом, из легкости набора ты бы записал ответ на исходном С, выбрав другую, более оптимальную, схему реализации мультиплексора.
     
  17. J0E

    J0E New Member

    Публикаций:
    0
    Регистрация:
    28 июл 2008
    Сообщения:
    621
    Адрес:
    Panama
    Что то мои ответы раз два яй яццо )))
    Ты совершенно прав. ) В решении задачи сокращено количество элементов-операций.
     
  18. l_inc

    l_inc New Member

    Публикаций:
    0
    Регистрация:
    29 сен 2005
    Сообщения:
    2.566
    SPA
    Точные-точные. Это ж не численные методы. Да и как там неточно получится? Типа упрощённая функция даёт не всегда такую же таблицу истинности, как и исходная? :) Единственное что карты Карно совсем нелегко на большом числе переменных применять (ну до шести переменных ещё можно осилить)... да думаю, что и имплементировать никто не брался.
    J0E
    Так я ж говорил в контексте булевой алгебры. :)
    Ну какбэ набрать MUX(a,b,c) вполне себе просто, но что-то не припоминаю я такого сишного оператора. К тому же лично для меня из условия задачи совсем не следовало, что это считается упрощением. И вообще все мои возмущения возникли с того момента, как Вы написали, что проверяется знание "именно булевой алгебры". :) А значит ничего подобного использовать нельзя.
     
  19. spa

    spa Active Member

    Публикаций:
    0
    Регистрация:
    9 мар 2005
    Сообщения:
    2.240
    J0E
    еще раз ГДЕ В ЭТОЙ ЗАДАЧЕ ДУМАТЬ? немного уменьшить перебор (на самом деле эвристический выбрав начальную точку перебора и нечего более) я еще могу принять за "подумать". А вот использование чужих заученных трудов уж извините. И еще одно, мне зачем булева алгебра (в данный момент)? я с ней последний раз сталкивался 4 года назад ,и решали мы там куда более сложные задачи и использовали при этом "таблички" (карты Карно как выяснилось) и при все при этом нам постоянно говорили что уже 1000 лет никто руками нечего не делает, все уже на эвристики и полученных методах и что задания просто для общего развития. А вы делаете из этого задание что-то прям интеллектуальное, и еще раз вам напоминаю что я у вас денег не занимал и не в коем случае ради вас бы не стал лезть и вспоминать (даже основы) булевой алгебры. А еще раз ПОВТОРЮ для совсем не умеющих читать Я ПРОТИВ ТЕСТА, еще раз для совсем тупых Я ПРОТИВ ТЕСТА. достаточно? Вы молодец, вы знаете что такое мультиплексор ( на самом деле я тоже "знал") но все таки, понимаете что задача если она претендует адекватно оценивать "интеллект" то не должна зависеть от опыта и знания. Вы меня простите, но еще раз спрошу: на какой мне сокращать выражения, или хотя бы булева алгебра в повседневном программировании.
     
  20. spa

    spa Active Member

    Публикаций:
    0
    Регистрация:
    9 мар 2005
    Сообщения:
    2.240
    l_inc
    я имел в виду что не всегда находи "наилучший" результат.

    улыбнуло
     
Статус темы:
Закрыта.