Thesis/project
Thesis/Project - Komplex feladat / Szakdolgozat / Diplomamunka / TDK
Tématerületek, amiket konzultálok
- Fuzzy szabálybázis alapú rendszerek,
- FRIQ-learning mintpéldák elkészítése,
- OS, Linux, kernel hackeles,
- Kiszolgálórendszerek, szerver alkalmazások,
- és ehhez hasonlóak...
Ezekre a témákra várok lelkes érdeklődőket!
Konkrét témák iránt személyesen vagy e-mailben célszerű érdeklődni.
Előnyben részesülnek, akiknek van már valamilyen alapötletük, tervük, hogy mit is szeretnének. (Ajánlom mindenkinek az ezen való gondolkodást...)
FRIQ-learning mintapéldak készítése
Készíithető MATLAB vagy egyéb környezetben/programnyelven is (Python, C++, Java, stb.)
Az FRIQ-learning módszer lényege, hogy képes egy üres szabálybázisból kiindulva egy megfelelően definiált jutalomfüggvény alapján felépíteni a szükséges tudásbázist a rendszer működtetéséhez.
Tehát kezdeti tudás nélkül megoldani a problémát.
Egy lehetséges mintapéldában, adott egy lengő robotkar, ami önerőből nem képes függőleges álló helyzetbe kerülni. Ezért lendületet gyűjtve (balra-jobbra hintázva) kell elérnie ezt a pozíciót.
Hogy melyik helyzetben merre kell lengetni és mekkora erővel, azt a rendszer előre nem tudja, csak azt, hogy az a cél, hogy minél fentebb kerüljön a robotkar.
Az FRIQ-learning algoritmus használatával kell megvalósítani, hogy feltérkepezze az ehhez szükséges tudást fuzzy szabályok formájában.
Ez a mintapélda már rendelkezésre áll diszkrét Q-learning alkalmazásával, a feladat ennek az átalakítása FRIQ-learning módszerre. A FRIQ-learning keretrendszer kódját rendelekzésre bocsájtom.
Egy másik mintapélda ehhez hasonló (aminek már elkészült a FRIQ-learning verziója), ahol is, egy volgyben levo kiskocsit kell kijuttatni a volgybol, de itt is az a problema, hogy nem eleg eros a motorja ahhoz, hogy felmenjen az emelkedon, ezert
a volgyben ide-oda tolatva-gyorsitva lenduletet kell gyujtenie, hogy fel tudjon menni az emelkedon. A konkret teenedok felterkepezesehez, pedig FRIQ-learninget lehet hasznalni.
Ezekhez hasonló saját mintapélda ötleteket szívesen konzultálok!
Research
Research
My research areas include: Fuzzy Systems, Fuzzy Rule Interpolation, Reinforcement Learning, Operating Systems Security.
Dávid Vincze: Fuzzy rule interpolation and reinforcement learning
IEEE 15th International Symposium on Applied Machine Intelligence and Informatics (SAMI), 2017, Herlany, Slovakia, pp. 173-178.
IEEE Xplore paper
Vincze Dávid: Egy újszerű hozzáférés szabályozási módszer a Linux operációs rendszer kernelében
GÉP 5: pp. 103-106. (2012)
D. Vincze, Sz. Kovács, M. Gácsi, P. Korondi, Á. Miklósi, P. Baranyi: A Novel Application of the 3D VirCA Environment: Modeling a Standard Ethological Test of Dog-Human Interactions
Acta Polytechnica Hungarica, Journal of Applied Sciences, Vol. 9. No. 1., 2012, Óbuda University, Budapest, Hungary, pp. 107-120, ISSN 1785-8860
paper
Dávid Vincze, Szilveszter Kovács, Mihoko Niitsuma, Hideki Hashimoto, Péter Korondi, Márta Gácsi, Ádám Miklósi:
Ethologically inspired human-robot interaction interfaces
HCCE '12 Proceedings of the 2012 Joint International Conference on Human-Centered Computer Environments, Hamamatsu, Japan, 2012. pp. 51-57. ISBN: 978-1-4503-1191-5
http://dl.acm.org/citation.cfm?id=2160761
Vincze, D., Kovacs, S., Korondi, P., Baranyi, P.:
A simple interface to the Virtual Collaboration Arena for MATLAB applications
2011 IEEE 12th International Symposium on Computational Intelligence and Informatics (CINTI 2011), 21-22 Nov. 2011., Budapest, Hungary
IEEE Xplore
Sz. Kovács, M. Gácsi, D. Vincze, P. Korondi, Á. Miklósi:
A novel, ethologically inspired HRI model implementation: Simulating dog-human attachment
The 2nd International Conference on Cognitive Infocommunications (CogInfoCom2011), Budapest, Hungary, July 7-9, 2011.
B. Kovács, G. Száyer, P. Korondi, M. Gácsi, Á. Miklósi, Sz. Kovács, D. Vincze:
Ethologically Inspired Robot Design
The 2nd International Conference on Cognitive Infocommunications (CogInfoCom2011), Budapest, Hungary, July 7-9, 2011.
Dávid Vincze, Szilveszter Kovács:
Performance Optimization of the Fuzzy Rule Interpolation Method 'FIVE'
Journal of Advanced Computational Intelligence and Intelligent Informatics (JACIII), Vol.15 No.3, Special issue on Fuzzy Rule Interpolation, 2011, Fuji Technology Press, Tokyo, Japan, pp. 313-320. , ISSN 1343-0130
http://www.fujipress.jp/JACIII/JACII00150003.html#no_150301
paper
Szilveszter Kovacs, David Vincze, Marta Gacsi, Adam Miklosi and Peter Korondi:
Ethologically Inspired Robot Behavior Implementation
4th International Conference on Human System Interaction (HSI 2011), May 19-21, 2011, Keio University, Yokohama, Japan, pp. 64-69, DOI: 10.1109/HSI.2011.5937344
IEEE Xplore
Dávid Vincze and Szilveszter Kovács:
Incremental Rule Base Creation with Fuzzy Rule Interpolation-Based Q-Learning
Studies in Computational Intelligence - Computational Intelligence in Engineering, 2010, Volume 313/2010, pp. 191-203, DOI: 10.1007/978-3-642-15220-7_16
http://www.springerlink.com/content/5j876382r0143255/
Kovacs, S.; Vincze, D.; Gacsi, M.; Miklosi, A.; Korondi, P.:
Fuzzy automaton based Human-Robot Interaction
Proceedings of the 8th IEEE International Symposium on Applied Machine Intelligence and Informatics (SAMI), 28-30 Jan. 2010, pp. 165-169, Herlany, Slovakia, ISBN: 978-1-4244-6422-7
IEEE Xplore
Dávid Vincze, Szilveszter Kovács:
Extending Fuzzy Q-learning with Fuzzy Rule Interpolation Method "FIVE"
Scientific Bulletin of "Politehnica" University of Timisoara, Romania, Transactions on Automatic Control and Computer Science, vol. 54(68) No. 4 / 2009, pp. 173-178. ISSN 1224-600X .
Dávid Vincze, Szilveszter Kovács:
Reduced Rule Base in Fuzzy Rule Interpolation-based Q-learning
Proceedings of the 10th International Symposium of Hungarian Researchers on Computational Intelligence and Informatics, CINTI 2009, November 12-14, 2009, Budapest Tech, Budapest, pp. 533-544.
Szilveszter Kovács, Dávid Vincze, Márta Gácsi, Ádám Miklósi, Péter Korondi:
Interpolation based Fuzzy Automaton for Human-Robot Interaction
Proceedings of SYROCO2009, 9th IFAC Symposium on Robot Control, Nagaragawa Convention Center, Gifu, Japan, September 9-12, 2009
http://www.ifac-papersonline.net/Detailed/45621.html
Dávid Vincze, Szilveszter Kovács:
Fuzzy Rule Interpolation-based Q-learning
CIIS2009, first workshop on Computational Intelligence in Information Science, Miskolc, Hungary, May 25-26, 2009 as part of: SACI 2009 5th International Symposium on Applied Computational Intelligence and Informatics May 28-29, 2009, Timisoara, Romania, pp. 55-59.
paper IEEE Xplore
Vincze Dávid :
Az Apache webszerver biztonsági és egyéb kiegészítései
NETWORKSHOP 2009, Szegedi Tudományegyetem, 2009. Április 15-17., Szeged
Dávid Vincze, Szilveszter Kovács:
Using Fuzzy Rule Interpolation-based Automata for Controlling Navigation and Collision Avoidance Behaviour of a Robot
Proceedings of the IEEE 6th International Conference on Computational Cybernetics November 27-29, 2008, Stara Lesná, Slovakia, pp. 79-84.
paper
IEEE Xplore
Linux
My Linux projects
Securing the script execution mechanism of the Apache HTTPD webserver |
Linux/ppc64 on IBM pSeries (RS/6000) systems |
v4l2 driver for Mirage VisualTVpro TC-07 TV tuner cards |
Video Filters for MPlayer |
Cricket
Security related and other extensions of the Apache HTTPD webserver (my MSc thesis)
- Securing the script execution mechanism
- Logging the consumed CPU time per request
- Suspend serving requests when a certain system load is reached
- Show the current request in the name of the child process
New system calls in the Linux kernel (part of my MSc thesis)
- Set uid/gid of another running process: setxidpid()
- Give capabilities depending on the calling memory address
Linux/ppc64 on IBM pSeries (RS/6000, also called "System p" nowadays) systems
Debian cd image for ppc64 pSeries
Boots ok, can be installed, some things has to be done manually right now, like
installing bootloader and kernel. This is the Woody PPC CD with some modifications,
changed kernel and modules, and made bootable on pSeries systems.
Although the CD is Woody, I prefer using Sarge on these machines.
I encountered some problems with Woody, for example, libraries are outdated for some
special apps from IBM, some binaries exited with 'Illegal instruction', maybe
because of bad optimization or buggy compiler.
This is just the first cd, you need this to boot, for the remaining CDs the offical PPC CD images
will do, get them from the mirror closest to you.
Download the modified cd image:
ftp://ftp.iit.uni-miskolc.hu/pub/linux/debian-3.0r2-ppc64-unofficial-v1.iso
Debian 'testing' installer beta 4
Download the modified cd image:
ftp://ftp.iit.uni-miskolc.hu/pub/linux/d-i-beta4-ppc64-unofficial-v1.iso
Knoppix for pSeries
I'm working hard on making Knoppix-PPC usable on ppc64 pSeries machines.
Status: still hacking ramdisk, it'll work soon, i just need some time.
Download: not available yet.
I see no point in continuing these projects, because nowadays many better solutions exist for example see Gentoo PPC64.
Documentation: Linux/ppc64 on pSeries
Only in hungarian:
LinuxPPC64.pdf
v4l2 driver for Mirage VisualTVpro TC-07 TV tuner cards (SAA7146+SAA7111 based)
This pctv card is based on the following components connected via I
2C:
Philips SAA7146A PCI Multimedia bridge
Philips SAA7111A Video decoder (digitizer if you like)
Philips TDA8425 Audio controller
Temic 4002 FH5 Tuner
Separate drivers exist for all the components, I just had to put it together,
and make it work. SAA7146+SAA7111 works like a charm with Michael Hunold's drivers:
http://www.gdv.uni-hannover.de/~hunold1/linux/saa7146/index.html
Driver for the Temic tuner is also ok since lots of other cards use it,
works perfectly with the tuner module (tuner type 5).
TDA8425 generally work with the tvaudio module, but some
modifications were necessary for correct operation.
The MXB card is very similar to this card, so I started to play around with the
mxb module, changed the init the sequence, tuner type, made some card specific
modifications, removed the audio chip related code, and written it for the TDA8425 (datasheet:
TDA8425_CNV_2.pdf ).
For 2.4 kernels: first apply this kernel patch for 2.4.26 (tvaudio). Configure, compile and boot it.
Next, get the dvb-kernel source from the site mentioned above, and apply this patch against it. Then compile, load 'mirage' module, launch xawtv.
For 2.6 kernels: dvb-kernel modules are included in 2.6, so you only need to apply my patch,
and compile the kernel with the driver. Patch for 2.6.5 here: soon
I will continue this project for newer kernels soon :)
Video Filters for MPlayer
There's no need to introduce MPlayer, everybody knows MPlayer, but in case you don't, see
http://www.mplayerhq.hu/. I wrote some video filters
I needed for special reasons, they're the following:
- invert : as you guessed it simply inverts the image. I've also written
an MMX optimized version, I made some performance tests but sadly it does not speed up the
process too much.
- deblend : based on Karel Suhajda's excellent deblend logo removal filter
for VirtualDub. I only ported one of it's features, the most useful I think:
the 'dealphablend' filter; with this there're good chanches for removing
transparent logos (for example TV station logos) from videos. If the opacity of the logo is not too high it is
possible to restore nearly the original image. Here are some
sample pictures
showing what can this do for you. Or check the homepage of the original vdub filter:
http://neuron2.net/delogo132/delogo.html
. It's slow and that's no lie it needs some optimizations, and I
haven't ported the mask generator algorhytms yet, so you have to generate the alpha
and color masks in vdub, and convert them.
- over : puts a static raw RGB image on the video at the given position, and on
given frames, also supports transparent background.
- fill : very simple filter, fills the given region (rectangle) with the same color
on given frames.
Here're the patches:
for MPlayer 0.92.1: mplayer_0.92.1_kamm_filters.patch .gz
for MPlayer 1.0pre3try2: mplayer_1.0pre3try2_kamm_filters.patch .gz
Cricket
Cricket is an universal monitoring tool, more info can be found here:
http://cricket.sourceforge.net/.
I wrote sample configs and scripts for some specific devices, which can be used with cricket:
- Monitor 3Com SuperStack switches
Basically this script is a modification of the original listInterfaces script,
just copy listSuperStack into cricket's util/ directory. Create a new dir in
the cricket config tree, put the Defaults file there, run the listSuperStack
script, and place the output into a file. I added some RMON OIDs, so cricket
will be able to monitor things other than the usual ifInOctets and
ifOutOctets: total packets, multicast packets, broadcast pkts, dropped pkts,
oversized/undersized pkts and pkts categorized by size.
Note: these switches do _not_ have high capacity counters, so if you get
samples in every 5 minutes (cricket default), counters can overflow for gigabit
interfaces.
Download the scripts and the Defaults file and a sample config:
cricket_3com_superstack.tar.gz
- Monitor apcupsd running on remote machine via HTTP
This is a bit more complicated. First you have to generate a parsed status file
periodically from apcupsd.status file on the machine with the ups attached,
cron will do this for us. Next make this file available via http. Third enter
the URL of this status file in the supplied cricket config on the machine running
cricket. It's that easy.
Download Defaults file and sample cron and cricket config:
cricket_apcupsd_remote.tar.gz
- Monitor local lm_sensors and hddtemp
First you need to have lm_sensors and hddtemp up and running. Then most likely
you'll have to adjust the supplied data gathering script and the Defaults file
to satisfy your needs, because the sensor chips are different. Hddtemp should
be okay if it supports your disk, maybe you'll have some trouble with older disks.
And of course don't always trust sensors and hddtemp, it's not uncommon that they
return false values.
Download Defaults file and sample data-gathering script:
cricket_sensors_hddtemp.tar.gz
- Monitor RTAS sensors on an IBM pSeries machine
If you have enabled 'RTAS in /proc' support in your kernel, you'll have access
to RTAS sensors data via the /proc/ppc64/rtas/sensors entry, it's in human readable
form, you can just "cat" it, so it's simple to monitor it with cricket. This one is adjusted
for the pSeries 640 7026-B80 model.
Download Defaults file and sample data-gathering script:
cricket_rtas_sensors.tar.gz