Имеется в виду чтобы в рабочих состояниях схема вела себя как исходная. Да, всегда. Один способ сделать критические состояния тупиковыми мы обсуждали, другой - задать им переход в соседнее рабочее состояние или определить цепочку таких переходов. Одним транзистором тут, конечно, уже не обойтись
Кольцо из трех элементов, даже если это классические С элементы с одним инвертором на одном из двух входов перестает быть пайплайном. Вообще говоря пайплайн это не устройство, а принцип его функционирования. Кроме того есть и другие способы доопределения схемы в состояниях 000 и 111, которые делают распределитель последовательным относительно и этих состояний.
Кольцо из трех инверторов не является последовательной схемой (и даже полумодулярной) относительно состояний 000 и 111. Можно их, конечно, игнорировать, но я уже много раз говорил, что подсчитываю схемы последовательные, дистрибутивные и полумодулярные относительно всех 2**n состояний.
Ну и последнее - с учетом входов установки схема перестает быть такой уж компактной. Тем более, что я-то изучаю схемы без внешних входов.
Не надо требовать от математической модели всеядности. Она (модель) на это не претендует. А если принять эти не раз оговоренные ограничения модели, то и спорить не о чем.
Что такое ненадежное функционирование объясняется в статье, ссылку на которую я привел в предыдущем ответе. Что такое монструозность (в простоте - избыточность) транзисторной реализации И-НЕ поясняется на примере статьи "Распознавание цифровых схем...", которая вам наверняка известна. Никакого моего метода синтеза схем в моей статье нет - я только считаю количество схем. Пайплан здесь вообще не при чем. Более того - как бы вы не доопределяли схемы генераторов (ведь о них идет речь?) в состояниях 000 и 111 - они все равно остаются схемами, подсчитаны предложенными алгоритмами и отнесены к классу, соответствующему их поведению на всем множестве (2**n) состояний.
Да вы правы, за повышение качества схемы приходится платить ее сложностью. С другой стороны использование чистого базиса, например И-НЕ обеспечивает "критические" состояния, которые, как показано в статье"Последовательные схемы ч.4", делают ненадежным ее функционирование. Да и сами элементы И-НЕ, если посмотреть их транзисторную реализацию выглядят достаточно монструозно и их использование это просто дань традиции.
Это ограничение имеет место только для задачи подсчета количества тех или иных схем, т.к. при этом надо хотя бы сосчитать до (2**n)**(2**n). А так-то предложенное кодирование схем позволяет проанализировать любую схему при более широком наборе n. То, что при этом рассматриваются все 2**n состояний схемы не сильно усложняет задачу. Но спасибо, своими комментариями вы подсказали мне нему будущей статьи.
Все так, но я не анализирую схемы а считаю их и тут при любой скорости анализа можно сосчитать только до n=3. А признаки отбраковывающие нужные схемы я определил из удобства кодирования схем и их компактности. При этом для полумодулярных и дистрибутивных схем я и рассматриваю только параллельные переключения.
Все именно так, я лишь подчеркиваю, что совместная проверка на дистрибутивность и полумодулярность (детонантность и конфликтность состояния в ваших терминах) имеет более компактное условие, чем отдельные проверки этих факторов.
Я в этом цикле статей неоднократно говорил, что рассматриваю схемы, заданные на всем множестве 2**n состояний, что никак не влияет на локальное определение последовательности, дистрибутивности и полумодулярности.
Предлагаемый алгоритм выявляет состояния, в которых происходит нарушение и дистрибутивности, и полумодулярности схемы, причем используется совокупный признак этих нарушений, который оказывается компактнее из раздельных признаков. Строго говоря, обнаруживается не само состояние-нарушитель, а его предшественник, а отсекается, по вашему меткому выражение не такое состояние, а схема, его содержащая.
mocoment, я вложил интересующий вас код в этот комментарий:
f=True
for i in range (0,8):
if Q[i]==3:
j = i^1
if (Q[j]!=2):
f=False
break
j = i^2
if (Q[j]!=1):
f=False
break
if Q[i]==5:
j = i^1
if (Q[j]!=4):
f=False
break
j = i^4
if (Q[j]!=1):
f=False
break
if Q[i]==6:
j = i^2
if (Q[j]!=4):
f=False
break
j= i^4
if (Q[j]!=2):
f=False
break
if Q[i]==7:
j= i^1
if (Q[j]!=6):
f=False
break
j=i^2
if (Q[j]!=5):
f=False
break
j=i^4
if (Q[j]!=3):
f=False
break
j=i^3
if (Q[j]!=4):
f=False
break
j=i^5
if (Q[j]!=2):
f=False
break
j=i^6
if (Q[j]!=1):
f=False
break
f=True
for i in range (0,8):
if Q[i]==3:
j = i^1
if (Q[j]!=2):
f=False
break
j = i^2
if (Q[j]!=1):
f=False
break
if Q[i]==5:
j = i^1
if (Q[j]!=4):
f=False
break
j = i^4
if (Q[j]!=1):
f=False
break
if Q[i]==6:
j = i^2
if (Q[j]!=4):
f=False
break
j= i^4
if (Q[j]!=2):
f=False
break
if Q[i]==7:
j= i^1
if (Q[j]!=6):
f=False
break
j=i^2
if (Q[j]!=5):
f=False
break
j=i^4
if (Q[j]!=3):
f=False
break
j=i^3
if (Q[j]!=4):
f=False
break
j=i^5
if (Q[j]!=2):
f=False
break
j=i^6
if (Q[j]!=1):
f=False
break
На схемы, не зависящие от скорости, в свое время возлагались большие надежды, как на конкурента традиционных синхронных схем. Я не знаю, как обстоит дело сейчас, но мне кажется надежды не оправдались. Я рассматриваю свои упражнения с этой тематикой, как математические упражнения на хорошо известном материале, ну как игры с простыми числами, например.
В статье рассматриваются только алгоритмы подсчета схем разных подклассов без учета структурных особенностей самих схем. Поднятым вами проблемам уделено некоторое внимание в цикле статей "Последовательные схемы", опубликованном в песочнице.
Это справедливое замечание, но я ограничился подсчетом схем (различных систем уравнений) не исследуя их структуру. Такая попытка исследования была предпринята в серии статей "Последовательные схемы" опубликованных в Песочнице Хабра. Меня больше интересовали статистические характеристики схем, а именно размеры множеств изоморфных к которым они принадлежат. То, что среди перечисляемых схем много "мусора" очевидно, но, как пошутил один математик, - это на Земле это мусор, а может на Альфе Центавра Ab лучшие умы пытаются создать что-то подобное, но не смогут пока не прочитают обсуждаемый материал.
Теория сложности применяется к оценке разных алгоритмов и то, что комментатор знает о ее оценке метода Квайна-МакКласки, свидетельствует о его высокой образованности. Но так совпало, что и алгоритм пересчета схем о котором толкуют мои статьи обладает высокой сложностью. Такова природа вещей и не надо обвинять в этом автора.
Естественно из тупикового (сиречь устойчивого) состояния схема сама не выйдет. Можно ли устойчивые состояния переопределять произвольно с целью минимизации схемы,- вопрос ее(схемы) применения и в данной статье не рассматривается, но как бы эти состояния не определить, полученная схема все равно будет описана системой логических уравнений, а значит и посчитана, если число n элементов не слишком велико.
Имеется в виду чтобы в рабочих состояниях схема вела себя как исходная. Да, всегда. Один способ сделать критические состояния тупиковыми мы обсуждали, другой - задать им переход в соседнее рабочее состояние или определить цепочку таких переходов. Одним транзистором тут, конечно, уже не обойтись
Кольцо из трех элементов, даже если это классические С элементы с одним инвертором на одном из двух входов перестает быть пайплайном. Вообще говоря пайплайн это не устройство, а принцип его функционирования. Кроме того есть и другие способы доопределения схемы в состояниях 000 и 111, которые делают распределитель последовательным относительно и этих состояний.
Кольцо из трех инверторов не является последовательной схемой (и даже полумодулярной) относительно состояний 000 и 111. Можно их, конечно, игнорировать, но я уже много раз говорил, что подсчитываю схемы последовательные, дистрибутивные и полумодулярные относительно всех 2**n состояний.
Ну и последнее - с учетом входов установки схема перестает быть такой уж компактной. Тем более, что я-то изучаю схемы без внешних входов.
Не надо требовать от математической модели всеядности. Она (модель) на это не претендует. А если принять эти не раз оговоренные ограничения модели, то и спорить не о чем.
Что такое ненадежное функционирование объясняется в статье, ссылку на которую я привел в предыдущем ответе. Что такое монструозность (в простоте - избыточность) транзисторной реализации И-НЕ поясняется на примере статьи "Распознавание цифровых схем...", которая вам наверняка известна. Никакого моего метода синтеза схем в моей статье нет - я только считаю количество схем. Пайплан здесь вообще не при чем. Более того - как бы вы не доопределяли схемы генераторов (ведь о них идет речь?) в состояниях 000 и 111 - они все равно остаются схемами, подсчитаны предложенными алгоритмами и отнесены к классу, соответствующему их поведению на всем множестве (2**n) состояний.
Да вы правы, за повышение качества схемы приходится платить ее сложностью. С другой стороны использование чистого базиса, например И-НЕ обеспечивает "критические" состояния, которые, как показано в статье "Последовательные схемы ч.4", делают ненадежным ее функционирование. Да и сами элементы И-НЕ, если посмотреть их транзисторную реализацию выглядят достаточно монструозно и их использование это просто дань традиции.
Интересно было бы узнать, но кто вам мешает?
Наберитесь терпения, мой друг, и все узнаете своевременно или даже раньше.
Это ограничение имеет место только для задачи подсчета количества тех или иных схем, т.к. при этом надо хотя бы сосчитать до (2**n)**(2**n). А так-то предложенное кодирование схем позволяет проанализировать любую схему при более широком наборе n. То, что при этом рассматриваются все 2**n состояний схемы не сильно усложняет задачу. Но спасибо, своими комментариями вы подсказали мне нему будущей статьи.
Все так, но я не анализирую схемы а считаю их и тут при любой скорости анализа можно сосчитать только до n=3. А признаки отбраковывающие нужные схемы я определил из удобства кодирования схем и их компактности. При этом для полумодулярных и дистрибутивных схем я и рассматриваю только параллельные переключения.
Все именно так, я лишь подчеркиваю, что совместная проверка на дистрибутивность и полумодулярность (детонантность и конфликтность состояния в ваших терминах) имеет более компактное условие, чем отдельные проверки этих факторов.
Я в этом цикле статей неоднократно говорил, что рассматриваю схемы, заданные на всем множестве 2**n состояний, что никак не влияет на локальное определение последовательности, дистрибутивности и полумодулярности.
Предлагаемый алгоритм выявляет состояния, в которых происходит нарушение и дистрибутивности, и полумодулярности схемы, причем используется совокупный признак этих нарушений, который оказывается компактнее из раздельных признаков. Строго говоря, обнаруживается не само состояние-нарушитель, а его предшественник, а отсекается, по вашему меткому выражение не такое состояние, а схема, его содержащая.
Спасибо!
Если вы объяснителем называете автора, то он уже нигде не работает - он пенсионер со стажем.
mocoment, я вложил интересующий вас код в этот комментарий:
f=True for i in range (0,8): if Q[i]==3: j = i^1 if (Q[j]!=2): f=False break j = i^2 if (Q[j]!=1): f=False break if Q[i]==5: j = i^1 if (Q[j]!=4): f=False break j = i^4 if (Q[j]!=1): f=False break if Q[i]==6: j = i^2 if (Q[j]!=4): f=False break j= i^4 if (Q[j]!=2): f=False break if Q[i]==7: j= i^1 if (Q[j]!=6): f=False break j=i^2 if (Q[j]!=5): f=False break j=i^4 if (Q[j]!=3): f=False break j=i^3 if (Q[j]!=4): f=False break j=i^5 if (Q[j]!=2): f=False break j=i^6 if (Q[j]!=1): f=False breakmocoment я вложил код в ответ на ваш комментарий.
f=True for i in range (0,8): if Q[i]==3: j = i^1 if (Q[j]!=2): f=False break j = i^2 if (Q[j]!=1): f=False break if Q[i]==5: j = i^1 if (Q[j]!=4): f=False break j = i^4 if (Q[j]!=1): f=False break if Q[i]==6: j = i^2 if (Q[j]!=4): f=False break j= i^4 if (Q[j]!=2): f=False break if Q[i]==7: j= i^1 if (Q[j]!=6): f=False break j=i^2 if (Q[j]!=5): f=False break j=i^4 if (Q[j]!=3): f=False break j=i^3 if (Q[j]!=4): f=False break j=i^5 if (Q[j]!=2): f=False break j=i^6 if (Q[j]!=1): f=False breakНа схемы, не зависящие от скорости, в свое время возлагались большие надежды, как на конкурента традиционных синхронных схем. Я не знаю, как обстоит дело сейчас, но мне кажется надежды не оправдались. Я рассматриваю свои упражнения с этой тематикой, как математические упражнения на хорошо известном материале, ну как игры с простыми числами, например.
В статье рассматриваются только алгоритмы подсчета схем разных подклассов без учета структурных особенностей самих схем. Поднятым вами проблемам уделено некоторое внимание в цикле статей "Последовательные схемы", опубликованном в песочнице.
Это справедливое замечание, но я ограничился подсчетом схем (различных систем уравнений) не исследуя их структуру. Такая попытка исследования была предпринята в серии статей "Последовательные схемы" опубликованных в Песочнице Хабра. Меня больше интересовали статистические характеристики схем, а именно размеры множеств изоморфных к которым они принадлежат. То, что среди перечисляемых схем много "мусора" очевидно, но, как пошутил один математик, - это на Земле это мусор, а может на Альфе Центавра Ab лучшие умы пытаются создать что-то подобное, но не смогут пока не прочитают обсуждаемый материал.
Теория сложности применяется к оценке разных алгоритмов и то, что комментатор знает о ее оценке метода Квайна-МакКласки, свидетельствует о его высокой образованности. Но так совпало, что и алгоритм пересчета схем о котором толкуют мои статьи обладает высокой сложностью. Такова природа вещей и не надо обвинять в этом автора.
Естественно из тупикового (сиречь устойчивого) состояния схема сама не выйдет. Можно ли устойчивые состояния переопределять произвольно с целью минимизации схемы,- вопрос ее(схемы) применения и в данной статье не рассматривается, но как бы эти состояния не определить, полученная схема все равно будет описана системой логических уравнений, а значит и посчитана, если число n элементов не слишком велико.