Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2008.05.11;
Скачать: CL | DM;

Вниз

Алгоритмы искусственного интеллекта   Найти похожие ветки 

 
Andy BitOff ©   (2008-03-27 22:02) [0]

на языке PROLOG.
О, какую книжку нашел. В тему разговора "Как сравнить строки на "похожесть"?". Правда сам не читал.

http://www.bs-books.ru/ws/29/2841.htm
http://oz.by/books/more1012496.html
Автор: Иван Братко

Интересно, что автор пишет, что "Книга предназначена для тех, кто проходит обучение в области языка Prolog и искусственного интеллекта или интересуется этими перспективными направлениями. От читателя не требуется наличие знаний в области искусственного интеллекта. Не обязательна также значительная подготовка в области программирования."


 
Поп Гапон   (2008-03-27 22:35) [1]


> Andy BitOff ©   (27.03.08 22:02)


Щас... Prolog - обычный функциональник, никакой магии.


 
Rouse_ ©   (2008-03-27 22:55) [2]

Мне в свое время нравился LISP в этом плане... Жаль забросил, а уж сейчас и задач таких нет по работе...


 
Игорь Шевченко ©   (2008-03-27 23:15) [3]


> на языке PROLOG.
> О, какую книжку нашел.


Спохватился :) Такие книжки были актуальны лет 20 с лишним назад.


 
Denis__ ©   (2008-03-28 08:55) [4]

Алгоритмы "на языке"? и почему до сих пор ни кто не орёт, что алгоритмы от языка не зависят? Или в PROLOG-е какие-то свои, не такие, как у всех алгоритмы? :)


 
oldman ©   (2008-03-28 08:57) [5]


> От читателя не требуется наличие знаний в области искусственного
> интеллекта. Не обязательна также значительная подготовка
> в области программирования.


И знания русского языка.
Книга в картинках.


 
oldman ©   (2008-03-28 09:02) [6]

Оглавление
Глава 1. Введение в Prolog
Глава 2. Синтаксис и значение программ Prolog
Глава 3. Списки, операции, арифметические выражения
...
Глава 14. Логическое программирование в ограничениях

Глава 16. Командный интерпретатор экспертной системы

Глава 17. Планирование

Глава 21. Обработка лингвистической информации с помощью грамматических правил

Глава 22. Ведение игры

Е-мое, пардоньте... Курс "универ и выше" за полчаса...


 
alexeis ©   (2008-03-28 09:02) [7]


> Denis__ ©   (28.03.08 08:55) [4]
> Алгоритмы "на языке"? и почему до сих пор ни кто не орёт,
>  что алгоритмы от языка не зависят? Или в PROLOG-е какие-
> то свои, не такие, как у всех алгоритмы? :)


Таки да :-)
немного не такие как у всех алгоритмы)))


 
Denis__ ©   (2008-03-28 09:05) [8]


> немного не такие как у всех алгоритмы

Это как?


 
alexeis ©   (2008-03-28 09:27) [9]


> Это как?


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

Думаю здесь скрывается разница с алгоритмами как у всех


 
Jeer ©   (2008-03-28 09:31) [10]

Вы еще в Форт загляните, будете приятно поражены "не той" логикой стековой машины.


 
Denis__ ©   (2008-03-28 09:36) [11]

мне надо вычислить (2+2)*2. Как PROLOG это будет делать ?


 
Palladin ©   (2008-03-28 10:01) [12]

Он введет тебя в транс и ответ придет из космоса


 
han_malign ©   (2008-03-28 11:28) [13]


> Или в PROLOG-е какие-то свои, не такие, как у всех алгоритмы? :)

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

> мне надо вычислить (2+2)*2. Как PROLOG это будет делать ?

- вопрос ЧТО он с этим будет делать, потому как отдельно утверждение "(2+2)*2" - не является логическим выражением и смысловой нагрузки не несет...

- штурман, приборы
- 40
- что 40?
- я что приборы?


 
makvell   (2008-03-28 11:31) [14]


> Denis__ ©   (28.03.08 09:36) [11]
> мне надо вычислить (2+2)*2. Как PROLOG это будет делать
> ?


Там, если мне память не изменяет это нормально можно вычеслить, без извращений, а вот запрос по базе знаний на логический вывод будет что-то типа: делает(маша, ?)
при это в базе знаний должны быть записи типа: делает(маша, уборка); делает(маша, домашнее задание) и т.д. Вот в результате он выдаст список: уборка, домашнее задание.


 
Mystic ©   (2008-03-28 11:53) [15]

> Алгоритмы "на языке"?

(1) Обычно выражение, которое указывает, что в данной книге все алгоритмы представлены на языке пролог. Взять хотя бы книгу "Фундаментальные алгоритмы на языке C++"

(2) Программирование на прологе имеет свои особенности.


 
Alkid ©   (2008-03-28 12:10) [16]


> Щас... Prolog - обычный функциональник, никакой магии.

Не обычный он функциональник. :)
Я щас серьёзно увлёкся альтернативными парадигмами программирования, изучаю диалекты LISPа и Prolog.
Весьма занятная штука, способствует просветлению. Теперь страдаю по отсутсвию в С++ некоторых вкусностей :)


 
Mystic ©   (2008-03-28 12:48) [17]

> Я щас серьёзно увлёкся альтернативными парадигмами программирования,
>  изучаю диалекты LISPа и Prolog.


Я вот читаю книгу на Haskell. Штука конечно забавная, но серьезно применять не охота :) Я вообще-то скорее выступаю за систему, где бы можно было легко смешивать языки.


 
Alkid ©   (2008-03-28 12:54) [18]


> Я вот читаю книгу на Haskell. Штука конечно забавная, но
> серьезно применять не охота :) Я вообще-то скорее выступаю
> за систему, где бы можно было легко смешивать языки.

.NET? Хаскель я не пробовал пока изучать, отзывы о нём пугающие :)
Касаемо смешения языков - поддерживаю. Разные аспекты задач оптимально решать, используя разные языки программирования.  В этом смысле, кстати, LISP смотрится интересно, ибо в нём можно реализовать какой-нибудь подъязык.


 
Huan   (2008-03-28 12:56) [19]

Mystic ©   (28.03.08 12:48) [17]

Насколько мне известно, в ghc встроен g++ (или его можно встроить при сборке), поэтому он может компилировать исходный код на с++.


 
Mystic ©   (2008-03-28 13:10) [20]

Да, похоже на .NET. Но я не настолько хорошо знаю MSIL чтобы ответить на вопрос, все ли в нем есть.

Haskell достаточно интересный язык, но книга о нем конечно уникальная. 99% ссылок ведут вперед, такое ощущение, что книгу надо читать с конца. Автор считает язык Haskell настолько выразительным, что о некоторых моментах просто ничего не говорит. И когда в последующих главах это объясняется, ты говоришь себе: "Вот в чем там было дело!" Ну и т. п.

Подъязык мне проще реализовывать все-таки на Delphi :)


 
Alkid ©   (2008-03-28 13:19) [21]


> Да, похоже на .NET. Но я не настолько хорошо знаю MSIL чтобы
> ответить на вопрос, все ли в нем есть.

Да, там всё есть. В конце концов, он тьюринг-полный :) Кроме того, реализации LISP- и PROLOG-подобных языков для .NET есть. Правда пока не видел таких, которые бы до промышленного уровня доросли.


>
> Haskell достаточно интересный язык, но книга о нем конечно
> уникальная. 99% ссылок ведут вперед, такое ощущение, что
> книгу надо читать с конца.

Рекурсивное написание книги. :)


 
Alkid ©   (2008-03-28 13:20) [22]


> Подъязык мне проще реализовывать все-таки на Delphi :)

Гм. У тебя получится интерпретатор другого языка, а в LISPе у тебу получится встроить язык в САМ LISP, т.е. приобрести новые вкусности, не потеряв возможностей базового языка.


 
Mystic ©   (2008-03-28 14:03) [23]

> Да, там всё есть. В конце концов, он тьюринг-полный :) Кроме
> того, реализации LISP- и PROLOG-подобных языков для .NET
> есть. Правда пока не видел таких, которые бы до промышленного
> уровня доросли.


Какие есть сомнения?
1. Шаблоны. Если у меня есть некоторый
template <class T, int size>
 class MyClass

Насколько информация в сборке достаточно, чтобы его использовать в другом языке, который понимает такие шаблоны? Т. е. хотелось бы, чтобы информация в сборке записывалась в виде иерархий. На нижнем уровне идет уровень процедур/функций, но более высоком уровень классов, на более высоком --- уровень шаблонов. И т. п. Ну и чтобы был язык некоторой частной специализации, чтобы можно было написать
typedef MyClass<int, 16>
И затем использовать этот тип в языке, в котором нет шаблонов.

2. Хотелось бы узнать, как хранится unsafe код, в виде нативного бинарного кода или так же в MSIL.

В общем сыро пока что... Я пока не совсем знаю, что я хочу, потому не совсем знаю, подходит ли .NET.


 
Alkid ©   (2008-03-28 14:57) [24]

1. C шаблонами так не получится, это чисто С++-прикол. Там есть некоторый аналог - дженерики. Они полностью  описываются метаданными и доступны извне.
2. Как Safe, так и Unsafe код хранятся изначально в виде MSIL, а потом компилируются в нативный код.



Страницы: 1 вся ветка

Текущий архив: 2008.05.11;
Скачать: CL | DM;

Наверх




Память: 0.53 MB
Время: 0.024 c
15-1206683227
oldman
2008-03-28 08:47
2008.05.11
Переход на летнее время и обратно (в Windows)


15-1206609144
Denis__
2008-03-27 12:12
2008.05.11
Edit и звук.


2-1208161609
lod
2008-04-14 12:26
2008.05.11
Разбить определёный периуд времени на недели.


2-1208158875
Наташа
2008-04-14 11:41
2008.05.11
Как предотвратить исчезновение директив и комментариев в uses?


15-1206471007
Informer
2008-03-25 21:50
2008.05.11
А в чем смысл?