LINUX.ORG.RU

Prolog. Тема для диплома.


0

3

Я собралась писать диплом, в котором бы весомую роль играл пролог. И вообщем после разговора с моим руководителем оказалось, что мы не можем найти подходящую тему для диплома. Важно, чтобы работа бы хотя бы теретически полезна для использования на практике. И чтобы можно было объяснить почему именно пролог хорошо тут использовать. Он высказывал идею, если совсем ее сократить, то перевод пролог програм на java. А разве такого еще нет? Да и главное, что я абсолютно не представляю как это сделать. А вторая его идея была, что написать модуль по работе с БД для сайтов. Но меня от этой темы отговаривали поскольку якобы в этом нет практической пользы, т.к sql может все, и меня на защите просто завалят. Может у кого есть какие идеи, буду очень благодарна.

Ответ на: комментарий от dmsh

> Если хочешь полезного, сделай приличный ffi к swi-prolog, например

Всякое ненужное говно вроде «анализа естественного языка», «перевода программ на джаву», «семантические сети», «экспертные системы»

А для чего используется тот же SWI-Prolog, если не для такого «говна»?

tailgunner ★★★★★
()

Я давным давно писал курсовик: экспертную систему для починки неисправностей в автомобиле. Взял какие-то открытки с чартами поиска неисправностей и забахал кучу правил.

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

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

> Например вот:

Круто. Какой у них Prolog?

Можно еще ссылок? А то я нашел древний BinProlog, скомпилировал, и теперь думаю, к чему бы его применить :)

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

Судя по http://meego.gitorious.org/maemo-multimedia/policy-settings-basic/blobs/master/configure.in у них как раз swi.

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

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

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

Вай-вай-вай! Если девочка осилит «анализа естественного языка», «семантические сети», «экспертные системы» и т.п. - то легко сможет (на своих условиях!) получить работу в том же Google или Yandex, и не каким-нибудь там простым кодером, а ты и дальше пили по вечерам «приличный ffi», в надежде, что кому-то понадобится твой эксклюзивный молоток. Походу, ты совсем не представляешь, насколько важен «анализ естественного языка».

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

Походу, ты совсем не представляешь, насколько важен «анализ естественного языка».

А ты походу один из немногих носителей этого сакрального знания? Ну что же... просим!

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

Так что же ты просишь? Может, примеры идей? Или что-нибудь ещё? :)

anonymous
()

(кто-нибудь должен был это написать)

Уважаемая grumzik! Я искренне полагаю, что вам будут помогать с дипломом намного охотнее, если вы продемонстрируете пользователям ЛОРа свою обнаженную грудь.

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

> (кто-нибудь должен был это написать)

«Всех учили. Но зачем ты оказался первым учеником, скотина такая?» (с)

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

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

хотя к написанию программы на языке, который нравится это врятли относится.

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

>экспертная система, которая сможет по коду на входящем языке сказать >что код имеет проблемы и требует рефакторинга. Отправная точка тут >http://en.wikipedia.org/wiki/Code_smell

А так как симптомы мягко говоря нечёткие, то реализация - пролог. Для >диплома взять анализируемый язык попроще. Дальнейшее развитие до >mainstream языков тянет минимум на кандидатскую и коммерческий продукт.


плюсую, можно начать со статичского анализатора.

gcc 4.5 чтобы разобрать код языка и его система плагинов
делать типа вот этого но с прологом
https://developer.mozilla.org/en/Treehydra
получить что-то такое
https://developer.mozilla.org/en/Dehydra

использовать абстрактную интерпретацию(модная тема)
http://en.wikipedia.org/wiki/Abstract_interpretation

для начала доказывать инварианты циклов и что-нить в этом духе
при этом задавать инварианты вручную в комментариях в коде
(потом можно научиться их автоматически находить)

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

такой вот вектор получился

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

иногда бывают области

судя по тому, что в посте упоминания области нет вовсе, это не тот случай

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

jtootf ★★★★★
()

Проблема анализа естественного языка. Например, некоторые сленговые понятия определяются в виде замыканий в языковой среде некоторой группы и с трудом или не точно могут быть выражены и объяснены явно в отрыве от контекста, который ещё нужно выявить. Что означает, к примеру, «берёшь ту хреновину и херачишь по этой загогулине пока та херотень не наебнётся» зависит от жаргона в конкретной группе общения. Это проблемы автоматического перевода на другие языки. Неинтересно?

Тогда, сюжет и семантические сети. Представь себе online-игру, в которой тысячи игроков играют одновременно, но у каждого свой личный автоматически сгенерированный сюжет, обозначенный уникальными сгенерированными сюжетными квестами, от выполнения или не выполнения которых будет зависеть игровое будущее игроков и NPC, но, при этом, все сюжеты увязаны друг с другом и образуют связную единую игровую вселенную (невырождающийся динамический сюжет), а? Может получиться интересно. Или автоматическая генерация сюжетных квестов по популярной нынче книге или фильму? Это проблемы декомпозиции, объединения и сопряжения.

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

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

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

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

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

и выбирали из столь же родственных вариантов - вроде транслятора и интерфейса к БД? неужто совсем конкретики не было? не верю

jtootf ★★★★★
()

Блджад, ну über-толсто же. Как вообще можно на такое вестись? ЛОР не торт, и никогда им больше не будет.

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

да тут и аргументация студента тоже убивает, вроде фраз «sql может всё». С одной стороны написано, что очень нравится пролог, с другой судя по описанию даже незнание killer-фич и областей применимости языка.

По теме: автоматическое распараллеливание (хотя бы добавление директив openmp) уже называли?

qnikst ★★★★★
()

ну и ананизм нафлудили :( топикстартеру сходите в собственном вузе в собственный деканат или кафедру и узнайте сколько тупых справок они пишут по запросам всяких вышестоящих инстанций. Напишите им систему которая из известных обычных экзаменационных ведомостей выводит ответы на умные вышестоящие запросы «сколько беременных доцентов старше 60 лет читали лекции студентам в зеленых пиджаках»

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

сколько беременных доцентов старше 60 лет читали лекции студентам в зеленых пиджаках

Yes.

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

> Напиши терминал на prolog'e с интеллектуальным парсером: вводишь текстом что хочешь сделать, он тебе выплёвывает предлагаемые маны.

Хорошо хоть не «он это делает.»

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

Между прочим, у меня Prolog читали именно в курсе дисциплины «Искусственный интелект в системах управления и автоматики»

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

А чё? Вот бы было классно, ввожу в консоли «я хочу удалить пустые строки в файле», а он мне раз — и открыл help по sed'y на нужном месте и ещё help по awk'y, perl'y и python'y предлагает просмотреть.
ВОт до чего техника дошла :)

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

Просто вспомнил про это.

Вот бы было классно, ввожу в консоли «я хочу удалить пустые строки в файле», а он мне раз — и открыл help по sed'y на нужном месте и ещё help по awk'y, perl'y и python'y предлагает просмотреть.

Какой-то странный у тебя ИИ, самое очевидное не предложил — «grep '.'» :)

geekless ★★
()

есть идея. Про составление диаграмм Гантта, планирование проектов на Прологе. Гугли доклад А.Н.Непейводы на конференции в Переяславле-Залесском, он расписывал профиты от самописного средства сетевого планирования на прологе. Хотя да, с научной новизной тут туго — уже есть, но может в реализации или в задачах на стыке с планированием проектов нащупаешь чего-нибудь новое.
http://heap.altlinux.org/pereslavl2008/

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

> Короче, суть такова: скармливаешь программе, например, детектив (художественный текст), и программа строит семантическую сеть http://ru.wikipedia.org/wiki/Семантическая_сеть выбирая объекты и какие-либо типы отношений между ними. Задача: найти преступника и доказательства его подлой деятельности. Кроме прочего, можно выявить генеалогические деревья персонажей, чем занимаются и выяснить их роль и личный вклад каждого в этой непростой детективной истории. (Можно грабить караваны. :)

ну, кто-то вроде Борхеса вообще писал что вечных сюжетов не то что счётное, а очень небольшое количество, а чем худло-текст отличается от нехуд. лит., так это тем, что первый расказывает историю, а второй даёт информацию. В истории есть персонажи, прописаны характеры, есть какой-то внутренний конфликт — характеров или ситуаций, поэтому на противоречиях возникает действие, движение, завязка, развязка, кульминация и воопче катарсис :))
Посему идея: задавать ролевую модель персонажей, характеров и общую канву сюжета, скармливать телефонный справочник на узбекском языке с картинками, натравить на это марковские цепи, авторский стилевой замес и получать на выходе дамский роман по типу Донцовой, прости Господи :))
Если получится связный интересно читаемый расказ хотя бы страниц на 3-5, уже можно медаль давать автору :))
типа http://referats.yandex.ru/ , только в комиксах и картинках :))

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

> Что означает, к примеру, «берёшь ту хреновину и херачишь по этой загогулине пока та херотень не наебнётся» зависит от жаргона в конкретной группе общения. Это проблемы автоматического перевода на другие языки. Неинтересно?

То есть, когда на лоре просят «TITS or GTFO», это проблемы перевода, да?
А подразумевают при этом что-то другое?

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

>> Напиши терминал на prolog'e с интеллектуальным парсером: вводишь текстом что хочешь сделать, он тебе выплёвывает предлагаемые маны.

Хорошо хоть не «он это делает.»


БД поиска по кухонным рецептам же. С похожим вкусом.

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

свитер + борода + троллинг + Prolog === Интересный тред

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

>Prolog + баба + троллинг === 100% свитер + борода. Ну-ну, мужской шовинизм прет изо всех дыр. Конечно, ведь твое чувство собственного величия не допускает, чтобы существовала баба, которой нравится какой-то нераспространненый язык программирования.

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

Очень благодарна тем, кто пишет тут свои идеи. Очень многие заинтересовали. И еще признательна тем, кто только и умеет, что обсирать другого или думать про обнаженную грудь.

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

Будь спокойней. Темы про ФП\Lisp\Haskell и др. не особо распростанённые языки(а так же некоторые дистибутивы Linux) притягивают большое кол-во троллей. Лучший способ борьбы с ними - игнорирование :)

Norgat ★★★★★
()

Какая-нибудь тривиальщина, вроде планирования движения поездов, уже не рассматривается? :]

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

Возмутительно, в теме про пролог только два раза упомянули лисп!!!
Попробую несколько оживить тред.

Я бы очень настоятельно порекомендовал прелестной grumzik,
которой «нравится какой-то нераспространненый язык программирования»,
познакомиться с Pilog - встроенной в PicoLisp реализацией пролога.
Там удалось создать реализацию весьма серьезной СУБД вообще не используя SQL, а только пролого-подобные конструкции.
При этом выразительность запросов к базе и производительность при их обработке, пожалуй, только увеличилась.
Особое наслаждение вызывает возможность встраивать пролог код в лисп и лисп-конструкций в пролог.

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

> Походу, ты совсем не представляешь, насколько важен «анализ естественного языка».

Походу, ты совсем не представляешь, насколько современные работы в NLP далеки от дохлого проложика. Сейчас весь NLP делается на Java.

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