Pull to refresh
15
0
Send message

Можно поподробнее о следующем: Создает единую глобальную папку node_modules на компьютере и используем символические ссылки на нее в проектах

Странно, что в вашей статье отсутствует упоминание результатов П.Дж. Коэна (см. например:
1. Коэн П. Дж., Теория множеств и континуум-гипотеза
2. Ю.И. Манин, “Проблема континуума”, Итоги науки и техн. Сер. Соврем. пробл. мат., 5, ВИНИТИ, М., 1975, 5–72; J. Soviet Math., 5:4 (1976), 451–501 - https://www.mathnet.ru/php/archive.phtml?wshow=paper&jrnid=intd&paperid=14&option_lang=rus)

Я не пробовал Python4Delphi. А Memo1 как-то связывается с PythonGUIInputOutput1?

Документация MS говорит о том, что oStyle.BuiltIn = True — это встроенный стиль, а поэтому указанный скрипт должен удалить все определенные пользователем стили. Или я не прав?

Спасибо за статью. Не могли бы вы дать свою оценку книги Ф. Уиндера "Обучение с подкреплением для реальных задач. Инженерный подход"?

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

Для подтверждения вышесказанного не буду вдаваться в детали надежно установленных фактов по зрительному восприятию которые прямо или косвенно приводят к такому выводу – при желании лучше ознакомиться с работами А.Л. Ярбуса, Н.В. Позина, В.П. Зинченко, Б.М. Величковского, Н.Ю. Веригилес, В.А. Барабанщикова, Е.Н. Соколова, А.Н. Радченко, а также их соавторов и многочисленных коллег - других крупных психологов и (нейро)физиологов (ссылки на зарубежных авторов можно найти в публикациях вышеуказанных исследователей). Работы этих исследователей как раз и приводят к пониманию процессов распознавания и зрительного восприятия как сложного (комплексного) психофизиологического процесса. Игнорировать их результаты при попытках моделирования искусственного разума (ИР) нерационально. Это надежная опора для понимания в каком направлении при этом нужно двигаться.

В дополнение к (нейро)психо(физио)логическим результатам которые могут, как мне кажется, помочь в продвижении к заветной цели – построению ИР (с точки зрения применения структурных методов для распознавания образов), то можно сослаться на достаточно старую работу Фу К.С. Структурные методы в распознавании образов (1974, 1977).

Теперь, вроде бы, встало на свои места.

Хм... Спасибо

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

Конструктор в том числе отвечает за инициализацию полей записей. Можно конечно использовать для этого class function. Не зря такие конструкторы обязаны иметь параметры. Но все же синтаксическая конструкция имеется... А class operator Initialize именно для этого и предназначен. Ничего другого от них и не требуется. В вашем понимании он также не будет полноценным конструктором.

Понятно что вы решали какую-то свою конкретную проблему. Но меня заинтересовал вопрос: как это использовать? Можно какой-нибудь привести демо-пример?

Можете привести сценарий использования DeferredRef<T: class>?

...для поля FValue объекта класса DeferredRef<T>.TDeferredRef и никогда для поля записи...

Да это так.

А Вы видите такой сценарий?

Также как и вы - никакого. Я поначалу вообще рассматривал этот код как "классический" SP в том числе с точки зрения вариантов его использования. Сработал стереотип мышления.

Если говорить о DeferredRef<T>, то к моему глубокому сожалению я вообще не вижу какого-либо варианта его использования. Необходимости в чем-то подобном в моей практике не возникало. Может быть ap1973 приведет какой-либо пример?

Про деструкторы записей я погорячился...

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

Только ради полноты картины (прошу HemulGM не обижаться):

  1. конструкторы и деструкторы записей были введены в Delphi достаточно давно.

  2. У управляемых (менеджируемые, M-record-ы) записи, окончательно введенные в версии 10.4 и о которых я упомянул в своем комментарии, появилась возможность определять операторы инициализации (class operator Intialaze), финализации (class operator Finalize) и присваивания (class operator Assign). Собственно о них вы говорите. Так что функционал "классического" SmPt можно реализовать без использования техники SmPt нужным образом определяя Finalize и Assign. Конечно же у M-записей есть свои "рифы"...

вызывается только для поля объекта, а поля объектов в Delphi гарантированно инициализируются в nil при создании.

Особенность (на которую наверно ссылочку GunSmoker и давал) как раз и заключается в том, что инициализация для объектного поля записи в nil не гарантирована и эта особенность сохраняться начиная 2009 версии (с чем и столкнулся при своей реализации smartpounter-ов). Про самые последние версии сказать ничего не могу (но там уже есть М-записи, которые позволяют во многих случаях отказаться от smartpoiter-ов). Как  правило в объектном поле записи (record-а) сидит "мусор" -  Assigned(FValue) практически гарантировано может вернуть  true (может быть кто-нибудь сможет найти способ? Люди искали такой способ – на нашли). Об этом на протяжении по-меньшей мере лет 12 написано уже достаточно много (см. например блог  H. Vassbotn). Чтобы не наткнуться на этот «подводный камень» в DeferredRef<T: class>  необходимо проверять поле интерфейса  (его почему-то компилятор не забывает инициализировать nil-ом) – FCreator.

Похожее на описанное в данной статье решение, например, есть в статье Александра Багеля и многих др. Подобные «вещички» есть например в DeHL, DSharp и  Spring4D.

class procedure Shared.Initialize<T>(var Value: T; const Initializer: AutoRef<T>);
begin
  if not Assigned(Value) then // вы уверены что это сработает?
  begin
..........................
..........................
..........................
  end;
end;

Зачем так усложнять smart pointers?

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

Вы что же считаете что от страстей, эмоций, предпочтений, неосознанных мотивов можно освободиться и тем самым исключить их влияние на свои размышления?

помогает рациональное обобщение роли метаязыка в логике.

Чтобы породить новый формализм...

конкретные факты расцениваются, как иллюзия.

Можете привести пример?

Это просто иллюстрация возникновения и веры феноменологов в проблему природы квалиа и ТПС.

P.S.: впрочем, не только...

1
23 ...

Information

Rating
Does not participate
Registered
Activity