LINUX.ORG.RU

Международный чемпионат по искусственному интеллекту

 ,


1

0

Опубликованы результаты международного чемпионата в области AI, организованного в университете Ватерлоо (Канада), при спонсорской поддержке Google. Приятно было увидеть в числе финалистов несколько представителей из России. Удивительным оказался тот факт, что среди победителей, попавших в top10, все 100% использовали язык C++.

>>> Подробности



Проверено: boombick ()
Последнее исправление: hibou (всего исправлений: 1)
Ответ на: комментарий от anonymous

> Грабли в backtracking-е, когда один шаблон обломался, и надо вернуться проверять второй.

А разве они не последовательно проверяются? На сколько знаю, в ML строго последовательно. В хаскеле шаблоны могут быть ленивыми, но тогда я уже не помню, как ведет себя система. Или это такие хитрые шаблоны, чем-то напоминающие программу на прологе?

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

> Так и запишем - что такое алгебра ты не знаешь.

Вычисления - это частный случай преобразований.

http://en.wikipedia.org/wiki/Symbolic_computation

Прочитал... вот что пишет ваша англицкая википедия

Symbolic computation or algebraic computation, relates to the use of machines, such as computers, to manipulate mathematical equations and expressions in symbolic form ...

И что там такое, что выходит за рамки того, что уже говорил ранее... там идет речь о применение «Symbolic computation» при манипуляции с «mathematical equations»(математическими уровнениями) и выражениями в символьной форме. И где это в все применяется? В компьютерах — the use of machines, such as computers...

Где упоминание самой Алгебры, а?

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

> А мне уже нечего терять :-)))

Еще почти ничего не потеряно. Спор-то возник на пустом месте. Так же и просто мог бы быть разрешен, ан нет. Ты ведь, вроде бы, ничего такого неразумного еще не говорил. Кроме того поста про алгебру и вычисления, конечно. :)

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

> Ты сам их начал. Так что или бери свои слова про

символьные вычисления обратно,


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

Какой код тебе нужно то, упёртенький?

Я уже сказал - весь компилятор SBCL такой.



Ну это же очень просто, надо всего лишь открыть исходники SBCL (у меня они вот всегда под рукой), найти подходящий пример и запостить сюда: файл такой-то, строка такая то, обратить внимание на это. Почему вы до сих пор этого не сделали?

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

>а также ядерная физика. Это имеет значение?

Да, а что вы можете сказать про калибровочные поля смешанного типа симметрии с произвольными спинами? Вот сейчас мы и поглядим какой вы физик.

Sun-ch
() автор топика
Ответ на: комментарий от qsloqs

>Сколько я видел программистов все используют C, C++, Java, Asm. На остальное плюются.

Asm надо понимать, вставленный в тело ява программы?

Sun-ch
() автор топика
Ответ на: комментарий от dave

> Еще почти ничего не потеряно. Спор-то возник на пустом месте. Так же и просто мог бы быть разрешен, ан нет. Ты ведь, вроде бы, ничего такого неразумного еще не говорил. Кроме того поста про алгебру и вычисления, конечно. :)

На самом деле все, что тут творится — детский сад... потому что реальная работа программиста исчисляется работающими программами, а не высоким интеллектуальным трепом...

Кроме того поста про алгебру и вычисления, конечно. :)

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

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

>Не спроста же Линус писал ядро на С.

Это явы просто тогда еще небыло, иначе бы он зачеты хрен получил.

Sun-ch
() автор топика
Ответ на: комментарий от rjaan

>потому что реальная работа программиста исчисляется работающими программами, а не высоким интеллектуальным трепом...

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

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

> Да, а что вы можете сказать про калибровочные поля смешанного типа

симметрии с произвольными спинами?


Ничего, а что-то должен говорить? Я занимался воздействием радиации (в основном электронов и протонов) на солнечные элементы (ФЭПы). Вам это интересно?

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

Ну не знаю, вообще то, человек занимающийся ядерной физикой должен знать про калибровочные поля и я ошибаюсь?

Sun-ch
() автор топика
Ответ на: комментарий от dexter_mps

> а ктонить видел видео с профайла нашего - что на 23м месте? *ROFL*

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

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

Да очень простой, без знания теории типизированного лямбда-исчисления, компилятор хаскеля тебе не написать. И еще много чего.

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

> человек занимающийся ядерной физикой должен знать

про калибровочные поля и я ошибаюсь


Ошибаетесь, изучения воздействия высокоэнергетичных заряженных частиц на p--n-переход не имеет к этому особого отношения. Тем более, что я занимался не теорией, а по большей части практикой. Плюс, были ещё разные аспекты, типа тепловых моделей, или методики измерений параметров ФЭПов, поэтому на первом месте физика полупроводников, а на втором ядреная.

archimag ★★★
()
Ответ на: комментарий от Sun-ch

> Да очень простой, без знания теории типизированного

лямбда-исчисления, компилятор хаскеля тебе не написать


Ну так и не горю желанием. Я занимаюсь как-то больше более практичными задачами.

archimag ★★★
()
Ответ на: комментарий от Sun-ch

> Чуваки, которые придумали лисп, пролог, ML и прочие хаскели, между прочим, были профессорами. И только их широкий кругозор и отличная математическая подготовка позволили им сделать это. Это тебе не пых-пых на коленке залудить, для чего не надо бетта-редукции всякие знать.

А никто лисп, пролог, ML и прочие хаскели, не ругает, а вот С++ уже начинает обрастать никому непонятной терминологией :-)))

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

>Я сказал, что символьные вычисления в Common Lisp не имеют никакого отношения к алгебре.

archimag, любые *символьные вычисления* — это алгебра. «Работа с символами в CL» — это не обязательно *символьные вычисления*

При чём тут алгебра, до сих пор понять не могу.

Как можно говорить, что Х не имеет отношения к А, если ты не определить А?

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

> «Работа с символами в CL» — это не обязательно

*символьные вычисления*


Не обязательно, но обработка информации в символьном виде это символьные вычисления?

Как можно говорить, что Х не имеет отношения к А,

если ты не определить А?



Хорошо, какое отношения функция intern имеет к алгебре? Какое отношение к алгебре имеет функция get?

archimag ★★★
()
Ответ на: комментарий от Sun-ch

> Asm надо понимать, вставленный в тело ява программы?

наоборот же

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

Нет, конечно. Но психоанализ только за деньги! :)

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

>обработка информации в символьном виде

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

Под символьными вычислениями я в первую очередь имею в виду, например, то, что описывается в разделах 2.3.2 и 2.5.3 SICP.

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

> Сам перешел на него только 2 года назад, отличный язык

Расскажите, какие кромп С++ ЯП вы знаете?

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

> Не мог бы ты конкретизировать, что ты понимаешь под обработкой

информации в символьном виде. Похоже, что мы понимаем разное.


Я приводил примеры выше. В контексте Common Lisp я понимаю под этим вычисления связанные с встроенным типом данных symbol.

Под символьными вычислениями я в первую очередь имею в виду,

например, то, что описывается в разделах 2.3.2 и 2.5.3 SICP



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

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

> вычисления связанные с встроенным типом данных symbol

ну, особых-то *вычислений* у тебя там, вроде, не было. Или для тебя любое использование типа данных symbol — это «символьное вычисление»? Тогда это у тебя «неверное представление о предмете».

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

В первом приближении (да и большинство понимает именно так), символьные вычисления это и есть алгебраические преобразования. Насчет реальной практики — «it depends». У кого-то как раз это весьма полезная реальная практика.

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

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

> ну, особых-то *вычислений* у тебя там, вроде, не было.

cl-closure-template - это пример широкого использования символьных вычислений? Мне так кажется, что она просто пронизана ими.

у тебя довольно неожиданное и странное представление о том что такое

символьные вычисления и какова их польза



Почему странное? Символьные вычисления широко разрекламированы в старых книгах, в частности, указывается, что символьные вычисления было одним из леймотивов создания лиспа. Но эта алгебра, это дифференцированние совсем не выглядит чем-то достаточно значимым, что бы об этом стоило так много говорить. Это просто было возможно первым применением (кстати, реализованным на Fortran, а не на лисп). Я этого не понимал. Мне потребовалось время, что бы понять насколько важна работа с символами в Common Lisp, и что дифференцирование просто самый очевидный пример. Я ориентируюсь на дизайн языка, на его логику, на примеры практического использования и это даёт мне основания думать, что моё понимание значительно ближе к задумке авторов языка, чем эта пресловутая алгебра.

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

> Мне так кажется, что она просто пронизана ими

В каком файле исходников и где именно это раскрывается наиболее ярко? Ну, просто чтобы все исходники целиком не читать.

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

> В каком файле исходников и где именно это раскрывается наиболее ярко?

Во всех, там по сути и нет ничего другого, кроме символьных вычислений.

Кстати, другой хороший пример использования символьных вычислений - исходный код AIMA, реализация логики первого порядка.

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

cl-closure-template имеет следующие компоненты:

1. expression.lisp - парсер выражений (типа «$a + $b[3]»), по сути, это сильно переработаный infix.lisp из AIMA. Совершенно явный пример символьных вычислений, при чём точно не в алгебраическом стиле, поскольку обработка идёт посимвольно.

2. template.lisp - парсер тэгов шаблонов. Информация о правилах разметки сохраняется в свойствах символов, из которых потом собирается парсер, который выдает результата парсинга в виде s-выражения, содержащем символы и строки.

3. common-lisp-backend.lisp - преобразует распарсенный шаблон в символьное представление кода на Common Lisp и компилирует его в машинный код.

4. javascript-backend.lisp - преобразует распарсенный шаблон в символьную форму, требуемую для parenscript, с помощью которой потом компилирует в код на Javascript

5. t/cl-backend-test.lisp - тесты для CL бэкэнда. Используется lift, которая сохраняет всю информацию о тестах в символьном виде в свойствах символов.

6. t/js-backend-test.lisp - на основе символьной информации, сохраннёной в cl-backend-test.lisp генерит тесты для jsunittest.js в формате parenscript, с помощью последнего получает реальный javascript и запускает веб-сервер, в котором можно проверять результаты тестов.


Тянет на пример использования символьных вычислений?

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

Ещё могу рассказать про cl-routes, которая тоже суть и основной код двусторонняя унификация символьных выражений, представляющих распарсенные шаблоны url.

И вообще, символьные вычисления в веб-быдлокодинге рулят ;)

archimag ★★★
()

А чем собственно определение алгебры из русской википедии не подходит? КОторое про изучение множеств элементов и операций над ними. Вполне себе классическое. Не?

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

> А чем собственно определение алгебры из русской википедии не подходит?

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

archimag ★★★
()
Ответ на: комментарий от Sun-ch

> Наверное «С-машину» создать нельзя, в силу отсутствия подходящего формализма.

Саныч, ты хоть остатки связи с реальностью не теряй, а?

Чем тебе х86 не реализация с-машины? Если ты считаешь, что она таковой не является, назови те команды, которые нужно добавить в нее (и которые соответствуют каким-то конструкциям си), чтобы сишный код пошел исполнятся быстрее, чем он исполняется сейчас.

Для лиспа это будет хотя бы сдвиг направо тэгированных значений и умножение тэгированных значений.

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

Арчи, спокойствие :). Это я другому анонимусу писал. Может он всетаки осчастливит нас своим определением алгебры и символьных вычислений :).

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

> На самом деле все, что тут творится — детский сад... потому что реальная работа программиста исчисляется работающими программами, а не высоким интеллектуальным трепом...

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

Да и грабли знать заранее, до того как на них напоролся, весьма полезно.

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

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

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

> Если это было описание генерации и исполнения тестов, то в таком

контексте сивольными вычислениями было бы выдача формального

доказательства корректности или некорректности тестируемого



Перечитай заново, ты ничего не понял.

archimag ★★★
()
Ответ на: комментарий от Sun-ch

Я думаю да, я в туалете на перекурах слышал ихние разговоры. Очень странные люди =)

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

> Да и грабли знать заранее, до того как на них напоролся, весьма полезно.

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

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

> Вот только то, что ты выше описал не тянет на символьные вычисления.

Если это было описание генерации и исполнения тестов, то в таком

контексте сивольными вычислениями было бы выдача формального


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



Вдогонку, описал более подробно здесь: http://archimag-dev.blogspot.com/2010/03/2.html, может быть так поймёшь, хотя я уже не надеюсь.

archimag ★★★
()

Ну правильно, С++, а как иначе, если грамотно работать с STL/BOOST, то по простоте, скорости и надежности кода уделает любой другой язык.

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

Перечитай заново, ты ничего не понял.

anonymous> Лисп рулил (и до сих пор рулит) в другой связанной с AI областью - computer algebra systems, то бишь, символьная математика.

archimag> Открою большой секрет: символьные вычисления, являющиеся одной из самых сильных сторон лиспа, не имеют никакого отношения к алгебре...

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

dave, ты собственно что хочешь сказать?

Ты по прежнему считаешь, что:

Symbolic computation и algebraic computation - синонимы.

Фраза не твоя, но выше ты выдал например такое:

Многие математики действительно не знают, что такое Common Lisp. Но, скорее всего, все отлично знают, что такое символьные вычисления, и регулярно используют такие системы. Сам баловался будучи студентом и даже прибегал к их помощи пару лет назад для своей программы, что немало сэкономило нервов и времени. Причем здесь Common Lisp? на нем это проще реализовать. Там действительно можно напрямую работать с символами. Но о каком «вычислении» над символами может идти речь вне контекста математики? (хотя сам термин «вычисление» в последнее время стал многозначным - монада, вон, тоже подразумевает некое вычисление)

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

Symbolic computation и algebraic computation - синонимы.

Так в чём заключается твоя позиция?

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

Не правильно. Plain C, без всяких boost-ов, если грамотно им пользоваться уделает любой C++.

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

Ты странную терминологию используешь. Что за «символьная форма» такая? Списочная, тогда уж.

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