Search
Write a publication
Pull to refresh
105
4.2
Send message

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

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

Но в принципе - в моем представлении это находится где-то в границах "широкого ИИ". Мы задаем целевую функцию - то есть правила: что считается хорошим, а что - плохим. И дальше предлагаем системе вырастить нам достаточно хорошее решение. ИМХО - "неважно какого цвета кошка, лишь бы она ловила мышей" (С) Китайская компартия. Требовать чтобы система ИИ была основана только на знаниях, или только на правилах, или только на байесовских вероятностях - это неуместная разборчивость... Если же говорить об "узком ИИ" - сиречь о машинном обучении и нейроноподобных системах, то ГА конечно из другой оперы...

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

Если подумать - задача об ИИ - это почти всегда задача оптимизации. Мы полагаем машину разумной, если она располагаемыми ресурсами (фигурами на шахматной доске, машинами на карте, и т.д.) распоряжается достаточно оптимально. И неразумной, если она их тратит не пойми как... Соответственно, почему бы и не генетические алгоритмы или отжиг, или муравьиная колония ? Я туда и клеточные автоматы воткнул, если что. Курс обзорный - если у студентов осталась в памяти: "О! А вот еще такой прикольный есть способ решать эти задачи..." - значит я свою задачу выполнил.

Ну и до кучи, начало 2000-х для ГА - довольно хайповое время. Ресурсы машин ограничены, и получить решение 85-95% оптимального затратив на порядки меньше вычислительных ресурсов - выглядит очень привлекательно. Лет через 5-10 вместо этого будет проще запустить числодробилку на базе CUDA...

Нет, потому что уже неоднократно раз проверено - в 99% случаев волшебные заклинания математиков работают только в ими же самими придуманном волшебном математическом мире. Логический вывод (исчисление высказываний) - это исчезающе малый процент задач, которые стоят перед ИИ. А на попытку объяснить, что на самом деле почти все можно свести набору высказывний и формальной логике - я отвечаю, что при должном уровне усердия, все можно свести к конечным автоматам, цепям маркова, алгебре групп - и по-видимому, на каком-то очень широком метафизическом уровне, все достаточно сложные абстракции эквивалентны (в том смысле что можно любую задачу и решение сформулированные в одной - без потери смысла перевести в другую).

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

Хотя... представляю уровень счастья в японских НИИ, когда правительство предложило осваивать/пилить деньги на пятом поколении ЭВМ... И какой там стоял стон когда денег давать перестали...

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

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

В результате, все восторги от пролог-систем собрали собственно математики - которым эти чудо системы доказали какие-то там теоремы...

Когда меня запрягли читать курс систем искусственного интеллекта в магистратуре, и вручили переходящий конспект лекций, не менявшийся с 70-х годов - я со злорадным наслаждением вычеркнул оттуда весь пролог (70% курса) которым мучали нас, и вписал генетические алгоритмы и нейронные сети...

А не бывает, что сделал вроде для себя - а потом еще одну родственникам, еще одну - детям, третью - коллегам ? Нет, понятно - что если что-то совсем специфичное, то это не тот случай. Но у меня 4-слойных плат не было, поэтому все что жило в одном экземпляре - делалось ЛУТом, сверлилось, паялось, отлаживалось (включая компоненты на соплях поверх), да так и оставалось. Оно ж уже работает, зачем уважаемый JLPCB беспокоить... :-)

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

Смотрите - делать плату на THT-компонентах сейчас глупо. Почти все интересные/современные элементы идут в исполнении для поверхностного монтажа. Касса резисторов 0805 занимает сильно меньше места, и сильно удобнее в использовании чем спичечные коробки или пакетики для выводных элементов, и т.д.

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

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

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

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

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

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

А к вам никто и не лез, пока вы в статье - в точности по фразе проф. Преображенского ("Собачье сердце"): "...не начали давать советы космического масштаба, и космической же глупости"!

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

Кто вам мешает, устраиваясь на работу руководителем - задать вопрос: есть ли в организации культура продуктивности, и если да - то как здесь принято действовать в ситуации когда член команды явно "не тянет" рабочие задачи ? Сколько раз я беседовал с нанимающими менеджерами и собственниками - мне всегда предлагали задавать вопросы!

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

А вот игнорировать закон, и призывать к этому читателя без специальных знаний - фу, фу, фу - очень плохо!

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

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

Вам ровно то же скажет любой практикующий юрист по трудовому праву (или преподаватель на курсах ОТиТБ). И распечатает кучу подтверждений из Консультатнта если вы того пожелаете...

То есть вместо того, чтобы понудить HR и юристов делать свою работу (как вы там вверху пишите - обратиться в службу безопасности или к собственнику/совету директоров) - вы такой: "ах, так - тогда я сейчас тут наворочу!". А вы понимаете, что те же самые юристы которых вы решили обойти - с удовольствем будут вас сношать (по статье) если не дай бог обиженный работник продаст кейс "юристам" ? Почитайте как стонут страховые по ОСАГО (хотя там натуральный жабо-гадюкинг - что "страховые" что "юристы" - те еще сволочи)!

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

При этом, разумеется, это не означает что по вашей прихоти все встанут по стойке смирно, и сделают под козырек. Предприятие вообще-то существует не для того, чтобы по вашей указке кого-то увольнять. Убеждайте!.. А не хотите убеждать - кто ж просил лезть в руководители, тем более в C-level ?!

А вот игнорировать законодательство и побуждать к этому читателя без специального образования - фу, фу, фу - очень плохо!

Еще раз повторю мысль - ваша беда в том, что вы свой частный случай (ни разу не соотвествующий действующему законодательству) почему-то решили распространить и рекомендовать всем как универсальный. Вам пишут, на какие грабли вы предлагаете народу наступать, вам пишут чтобы вы сосредоточились на том что вы понимаете хорошо - а вопросы кого и по какой статье увольнять оставили специально обученным людям (HR и Legal Department)... Но вы уперлись, и настаиваете на своей правоте, скатываясь в конце-концов в "а у меня - работает!".

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

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

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

Я бы, из своего ограниченного жизненного опыта, поставил commit-hook, и линтер - чтобы у Васи коммит не соответствующий формальным проверяемым критериям - не проходил (или проходил, но невозможно было бы смержить пока не устранены замечания). А дальше сношайте Васины мозги чтобы он доделывал задачу (ибо у вас в команде же есть Definition of Done - и там написано что считается сделанной задачей).

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

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

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

Посмотрите протоколы судебных заседаний по ООО "Лабеан". Оказывается, выдают... А уж как выдают когда сообщики в самом банке (есть, эхм, такая фамилия в нашем регионе известная - Турманидзе...)!... :-)

Дык! Болезнь, стихийное бедствие, обстоятельства непреодолимой силы... И сверх этого еще любые обстоятельства которые суд признает таковыми!

Это как, блдж, можно подать заявление в один суд, а рассматривать - в другом ?! Что за цирк в голове?! Вы там часом суд с МФЦ не путаете ?... Если физик подал иск в суд, и по ст.29 территориальная подсудность по выбору физика - суд примет иск к рассмотрению, рассмотрит, и вынесет решение! Есть очень немного случаев когда суд примет у вас заявление (обычно, жалобу) - и перешлет сам по подсудности... Причем, по своей инициативе суд этим обычно не занимается - им достаточно возвратить без рассмотрения по существу, а дальше заявитель сам бегает и переподается!...

1
23 ...

Information

Rating
2,322-nd
Registered
Activity