ТРИЗ, Haskell и функциональное мышление

    При слове ТРИЗ, часто вспоминают тезис "идеальная система — та, которой нет (а ее функция при этом выполняется)". Как хороший админ, который не появляется в офисе, а все при этом исправно работает.


    Функция и система — критически важные понятия в ТРИЗ, говорят даже о функциональном стиле мышления. Правда при этих словах лично у меня сразу возникает ассоциация с функциональными языками программирования.


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



    Функция


    Функция — модель изменения свойства объекта функции ("изделия") носителем функции ("инструментом").


    Инструмент — то, с помощью чего мы совершаем некую работу, т.е. что-то меняем. Как правило именно его требуется усовершенствовать или создать. Соответственно именно носитель функции обычно подразумевается под словом "система" во всех ТРИЗовских рассуждениях про оную.


    Изделие — то, что мы изменяем (обрабатываем) при помощи инструмента.



    Главная функция — потребительское свойство, ради удовлетворения которого создается техническая система.


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


    Например: молоток перемещает гвоздь; метла перемещает мусор; кружка удерживает кофе; пылесос перемещает пыль; топливо перемещает ракету.


    Рассмотрим, в частности, чашку с кофе.
    Чашка удерживает кофе.
    Носитель функции (инструмент) — чашка, объект функции — кофе, функция — удерживать.



    -- Задаем типы входных данных и результата выполнения
    -- Предположим, типы данных Чашки и Кофе уже где-то заданы
    hold :: Cup -> Coffee -> Coffee   
    
    -- вызываем функцию hold - "удержать" с параметрами в виде конкретных чашки и кофе
    cup `hold` coffee                  

    Функция hold должна быть полиморфна, поскольку чашка может удерживать не только кофе и кофе можно налить не только в чашку:


    -- На входе пара сущностей типа а и b, на выходе измененная сущность типа b
    hold :: a -> b -> b
    
    -- что будет, если налить кофе в термос
    thermos `hold` coffee
    
    -- что будет, если пролить кофе на рубашку
    shirt `hold` coffee 

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


    Обратная функция


    В реальном мире всегда есть и обратная функция — действие изделия на инструмент (третий закон Ньютона никто не отменял).



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



    Как правило обратная функция нам вредит (износ инструмента, доп.затраты), однако в иных ситуациях мы можем извлечь из нее пользу. Например, погреть руки о теплую чашку, будучи в прохладном помещении.


    hold:: a -> b -> b
    warm :: a -> b -> b
    
    cup `hold` coffee
    coffee `warm` cup

    Цепочки функций


    В случае, когда число элементов системы больше двух (т.е., фактически, всегда) их рассматривают попарно, получая цепочки функций.


    Например, на рисунке ниже рука несет (перемещает) поднос с чашкой, поднос удерживает чашку, чашка удерживает кофе.



    ((arm `move` wrist) `hold` cup) `hold` coffee

    Избавимся от скобок, задав левую ассоциативность


    infixl 9 hold
    
    arm `move` wrist `hold` cup `hold` coffee

    Запись на Haskell очень близка к записи на естественном языке.


    И цепочка в обратную сторону: кофе нагревает чашку, чашка нагревает блюдце, блюдце нагружает руку.


    infixl 9 warm, weight
    
    coffee `warm` cup `warm` wrist `weight` arm

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


    Система, которой нет ...


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


    Удерживать кофе может джезва, чайник, термос, блюдце и стол и рубашка (если кофе неосторожно пролили).


    Мы даже были бы не против, если кофе САМ себя удерживал. Как это происходит, например, с водой в невесомости на космической станции.



    Однако на зацикленных формулировках вроде "кофе удерживает кофе" в ТРИЗ останавливаться не принято, поскольку она бесполезна с практической точки зрения — не дает информации об элементах, за счет которых достигается результат.


    С точки зрения программирования такая рекурсивная формулировка плоха тем, что здесь нет условия окончания рекурсии.


    Нужно уйти в глубину и указать какие именно части (подсистемы) обеспечивают выполнение функции.


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


    Можно представить весь объем кофе как матрешку слоев, каждый из которых удерживает друг друга. При этом основную работу делает внешний слой.



    -- Пусть первый слой - поверхностный, пятый - самый глубокий
    let coffee = [layer1, layer2, layer3, layer4, layer5]
    
    head coffee `hold` tail coffee

    Впрочем, если нам важно влияние слоев друг на друга (например, в плане поглощения света),
    можно изобрести велосипед и описать последовательные взаимодействия явно.


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



    -- Функция "удерживать", которая выводит свою полную формулировку
    hold :: String -> String -> String
    hold tool "" = tool
    hold tool workpiece = tool ++ " -> holds -> " ++ workpiece
    
    -- Функция "удерживать себя". 
    -- Принимает на вход нарезанный слоями объект и 
    -- последовательно вызывает обычную функцию "удержать" 
    -- для каждого слоя и оствшегося объема
    selfHold :: [String] -> String
    selfHold [] = ""
    selfHold (x:xs) = x `hold` selfHold xs
    
    -- запускаем самоудержание трехслойного объекта
    selfHold ["Layer1","Layer2","Layer3"]

    в итоге получим


    Layer1 -> holds -> Layer2 -> holds -> Layer3

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


    Тоже самое можно записать и короче, через свертку списка:


    foldl1 hold ["Layer1","Layer2","Layer3"]

    Заключение


    Видение технической системы как ткани из функций, связывающих ее во едино и определяющих суть и предназначение, чрезвычайно роднит ТРИЗ с функциональными языками программирования, в которых функция — основная управляющая конструкция.


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

    Поделиться публикацией
    Ой, у вас баннер убежал!

    Ну. И что?
    Реклама
    Комментарии 27
      0
      При попытке углубиться в ТРИЗ столкнулся с проблемой, что не могу найти хорошую книгу на данную тему. Можете что-то посоветовать?
        0
        Вот тут полно ссылок — перепечатывать сюда не буду дабы не перегружать комментарии.
          0
          начните с Альтшуллера, с книг, вышедших в 60х годах
          надо брать все, изложение у них разное, будет лучше усваиваться )

          можно постепенно подниматься по временной линии до 80х

          только избегайте книги «Как стать гением» от Альтшуллера — она и не про ТРИЗ, и не про то, как стать гением
            0
            Предположу, что книга «Как стать гением» разочаровала Вас отсутствием конкретных технических рецептов и методик. На мой взгляд, специально избегать ее совершенно излишне. Текст, конечно, чисто художественный, но, в отличие от современных абстрактно-мотивирующих книг, способен побудить читателя заниматься серьезной научно-технической деятельностью. Любопытно, что многое у Альтшуллера перекликается с высказываниями Алана Кэя, в духе, например, «If you don't fail at least 90 percent of the time, you're not aiming high enough». Не знаю, знаком ли сам Кэй с ТРИЗ, но вот у Брета Виктора на книжной полке имеется And Suddenly the Inventor Appeared – Genrich Altshuller.

            Автор статьи поднял интересную тему. Любопытно проанализировать процесс построения известных языков программирования и попытаться найти здесь сходство с принципами ТРИЗ. Я просто упомяну еще раз А. Кэя, Ч. Хоара (см. тьюринговскую лекцию) и таких известных архитекторов-минималистов, как Н. Вирт и Ч. Мур. Надо сказать, в языке Форт, стараниями Мура и Броуди, зародилась сходная с ТРИЗ «теория решения программистских задач».
              0
              «Как стать гением» — это про теорию развития творческой личности (ТРТЛ), а это совсем не подмножество ТРИЗ, а скорее о психологии творчества.
              очень простыми словами: [внешние обстоятельства] нас **** [отвлекают от цели нетрадиционными способами], а мы крепчаем [достигаем поставленной цели].
              кстати, прокрастинация — тоже внешнее обстоятельство.
              +3
              Начинать с пионерских работ может и академически правильно, но довольно нудно. Посмотрите книгу «РТВ это очень просто», автор Амнуэль Песах. Аббревиатуры ТРИЗ там не много, но дух поймайте, плюс написана увлекательно. Потом можете пробежать небольшую (128 стр) книжку Пчелкиной Е.Л «ДАРИЗ детский алгоритм решения изобретательских задач». Просто, но зато очень доходчиво. А потом уже Альтшуллера, Шпаковского и пр.
              +1
              кто-то очень хотел притянуть триз хоть к чему-нибудь используемому?
                0
                Заметьте, я не пишу о том, что ТРИЗ используется в Haskell. Он прекрасно обходится без нее. И наоборот.

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

                ТРИЗ это, грубо говоря, набор мыслительных приемов, которыми чаще всего успешно решались инженерные задачи и некоторые обобщения поверх них. В основе — статистический анализ патентного фонда. И поэтому на самом деле не так уж удивительно, что во многих технических решениях можно обнаружить какой-то «прием из списка». Это не доказывает, что там применяется ТРИЗ, а значит лишь, что ее авторы провели неплохую аналитическую работу и выявили достаточно общую закономерность.

                А универсальных инструментов не бывает. Кому-то удобно взять формулу из справочника, кто-то лучше сам выведет на месте, а для каких-то случаев, не то что готовой формулы, но и базовой теории не разработано — выкручивайся как знаешь.
                +2
                При слове ТРИЗ, часто вспоминают


                Часто ли? Уверен, что аббревиатуру ТРИЗ знает ни такой уж большой процент населения. Я вот не знал. Поэтому стоило начать публикацию с её объяснения.
                  +1
                  > hold :: Cup -> Coffee -> Coffee

                  правильно hold :: Cup -> Coffee -> Bool, потому что hold — это отношение, а не функция.
                    0
                    Вообще, Вы правы. Более того, можно было организовать «синтаксическое удержание» сделав Cup контейнером типа Maybe, например. Я написал так, чтобы потом удобнее было переходить к цепочкам функций.
                      +1

                      А могли бы взять отношения и перейти к алгебре отношений

                    –1
                    При слове «ТРИЗ» я чаще вспоминаю слова «мерчендайзинг» и «говно».
                    Нет там теории. Там какой-то мерчендайзинг кала, и не более.
                      0
                      Судя по эмоциональности и категоричности высказывания, имел место какой-то негативный опыт. Возможно, Вы поверили чьим-то обещаниям (бессовестным), что ТРИЗ решит за Вас любую проблему; прочитали книжку в духе «Стать гением», а гениальность на следующее утро не пришла…

                      Инженер, работающий на заводе, наверняка, сможет использовать ТРИЗ как есть. Его задачи похожи на те, для которых она изначально разрабатывалась. Кроме того, что их просто много — что не допонял по книгам, почувствует на практике.
                      Если же Вы зарабатываете в другой сфере/в другой должности, то для использования ТРИЗ ее придется адаптировать под свою специфику проблем и опыт накопленный в данной области. Т.е. активно включать голову. И в этом случае стоит сперва (чтобы снизить вероятность горьких разочарований) ответить на вопрос — зачем? Стоит ли оно того или может лучше работать традиционными методами?

                      Нет там теории.

                      Тут с Вами не соглашусь.
                      Теория — это согласно, например, толковому словарю Ожегова
                      1. Учение, система научных принципов, идей, обобщающих практический опыт и отражающих закономерности природы, общества, мышления. (Философская т. Т. познания. Т. относительности).
                      2. Совокупность обобщённых положений, образующих науку или раздел какой-н. науки, а также совокупность правил в области какого-н. мастерства. (Лингвистическая т. Т. шахматной игры).
                      3. Сложившееся у кого-н. мнение, суждение, взгляд на что-н.см.
                      см. https://dic.academic.ru/dic.nsf/ogegova/240670

                      ТРИЗ обобщает практический опыт (как я писал в комментарии выше, она выстроена на статистическом анализе патентного фонда) и отражает определенные закономерности (многие из приемов, выявленных Альтшуллером и Ко можно найти и в современных патентах), хотя на науку все-таки не тянет, да.

                      Определение ТРИЗ как «совокупность правил в области какого-н. мастерства» подходит точно. Мастерство — изобретательство (решение изобретательских задач), правила: 40 типовых приемов разрешения техн.противоречий, АРИЗ — алгоритм решения изобретательских задач, т.н. вепольный анализ (суть тоже полуграфический алгоритм).

                      Также подходит и определение «Сложившееся у кого-н. мнение, суждение, взгляд на что-н.».

                      Т.о. Теория Решения Изобретательских Задач называется теорией вполне правомерно.
                        –2
                        Вся ваша ТРИЗ/АРИЗ сводится к одному: «не выходит прямо — сделай криво». Извините, но как инженер, разработчик электроники и программного обеспечения, я это и так знаю.
                        Вашу «вепольную» систему видал я в торсионных полях — одного поля ягоды.
                          0
                          Вся ваша ТРИЗ/АРИЗ сводится к одному: «не выходит прямо — сделай криво».

                          ТРИЗ еще предлагает ряд типичных способов, как именно делать, которые можно перебрать и с некоторой (обычно достаточно высокой, чтобы потратить время на такой перебор) вероятностью получить некое удовлетворительное решение. Фактически, ТРИЗ — это просто набор паттернов, только более высокого уровня, чем условные фабрики с синглтонами. При этом, конечно, нет никакой строгой теории, из которой эти паттерны выводятся, они происходят чисто из некоторых эвристических соображений вида "хорошо лучше, чем плохо".

                            0
                            ВотЪ, граждане, на что вас и выводил.
                            ТРИЗ/АРИЗ — это лишь набор типичных практик, «паттернов» и так далее. То есть попытка свести опыт решения задач творческого характера к теориям и алгоритмам. А это задача провальная изначально.
                            «Паттерны» в программировании — очень модная и популярная вещь, и для людей, желающих освоить программизм, даже чем-то полезная. Вот скажешь человеку, прошаренному в «паттернах», слово «синглтон» — и он уже знает, что это.
                            Ну, к примеру, я могу не знать названия «синглтон». Я скажу — «объект, который может быть только в единственном экземпляре». Чуть больше слов, но я хоть понимаю, о чём говорю. А «паттернист» будет думать о static-свойствах объекта и прочей требухе.
                            Мыслить только «паттернами» в настоящем творческом процессе нельзя. Это профанация.
                              0
                              А это задача провальная изначально.

                              Почему же провальная? Вполне себе непровальная, если вместо задачи "получить успешное решение в 100% случаев" решать задачу "получить успешное решение в х%" случаев, где х — некоторая априорная величина, следующая из анализа предметной области. В итоге из проблемы нерешаемой мы получили проблему решаемую, с конкретным практическим профитом. Кстати, такая замена — одна из ТРИЗовских схем :)


                              Мыслить только «паттернами» в настоящем творческом процессе нельзя. Это профанация.

                              Так инженерное дело (что железки собирать, что программирование) — это и не творческий процесс. Инженер — не художник. Ему не надо что-то там самовыражать, разливая краску на холсте или прибивая яйца к мостовой. Ему надо получить конкретный результат в рамках конкретных ограничений.


                              Ну, к примеру, я могу не знать названия «синглтон». Я скажу — «объект, который может быть только в единственном экземпляре».

                              Ну вот когда вы знаете, что существует «объект, который может быть только в единственном экземпляре», что их можно сделать и использовать определенным образом, для решения определенных задач и это имеет определенные плюсы и минусы — то это лучше, чем если вы не знаете и изобретаете велосипед. Вот и все.


                              Попытка формализовать умение думать

                              При чем тут попытка формализовать умение думать? Речь о попытке формализовать некоторые методы, которые по факту используются, но не осознанно. Например, ту же регуляризацию (замена некорректной задачи последовательностью корректных задач, сходящихся к исходной) используют все люди постоянно, но осознанно — только те, кто ботал матан или читал ТРИЗ. Аналогично с синглтонами — вы можете сами изобрести синглтон и постоянно переизобретать, но когда он у вас есть в голове как концепция, это дает плюс и к скорости поиска решения и к качеству его использования.


                              Такое пока ни один алгоритм и ни одна нейросеть не смогла.

                              Любая инженерная задача решается полным перебором, нейросети довольно-таки хороши в ускорении полного перебора (с-но, именно так нейросеть в вашем мозгу "творческим процессом" и занимается — просто ускоряет полный перебор за счет грамотного отсечения).

                                0
                                Инженерное дело — это творчество, уверяю вас. Даже когда известно, что надо уместить известные детали в известный корпус, тупым перебором вариантов далеко не всегда получится хорошее решение. А уж когда известен только требуемый функционал и рамочные ограничения — это вообще пир духа.

                                Если я один раз изобрёл синглтон, он у меня до конца сознательной жизни останется в голове как концепция. Конечно, неплохо знать некий базовый набор концепций, но в реальном мире набор концепций и вариантов решения значительно шире, чем может дать любой учебник. Потому «ТРИЗ» и всякие околотризовые сборники — это занимательное и полезное чтиво, я не спорю. Но это не панацея, не строгая теория и не готовый алгоритм. Поэтому меня «бомбит» от слов «Теория» и «Алгоритм» в названии обсуждаемых понятий.

                                И я насмотрелся на таких начитавшихся с горящими глазами «теперь я знаю кунг-фу», не способных сделать ровное отверстие в кирпиче без сверла. У них в голове нет концепции «шлямбур», а согласно «ТРИЗ» они предлагают заменить кирпич на пенопласт и сделать сверло из бумаги (ведь у нас уже есть дрель). Потому что они бросаются решать задачу «сверлить», а нормальный человек сначала подумает, а нужно ли эту задачу решать. И не нужно ли решить другую задачу так, чтобы первая задача потеряла смысл.

                                Полный перебор в достаточно сложной задаче невозможен, слишком много параметров. И даже не все параметры известны изначально. Возможно, надо собрать дополнительную информацию, определив какую именно. И что при этом происходит в сознании человека (да и многих высших животных), что толкает его в том или ином направлении обдумывания, до сих пор толком не известно.
                                Да что говорить, толком не известно, как работают нейросети и как научиться их конструировать сразу, а не создавать «болванку» и нудно «обучать»… Изощряются в сложности и гибкости «болванок», методах их «обучения». Это полезно, не спорю, некоторые вещи аналитическим способом не сделать. Но и ничего нового такая нейросеть не придумает. Она не может выйти за рамки и сказать: «а давайте не сверлить вообще». Её учили сверлить. В разных позах и разные отверстия. Её решения — лишь разнообразное повторение того, что в неё вложили при «обучении». Впрочем, это напоминает и некоторых индивидуумов…
                                  0
                                  Инженерное дело — это творчество, уверяю вас.

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


                                  Если я один раз изобрёл синглтон, он у меня до конца сознательной жизни останется в голове как концепция.

                                  Так в том и дело, что тот факт, что вы синглтон использовали, не значит, что вы его изобрели как концепцию.


                                  Потому что они бросаются решать задачу «сверлить», а нормальный человек сначала подумает, а нужно ли эту задачу решать. И не нужно ли решить другую задачу так, чтобы первая задача потеряла смысл.

                                  Как раз наоборот, скорее бросится сверлить тот, кто ТРИЗ не знает.


                                  И что при этом происходит в сознании человека (да и многих высших животных), что толкает его в том или ином направлении обдумывания, до сих пор толком не известно.

                                  Опыт и рандом толкает


                                  Она не может выйти за рамки и сказать: «а давайте не сверлить вообще». Её учили сверлить.

                                  Человек, представьте себе, тоже.

                                    0
                                    Два инженера, если им дать только рамочную задач (типа «разработать систему для передачи данных без проводов на расстояние до 10м»), тоже выдадут заметно различающиеся результаты. Поставьте художникам чёткое техническое задание (не принимая аргумент «я так вижу») — и их результаты будет сложно различить.

                                    Если я не знал о синглтоне и разработал концепцию с нуля — я его изобрёл для себя. Если хотите, «переизобрёл», или «изобрел велосипед» (на что и был намёк) — не значит, что я не творил и не изобретал. Просто так случилось, что мой результат очень похож на чужой результат.

                                    Я говорил — видел я таких, которые начитались «ТРИЗ», и бросаются сверлить. Научный факт.

                                    Опыт — вещь субъективная и описать её толком тоже никто не может. Рандом? Хоть я в этом и не уверен, но рандом предсказать тоже практически невозможно.

                                    Человек — может. В том-то и фигня. Человек, если он не умственно неполноценный, может «подняться над рутиной» и задать себе вопрос: а чегой-то все сюда ходят? А туда вон пойти нельзя?
                                    А ещё может, думая о дырке с кирпичом, посмотреть вокруг, а также оценить задачу и необходимость её решения именно в таком виде.
                                    Вот лежит перед ним кирпич. Он смотрит по сторонам — в углу валяется трубка. Трубка вызывает ассоциацию со шлямбуром — пошёл процесс.
                                    Или. А зачем нам сверлить кирпич? А, картину повесить. Кирпич-то — в стене. Но в стене есть ещё и раствор, может, легче в нём дырочку проковырять? А может, картину к стене проще приклеить? Или просто нарисовать её там к чертям собачьим?
                                    А нейросеть, наученная сверлить, вопросов задавать не будет. Дали на вход кирпич — будет сверлить до посинения. Не сверлится? Она на выходе выдаст не просверленный кирпич, а бестолковую ерунду. Которой некоторые будут восторгаться, конечно же.
                                      0
                                      > Два инженера, если им дать только рамочную задач (типа «разработать систему для передачи данных без проводов на расстояние до 10м»), тоже выдадут заметно различающиеся результаты.

                                      _могут_ выдать, а _могут_ и не выдать

                                      > Поставьте художникам чёткое техническое задание (не принимая аргумент «я так вижу») — и их результаты будет сложно различить.

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

                                      > Если я не знал о синглтоне и разработал концепцию с нуля — я его изобрёл для себя.

                                      Так кто говорит о разрабокте концепции синглтона? Между использованием синглтона и разработкой его концепции большая пропасть. Вот все программисты используют монады, но никто при этом концепцию монад не разрабатывает :)
                                      И чтобы понять, что вы используете монады, вам требуется узнать концепцию монад. Так и тут — вы будете использовать синглтон ничего не зная о том, что это какая-то там концепция. Со всеми вытекающими.

                                      > Человек — может.

                                      Пример приведете, когда такое бывает? :)

                                      > Вот лежит перед ним кирпич. Он смотрит по сторонам — в углу валяется трубка. Трубка вызывает ассоциацию со шлямбуром — пошёл процесс.

                                      Так он знает что такое шлямбур, то есть ни о какой новизне речи нет, человек напрямую использует уже имеющиеся знания и навыки :)
                                      А если б не знал, то с чем были бы ассоциации?

                                      > А нейросеть, наученная сверлить, вопросов задавать не будет. Дали на вход кирпич — будет сверлить до посинения.

                                      Так если вы человеку скажете сверлить кирпич и дадите палкой по голове для стимуляции — тоже будет сверлить до посинения. И до картины он не додумается, потому что ничего про нее не знает — вы же сказали четко: «сверли кирпич, скотина!» — и по голове палкой!
                                      Если же вы нейросети дадите задачу повесить картину, ну она как-то и будет ее решать, а не задачу сверления.
                              0
                              Или иначе.
                              «Не получается в лоб — сделай через задницу, но быстрее, чем то же дойдёт до лба».
                              «Нельзя сразу и одновременно — сделай сразу, но не одновременно».
                              «Нельзя сразу и одновременно — сделай не сразу, и условно одновременно».
                              И так далее. Вот и вся эта «теория», и «алгоритмы».

                              Попытка формализовать умение думать, перебирать разные варианты и расширять границы.
                              Это нельзя формализовать, в том-то и прикол. В этом смысл творчества, включая инженерно-техническое.

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

                              А именно создавать новое, необычное и полезное одновременно. Такое пока ни один алгоритм и ни одна нейросеть не смогла. И, я уверен, не сможет.
                            +1
                            Пытался вникнуть в ТРИЗ по Альтшуллеру, но не проникся, может, потому что читал многие мысли в других источниках. Не знаете случайно, какая доля из множества упомянутых авторских свидетельств и патентов была воплощена в металле и пошла в серию?
                              0
                              Цифра была бы интересная, но, к сожалению, не знаю.

                              Этап внедрения Альшуллер в своих работах (из тех, что я читал) особо не затрагивал.
                              Вообще новый продукт внедряется в производство и выводится на рынок в результате усилий целой команды, заметная часть которой может совсем не быть технарями (экономика производства, логистика, реклама, продвижение, продажа и пр.). Автор разработки — ключевое звено, но от него до потребителя идет длинная цепочка людей и процессов. Впрочем и начинается эта цепочка не с разработки продукта как такового. Современные тризовские авторы, получившие опыт в условиях капиталистической экономики, делают особенный акцент о том, что начинать надо с определения того, что нужно рынку (сравнение рыночных трендов и законов развития техн.систем). Затем выбирается перспективный объект для изменения (изучение патентного ландшафта, линий параллельной эволюции). Затем ищется ключевая проблема. И наконец выявленная проблема решается техникой классической ТРИЗ.
                                0
                                А в чём отличие капиталистической экономики от плановой? Всегда так: находишь проблему — конкретизируешь — решаешь (армянский комсомол и троллейбусы из буханки не рассматриваем), разработка и внедрение или примерно как сейчас для штатного инженера, или типа венчура для внешнего.

                                Цифра особенно важна, потому что вопрос «Если ты такой умный, чего ж ты такой бедный?» у разработчика (не хоббииста) всегда стоит в полный рост.
                                  +1
                                  А в чём отличие капиталистической экономики от плановой? Всегда так: находишь проблему

                                  Видимо, в способе определения проблемы. В случае рыночной экономики проблема — это то, за решение чего вам заплатят деньги. А в плановой экономике — это то, что назвали "проблемой" в условном министерстве планирования.
                                  С-но, и несколько разные будут подходы к решению — если в первом случае вам надо удовлетворить желаниям пользователя, то во втором — некоему (а иногда — вполне конкретному) лицу в министерстве.

                        Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

                        Самое читаемое