LINUX.ORG.RU
Ответ на: комментарий от aureliano15

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

BackDoorLover
()
Ответ на: комментарий от aureliano15

Ну мне простительно делать ошибки.
В любом случае, Владимир дополнил идею представить этот байт или несколько байтов структурой.
Сейчас зачёт, помогите пожалуйста. C ++ (комментарий)

А вот ТС(@Exis148) лучше поменять ник, потому как и указатель и структура это основные понятия языка и не знать их позор, теперь эта тема ещё долго будет его работодателей отпугивать.

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

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

Какие ныне новые технологии в программировании развивают?
Интересуют прежде всего системы хранения и обработки знаний.
Только не нейронные сети …

Владимир

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

Так речь о разработках, а не о … коде /«Гусарам молчать!»/.
Это вопросы и классификации, организации … данных.
Еще архитектуру организации данных для ии не знаю, но и не на NULL.

Владимир

anonymous
()
Ответ на: комментарий от torvn77

Владимир дополнил идею представить этот байт или несколько байтов структурой. Сейчас зачёт, помогите пожалуйста. C ++ (комментарий)

На мой взгляд лучшее решение для практических целей предложил анонимус в 3-м каменте про bitset (каментом выше решение тоже верное, но не универсальное, а завязанное на gcc). Но для учебных целей это решение вряд ли прокатит. Препод наверняка спросит: а как это сделать самому? И на этот случай лучшее решение предложил другой анонимус в каменте Сейчас зачёт, помогите пожалуйста. C ++ (комментарий) : n=0; do n+=a&1; while(a>>=1);

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

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

Дядя Вова, 💞 пойдешь с нами сегодня в проруби голыми купаться?

Не похоже …

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

Дядя Вова, 💞 пойдешь с нами сегодня в проруби голыми купаться?

Не похоже …
Здесь нужно что-то типа

У меня подруга в 16 лет штангу подымала 250 кг.

Владимир

anonymous
()
Ответ на: комментарий от torvn77

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

Я всё же исходя из ОП надеюсь, что ТС по будущей профессии — не программист. Иначе всё действительно плохо.

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

Интересуют прежде всего системы хранения и обработки знаний.

вот тут и далее по тексту посмотри…

по ссылкам с Knowledge Machine в публикациях и в их источниках литературы – находится много интересного.

где-то там или в PowerLOOM наглядная презентация была про системы представления знаний.

в KM это CLOS-подобно, и почти объектноориентированно как-то выходит. метаобъектнопротокольненько.

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

опять же, есть символьный AGI = General AI, есть статистический (машин лёрнинговый). я тут тебе про символические вычисления и формальные модели в основном написал (ну а подробнее там примеры смотреть надобно, тама всё довольно доступно расписано обыкновенно – или семантики подучить, см. презентацию в районе KM)

про машинлёрнинговый подход к AGI может ещё кто дополнит, ну а так то вот тебе ссылка викканская c загадошною техномагией.

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

отсюдова про KM вдругорядь в публикациях.. про правила инференса и сравнение Cyc с KM, како же насчёт ситуаций

anonymous
()

Этсамое, ты зачёт-то сдал? Что препод сказал? Как ты выкрутился из ситуации с такой сложной задачкой? Или не выкрутился?

Кароче мы тут все за тебя переживаем, особенно Лиза и все Владимиры.

BackDoorLover
()
Ответ на: комментарий от anonymous

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

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

особливо в мануалах насчёт LogTalk про DCG грамматики расписано.

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

особливо, Владимир, вам вдругорядь ссылочка : про DDL и DML логтолковые (а могли бы быть и даталоговые).

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

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

Даже если предположить то что вы все всё усвоили (про МонтеКарло, про генераторы псевдослучайных чисел, библиотеки это дело наживное, так что они не в счёт), это капля в море в реальном сложном IT, которое называется Computer Science. Вы должны были как минимум в 200 раз больше похожих штук усвоить (у вас их только 2 как я понял) чтобы претендовать на самые крохи в настоящем развитии IT как науки/решении каких-то нетривиальных штук. С тем что вы привели вы даже диплом бакалавра по Computer Science сделать не сможете никогда. Даже курсовую с таким обзором в этом не написать.

ЗЫ

А самое страшное в том, что вы как минимум один семестр на это убили, а всего их у вас даже с магистратурой будет 12, т.е. минимальный план вы не выполните в таких темпах, 24 это не 400. В лучшем случае как Царь будете обезьяньей работой заниматься (только в отличии от него в коллективе) и думать что это вершина знаний.

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

:- object(data_acquisition). :- object(data_processing).

сиречь DDL и DML таких логических ООП объектов смоллтоко-прологовых.

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

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

сам пролог по себе может быть написан как метациклический интерпретатор. сиречь : есть алгоритм обхода дерева вывода (с бектрекингом, поэтому ! позволяет оный отменить). и правила вывода. в листьях – факты, в узлах – правила. метациклический интерпретатор «сам на себе» исполняет свой собственный код. метациклический интерпретатор пролога занимает строчек 5. в листьях лежит труЪ, узлы задают правила вывода композиции из базовых (и, или). поэтому вычисление пролога – это вычисление над базой данных AND-OR деревья. asserta/assertz добавляет факт в листья (однотерм) (или правила в узлы, терм составной – ну прямо сувт метапроговый по многотиповому, лолъ). а retract – удоляет.

поэтому самый наглядный интертрепатор метациклический следует искать, по видимому в районе текстовых адвентюр: wumpus, spider и т.п.

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

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

подобным же образом там сделаны макросы на смоллтокопрологе. смотрите мануалы – там много интересного.

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

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

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

а логтоковые ещё и наследовать можно.

anonymous
()
Ответ на: комментарий от Stack77

а в вытянутой руке у него колба с

О каких колбасах ты толкуешь? По мне - все отписавшиеся несколько лукавят.

Владимир

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

Спасибо!

вот тут и далее по тексту посмотри…

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

Это конечно не ИИ, а подобие, но

Без подготовки на Эльбрус не взберешься

Когда получится, то конечно

Оставлю "надпись на русском языке" /как минимум/

Владимир

anonymous
()
system("curl --output - \"http://api.wolframalpha.com/v1/simple?appid=DEMO&i=DigitCount%28RandomInteger%28255%29%2C2%2C1%29&format=image\" > temp && xdg-open temp");
Suigintou ★★★★★
()
Ответ на: комментарий от anonymous

Ты отстал от жизни, уже давно везде Болонская система. И зачёты, и экзамены оцениваются по 100-балльной шкале.

BackDoorLover
()
Ответ на: комментарий от anonymous

На зачете отметок не ставят. Либо зачет, либо незачет.

Ok!

И ни кто не узнает получил ли @Exis148 зачет ...

Владимир

anonymous
()

Пошёл также и Иосиф из Галилеи, из города Назарета, в Иудею, в город Давидов, называемый Вифлеем, потому что он был из дома и рода Давидова, записаться с Мариею, обручённою ему женою, которая была беременна. Когда же они были там, наступило время родить Ей; и родила Сына своего Первенца, и спеленала Его, и положила Его в ясли, потому что не было им места в гостинице.

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

Поздравляю всех причастных к празднику. С Рождеством Христовым!

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

О, точняк, сегодня ж у пиндосов выходной! Кажись моё ревью до понедельника не посмотрят.

BackDoorLover
()
Ответ на: комментарий от peregrine

скажем что беспилотники на текущий момент лучше самолётов с пилотом

Это да. Особенно крутые беспилотники у Боинга вышли, за один раз столько фрагов набирают.

anonymous
()

«Олимпиадное» решение:

while(a){
    a &= a - 1;
    count++;
}

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

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

«Олимпиадное» решение

Немного облагородил код, сделал его более читабельным:

while((a != 0) == true){
    const int temporary = a - 1;
    a = a & temporary;
    count = count + 1;
}

Надеюсь, новичкам («Гусары»…) будет /более/ понятнее. Надеюсь, Хоббит @hobbit одобрит.

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

Задаем вопрос и получаем ответ.

То бишь ии должна сама суметь на основе знаний и данных дать ответ.

Это конечно не ИИ, а подобие, но

вопрос-ответные системы вполне себе задача для ИИ или его зачатки через экспертные диалоговые.

вот, краткую историю вопроса накидал:

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

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

если коротко, то в модальных логиках: (темпоральные, например линейная, а именно темпоральная логика действий) и связанных с этим fluent calculus (выше), situation calculus – ссылка ведёт на GOLOG и Event calculus

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

тут см. семантику экзистациональной логики в презентации про представление знаний в KM и Cyc.

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

в частном случае, Knowledge Based reasoning типа как в Knowledge Machine и есть такой «движок вывода» (inference) знаний в какой-то базе знаний. и прочий Knowledge Based Engineering.

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

в CLOS и MOP которые в коммон лиспе это всё очень удобно ложится.

а вообще я так понимаю в контексте Frame problem основной вопрос представления знаний – это какова должна быть модель, чтобы её не приходилось постоянно переделывать, в результате вывода новых и уточнения старых знаний.

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

всякие там языки планирования, вывода, описания действий каких-то абстрактных акторов и агентов, представление онтологий типичных знаний типа KIF, KLF, Cyc, KM в каком-то «единообразном» повторно используемом агентами виде.

экспертные системы, вопрос-ответные и диалоговые. пролог здесь прикольно подходит – но дальше пытаются ограничить backtracking, вводя какие-то особые правила вывода для особой модальной логики или model-based reasoning.

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

ciao_llvm – занятный пример биндингов LLVM к прологу ciao

в tests примеры того, как исходник на C компилируют в пролог, который через биндинги транслируется в LLVM биткод. то есть LLVM код (который генерируется через clang -S -emit-llvm -o src.ll -c src.c обрабатывается отдельным проходом к LLVM opt-mp-3.9 -analyze -load ../../libLLVM2CIAO.so .... -emit-ciao src.ll -of src.out.prolog ...

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

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

Это скорее бедность русского языка (или моего им владения). :)

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

Иногда можно и известные вещи почитать, вроде «Фрайди» Р.Э. Хайнлайна. Физические кондиции здесь вторичны.

ABW ★★★★★
()

6 страниц обсуждений. Люблю ЛОР.

Pravorskyi ★★★
()

Так как используем rand без srand, то всегда получаем одно и то же число и можно просто вернуть константу. У меня в gcc возвращает 41, значит ответом будет 3.

Если использовали srand, то в наглядной форме можно и на си написать не хуже чем в питоне, да ещё и эффективнее будет, так как количество шагов может быть меньше 8:

int sum = 0; for(; a; sum += a & 1, a >>= 1);
Kogrom
()
Ответ на: комментарий от anonymous
// https://www.programiz.com/cpp-programming/online-compiler/ 

#include <iostream>

int main() {

 int a   = 41,
     sum = 0; 

 while( sum += a & 1, a >>= 1 );
 
 std::cout << sum;

 return 0;

}

Владимир

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

Ок, тогда ещё решение без дополнительной переменной sum:

a = a / 128 + (a % 128) / 64 + (a % 64) / 32 + (a % 32) / 16 + (a % 16) / 8 + (a % 8) / 4 + (a % 4) / 2 + (a % 2);

Можно ли это упростить?

Kogrom
()
Ответ на: комментарий от Kogrom
// https://www.programiz.com/cpp-programming/online-compiler/ 

#include <iostream>

typedef struct  Bits__ {

 char  Bit0 : 1;
 char  Bit1 : 1;
 char  Bit2 : 1;
 char  Bit3 : 1;
 char  Bit4 : 1;
 char  Bit5 : 1;
 char  Bit6 : 1;
 char  Bit7 : 1;

} Bits_;

int main() {

 union U {
  unsigned char  Char;
  Bits_ Bits;
 }; 
 
 U    a;
 int  sum = 0; 

  a.Char = (unsigned char) 41;

  sum = -( a.Bits.Bit0 + a.Bits.Bit1 + a.Bits.Bit2 + a.Bits.Bit3 + a.Bits.Bit4 + a.Bits.Bit5 + a.Bits.Bit6 + a.Bits.Bit7);

  std::cout << sum;

return 0;

}

Владимир

anonymous
()
Ответ на: комментарий от anonymous
Полез студент на C++ class, а ему сверху template лямбда на голову упала

Владимир

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

  a.Char = (unsigned char) 41;

  sum = -( a.Bits.Bit0 + a.Bits.Bit1 + a.Bits.Bit2 + a.Bits.Bit3 + a.Bits.Bit4 + a.Bits.Bit5 + a.Bits.Bit6 + a.Bits.Bit7);
  

Это в C так можно, в C++ по стандарту это UB.

BackDoorLover
()

Чисто ради забавы. Как оптимизируется «почти эквивалентный» код.

Дополнительно сворован код из https://en.wikipedia.org/wiki/Hamming_weight

Внимание, -msse4 для popcnt!

GCC - https://godbolt.org/z/MK9xbo

Clang - https://godbolt.org/z/xP8oGa

Только popcount64c из вики распознался как popcnt.

Интересен разный «мусор» перед popcnt.

Сlang полностью развернул цикл на 64 бита для варианта popcount_3.

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