LINUX.ORG.RU
ФорумTalks

О вреде ООП надо говорить! Это - слишком важная тема, чтобы отмалчиваться.

 


3

2

Здравия всем!

Я редко пишу на этом форуме, никого здесь не знаю… Но всё-таки решил попробовать. Удалят - и ладно.

Хочу лишь обратиться к молодому поколению программистов: в университете вам будут впаривать ООП - не ведитесь. Я много лет жизни потерял пытаясь понять что это за зверь. Это настоящая религия. Тебя убеждают что это хорошо, а когда ты понимаешь что это плохо - тебе говорят: ну ты просто ещё не знаешь паттернов, 5 принципов дяди Боба и т.д.

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

Есть много статей, разбирающих по косточкам различные аспекты ООП. Это тяжелое чтиво и мало кто из студентов сможет понять о чём речь. Тут сессии, курсовые, языки, вечеринки. Не до философии. Но всё сводится именно к философии:

информация ничего не значит без контекста.

В классическом примере ООП используется для пользовательского интерфейса. ООП объект хочет быть самостоятельным, «знать» как себя отобразить. Но это зависит от размера экрана, а если вывод в документ PDF, то предпочтительнее вектор, а не растр и так далее. Рано или поздно работа с ООП постоянно натыкается на конфликт: как передать контекст объекту.

Об этом много сказано, есть много примеров и разборов. Я уверен что студентам некогда читать длинные статьи где много буков. Они легко гуглятся и вот одна из наиболее кратких со ссылками на более подробные https://habr.com/ru/post/451982/

В идеале, хочу создать новую статью, ещё короче но с конкретными примерами. Просто реально трудно общаться с ООП-зомбированными людьми. Их так учили 5 лет и они даже не допускают мысли что их разводили все эти годы…

Перемещено xaizek из development

Ответ на: комментарий от monk

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

TDrive ★★★★★
()
Ответ на: комментарий от monk

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

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

Вот, собсна, и все ООП.

А обрабатываем мы переменные все также, как и на заре вычислительных безумств. Функциями. Чтобы не сойти с ума мы (уже в который раз) вытащили на свет подход «конвейерная обработка данных» и теперь переливаем (из пустого в порожнее) маленькими обозримыми методами - вот тут мы данные отфильтруем, вот тут мы их слегка покрячим, а вот тут мы их сольем в какой-то очередной черный ящик.

Переменные и функции, функции и переменные.

Ничего нет нового под солнцем (с)

olelookoe ★★★
()
Ответ на: комментарий от aist1

Можно я немного тебя поправлю? Не «которой там скорее всего нет», а которая будет на столько сложна (имеется в виду описательная колмогоровская сложность), что просто не влезет в «кратковременную память» и по этой причине даже представлена без потерь быть не может. Согласен?

Она не в какую память не влезет, ИМХО. Там нет сети причинно-следственных связей, там обученная за время жизни статистическая модель, которая не оперирует классической логикой в принципе. Объяснить её логику – такая же безнадёжная задача, как и объяснить логику принятия решений в нейросети: «ну, эти нейроны так выучились»

Ты не мог бы сопоставить, насколько то, что ты здесь аппроксимируешь как wave function collapse, похоже на это.

Перпендикулярно, потому что я не о том, что происходит в голове, а о том, что я делаю с кодом.

Касательно теории по ссылке – поддерживаю, так как сам наблюдал подтверждающие её ситуации. «Сознание» не «знает»(т.е. не запрашивает данные) что органы чувств видят если не обращает внимание. Если поручить человеку определить цвет вспышки, и он успеет обратить внимание в промежутке между вспышками, φ-иллюзия внезапно не сработает. А если обратит после – эффект иллюзии будет. Такие пироги…

timdorohin ★★★★
()
Ответ на: комментарий от monk

Солипсистов получалось?

Конкретно солипсистов — нет, еще не ел. Но тут никакой разницы. Если ты заметил, что критике у меня подвергается self-реальность, а вовсе не «объективная». Self-солипсистов я встречал. Критика их реальности возможна, но, таки да, немного более трудоемка. Я потом попробую объяснить, почему она лишь немного более трудоемка.

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

Я тебе сейчас проведу тест, который покажет, «на каком ты сейчас уровне». Заметь, что ты сейчас что-то защищаешь («любые твои действия будут бесполезны, так как будут шатать то, что и так шатается»). Кроме того, в твоей полемике с TDrive ты очень даже настаиваешь на своей картине мира, и делаешь это так, будто она для тебя истинная. Согласен?

Именно так. Трактовка сигналов пришедших из окружающего мира.

В том числе и «self-сигналов». Self-model, которая возникает у нас на уровне отчетов, тоже всего лишь аппроксимация. И, кстати, очень грубая.

Научный подход создал из традиционного ислама радикальный.

Я тебя умоляю. Я радикальное христианство было задолго до появления научного метода. Радикальный ислам сделал не научный метод, а нефтяные деньги и арабские мечты о возвращении Халифата. На БВ осталась куча незавершенных гештальтов, для которых сложились условия к завершению. Вот они и завершаются.

aist1 ★★★
()
Ответ на: комментарий от timdorohin

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

Я понимаю, о чем ты говоришь. Но я немного поправлю тебя опять, чтобы было понятно, о чем говорю я.

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

Субъект принципиально может «поднимать» эти кодировки (нейронные коды) на уровень самоотчета (когнитивные коды). Разумеется, с потерями, так как вербальный канал довольно узкий.

Перпендикулярно, потому что я не о том, что происходит в голове, а о том, что я делаю с кодом.

А разве то, что ты делаешь с кодом, не в голове происходит?:)

aist1 ★★★
()
Ответ на: комментарий от aist1

Тут нужна «вероятностная логика», и переформулировать нейросеть в этих терминах принципиальной проблемы не составляет.

Вот только о вероятностной и нечёткой логике помнит хорошо если каждый второй из тех, кому о ней рассказывали в ВУЗе.

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

Там потом вылезают перлы в стиле 2+2=5 и иже с ними.

А разве то, что ты делаешь с кодом, не в голове происходит?:)

Не-а, большая часть всего происходит во внешней системе.

Когда ты собираешь паззл, ты собираешь его в голове или на столе?

Если честно, несколько лень дискутировать, но… «Китайская комната». Знает и умеет программировать система, состоящая из меня, IDE, документации на библиотеки и язык.

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

timdorohin ★★★★
()
Ответ на: комментарий от aist1

Ухватить жар-птицу за хвост хотят многие. Но есть ли в этом практический смысл? Ведь ещё древние китайцы заметили, что «бездна, которой можно дать краткое точное описание, не есть истинная бездна. Безымянное есть начало неба и земли, обладающее именем - мать всех заблуждений.»

Бездна - это продукт или инструмент? Если это инструмент, который даёт уникальный продукт, не является ли странным человек, который хочет продать этот инструмент?

Kogrom
()
Ответ на: комментарий от aist1

ты очень даже настаиваешь на своей картине мира, и делаешь это так, будто она для тебя истинная. Согласен?

Я на ней настаиваю исключительно потому, что надеюсь (надеялся) от него получить аргументы в пользу ООП. Был бы тут убеждённый противник ООП, вполне возможно я убеждал бы его, что ООП лучше, так как внедряет модульность, упрощает документирование и т.д. До начала этого диалога я не считал себя убеждённым противником ООП. По итогам склоняюсь к «ООП по возможности надо избегать».

Заметь, что ты сейчас что-то защищаешь

Согласен. Но, как я уже писал, это что-то не зависит от реальности вообще.

В том числе и «self-сигналов».

Не понял термин. Рефлексия? Или фантазия?

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

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

Радикальный ислам сделал не научный метод, а нефтяные деньги и арабские мечты о возвращении Халифата.

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

monk ★★★★★
()
Ответ на: комментарий от aist1

Конкретно солипсистов — нет, еще не ел. Но тут никакой разницы. Если ты заметил, что критике у меня подвергается self-реальность, а вовсе не «объективная». Self-солипсистов я встречал.

Не понял разницы. Для солипсиста self-реальность тождественна объективной. Или я не понял термины.

monk ★★★★★
()
Ответ на: комментарий от timdorohin

Когда ты собираешь паззл, ты собираешь его в голове или на столе?

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

Вот если был бы какой-то «внешний решатель паззла», с которым был бы некоторый нетривиальный интерфейс, то да. Я бы рассматривал его как часть своей системы.

Точно так же и с программированием. Ни компилятор, ни IDE индуктивным программированием не занимаются. Трансляцию я к таковому не отношу.

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

aist1 ★★★
()
Ответ на: комментарий от Kogrom

У меня нет ответов на твои вопросы, мудрый человек. Если ты хочешь получить осмысленные ответы от меня, задавай вопросы, на которые я могу ответить :)

aist1 ★★★
()
Ответ на: комментарий от monk

Не понял разницы. Для солипсиста self-реальность тождественна объективной. Или я не понял термины.

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

Есть перцы, которые совмещают «приятное с полезным», т.е. солипсизм с иллюзионизмом. Но это уже высший пилотаж, и мало кому удается. Я приведу пример.

На приеме у психотерапевта:

-- Вы говорите, что любите всех людей. Это так?
-- Да, доктор. 
-- Но потом Вы говорите, что ненавидите свою мать. Это так?
-- Да, но это другое!

Это амбивалентность (ситуационное противоречие установок). Отсутствие критики на амбивалентность (когда поциент упорно этого противоречия не осознает) раньше считалось одним из признаков шизофрении. Сейчас — нет.

Я к тому, что совмещать в голове конфликтующие теории разума будет очень сложно с точки зрения объема работы, который придется для этого поддерживать. Не все смогут это делать достаточно качественно. Поэтому, я считаю, что солипсисты-иллюзионисты в массе своей просто притворяются таковыми.

Что касается тебя, то я думаю, что ты по факту иллюзионист, а не солипсист. Дело в том, что солипсизм — это тот же самый дуализм, вид сбоку. Вряд ли ты будешь в этой тусовке. То, что ты говоришь пока что больше коррелирует с иллюзионизмом.

Теперь по вектору критики солипсизма. Солипсизм критикуется точно так же, как и все остальные виды дуализма, через критику downward causation. Степеней свободы тут, правда, очень много. Поэтому какого-то специального рецепта я тут тебе не изложу)

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

aist1 ★★★
()
Ответ на: комментарий от aist1

Я к тому, что совмещать в голове конфликтующие теории разума будет очень сложно с точки зрения объема работы, который придется для этого поддерживать. Не все смогут это делать достаточно качественно. Поэтому, я считаю, что солипсисты-иллюзионисты в массе своей просто притворяются таковыми.

Почему конфликтующие? Человек может быть уверен, что единственная реальность, которую он может воспринять — его субъективная реальность. При этом существует некая объективная реальность, которую никоим образом воспринять невозможно, но которая породила субъективную. Будет иллюзионист-солипсист. Или солипсист, верующий в Бога-Творца (смотря как представляется объективная реальность).

Что касается тебя, то я думаю, что ты по факту иллюзионист, а не солипсист. Дело в том, что солипсизм — это тот же самый дуализм, вид сбоку. Вряд ли ты будешь в этой тусовке. То, что ты говоришь пока что больше коррелирует с иллюзионизмом.

Я и не утверждал, что я солипсист :-). Если серьёзно, то я с одной стороны уверен, что воспринимаемый мир сильно отличается от реального (квантовая физика позволяет описать куски реального). С другой стороны, уверен, что воспринимаемый мир зависит от ожиданий большинства людей («чудеса» бывают, законы физики могут меняться во времени) — это проверял экспериментально примерно дюжину раз. Как такое мировосприятие назвать или классифицировать — затрудняюсь.

Тут обычное расчеловечивание (это так называется). Научный метод к расчеловечиванию человека не приводит.

Есть заметная корреляция между рациональным восприятием мира и подверженности расчеловечиванию. Я, по-моему, ссылку уже кидал.

monk ★★★★★
()
Последнее исправление: monk (всего исправлений: 1)
Ответ на: комментарий от monk

Почему конфликтующие?

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

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

Но я увлекся... Так вот, воплощать философию в жизнь сложно. А воплощать конфликтующие философии в жизнь — еще сложнее. Ну а трындеть, как известно, — не мешки ворочать. :)

Как такое мировосприятие назвать или классифицировать — затрудняюсь.

Как обычно, это будет какая-нибудь помесь популярной литературы на эту тему и около неё, сильно приправленная языком фундаментального образования, которое ты получил. Когда-нибудь у тебя возникнет потребность определиться, чей ты будешь, и ты выберешь себе наиболее подходящий аттрактор. Я, например, — computationalist.

Есть заметная корреляция между рациональным восприятием мира и подверженности расчеловечивания.

Корреляция не есть причинность и оба этих признака легко могут быть совместными манифестациями более глубоких общих процессов.

Дело в том, что рациональности на самом деле, нет. Я тут это дам без доказательства и даже без пространных объяснений. То, что мы называем рациональностью — просто еще одна из иллюзий-аппроксимаций. Нам доступен только приближенный логический вывод, причем, за исключением узких областей, очень сильно приближенный (тут доказательство тривиальное). Наш т.н. рациональный интеллект — это частный случай более широкого интеллекта эмоционального. Это не какая-то отдельная подсистема. (Только вот это — без доказательства).

И если говорить серьезно о тех корреляциях, которые ты наблюдаешь, нужно говорить о «большом» (коллективном) эмоциональном интеллекте. Кстати, у ЛОРа есть свой, уникальный, «эмоциональный интеллект» сообщества.

aist1 ★★★
()
Ответ на: комментарий от aist1

Кстати, насчет моего второго теста для программистов, который «Напиши мне систему объектов, которая видит красный цвет». Тут можно, конечно, посмеяться, но у Грэди Буча в его «Объектно-ориентированном анализе и проектировании» есть глава, где он делает простенький дешифратор посредством blackboard architecture, которая имитирует рассуждения человека. И вопрос о том, можно ли написать такую систему объектов, которая бы на столько хорошо имитировала человека, что именно видела бы свет, это вопрос о практических пределах применимости ООП, на самом деле.

aist1 ★★★
()
Ответ на: комментарий от aist1

А воплощать конфликтующие философии в жизнь — еще сложнее. Ну а трындеть, как известно, — не мешки ворочать

Понял. Верующий обязан соблюдать исполнение ритуалов.

Когда-нибудь у тебя возникнет потребность определиться, чей ты будешь

Как-то очень детерминированно… может и не возникнет. До сих пор ведь не возникло.

Корреляция не есть причинность и оба этих признака легко могут быть совместными манифестациями более глубоких общих процессов.

Кроме корреляции тут есть ещё последовательность во времени. Но согласен, может быть другая общая причина.

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

Гм… опять терминологические проблемы. Я рациональность понимаю как набор убеждений и правил мышления. В некотором смысле, это разновидность веры (кстати, во Франции был культ Разума). И в этом смысле рациональность вполне существует, также как и её последователи.

То, что мы думаем, что пришли к выводу рационально, а на самом деле почти всегда рационализируем уже принятое решение не опровергает существование рациональности. Даже подтверждает: без рациональности потребности в рационализации бы не было (было бы «Бог подсказал», «Дьявол нашептал», …).

monk ★★★★★
()
Ответ на: комментарий от aist1

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

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

Поэтому вся «система объектов» сводится к простой функции или даже детектору фотонов заданной длины волны (красной), реле и динамику.

monk ★★★★★
()
Ответ на: комментарий от monk

было бы «Бог подсказал», «Дьявол нашептал», …

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

В эмоциях, самих по себе, впрочем, нечего такого суперсложного нет. У эмоций есть гидирующая функция (guiding function), и вот эту функцию нужно «расшифровать». Проблема же в том, что мы имеем непосредственный доступ к сигнальной функции эмоций, но не к гидирующей. Гидирующая функция, как целостная система отдельных сигналов, проявляется в чувствах, как характерных элементах переживаний. Но для внешнего наблюдателя чувства могут быть только выражены символьным языком, и больше никак.

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

aist1 ★★★
()
Ответ на: комментарий от monk

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

Это не совсем так, но ты мыслишь в правильном направлении: нужен «тест на видение», и тут, да, далеко не всё так просто. Считается, что такого теста не существует. Я с этим лишь отчасти согласен, но это уже другая тема.

Что касается твоего аргумента, то важен не конкретный красный цвет, а поведенческое проявление переживания. Можно подумать, что такое поведенческое проявление будет очень простым, а потому легко имитируемым полностью, но это не так. Можно лишь чуть-чуть изменить постановку задачи, добавив объекту достаточно много бит состояния, и она сразу станет весьма и весьма сложной: отчет о переживаниях машины должен в существенных элементах совпадать с отчетами о переживаниях, даваемых человеком. А последние — экстремально многообразны. Запрограммировать их «табличным методом» не получается. Хотя, современные нейросети очень большие, и могут много чего тупо запоминать.

aist1 ★★★
()
Ответ на: комментарий от aist1

Т.е. одна из практических целей теста на реализуемость «видения красного цвета» — это проверка того, как хорошо человек способен различать т.н. доступное сознание (accessible consciousness) и феноменальное сознание (phenomenal consciousness). Переживание красного цвета — это феноменальное сознание, и, ввиду огромной вариативности проявлений, оно практически не поддается ручному программированию. Что-то можно сделать с помощью ML, но тут есть много скепсиса по поводу того, что текущий путь в этом направлении не зайдет в тупик.

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

Так вот, то, что мы привыкли называть рациональным — это доступное сознание. И оно более-менее поддается программированию. Эмоциональный интеллект почти весь лежит в холистичной зоне феноменального сознания, и ручному программированию не поддастся, а ML может легко упереться в power wall.

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

aist1 ★★★
()
Последнее исправление: aist1 (всего исправлений: 2)
Ответ на: комментарий от aist1

Это и есть рациональность. Рациональность каузальна и аналитична

Опять терминология. Человека, у которого каузальность замыкается на религию и обычаи не называют рациональным. Рациональность всё-таки жёстко связана не просто с поиском причины, а с поиском материальной причины.

тогда как эмоциональность в целом холистична: «вкусное яблоко», «хороший человек», «правильный путь», «правда».

«Свинина - харам» — это рациональность или эмоциональность?

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

Про внутреннее восприятие окружающих вообще сложно что-то определённое утверждать, если не вводить какие-то аксиомы: https://pritchi.ru/id_10487

monk ★★★★★
()
Ответ на: комментарий от monk

Рациональность всё-таки жёстко связана не просто с поиском причины, а с поиском материальной причины

Не забывай про механизмы абстрагирования, начинающие работать тогда, когда появляются кросс-доменные поведенческие паттерны.

«Свинина - харам» — это рациональность или эмоциональность?

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

Про внутреннее восприятие окружающих вообще сложно что-то определённое утверждать,

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

aist1 ★★★
()
Ответ на: комментарий от monk

«Свинина - харам» — это рациональность или эмоциональность?

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

Nervous ★★★★★
()
Ответ на: комментарий от aist1

кросс-доменные поведенческие паттерны

Опять термин без определения. Но всё равно попробую возразить: механизмы абстрагирования у человека используются примерно с каменного века.

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

Лингвистика… У меня не было «есть свинину». Вопрос про само понятие греха и обоснование решений религией. Вот! Почему «свинья — нечистое животное» – эмоциональное утверждение, а «Бог говорит, свинья — нечистое животное» – рациональное? Нет ли здесь противоречия?

monk ★★★★★
()
Ответ на: комментарий от Nervous

Не путай «утверждать, что свинина - харам, находясь в мусульманском обществе» и «свинина - харам». Первое рационально, второе под вопросом.

monk ★★★★★
()
Ответ на: комментарий от svyatozar

Ого, а меня ещё троллем обзывают!

HTML-CSS-Javascript

Разве могут быть сомнения после такого? HTML это язык разметки, как его его можно приводить в пример в разговоре о парадигмах программирования? CSS это вообще стили.

andalevor ★★★
()
Ответ на: комментарий от andalevor

Ого, а меня ещё троллем обзывают!

HTML-CSS-Javascript

Разве могут быть сомнения после такого? HTML это язык разметки, как его его можно приводить в пример в разговоре о парадигмах программирования? CSS это вообще стили.

Связка HTML-CSS-Javascript - это прекрасный пример отделения данных от контекста. Само наличие форматов данных, отдельно для структуры и для стиля, вместо смешивания данных и функций (как это делается во многих фреймворках, таких как Bootstrap и прочего), и есть признак информационно-ориентированного подхода.

HTML - не просто язык разметки. Это фактически дамп (центролизованной) базы данных дерева элементов и в нём отсутствует какая-либо инкапсуляция. И когда весь код у тебя в файлах Javascript, а все стили в файлах .css, то и получается группировка данных не по объектам, а по компонентам: модель, представление, контроллер.

Что характерно, элементы HTML «не знают» как себя отрисовать, они даже «не знают» своих размеров. Размер элемента зависит от размеров и стилей других элементов, которые описываются в файлах .css. То есть, сам подход отрисовки прохождением дерева вверх и вниз - централизованный, «извне». Никто не пытается передать контекст каждому элементу. Есть итеративный цикл, который в определённой последовательности сканирует данные каждого элемента и, применяя стили (часть контекста), корректируют элементы другого дерева (дерева отображаемых элементов). Контекстом (не путать с состоянием!) я называю то, что снаружи чего либо. В случае файла HTML, стили, заданные в файлах .css - это часть контекста. А для файлов .css сами элементы - это часть контекста. Файлы .css понятия не имеют какие существуют элементы, сколько их, будут ли они видимы на экране и т.д.

Этот метод создания изображения очень похож на OpenGL 3, где отдельно массивы мешей, отдельно массивы текстур, отдельно хранятся программы. Никакой треугольник «не знает» как себя отобразить, потому что его расположение и размер зависят от направления камеры, к нему текстуры и фильтры применяются программами на языке glsl, которые могут сами решать, каким цветом его раскрасить, какое освещение применить к каждому пикселю данного треугольника на экране. Треугольник «не знает» в тени он или на свету: он существует лишь в массиве меша, заданный тремя точками и, возможно, координатами текстуры, а так же вектором нормали в каждом из 3х углов. Цвета и освещение вычисляются на урокне пикселей. А количество пикселей зависит от направления и позиции камеры.

svyatozar ★★
() автор топика
Ответ на: комментарий от monk

Но всё равно попробую возразить: механизмы абстрагирования у человека используются примерно с каменного века.

Ну так вот, через абстрагирование материальная рациональность становится идеальной рациональностью. Животные так, в целом, не умеют, только человек.

Нет ли здесь противоречия?

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

В фразе «Бог говорит, что свинья — нечистое животное» акцент делается на «говорит», т.е. на действии по сообщении каких-то сведений.

Во фразе «харамная свинья» акцент делается на переживании харамности объекта «свинья».

Проблема эта носит название symbol grounding, когда в каждом переживании мы выделяем структурную/синтаксическую компоненту и смысловую (переживательную) компоненту. И проблема со смысловой компонентой в том, что она не поддается композиции путем манипуляции с символами: «вкусный + вишневое варенье» тебе не даст «вкусное вишневое варенье», в смысле, именно переживание вкусности конкретного вишневого варенья. Поэтому, переживания очень трудно предсказывать и почти невозможно передавать символьными методами. Хотя их, до определенной степени, можно аппроксимировать через механизмы аналогии: «вишневое варенье» is like a «сливовое варенье», но более кислое. Кислость лучше поддается композиции с другими качествами. Но это просто потому, что корпус переживаний кислости у нас достаточно богат.

Неопределенность, которую ты обозначил, возникает из-за того, что в любой фразе неявно присутствует наблюдатель с его конкретным symbol grounding, который извне напрямую недоступен. Квалиа красности может казаться очень простым в плане моделирования (фотончики, детекторы, длина волны, ну и всё) . Но речь там совсем не в красности, а в видении красности. Т.е. в наличии наблюдателя.

Мы можем программировать только то, что допускает или полное выведение внутреннего состояния наблюдателя за скобки, или редукцию этого состояния к несложному автомату. Чуть что более сложное — и сразу возникает Homunculus Problem.

aist1 ★★★
()
Последнее исправление: aist1 (всего исправлений: 2)
Ответ на: комментарий от aist1

Во фразе «харамная свинья» акцент делается на переживании харамности объекта «свинья».

В отличие от «вкусного яблока» здесь переживание исключительно на внешнем относительно свиньи событии «священники говорят, что так сказал Бог». Также как фраза «Гитлер плохой» от человека, родившегося после 1945 года определяет не непосредственное переживание, а опять опосредованную переработку из какого-то источника. Поэтому я не очень понимаю, почему такие переживания ты относишь к эмоциональному разуму, а не к рациональному.

«вкусный + вишневое варенье» тебе не даст «вкусное вишневое варенье», в смысле, именно переживание вкусности конкретного вишневого варенья

Разве? При чтении книг я вполне ощущаю вкусы и запахи, описываемые в книге.

Но речь там совсем не в красности, а в видении красности. Т.е. в наличии наблюдателя.

Философский зомби может существовать? И при этом люди смогут к нему относится не как к человеку?

Если нет, то фотодетектор является наблюдателем.

и сразу возникает Homunculus Problem.

ООП: human.this.this....this.image

monk ★★★★★
()
Ответ на: комментарий от svyatozar

Да, троллинг хорош. То у вас ООП это плохо потому что лишние поля читаются и шину забивают, то предлагаете в рантайме читать какие-нибудь файлы разметки, стилей, скрипты, всё это конвертировать во внутреннее представление (в объекты?) и будем весело интерпретировать всё это, вот где настоящая эффективность.

P.S. MVC не вчера придумали и он есть во многих ООП библиотеках.

andalevor ★★★
()
Ответ на: комментарий от monk

Поэтому я не очень понимаю, почему такие переживания ты относишь к эмоциональному разуму, а не к рациональному.

Считай это установками конкретного наблюдателя — меня :) Но эта установка вербализуема. Я для каждого переживания выделяю количественный параметр «трудоемкость декомпозиции (рационализации)». Переживания, относительно легко поддающиеся декомпозиции, я отношу к области рационального. Остальные — к области эмоционального. Здесь нет четкой границы, как и нет четкой границы между сознанием и бессознательным. Между ними довольно много промежуточного материала, и довольно много материала, который можно было бы характеризовать как «частичная рационализация». Понятие аппроксимации тут, как мне кажется, очень хорошо подходит. А вот понятие «иллюзии» я считаю очень неудачным, так как оно лишено количественного измерения. Моделирование «промежуточного когнитивного материала» — отдельная тема.

Разве? При чтении книг я вполне ощущаю вкусы и запахи, описываемые в книге.

Какие-то вещи ты непосредственно ощущал в прошлом, и ты эти ощущения просто вспоминаешь. Остальное ты аппроксимируешь. Вопрос тут — на сколько точно. Попробуй вообразить новый цвет, которого ты еще не видел :)

Если нет, то фотодетектор является наблюдателем.

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

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

aist1 ★★★
()
Ответ на: комментарий от andalevor

будем весело интерпретировать всё это, вот где настоящая эффективность

Он говорит о том, что вопрос о кодировках (как именно ты организуешь данные объектов) важен. Тогда как ООЯП нам тут почти ничего не дают сами по себе. И тут дело не в ОО, как таковом, а в этих самых ЯП, которые просто не могут в продвинутые структуры данных. Ну и железо тоже не спешит к нам на помощь. У нас есть выделенные вычислители для обработки видео, умножения матриц и растеризации изображений. Но нет аппаратно поддерживаемых композиторов данных, таких как наложение CSS на HTML. А могло бы быть. Сервера Oracle поддерживают аппаратную акселерацию SQL.

aist1 ★★★
()
Ответ на: комментарий от aist1

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

То есть не категории, а непрерывная шкала. Ясно.

Попробуй вообразить новый цвет, которого ты еще не видел :)

Октарин. Воображал :-) Также как воображал, что видят существа, которые видят помимо видимого спектра часть инфракрасного и ультрафиолетового. Или аборигены атмосферы Юпитера (хотя здесь, конечно цвета воображались вполне обычные).

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

А в том, как смоделировать в машине достаточно сложное переживание так, чтобы установился эмоционально-интуитивный контакт между человеком и такой машиной.

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

monk ★★★★★
()
Ответ на: комментарий от monk

непрерывная шкала.

Не буду утверждать, но я «для себя» считаю, что да. Математика перехода к континууму там довольно простая, если оно так важно.

я не могу описать, почему октарин я представил именно таким, я его даже словами толком описать не могу

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

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

Эмоционально-интуитивный контакт не то что с машиной устанавливается, но даже с саблей или куклой.

Только это не контакт, а привязанность к неодушевленному предмету. Контакт — это когда твой голосовой помощник способен корректно восстанавливать гидирующую компоненту из эмоционального материала твоей речи. Угадывать твои мысли еще до того, как они возникли в твоем сознании.

aist1 ★★★
()
Ответ на: комментарий от andalevor

Да, троллинг хорош. То у вас ООП это плохо потому что лишние поля читаются и шину забивают, то предлагаете в рантайме читать какие-нибудь файлы разметки, стилей, скрипты, всё это конвертировать во внутреннее представление (в объекты?) и будем весело интерпретировать всё это, вот где настоящая эффективность.

А при чём здесь объекты? В браузере есть дерево DOM, в котором есть тексты, но нет стилей. Есть дерево CSSOM, в котором стили накладываются друг на друга. Есть отдельное дерево отрисовки, в котором отсутствуют невидимые элементы. И они заполняются в такой последовательности. https://www.youtube.com/watch?v=lvb06W_VKVE

Я там дальше писал что похожим способом работает и OpenGL 3: статические меши добавляются в массивы, эти массивы загружаются в видеопамять и так далее. Если бы это было неэффективно, разве так делали бы?

P.S. MVC не вчера придумали и он есть во многих ООП библиотеках.

И что это меняет?

svyatozar ★★
() автор топика
Ответ на: комментарий от aist1

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

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

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

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

Спорно. Программисты всё-таки получаются из математиков и физиков, а не поэтов и литераторов.

Контакт — это когда твой голосовой помощник способен корректно восстанавливать гидирующую компоненту из эмоционального материала твоей речи. Угадывать твои мысли еще до того, как они возникли в твоем сознании.

Легко. Есть метод утёнка. Есть тульпа. А если надо всё-таки в материальном мире, то и окружающие люди этого не могут (за очень редким исключением).

monk ★★★★★
()
Ответ на: комментарий от monk

Сегодня просто день отличных вопросов от тебя))

Программы (алгоритмы) я всё-таки формирую по правилам, перебирая их по очереди

Дело в том, что это тебе только кажется. Точнее, перебор, действительно есть. Стохастический. И даже субстрат для него указать можно. Но происходит он задолго до того как это самое «ты» появляется в субъективном отчете. Более того, «ты» сам — такой же продукт перебора, и на самом деле не так-то просто сказать, это ты перебираешь правила или это правила перебирают тебя. Добро пожаловать в иллюзионизм :)

«Я перебираю правила» — это пост-рационализация процесса. Некая его аппроксимация, которую в таком виде проще социализировать и запоминать. Память-то, вообще говоря, не резиновая. Тем более, что из нейросетей базы данных, как из говна — пуля. Емкость низкая.

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

А эта пост-рационализация у тебя просто не формируется. По двум основным причинам:

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

2. Продвинутые структуры данных. Ты бы видел более сложные процессы, если бы у тебя был лучше развит навык визуализации продвинутых структур данных. У нас, у программистов, если проблемка. Мы задрочены на алгоритмы, но у нас полная жопа со структурами данных. И этот топик — прямая тому визуализация. ТС не много «прозрел» и, как может, топит за них, но его упорно не понимают. И неудивительно.

Самый важный момент тут в том, что без (2) тебе (1) впрок не пойдет. Какую-то рефлексию ты, разумеется, разовьешь. Но она не будет продуктивной.

А если надо всё-таки в материальном мире, то и окружающие люди этого не могут (за очень редким исключением).

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

aist1 ★★★
()
Ответ на: комментарий от aist1

Дело в том, что это тебе только кажется. Точнее, перебор, действительно есть. Стохастический.

Перебор в явном виде (выбор правила по списку, попытка сделать алгоритм по нему, если не получилось, то следующее).

Но происходит он задолго до того как это самое «ты» появляется в субъективном отчете.

В смысле? Ответа заранее нет, он появляется долгое время. Или при умножении 20-значных чисел тоже ответ человек знает заранее, а на листочке только его рационализирует?

Некая его аппроксимация, которую в таком виде проще социализировать и запоминать. Память-то, вообще говоря, не резиновая.

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

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

Я практикуюсь в слышании речи почти с рождения. Момент, когда последовательность звуков внезапно воспринимается как слово для меня до сих пор загадка. Аналогично, цвет платья на https://upload.wikimedia.org/wikipedia/ru/thumb/b/b3/TheDress.jpg/300px-TheDress.jpg . Переход от сине-чёрного к бело-жёлтому и обратно иногда получается спровоцировать прямо не сводя с него взгляда (оно резко темнеет или светлеет), но осознанно переключить не удаётся, не говоря уж о возможности разделить момент смены цвета на какие-то процессы.

Продвинутые структуры данных.

С одной стороны согласен. С другой - всё равно с точки зрения использования сводится к тем же базовым. Или можешь указать, что не является ни одним из трёх? Теоретически, можно взять какой-нибудь граф, но при работе с ним почти всегда он станет просто таблицей связей.

Верно, только машины не могут даже того, что могут самые неэмпатийные из людей.

Напоминаю историю:

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

monk ★★★★★
()
Ответ на: комментарий от monk

Перебор в явном виде (выбор правила по списку, попытка сделать алгоритм по нему, если не получилось, то следующее).

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

В смысле? Ответа заранее нет, он появляется долгое время. Или при умножении 20-значных чисел тоже ответ человек знает заранее, а на листочке только его рационализирует?

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

Дело в том, что «стандартная модель» разума, состоящая из сознания и бессознательного сейчас уже неадекватна накопленному корпусу феноменологии субъективного. Я, например, активно пользуюсь понятием частичности осознания, и, соотвественно, выделяю степень осознания того или иного переживания. Здесь мы ничего и никогда не осознаем «на 100%» (степень 1.0). Возможно, что абсолютного бессознательного тоже не существует (степень 0.0), но я не уверен.

Фактор частичности осознания приводит к тому, что реальный момент принятия решения вовсе не обязательно атрибутируется субъектом к точному моменту времени, как и видно в эксперименте Либета. Точно так же, «перебор правил», о котором ты говоришь — всего лишь небольшой срез (частичная модель) полного процесса подбора решения, происходящего в разуме. То же самое и с перемножением чисел на листочке. Листочек здесь — это всего лишь продолжение кратковременной памяти.

Я практикуюсь в слышании речи почти с рождения.

Какова цель этого «слышания»? Разве ты практикуешься с детства в создании компьютерных систем распознавания или даже понимания речи? Может быть, но не уверен. Цель «слышания» обычно лежит вне самого слышания, поэтому рефлексия на слышание и не развивается дальше некоторого минимально-достаточного уровня. Тебе даже никто не задаст вопрос «а как ты слышишь», только «а что ты слышишь». Если культурно обобщать, то твое внутреннее состояние само по себе мало кому интересно вообще, пока твое поведение («что ты слышишь») находится в заданных пределах. Если нет, то корректируют именно поведение, а не внутреннее состояние.

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

Или можешь указать, что не является ни одним из трёх?

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

В Мемории обычные построчные таблицы сделаны следующим образом (к сожалению, оно у меня всё еще не описано, поэтому, «на словах, без картинок»):

Есть два динамических массива: массив байтов (где и будут храниться данные строк) и символьная последовательность с поддержкой операций rank(s, x) и select(s, i). rank(s, x) возвращает количество символов s в последовательности вплоть до позиции x. А select(s, i) возвращает позицию x i-го по счету символа s в последовательности. В этой последовательности, каждую позицию начала строки мы помечаем символом 1, а начало каждой колонки в строке — символом 2. С помощью операций rank и select можно делать быструю навигацию по структуре таблицы (проекция по колонкам, например в очень широкой таблице), если rank и select имеют быструю реализацию — логарифмическую сложность или вообще константную. Это возможно, если запоминать для символьной последовательности немного дополнительной информации о распределении символов по её блокам. Последовательность эта будет содержать большое количество символов 0, поэтому она будет хорошо RLE-сжимаемой, и не будет давать значительного оверхеда по сравнению с вектором данных.

Или вот другой пример. Упорядоченное дерево с метками узлов, с пространственной сложностью 2 бита на узел. Которое можно иногда еще и сжать, и будет еще меньше: LOUDS Tree.

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

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

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

Напоминаю историю:

Популярная в 70-80-х постановка теста Тьюринга в виде диалоговой системы оказалась ненадежной. Оказалось, что даже довольно простые боты, типа Элизы, могут обмануть человека. Однако, такой обман неустойчивый. И довольно быстро человек обнаруживает, что бот либо повторяется, либо уходит в «рандом». А большого количества тем он вообще избегает, и не может вести сразу несколько линий разговора, перескакивая от одного к другому. Это, как раз таки и есть, манифестация ограниченности субъективных отчетов, порождаемых действующими алгоритмами. Такие дела.

Я давал разным ботам «интроспективные тесты», пытаясь обсуждать либо их переживания, либо переживания известных персонажей. Они либо отшучиваются и переводят тему (есть готовые заглушки), либо эпично тупят и тоже переводят тему (заглушки не предусмотрели). Тогда как человек очень любит поговорить о своих переживаниях :)

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

aist1 ★★★
()
Последнее исправление: aist1 (всего исправлений: 2)
Ответ на: комментарий от aist1

А то, что проецируется в «сознание» — это уже сильно отфильтрованная его версия. Некоторые тут используют аналогию с коллапсом волновой функции из QM.

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

эксперимент Либета

Это немножко не про то. Он про то, что осознание желания происходит после его появления.

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

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

Канеман в человеке выделял две системы: Система 1: срабатывает автоматически и очень быстро, почти не требуя усилий, Система 2: выделяет внимание, необходимое для сознательных умственных усилий. И вот система два всегда сознательная и поддаётся алгоритмизации. Система 1 – что-то вроде нейросетки: быстро выдаёт ответ без объяснений, но не всегда верный.

Какова цель этого «слышания»? Разве ты практикуешься с детства в создании компьютерных систем распознавания или даже понимания речи?

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

Тебе даже никто не задаст вопрос «а как ты слышишь»,

Так сам себе задаю. И «как слышишь» и «как видишь». Но даже если я точно знаю, что цвет клеток A и B одинаков, я не могу заставить себя их видеть одинаковыми.

объективная потребность объяснить, почему мы пришли к тем или иным решениям, ради их социализации

???

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

Кодировки

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

Т.е. идти нужно от задач, задачи определяют множество операций над данными, и временнЫе требования.

ВременнЫе требования определяются после алгоритма. Если алгоритм требует много вставок в середину, будет список, если получение элемента по номеру – будет массив, если количество элементов в заданном количестве байт – твоя таблица.

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

Вопрос исключительно в объёме знаний/правил.

бот либо повторяется, либо уходит в «рандом»

Смотря что спрашивать. На «купи слона» и человек быстро уходит в рандом.

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

Тоже запрограммировать не проблема. Ещё в 80-е делали. Когда контекст фразы подбирался по всем предыдущим.

monk ★★★★★
()
Ответ на: комментарий от aist1

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

У программиста, программирующего бот. Яндексовская Алиса, кстати, иногда неплохо изображает и обсуждает свои переживания.

monk ★★★★★
()
Ответ на: комментарий от monk

Он про то, что осознание желания происходит после его появления.

Он про то, что сигнатуры принятия решения возникают раньше сигнатур осознания принятия решения. Т.е. про то, что структура принятия решения осознается лишь частично. Существенная часть процесса происходит в «бессознательном» и не доступна для вербализации. Это, кстати, один из самых фундаментальных вопросов в теории сознания — почему «А» сейчас в сознании, а «Б» — нет, а портом наоборот.

Перемножение идёт по чёткому алгоритму.

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

никакого механизма не нашёл.

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

. Но даже если я точно знаю, что цвет клеток A и B одинаков, я не могу заставить себя их видеть одинаковыми.

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

мне ещё ни разу не приходилось.

Если бы ты работал со мной, то приходилось бы :)

Кодировки определяют оптимизацию операций, но не сам алгоритм.

Именно, что алгоритм, просто не всегда. Ладно, это надо всё с примерами показывать. Я понимаю, что ты говоришь про композицию сложных структур из из простого базиса. Я о том, что в этом базисе еще есть и коды, как первоклассные объекты.

Вопрос исключительно в объёме знаний/правил.

Вопрос в том, как эти знания/правила вывести из данных индуктивным методом, учитывая трудоемкость индуктивного вывода. Ну, или получить из серего вещества межушного ганглия методом реверс-инжиниринга. А так - да. Чем больше, тем лучше.

У программиста, программирующего бот. Яндексовская Алиса, кстати, иногда неплохо изображает и обсуждает свои переживания.

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

aist1 ★★★
()
Ответ на: комментарий от aist1

Добавь бектрекинг, немного размерности и процесс перестанет помещаться в кратковременную память.

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

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

Если приходится всё делать в уме, то, очевидно, потому что он допустим, а до альтернатив мысль просто не дошла. Мыслим мы почти всегда до первого возможного решения. Чтобы их просто сравнить, их надо или выписать или хотя бы мысленно перечислить (если их очень мало).

Если бы ты работал со мной, то приходилось бы :)

:-) Вот сейчас впервые в жизни разбираю процесс формирования алгоритма в своей голове. В отличие от процессов распознавания чего-либо, особых проблем в разборе не испытываю.

Я о том, что в этом базисе еще есть и коды, как первоклассные объекты.

Ладно. Соглашусь, что алгоритмы, которые возможно помыслить, зависят от базиса (базовых операций и структур данных, не выражаемых через другие структуры данных базиса). Например, такая структура данных как «продолжение» в Scheme даёт алгоритмы, невозможные в Common Lisp.

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

Вопрос в том, как эти знания/правила вывести из данных индуктивным методом

Знания делаются разбором грамматики. Когда-то Пролог придумали как раз для записи того, что в итоге получается. То есть, если ты что-то боту говоришь, бот вполне может это запомнить и использовать.

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

Тут же пропатчат. Она же онлайновая.

monk ★★★★★
()
Ответ на: комментарий от svyatozar

В браузере есть дерево DOM

Есть дерево CSSOM

Небось в коде браузера это god-object в худшем стиле ООП с миллионом полей и методов.

Я там дальше писал что похожим способом работает и OpenGL 3

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

andalevor ★★★
()
Ответ на: комментарий от monk

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

Ну попробуй делать бектрекинг на листочке. Тут уже рулон нужен будет и тыщи лет времени. :)

а до альтернатив мысль просто не дошла

Ну до конкретной альтернативы она как-то дошла же?)

Вот сейчас впервые в жизни разбираю процесс формирования алгоритма в своей голове. В отличие от процессов распознавания чего-либо, особых проблем в разборе не испытываю.

А я тебе объясню, в чем разница. В самом «алгоритме вывода алгоритмов» нет ничего сложного. В простой постановке это обычный перебор синтаксических конструкций с выполнением (чтобы убедиться, что сэмпл считает то, что надо). В более сложной (математической) форме появляются диагональный метод и поиск Левина. Но там тоже ничего сложного, кроме одного: оно всё очень долго.

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

Знания делаются разбором грамматики.

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

Тут же пропатчат. Она же онлайновая.

Замучаются. Это игра в одни ворота. Очень быстро выяснится, что у Алисы вместо персональной теории разума просто таблица заглушек, а не «генератор переживаний».

aist1 ★★★
()
Ответ на: комментарий от aist1

Вдогонку, к эвристиками при переборе.

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

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

С переборными алгоритмами очень хорошо то, что для них существуют годные AnyTime-аппроксимации, типа метода Монте-Карло.

aist1 ★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.