Size: a a a

Типы в языках программирования, моделирования, представления знаний и жизни

2019 August 24

ХТ

Христофор 🇺🇦 Тюлькин in Типы в языках программирования, моделирования, представления знаний и жизни
А вот главный мой вопрос. Имеется какой-то "язык онтологов", кроме FOL (который скорее язык логиков и изначально для другого)? BORO я почитаю, конечно, но на это уйдет время.
источник

AT

Alexander Tchitchigin in Типы в языках программирования, моделирования, представления знаний и жизни
Anatoly Levenchuk
Мой вопрос как раз в этом. Эти диаграммы впрямую применяют модельеры данных для систем PLM (product life cycle management) или ERP. Они делают по ним концептуальную модель данных, которую потом приземляют на физическую модель данных конкретной СУБД. А программист, по идее, должен будет приземлить эту концептуальную модель на физическую модель данных своего языка программирования (то есть на систему типов). Но вот как это сделать мы сейчас и выясняем. Об этом, похоже, любили рассуждать объект-ориентированные программисты, и ещё опытом поделились люди из F# тусовки. Остальные работают ad hoc (при этом, конечно, и диаграмм не применяют — ход на поиск физических объектов ими не понимается как теоретический, а просто как эвристика: "покажи пару примеров, чтобы я понял").
Если сделать 4D-СУБД - наступит гармония и счастье? 😂
источник

AL

Anatoly Levenchuk in Типы в языках программирования, моделирования, представления знаний и жизни
Христофор 🇺🇦 Тюлькин
А вот главный мой вопрос. Имеется какой-то "язык онтологов", кроме FOL (который скорее язык логиков и изначально для другого)? BORO я почитаю, конечно, но на это уйдет время.
Онтологи считают, что их язык — это логика (необязательно FOL, конечно).
источник

ХТ

Христофор 🇺🇦 Тюлькин in Типы в языках программирования, моделирования, представления знаний и жизни
печаль
источник

PV

Pavel Vetokhin in Типы в языках программирования, моделирования, представления знаний и жизни
Допустим агент A1 выводит из эксплуатации нечто, являющееся для него насосом. Сразу после этого агент А2 везет на свалку нечто, являющееся для него грузом. Вроде физически это одно и то же, но для А1 и А2 это штуки "разных типов". Как такое в типах моделировать?
источник

AL

Anatoly Levenchuk in Типы в языках программирования, моделирования, представления знаний и жизни
Alexander Tchitchigin
Если сделать 4D-СУБД - наступит гармония и счастье? 😂
А что это такое? ISO 15926, конечно, считает, что в нём речь идёт о шестой нормальной форме ))) Но это не самое там важное.
источник

MG

Mikhail Gusarov in Типы в языках программирования, моделирования, представления знаний и жизни
@pavetok В том и вопрос. 4D-экстенты не совпадают! Физически это разные объекты, так как моделирование вревремнное.
источник

MG

Mikhail Gusarov in Типы в языках программирования, моделирования, представления знаний и жизни
@ailevenchuk Может быть, имеются в виду базы данных, в которых факты накапливаются, а не меняют старые записи, и где запросы можно делать к истории? Тот же пресловутый Datomic.
источник

PV

Pavel Vetokhin in Типы в языках программирования, моделирования, представления знаний и жизни
Mikhail Gusarov
@pavetok В том и вопрос. 4D-экстенты не совпадают! Физически это разные объекты, так как моделирование вревремнное.
Ну "физически одно и то же" для не знакомых с 4D :)
Кажется это чуть проще чем сказать, что-то типа стоят А1 и А2 и смотрят на нечто. А1 видит насос, а А2 видит груз. Как такое в типах моделировать?
источник

ХТ

Христофор 🇺🇦 Тюлькин in Типы в языках программирования, моделирования, представления знаний и жизни
Тогда есть еще проблема декомпиляции. Широко известный факт мы легко (если не заморачиваться с опитимизациями) можем откомпилировать с высокоуровнего языка на низкоуровневый ассемблер. А в противоположном направлении - на порядки сложнее, чтобы получить идиоматичный код, нужно немножечко распознавать образы в ассемблерном коде, чтобы воспроизвести исходные высокоуровневые конструкции. При трансляции через FOL проблемы будут те же - разобрать вниз легко, обратно собрать сложно. Наверное.
источник

MG

Mikhail Gusarov in Типы в языках программирования, моделирования, представления знаний и жизни
@unmuamua А это интересно, поскольку эту задачу решать уже научились - к "ассемблеру" прикладывают "таблицы символов".
источник

ХТ

Христофор 🇺🇦 Тюлькин in Типы в языках программирования, моделирования, представления знаний и жизни
Но тут у нас есть формальный высокоуровневый язык! А про онтологов я слышу, что у них только логики.
источник

AT

Alexander Tchitchigin in Типы в языках программирования, моделирования, представления знаний и жизни
Христофор 🇺🇦 Тюлькин
Тогда есть еще проблема декомпиляции. Широко известный факт мы легко (если не заморачиваться с опитимизациями) можем откомпилировать с высокоуровнего языка на низкоуровневый ассемблер. А в противоположном направлении - на порядки сложнее, чтобы получить идиоматичный код, нужно немножечко распознавать образы в ассемблерном коде, чтобы воспроизвести исходные высокоуровневые конструкции. При трансляции через FOL проблемы будут те же - разобрать вниз легко, обратно собрать сложно. Наверное.
Вообще-то, да, так и есть. Люди с этим сталкиваются уже лет 50, начиная с Prolog ещё.
источник

AL

Anatoly Levenchuk in Типы в языках программирования, моделирования, представления знаний и жизни
Pavel Vetokhin
Допустим агент A1 выводит из эксплуатации нечто, являющееся для него насосом. Сразу после этого агент А2 везет на свалку нечто, являющееся для него грузом. Вроде физически это одно и то же, но для А1 и А2 это штуки "разных типов". Как такое в типах моделировать?
Да. Ровно вот это. Есть и более простые варианты: берём ножницы. Для проектировщика они состоят из режущего блока и рукоятки — функциональное рассмотрение. Для завода-изготовителя из двух половинок ножниц, скреплённым винтиком — конструктивное рассмотрение. Как такое моделировать? Ведь если поручить одному заводу изготавливать режущий блок, а другому ручки, то они сделают ужас-ужас. А если поручить писать инструкцию, как пользоваться двумя половинками ножниц для резания, тоже будет ужас-ужас. Как это типами моделировать, учитывая, что ножницы-то одни и те же?! )))
источник

KV

Kirill Valyavin in Типы в языках программирования, моделирования, представления знаний и жизни
Anatoly Levenchuk
Да. Ровно вот это. Есть и более простые варианты: берём ножницы. Для проектировщика они состоят из режущего блока и рукоятки — функциональное рассмотрение. Для завода-изготовителя из двух половинок ножниц, скреплённым винтиком — конструктивное рассмотрение. Как такое моделировать? Ведь если поручить одному заводу изготавливать режущий блок, а другому ручки, то они сделают ужас-ужас. А если поручить писать инструкцию, как пользоваться двумя половинками ножниц для резания, тоже будет ужас-ужас. Как это типами моделировать, учитывая, что ножницы-то одни и те же?! )))
На этот вопрос же не теория типов будет отвечать даже
источник

ХТ

Христофор 🇺🇦 Тюлькин in Типы в языках программирования, моделирования, представления знаний и жизни
То есть историческая часть проблемы, что аналитическая философия сидела век, манипулируя битами "да-нет". Высокоуровневый язык, кончено, был, но он "словами, в комментариях к булевским формулам".
источник

AL

Anatoly Levenchuk in Типы в языках программирования, моделирования, представления знаний и жизни
Христофор 🇺🇦 Тюлькин
Но тут у нас есть формальный высокоуровневый язык! А про онтологов я слышу, что у них только логики.
Из логики они потом лепят "онтологические паттерны" (чтобы не триплами работать, а чем-то более высокоуровневым). Но никакого развитого именно языка паттернов нет. Это что-то типа "макросов для триплов".

Вот и спрашивается: а что если просто взять мощный язык программирования, и выражать всё потребное описание мира прямо на нём, а не на логическом языке? Как это было бы?
источник

ХТ

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

AL

Anatoly Levenchuk in Типы в языках программирования, моделирования, представления знаний и жизни
Kirill Valyavin
На этот вопрос же не теория типов будет отвечать даже
Вопрос к тому, как такое выражать на языке программирования. В том числе в ситуации, когда ручки и ножевой блок используются в программе управления требованиями в конструкторском бюро, а две половинки ножниц и винтик даны в САПР в том же бюро, и нужно как-то состыковать их: чтобы требования относились к тому, что проектируется в САПР.
источник

ХТ

Христофор 🇺🇦 Тюлькин in Типы в языках программирования, моделирования, представления знаний и жизни
Anatoly Levenchuk
Вопрос к тому, как такое выражать на языке программирования. В том числе в ситуации, когда ручки и ножевой блок используются в программе управления требованиями в конструкторском бюро, а две половинки ножниц и винтик даны в САПР в том же бюро, и нужно как-то состыковать их: чтобы требования относились к тому, что проектируется в САПР.
Вот это понятный пример. Насущный.
источник