2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




На страницу 1, 2  След.
 
 Что лучше использовать для более быстрой разработки системы?
Сообщение02.11.2016, 17:00 
Что лучше использовать для более быстрой разработки: R, Python или Matlab? Хочу попробовать применить deep learning к управлению дорожным движением на "манхэттанской решетке". "Манэттанская решетка" - это дорожно-транспортная сеть (ДТС) прямоугольной планировки, типа той, которая есть на Манхэттане и в центре Санкт-Петербурга. Нужно симулировать хотя бы грубо движение машины с заданным маршрутом по улицам и перекресткам этой решетки. Мат. модель с простейшем случае будет выглядеть так: машины двигаются либо с постоянной скоростью, либо разгоняются с постоянным ускорением, либо тормозят с постоянным ускорением, либо стоят на месте перед красным сигналом светофора, либо стоят перед стоящей впереди машиной. Задано расстояние между передними бамперами стоящих друг за другом машин, задано минимальное расстояние между передними бамперами движущихся друг за другом машинами, оно определяется расстоянием безопасного торможения. Машины могут проезжать регулируемые перекрестки на "зеленый свет" прямо, либо сворачивать на боковые улицы.
Цель работы - посмотреть, как будет работать моя идея с целью скорейшей публикации возможной статьи в журнале типа "Нейрокомпьютеры, разработка, применение" или подобного ему. Я знаю, что на Питоне есть графические библиотеки, с помощью которых можно наглядно показать движение машин по ДТС, но боюсь, что программная реализация будет довольно трудоемкой. Нельзя ли подобную систему, моделирующую движение машин по ДТС, реализовать с помощью языка программирования Matlab? Если да, то можно ли также на Matlab реализовать алгоритмы, реализующие deep learning?

 
 
 
 Re: Что лучше использовать для более быстрой разработки системы?
Сообщение02.11.2016, 17:12 
Посмотрите на python + TensorFlow.

 
 
 
 Re: Что лучше использовать для более быстрой разработки системы?
Сообщение02.11.2016, 17:54 
Аватара пользователя
На данном форуме не приветсвуется халява. Студент 1 курса должен научится самостоятелному поску нужной информации.

Когда найдёте тогда и сможете решить каким языком пользоваться.
После когда устроитесь на работу будете писать эскизные проекты, навыки по поиску вам пригодятся.

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

И deel lening - это не алгоритм. Это игра слов означающий переход поисковиков от простых класификаторов к сложным.

 
 
 
 Re: Что лучше использовать для более быстрой разработки системы?
Сообщение02.11.2016, 20:58 
Pavia в сообщении #1165466 писал(а):
На данном форуме не приветсвуется халява. Студент 1 курса должен научится самостоятелному поску нужной информации.

Когда найдёте тогда и сможете решить каким языком пользоваться.
После когда устроитесь на работу будете писать эскизные проекты, навыки по поиску вам пригодятся.

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

И deel lening - это не алгоритм. Это игра слов означающий переход поисковиков от простых класификаторов к сложным.

Вы неправильно меня поняли. Я - аспирант, мне пришла в голову одна любопытная идея по применению нейронных сетей в управлении дорожным движением. Хочется побыстрее проверить эту идею экспериментально на предмет возможной публикации научной статьи в научном журнале. Для этого нужно разработать моделирующий стенд, имитирующий движение машин например, по вот такой дорожно-транспортной сетке:

Изображение

В какой среде можно это сделать с наименьшими трудозатратами? Понятно, что это можно реализовать на Питоне, но меня интересует, можно ли реализовать это в среде Матлаба?

 
 
 
 Re: Что лучше использовать для более быстрой разработки системы?
Сообщение02.11.2016, 21:17 
Реализовать это можно на любом из трех рассматриваемых вариантов. Если Вы какой-то из трех языков/пакетов знаете, то им и воспользуйтесь. Если не знаете ни одного - воспользуйтесь тем, который знает научный руководитель или его коллеги, доступные Вам для общения.

 
 
 
 Re: Что лучше использовать для более быстрой разработки системы?
Сообщение02.11.2016, 21:30 
Аватара пользователя
Quentin1 в сообщении #1165523 писал(а):
можно ли реализовать это в среде Матлаба?

Полнота по Тьюрингу и вычислимость по Чёрчу вам что-то говорит? Можно сделать всё. Вопрос что именно это? Нужна конкретика.
Quentin1 в сообщении #1165523 писал(а):
В какой среде можно это сделать с наименьшими трудозатратами?

Приведите, для вашей программы схему деления на составные части до 3 уровня.

 
 
 
 Re: Что лучше использовать для более быстрой разработки системы?
Сообщение02.11.2016, 22:59 
Python

 
 
 
 Re: Что лучше использовать для более быстрой разработки системы?
Сообщение03.11.2016, 00:03 
Аватара пользователя
Quentin1 в сообщении #1165523 писал(а):
можно ли реализовать это в среде Матлаба?

Рекомендую - по причине большей "интерактивности" - лучше других подходит когда надо "попробовать" или "разобраться".

 
 
 
 Re: Что лучше использовать для более быстрой разработки системы?
Сообщение03.11.2016, 02:09 
С интерактивностью хорошо у всех трех (для R есть RStudio, для Python - Jupyter).

 
 
 
 Re: Что лучше использовать для более быстрой разработки системы?
Сообщение03.11.2016, 11:02 
Аватара пользователя
tolstopuz в сообщении #1165604 писал(а):
С интерактивностью хорошо у всех трех (для R есть RStudio, для Python - Jupyter).


К слову, Jupyter поддерживает R Kernel не хуже, чем "питоновское". Более того, пакеты R можно установить при помощи conda.

 
 
 
 Re: Что лучше использовать для более быстрой разработки системы?
Сообщение03.11.2016, 19:13 
Geen в сообщении #1165586 писал(а):
Quentin1 в сообщении #1165523 писал(а):
можно ли реализовать это в среде Матлаба?

Рекомендую - по причине большей "интерактивности" - лучше других подходит когда надо "попробовать" или "разобраться".

Думаю, что в Матлабе возникнут проблемы с производительностью. Нужно смоделировать одновременно движение десятков транспортных средств на дорожно-транспортной сети города, а это потребует больших временных затрат. Здесь можно было бы использовать C++ или Java, но тут возникает проблема с трудоемкостью программирования. Интересно, как обстоит дело с быстродействием у Питона? Так же, как и у других процедурных языков?

 
 
 
 Re: Что лучше использовать для более быстрой разработки системы?
Сообщение03.11.2016, 19:36 
Питон - интерпретатор. Код на Питоне будет работать в 10-100 раз медленнее чем код на C++ или Java. Я бы начал с питона, прототип на нём вы напишете в пять-десять раз быстрее чем на C++. Если этот прототип не уложится в требования по производительности, то покажете его здесь, и вам опишут точный рецепт для решения задачи.
И ещё: Обычно задачи моделирования решаются с помощью специальных библиотек. Тоже относится и к обучению нейронных сетей. Многие из этих библиотек имеют интерфейс в Питоне. Тогда скорость работы языка отходит на второй план.
И ещё: Если вы хотите получить более точный ответ, надо привести больше сведений о задаче:
Что вы моделируете?
Сколько объектов в модели?
Какую задачу решаете?
Каким способом?

 
 
 
 Re: Что лучше использовать для более быстрой разработки системы?
Сообщение03.11.2016, 20:51 
Аватара пользователя
В порядке похожего, но другого вопроса: если бы мне нужно было сделать кое-что очень похожее (множество точек на карте, моделирующее автомобильный трафик в городе), только изначально многопоточное и с возможным прицелом перенести как можно большую часть вычислений на CUDA или на кластер - какие советы в этом случае? Автору советов не буду давать т.к. не специалист, но хочу узнать, из каких бы инструментов примерно делал свой выбор абстрактный всезнающий программист для того, чтобы получить, скажем так, ОЧЕНЬ много таких точек?

 
 
 
 Re: Что лучше использовать для более быстрой разработки системы?
Сообщение03.11.2016, 21:59 
Аватара пользователя
Eimrine
Вы тоже не говорите конкретику.
Советую вам брать инструменты, которые содержать необходимые структуры и алгоритмы, поддерживают многопоточность, CUDA.
Для кластера брать кластерную фабрику.
Язык с высокой производительностью выдаваемого кода.
Если работаете один, то тот язык который лучше знаете из тех которые подходят под предыдущие пункты. Если в команде, то стоит приглядеться к Си#.

 
 
 
 Re: Что лучше использовать для более быстрой разработки системы?
Сообщение03.11.2016, 22:32 
Хотелось бы получить нечто подобное:

(симуляция на Матлабе)
https://www.youtube.com/watch?v=NH6R3RH_ZDY

- но на более крупной городской дорожно-транспортной сети (5-20 улиц, больше 25 перекрестков).

-- 04.11.2016, 00:38 --

slavav в сообщении #1165811 писал(а):
Какую задачу решаете?
Каким способом?

Непосредственно про задачу я лучше не буду говорить, потому что она очень простая и решение ее тоже довольно простое. У меня уже бывали случаи, когда у меня "уводили" задачи. :D :facepalm: А эта задача для меня важна тем, что ее потенциально можно вынести на защиту кандидатской. :-)

 
 
 [ Сообщений: 24 ]  На страницу 1, 2  След.


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group