51

Re: Программное обеспечение

"Практика - критерий истины". Не прижились ЭВМ с троичной логикой. На кремниевых "переключателях" не только легче, но и дешевле оказалось. Брусенцов же держится за оригинальность подхода,- иначе бы кто он был. Что он для практического применения ИТ создал? Так же и ЭВМ в остаточных классах ушли вместе с Акушским и Юдицким.

52

Re: Программное обеспечение

Автор: ignat99



https://github.com/prawda-translator

http://prawda.sourceforge.net/

Это старая версия. Для работы надо использовать 0.4.2. Там есть и база Английского и База русского и База Эсперанто.

Сама структура языка (составленная из сокращенных слов в русской кодировке) компилируется Си++ препроцессоров. Размеченные словари подгружаются. Дальше в диалоговом режиме, который позволяет дополнять автоматически словари, можно делать перевод с английского или эсперанто на русский.

Официальный язык ИИ - LojigBangle (LojBan), по сути Пролог с местоимениями. До ЛожБана эту нишу искусственных языков занимал Эсперанто (с которого отлично на русский переводит Правда).

http://gotai.net/forum/default.aspx?pos … 461#198461

Обновил, по 2 пункту - вызовы системных функций любого ядра (можно с Линукс начать).
по 4 пункту - Форт (да у языка проблемы с локальными переменными и ООП, но на нем деньги переводят Биткоинты и подписывают документы (The DAO) и есть расширения доступные для ООП - например ДССП-Т.) А главное у него есть шитый код, на распознование какойто ситуации можно отвечать набором вызовов из шитого кода (можно да же использовать для шитого кода трансляторы с Си в Форт).

Обратите внимани код выложен в боковой ветке. Так как основная ветка закреплена за Дмитрием Анисимовым.

https://github.com/Ignat99/prawda/tree/feature

Как и обещал выкладываю переводчик с Английского и эсперанто с ИИ.
Внутри пристутсвует описание семантики фраз и морфологии русских слов.
Есть возможность обучения словарей в диалоговом режиме.
Есть операции автоматической разметки словарей.

Можно испоьзовать как промежуточный транслятор с искусственного как эсперанто или ЛожБан (требуется составить словарь с разметкой) на естественный язык. С учетом возможностей нечеткой логики ЛожБан можно компилировать в Пролог программу (Логический язык).

Нету:

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


Информация для всех и особенно философов о том как скопировать репозитарий:

git clone https://github.com/Ignat99/prawda/tree/feature

Дальше следовать инструкциям в файле README.md

https://habrahabr.ru/post/125799/
https://habrahabr.ru/post/125999/

Настоящий ИИ словарь. С синтаксисом и морфологией. Как туда добавить семантику я тут распространялся на 3 страницах. Больше ну буду. Кому надо тот сам сделает.

Семантика в первоначальном философском смысле.

А не в смысле языков программирования - там все достаточно понятно:

Операционная семантика - форт.
Аксиоматическая семантика - пролог.
Денотационная семантика - любой язык с лямбда исчислением, лисп.
Интерпретационная семантика - ассемблер.
Трансляционная семантика - паскаль.
Трансформационная семантика - рефал, bison
Семантика логических связок - coq, thor


https://en.wikipedia.org/wiki/Domain-specific_language

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

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

53

Re: Программное обеспечение

fuzzy logic

А вот что пропагандисты Чингизхана считают (не совсем верно, но есть вещи о которых не пишут в интернете - например названия и характеристики некоторых ЭВМ, поэтому традиционно ссылаемся на Америку):
http://www.kprf.org/showthread.php?t=11311&page=17

Не нужно квантового. Достаточно троичного компонентного базиса на первое время (А не БИКМОП, как сейчас). И то только  с целью экономии в 2 раза площади кристалла.

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

https://github.com/ternary-info/DDT
http://www.nedopc.org/forum/viewtopic.p … &t=169

54

Re: Программное обеспечение

Автор: *

Мне не очень хочется с Вами спорить, я хожу зафиксировать два факта:
1. Для тьюринг-полного обработчика нет разницы между булевой и любыми прочими логиками. Никакой качественной разницы, всё решается и обрабатывается.
2. Мой опыт (и реальная жизнь) говорит о том, что сейчас основная задача -масштабирование, а не оптимизация. Если задача требует камня и памяти, то купить более быстрый камень и больше памяти - это самое простое и дешевое решение. smile:)


1. Да вы можете на ДВК эмулировать машину Поста - я не запрещаю. А на ней уже Калькулятор, а на нем Пентиум, на нем Микрокоманды, на них ассемблер с библиотеками написанными на Си, на них Скриптовые языкие, а на них Браузер. Американцев в школе учат плохо - они так и делают.

2. Скоро Китай объяснит сколько на самом деле стоят системы с использованием редкоземельных материалов. А Япония добавит свои 5 копеек по поводу арендной платы за каждый новый чип, каждый месяц. Не выкидывайте старые камни - пригодится, в интернет ходить Биткоины переводить.

55

Re: Программное обеспечение

Автор: *

эмулятор калькулятора с трассировкой микрокода
http://files.righto.com/calculator/sinc … lator.html

первые микропроцессоры, до Intel 4004 были ещё целых 3 штуки, я слышал про один для самолета, что его засекретили и поэтому первым долго считался 4004
http://www.righto.com/2015/05/the-texas … first.html

То есть вы предлагаете ИИ вот на этих чипах делать?

Я под микроконтроллер с 8080 делал программу для управления заряда батарейки со сплайнами. Примерно представляю возможности этих ядер и как на них делать предсказания.

Статью написал про современные китайские смарт часы (в них близкое по вычилительным возможностям ядро). Смотрел исходный код ОС от МТК.

Мне кажется, что если бы добавить троичное АЛУ то можно было бы получить некие "интеллектуальные" возможности. Цены на кефир например сравнивать в магазинах ...

А без такого троичного АЛУ у них не скорости не памяти не достаточно для каких то вычислений и предсказаний необходимых в реальной жизни. На эмуляторе (ассемблере встроенном для 8080) просто всю память займете и места на данные и алгоритм не хватит.

56

Re: Программное обеспечение

Автор: *

Шифровать намного проще, чем расшифровывать. Совсем просто делает и шифрование, которое квантовый компьютер не возьмет. Сейчас с квантовым компьютером наверно можно только перехватить спам на mail.ru

Многие пароли от социальных сетей в открытом доступе лежат. Какой квантовый компьютер, если легче посадить Яндекс бар какой нибудь на клиента и обновлять?

57

Re: Программное обеспечение

Автор: *


Раньше делали вычислительные блоки целиком аппаратно. Потом придумали процессор и сложности перенесли в софт. Вот эти первые процессоры типа 4004. Их назначение было уменьшить количество железа, но продолжать складывать и умножать числа. Это просто специализированная микросхема среди прочих вроде усилителя НЧ или декодера телесигнала. Видимо у нас это называли "малая ЭВМ". Они и сейчас стоят в калькуляторах. Посмотрите как он умножает два больших числа, там заметная задержка, это он выполняет программу и из отдельных бит собирает ответ. А ЭВМ совсем с другой стороны получается, это оргтехника, техническое устройство для офисов, там задачи хранить много информации в больших накопителях, передавать по проводам на дальние растояния, отображать по-разному, например принтер это тоже нужная деталь, там вычислитель небольшая часть. А калькуляторный процессор это способ перенести функционал из железа в софт.

В Линуксе полно хороших програм - Electric, Magic для проектнирования микропроцессоров в том числе на уровне Верилога. Не тратили бы время - занялись самообразованием.

Я уже вижу, что простые логические выводы в математических или графических абстракциях это не для вас.

А так хотя бы разобрались как чипы работают. Начали бы делать код и под него затачивали бы архитектуру процсессора.

Сейчас в вашем ответе нет конкретики. Где граница между калькулятором и SoC?

58

Re: Программное обеспечение

Логика_разделения#Применение и реализации

https://ru.wikipedia.org/wiki/Coq

Только что в стандартном Линукс появились пакеты с документацией на этот язык.

То же самое что я уже сказал по Импликации и нечеткую логику на протяжении 3 последних страниц.

59

Re: Программное обеспечение

https://en.wikipedia.org/wiki/Bunched_logic

логики пучковых импликаций

60

Re: Программное обеспечение

Автор: *


- Иганат, просто наберите в поисковике "ЭВМ с динамической архитектурой" (Кушнеров, Плюснин), и Вам многое станет понятнее. М.б. "догоните"! smile

Кстати, у МДА я главный конструктор был. Это Вам вместо ссылки, если Вам лень в раздел "Публикации" заглянуть. А с какой стати я, вообще, Вам должен чего-то доказывать?

http://www.computer-museum.ru/histussr/dynaarc.htm

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

TMS320C30 фирмы TI это было на кафедре информатики в МИэТ но не мой факультет, хотя паскаль я на той кафедре изучал (на самом деле я его знал до института в 1988).

На структуре батерфляй для быстрого обратного преобразования фурье. Я делал проект для министерства внешнеэкономических связей в 1996 - сделал распознование коротких гудков на сигнальном процессоре ADSP18XX. Адресация там вращением части адреса делалась. У вас наверное так же?

61

Re: Программное обеспечение

я хотел сказать что у программистов то же есть термин семантика.


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

А вы все время про семантику в человеческом понимании говорите. Как я и написал выше пока только есть импликации, потому что нет общепринятого стандартного языка описания реальности.

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

И скорее всего всплывет совсем под другим названием.


Вот пример одной и той же семантики (смысла) с абсолютно различными названиями:


Последние 3 страницы я упомянул много терминов (импликации, нелинейная логика, нейронные сети), а смысл один (на момент 1965-1968 годв).

1.Берется поле, разбивается на куски (сеткой, деревом, скаттером (не знаю как по русски - рамочками?)).
2.В местах связывания кусков вводиться склейка на подобие сплайнов.
3.И определяется обратная импликация (обучение) для этой структуры.
4. По направлению к ряду правил А (которое вообще то сложное логическое выражение с синтаксисом, и несет семантику в зависимости от контекста в "голове" у запускающего автомата (переменных среды окружения или просто содержания поля параметров что одно и то же, разница в наличие или отсутствии операционной системы) или в зависимости от отсчетов сенсоров.
http://www.cs.princeton.edu/courses/arc … .htm#E7E50
5. Во всей этой куче надо правдами и не правдами найти, например, минимум (желательно не локальный).
6. Функции "управлятора" сводятся к покажу точки откуда идти и направления куда идти (если эта точка вершина). Неправильно выберут - получиться тормозной результат. Выберут случайно правильно - получиться случайно очень "умный" результат.
7. Альпинисты делают точно так же и поэтому часто погибают. Не погибают те у которых есть план маршрута до выхода. Хотя решения в процессе похода принимаются по обстоятельствам (наборам стандартных эвристик). Мозги альпинистам только мешают - потребляя кислород черезмерно.


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

Как в прочем не верны представления в голове у отдельных представителей ЕИ по отдельным вопросам (включая автора этого текста). Например видели мы с 1985 года много методов, и нейро-сети на панацея. А вот Лисп с Ассемблером как существовали с момента первого "персонального" компьютера TX-0, так и продолжают быть. Как и симуляторы этих систем. Вот обнаружил совсем свежие пакеты в Линуксе - симулятор TX-0, симулятор старой IBM, симуляторов "Сетуни" штук 5.

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

https://ru.wikipedia.org/wiki/Coq

То есть незаметно энтузиасты поднимают "программисткую семантику" на новые высоты.

62

Re: Программное обеспечение

http://github.com/Ignat99/Trim/tree/master/doc

Скриншоты визуальной среды програмирования от 2000 года. Хотел сделать с визуальным метопрограмированием разбив код на XML блоки. Но поразмыслив отказался от этой затеи.

http://github.com/Ignat99/Trim/blob/master/doc/Market.gif?raw=true

63

Re: Программное обеспечение

учебник Ocalm по-русски
http://gen.lib.rus.ec/book/index.php?md … 8BC0F31E8E

64

Re: Программное обеспечение

ignat99:
Про Форт чего-нибудь про дедлоки не попадалось?
Я играю в пасьянс Паук, там несколько стеков и регистров. Иногда тупиковые ситуации получаются. К чему бы это? В теории вычислимости нет такого явления, чтобы просто заклинило. Может только закончиться, зациклиться или уйти считать в бесконечность.
Игра сначала кажется просто неподъемной, хочется программу написать чтобы играла. А потом сам начинаешь видеть шагов на 8 вперед и многое получается разложить.

65

Re: Программное обеспечение

Если про Дедлоки на уровне процессора (инкрементальные и атомарные операции и переключение контекста), то надо делать в железе (точнее взять готовое в виде IP блока) IMHO.

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

Главное ограничение это глубина стека. И еще одно время перебора большого стека (например на внешнем носителе памяти).

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

Ешё в Форте бывает проблемы со словарями (которые подменяют функции-словарные статьи).

В Прологе бывают точки отката. Если вы перебираете дерево и у вас случился дедлок, надо вернуться к последней точке отката и продолжить выполнение в новой ветви (в обход тупиковой).

А вот где в программе выставить точки отката, это уже программист решает сам.

66

Re: Программное обеспечение

С несколькими стеками может получиться виртуальная параллельная машина, а там новые проблемы. Дедлок ещё обнаружить надо. Интерпретатор просто зациклится, а будет думать, что нормально работает.

67

Re: Программное обеспечение

В Форте из за ограничений размера стека, скорее всего сек кончится и программа остановиться. Это в обычной программе.

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

IF ELSE не родной оператор для Форта, поэтому за всякий Форт не сказать. Да к тому же Форт чтобы работал в режиме интерпретатора надо выдать специальную команду.

68

Re: Программное обеспечение

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

69

Re: Программное обеспечение

всякое про многозначную логику
http://iphras.ru/karpenko.htm

4-значная попадалась любопытная, вроде как кроме T и F ещё два субъективных состония и эти два человека считают друг-друга лгунами и перекидывают ответственность друг на друга. И циклы могут быть сложнее, чем в парадоксе лжеца.

И я все-таки не понимаю какие состояния могут быть у функции кроме как выполнили/ не выполнили.

70

Re: Программное обеспечение

Может быть смысл это модель.

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

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

71

Re: Программное обеспечение

Так и есть, модель, но в данном случае это скорее не философский вопрос о смысле смысла, а о том как симулировать похожий на осмысленный текст. Во первый русский язык для этих целей куда более геморойный из за окончаний и тп. во вторых самое существенное в этом деле это экстракция сущностей и отношений, что является чем и что с чем как связанно. К примеру “мама мыла раму”, имеем сущности мама и рама, связанные предикатом мыть, у каждой сущности есть спектр свойств и отношений с другими сущностями, чтобы текст не звучал как бред не должны быть нарушены явные взаимосвязи.

72

Re: Программное обеспечение

Ну я не буду говорить про других зачем кому оно надо, я сам по работе занимался пару лет назад алгоритмами распознавания плагиата в документах и касался поэтому NLP. Задачу решил, подробности раскрывать не имею права.

73

Re: Программное обеспечение

https://github.com/Ilmen-vodhr/ilmentufa

Вот синтаксический разбор и да же немного грамматики гораздо более развитого языка чем Prolog - Lojban.

Готовые файлы:
http://spel.sourceforge.net/src/web/spel.html

Ссылки:
https://www.reddit.com/r/lojban/comment … ogramming/

74

Re: Программное обеспечение

bge .L8
ldmfd sp!, {r4, r5, r6, r7, r8, lr}

Буковки ge означают - Signed greater than or equal N (флаг знака) == V (флаг переноса)

========================

А теперь предположим, что у нас в регистрах логический синтезатор. И мы как раз смотрим на триплет либо с умножить/поделить, либо с сложить/вычесть.

Или да же более глубокая функция на несколько уровней.

Можем ли мы использовать эту функцию для пре-индекстного указателя пространства стека (sp)?

75

Re: Программное обеспечение

Нужна для работы теория полупроводников и полупроводниковых приборов в части физико-математического аппарата:

a) по части математики работы с сигналами
b) по части электретов для запоминания на долго большого объема информации (для размещения логической функции в энергонезависимой памяти большого объёма сроком до 100 лет)
в) по части графенов и микро вакуумной техники (к сожалению точные радары не работают без этого) и квантовых вычислителей на электро-слабом статическом поле
г) по части диакопики - для расчёта электро-магнитно-диэлектрических цпей/трактов.
д) в качестве промежуточного шага подойдёт любая ПЛИС с ядром ARM ( типа http://zedboard.org/product/zedboard)

Вот по последнему пункту - ядро ARM обрабатывает логический синтезатор abc (http://www.eecs.berkeley.edu/~alanmi/abc/) и генерирует быстро работающую комбинационную схему для сенсоров, или комбинаторную логику, или загружает Linux TCP/IP стек прошитый в железе для HFT (высоко частотной торговли включая протокол FAST/FIX), или программу для управления боевой машиной (https://www.youtube.com/watch?v=HE3f7oNFTlE) и т.д.

Понятно что чудес не бывает и все эти блоки должны быть написаны заранее группой опытных проектировщиков. А вот поиск лучшей комбинации блоков и размещения можно отдать на откуп синтезатора. Да будет перерасход от 10-30% поверхности ПЛИС - зато быстро.

P.S: https://habrahabr.ru/post/249413/ - что такое комбинаторная логика
P.S.S: аппаратная сортировка улучшает показатель с n*log(n) (для метода хипа) до 2*n (https://habrahabr.ru/post/222287/), непрерывная логика может ещё более улучшить этот показатель.