Hacker News Digest

Тег: #logic-programming

Постов: 2

Rule-Based Expert Systems: The Mycin Experiments (1984) (shortliffe.net)

MYCIN — один из первых экспертных систем, разработанных в Стэнфордском проекте эвристического программирования в 1970-х. Эта система использовала правила для диагностики бактериальных инфекций и рекомендации лечения антибиотиками. Её архитектура стала образцом для многих последующих систем: она включала базу знаний с сотнями правил вида «если-то», механизм логического вывода и средства объяснения своих решений.

Ключевые инновации MYCIN — работа с неопределённостью через факторы уверенности, разделение знаний и логики, а также генерация понятных пользователю объяснений. На её основе создали EMYCIN — инструмент для построения других экспертных систем. Книга подводит итог десятилетним экспериментам, анализируя сильные и слабые стороны подхода, и подчёркивает важность практических исследований для развития ИИ.

by mindcrime • 05 октября 2025 г. в 23:51 • 81 points

ОригиналHN

#expert-systems#llm#rule-based-systems#logic-programming#prolog#machine-learning#neural-networks#stanford-university

Комментарии (19)

  • Вспоминают ранние подходы к ИИ, включая экспертные системы и перцептроны, как исторический контекст.
  • Отмечают практическую пользу экспертных систем и логического программирования (например, на Prolog) для обработки данных.
  • Обсуждают, что современные LLM выиграли гонку, но им не хватает логического обоснования и семантики.
  • Указывают на ограничения экспертных систем из-за нехватки вычислительных мощностей в прошлом.
  • Сравнивают успехи статистических методов (нейросети) с символическим ИИ, признавая победу первых.

Dyna – Logic Programming for Machine Learning (dyna.org)

Dyna — декларативный логический язык с весами для исследователей машинного обучения.
Он позволяет описывать что вычислять, не заботясь о как. Примеры:

c(I,K) += a(I,J) * b(J,K).          % умножение матриц
fib(N) := fib(N-1)+fib(N-2).       % числа Фибоначчи
phrase(X,I,K) max= phrase(Y,I,J)*phrase(Z,J,K)*rule(X,Y,Z).  % CKY-разбор

История: проект начат в 2004 для сокращения разрыва между математикой и кодом.

  • Dyna 1.0 добавил произвольные полукольца к Datalog.
  • Dyna 2.0 убрал ограничение на единое полукольцо, разрешил свободные переменные, ленивые и энергичные вычисления, наследование через dynabases.

Актуальные исследования

  • Реализация через реляционную алгебру и перезапись термов.
  • Использование обучения с подкреплением для выбора оптимального порядка вычислений.

Ключевые статьи

  • PhD M. Francis-Landau «Declarative Programming Via Term Rewriting» (2024).

by matteodelabre • 16 августа 2025 г. в 19:50 • 134 points

ОригиналHN

#dyna#logic-programming#machine-learning#datalog#probabilistic-programming#dynamic-programming#clojure#python#java#term-rewriting

Комментарии (15)

  • Автор рад, что его PhD-исследование (язык Dyna3) попало на Hacker News.
  • Dyna3 — это кложурная реализация Dyna, JIT-компилятор и «артефакт из будущего» по ощущениям читателей.
  • Язык обобщает Datalog на произвольные полукольца, позволяя вероятностные выводы и динамическое программирование; схож со Scallop, но Scallop ориентирован на дифференцируемость и интеграцию с нейросетями.
  • Пользователи спрашивают про «max=», «*» и связь с Prolog-грамматиками; Dyna использует переписывание термов с весами.
  • Есть Python-, Clojure- и Java-API, но для продакшена нужны дополнительные годы разработки.